Adrian Z.

Adrian Z. IT Project Manager &
PHP Programmer

Temat: autoblokowanie IP w apache

Temat pod względem czytania logów strasznie uciążliwy . Przynajmniej raz dziennie mam w logach po kilka czasem kilkanaście linijek typu

[Fri Dec 25 15:06:07 2009] [error] [client 211.155.230.82] File does not exist: /var/www/mysql
[Fri Dec 25 15:10:09 2009] [error] [client 211.155.230.82] File does not exist: /var/www/phpadmin

Chciałbym to jakoś z automatu dodawać w czasie rzeczywistym do iptables . Plugin lub coś innego działającego z apache jako licznik i w przypadku >=3 takich zdarzeń w ciągu <5 sekund wykonujące iptables -A banned --source $adres -j DROP . Języka C niestety na tyle nie umiem żeby napisać sobie jakiś bann_mod .

Znalazłem niedawno jakiś programik , który czyta logi i powyżej zdefiniowanej ilości tego samego błędu dla tego samego adresu dodaje go do iptables . Niestety jest to działanie po fakcie .

Temat: autoblokowanie IP w apache

Znasz jakikolwiek jezyk skryptowy ? Jak tak to napisz sobie taki analizator bieżący dane z tail -f /var/log/something i wrzucający regułki do iptables.

Tak na marginesie wg. mnie pointless effort, poza tym możesz trafic na przypadek taki ze np. ktoś "bawi się" spod sieci firmowej lub szkolnej, taki filtr załapie, powie temi ipkowi spierdalaj i cała firma/szkoła straci dostęp
Adrian Z.

Adrian Z. IT Project Manager &
PHP Programmer

Temat: autoblokowanie IP w apache

Mariusz Gronczewski:
Znasz jakikolwiek jezyk skryptowy ? Jak tak to napisz sobie taki analizator bieżący dane z tail -f /var/log/something i wrzucający regułki do iptables.
Właśnie mam zamiar napisać to w bash'u . Przydałaby mi się jakaś podpowiedź jak wywołać program ręcznie do działania w tle - wrzucenie do init.d normalne że wystartuje przy bootowaniu systemu

Tak na marginesie wg. mnie pointless effort, poza tym możesz trafic na przypadek taki ze np. ktoś "bawi się" spod sieci firmowej lub szkolnej, taki filtr załapie, powie temi ipkowi spierdalaj i cała firma/szkoła straci dostęp
1) ustawiam filtrowanie tylko na eth0 zewnętrzne
2) ręcznie nikt nie będzie próbował dostać się do phpmyadmin kilkanaście razy w ciągu kilku sekundAdrian Z. edytował(a) ten post dnia 26.12.09 o godzinie 10:14

Temat: autoblokowanie IP w apache

Chyba że odpali jakis vunerability scanner w poszukiwaniu znanego buga ;p. w bashu możesz odpalając skrypt przez
/some/where/skrypt &
Adrian Z.

Adrian Z. IT Project Manager &
PHP Programmer

Temat: autoblokowanie IP w apache

miałem na myśli wklepywanie http... enter... http... enter... http... enter... ;)
dzięki za podpowiedzi :)
a co do całkowitej utraty dostępu
można stworzyć jakiś plik blockedtab ze strukturą
adres_ip licznik data
i dane IP blokować po xx próbach na yy czasu żeby nie osiągnąć kilkuekranowej listy zablokowanych na wieczność i o jeden dzień dłużejAdrian Z. edytował(a) ten post dnia 26.12.09 o godzinie 14:40

Temat: autoblokowanie IP w apache

Usuwanie po jakims czasie ofc trzeba, ale dalej takie coś wudaje mi się pointless, poblokujesz (może) parę ipków neostradowych, a potem user który dostanie taki IPek "w spadku" po bocie nie będzie mógł dostać się do strony.
Michał Panasiewicz

Michał Panasiewicz Administrator
systemów, sieci i
aplikacji.

Temat: autoblokowanie IP w apache

może to fail2ban
po dostosowaniu też to może być (domyślnie jest tylko na SSH)
DenyHosts.
Poza tym te same uwagi które Mariusz już podał :) .Michał Panasiewicz edytował(a) ten post dnia 27.12.09 o godzinie 19:02

konto usunięte

Temat: autoblokowanie IP w apache

Zdecydowanie wspomniany fail2ban. Chwila konfiguracji i zapominasz o problemach...
Adrian Z.

Adrian Z. IT Project Manager &
PHP Programmer

Temat: autoblokowanie IP w apache

Dariusz Kołczański:
Zdecydowanie wspomniany fail2ban. Chwila konfiguracji i zapominasz o problemach...
Z tym że o ile pamiętam czyta on logi co xx czasu czy w czasie rzeczywistym ?
Daniel Skotniczny

Daniel Skotniczny Student, Wyższa
Szkoła Technologii
Informatycznych w
Kato...

Temat: autoblokowanie IP w apache

Jeżeli chodzi o usługi wymagające logowania to można zrobić np. w ten sposób (w przykladzie ssh):

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent
--set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent
--update --seconds 300 --hitcount 3 -j DROP

Do reszty to fail2ban jak napisali poprzednicy.

konto usunięte

Temat: autoblokowanie IP w apache

Adrian Z.:
Dariusz Kołczański:
Zdecydowanie wspomniany fail2ban. Chwila konfiguracji i zapominasz o problemach...
Z tym że o ile pamiętam czyta on logi co xx czasu czy w czasie rzeczywistym ?

W zasadzie w locie.

Następna dyskusja:

Apache




Wyślij zaproszenie do