Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2017-03-08 09:40:42

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

[SOLVED]Directadmin + mod_ruid2 - co z security?

Witam.
Po upgradzie PHP przestał mi działać mod_security2. Z tego, co znalazłem w googlu to przypadłość tej konfiguracji.
mod_security2 używam przede wszystkim do banowania robotów łażących po wp-logn.php - niestety, mam trochę tych wordpressów na serwerze i co prawda żaden bot mi się tam nigdy nie zalogował, ale load serwera wskutek ich działalności potrafi skoczyć do 10 i więcej.
Pytanie: czym zastąpić mod_security2? Mógłby wystarczyć fail2ban, ale każdy VS ma swoje logi i czytanie wszystkich to chyba nienajlepszy pomysł :(
Da się może w samym Apaczu utworzyć dodatkowy log dla samych wp-login.plp? To by załatwiało sprawę, ale wydaje mi się, że się nie da...

Ostatnio edytowany przez ethanak (2017-03-12 10:52:57)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#2  2017-03-08 10:24:57

  Marek607 - Użytkownik

Marek607
Użytkownik
Skąd: Internety
Zarejestrowany: 2016-12-26
Serwis

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Da sie stworzyć w Apache dodatkowy log w którym możesz sobie zapisywać takie logowania, i za pomocą wyrażń regularnych np blokować po 10 próbach logowania z 1 ip.

Jest też ficzer bezpośrednio od directadmin-a:

https://www.directadmin.com/features.php?id=1695


Tanidedyk.pl

Offline

 

#3  2017-03-08 11:14:11

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Ten ficzer od DA jakoś niespecjalnie mi się podoba - miałem włączony brute_force i poszedł w cholerę, bo co chwila dostawałem jakieś maile z false positives. A akurat na wp-login.php niespecjalnie dobrze toto działa.
Jak zrobi taki log w Apaczu??? Bo serio nie wiem z której strony to ugryźć..

Edytka
OK już znalazłem - GlobalLog
Zobaczymy co mi z tego wyjdzie...

Ostatnio edytowany przez ethanak (2017-03-08 12:08:07)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#4  2017-03-08 18:00:11

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Connlimity i hashlimity dla WP nie dają rady?

Co do Modseca, to jeśli masz tam np Nginxa na frontendzie, to on też ma różne limity i regexy.

Ja zawsze wp-login i wp-admin chowam albo za dodatkowym http-auth (da się zrobić praktycznie wszędzie), albo - moja ulubiona zabawa,
za certyfikatami PKCS#12 (na VPS albo dedyku, gdzie masz własny konfig serwera http).

PS.

Może wystarczy przebudować modseca ze źródełka? jak załapie nowe nagłówki, to może odżyć?
Zależy, czy to sam moduł się zjebał, czy reguły nie ogarniają sytuacji.

PS2.
Do Nginxa masz jeszcze nasxi
https://github.com/nbs-system/naxsi
Do Apacha możesz użyć mod_evasive, chociaż moim zdaniem się troszkę mija z celem, ale na load serwera, jako proteza, może starczyć.

Ostatnio edytowany przez Jacekalex (2017-03-08 18:16:33)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2017-03-09 09:40:34

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Jacekalex napisał(-a):

Connlimity i hashlimity dla WP nie dają rady?

A niby jak miałyby dać radę? Muszę analizować wyłącznie POST do wp-admin.php i zależnie od odpowiedzi albo uznać host za prawidłowy (odpowiedź 302) albo za podejrzany (odpowiedź 200) i dopiero kilka podejrzanych zachowań w ciągu jednostki czasu powoduje blokadę danego IP.

Co do Modseca, to jeśli masz tam np Nginxa na frontendzie, to on też ma różne limity i regexy.

Niestety - mam tylko do SSL-a (nginx -> varnish -> apache)

Ja zawsze wp-login i wp-admin chowam albo za dodatkowym http-auth (da się zrobić praktycznie wszędzie), albo - moja ulubiona zabawa,
za certyfikatami PKCS#12 (na VPS albo dedyku, gdzie masz własny konfig serwera http).

To jest dobre jak mam własnego wordpressa sztuk jedna, a nie jak mam 150 wordpressów w tym chyba ze trzydzieści z woocommerce i otwartą rejestracją klientów.

PS.

Może wystarczy przebudować modseca ze źródełka? jak załapie nowe nagłówki, to może odżyć?
Zależy, czy to sam moduł się zjebał, czy reguły nie ogarniają sytuacji.

Nie wystarczyło. Z tego co wyczytałem to po prostu to wszystko się gryzie ze sobą.

Ale już mam pomysł jak to zrobić, powinno chodzić nawet lepiej niż oryginalny mod_security - taką przynajmniej mam nadzieję.
Jak się z tym uporam do końca to opiszę rozwiązanie - dlatego nie daję SOLVED.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#6  2017-03-09 18:49:42

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Niestety - mam tylko do SSL-a (nginx -> varnish -> apache)

To masz w nim regexy, geoip i co tylko duszyczka zapragnie.

Przy okazji, Nginx też obsługiwał modseca:
https://github.com/SpiderLabs/ModSecurity-nginx

Może tą drogą pójdzie?

Co się tyczy tych 150 WP i 50 Woocommerce...
Ja bym im zrobił do tych admin.php/login.php http_auth po SSL, a przy http-auth chyba każdy serwer może limitować próby po IP pacjenta.

Najwyżej sobie w IE6 zapamiętają po dwa hasełka, korona nikomu od tego z głowy nie spadnie, chociaż jest z tym troszkę zabawy.
Nazwa czy Home od lat w ten sposób traktują phpmyadmina.

Pieprzenie się z analizą POST to trochę tak, jakby się prawą piętą w lewe ucho drapać. ;)

Ostatnio edytowany przez Jacekalex (2017-03-09 18:54:34)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2017-03-09 18:54:00

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Czy Ty w ogóle wiesz co to woocommerce?
Cenię Twoje zdanie (i nie chcąc kadzić naprawdę czekałem na Twoją opinię) - ale w tym momencie pieprzysz jak potłuczony.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#8  2017-03-09 18:59:36

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Otwarta rejestracja klientów w Woocommerce? Czy kogoś pogięło?

Nawet w Prescie bym raczej nie próbował podobnego diabelstwa,
o Woocommerce nie wspominając w ogóle.
Także rzeczy można było w miarę łatwo robić z Oscommerce czy Virtuemarkt, które hasła adminów trzymały w osobnej tabeli.
Ale Woocommerce ma wszystkich userów w jednej tabeli, a produkty i zamówienia trzyma w tabeli wp_posts, to praktycznie dom wariatów a nie sklep internetowy.

Dlatego radziłbym ludziom wybijać z łba Woocommerce na rzecz Presty,
która mimo różnych wielkich wad  ma o wiele lepszą architekturę, support i moduły.

Ostatnio edytowany przez Jacekalex (2017-03-09 19:00:56)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2017-03-12 11:11:06

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED]Directadmin + mod_ruid2 - co z security?

Zrobione.
W konfie Apacza mam:

Kod:

LogFormat "%{c}a %v %{sec}t %>s \"%r\"" wplog
SetEnvIf Request_URI "/wp-login\.php" wploginlog
GlobalLog /var/log/httpd/wplogin_log wplog env=wploginlog

%{c}a wrzuciłem, bo część zapytań przychodzi z maszyny z varnishem i program po prostu ignoruje takie rekordy.
Na logu nasłuchuje sobie prosty programik w Pythonie, który zlicza prawidłowe i nieprawidłowe logowania i w przypadku trzech nieprawidłowych w ciągu 5 minut wrzuca IP do jednego z dwóch ipsetów: pół godziny bana dla IP z Polski, godzina dla ip zagranicznych razem z całą klasą /24.

Na maszynie z varnishem i nginxem mam prawie identyczny program.

Zalety:
- łatwa modyfikacja (jak nadmieniłem, jest to prosty program w Pythonie)
- możliwość rozgraniczenia na IP polskie/zagraniczne i odpowiednia modyfikacja reakcji
- działa na etapie przyjęcia/odrzucenia pakietu czyli szybko i bez żarcia zasobów, a do tego współpracuje z varnishem.
Wady:
- jakie wady? :)

Jakby ktoś chciał kod to dajcie znać, bo w postaci takiej jaka jest nie nadaje się do publikacji, musiałbym parę linijek zmienić.

BTW. Kolego Jacekalex - Ty mnie chyba z kimś pomyliłeś. Ja pracuję jako admin/programista w firmie świadczącej usługi hostingowe dla klientów z wordpressami i w związku z tym nie do mnie należy przekonywanie klientów że inny soft jest lepszy (nawet jeśli - z czym się absolutnie zgadzam - czasami jest), a nie jako doradca do spraw wyboru softu przez klientów. Poza tym:
a) zamówienia nie są trzymane w wp_posts a w oddzielnej tabeli woocommerce'a;
b) gdyby tabela wp_posts nazywała się wp_objects, coś by to zmieniło oprócz historycznej nazwy?

Poza tym pisanie o Oscommerce w kontekście bezpieczeństwa to chyba lekka przesada ;)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)