Jak mogę utworzyć filtr, aby zablokować je za pomocą fail2ban?
476 Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup-crawler.com/)
892 ltx71 - (http://ltx71.com/)
5367 Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, [email protected])
6449 Barkrowler/0.9 (+http://www.exensa.com/crawl)
Ta lista wychodzi z tego:
sudo cat /var/log/apache2/access.log | awk -F\" '{print $6}' | sort | uniq -c | sort -n
Próbowałem apache-badbot.conf, ale wydaje się, że to nie działa ...
Disallow
wyjdzie na nie dyrektywa. ltx71 ignoruje plik robots.txt i musiałem zablokować wszystkie ich adresy IP (w tym czasie: 54.174.24.200, 54.175.147.90, 54.175.196.96) za pomocą (w moim przypadku) reguł iptables.ltx71
za pośrednictwem ciągu agenta użytkownika. Mam również reguły przepisywania, które pozwalają ltx71 uzyskać mój plik robots.txt, ale w przeciwnym razie powiedz im, że zostały zbanowane, ponieważ nie przestrzegają pliku robots.txt.Odpowiedzi:
Prawidłowym sposobem radzenia sobie z irytującymi botami jest zablokowanie ich w pliku „robots.txt”. Ale twoje komentarze wskazują, że ignorują tę dyrektywę. Blokowanie przez użytkownika użytkownika będzie ostatecznie grą w kotka i myszkę, ale jeśli chcesz to zrobić, musisz wykonać następujące czynności.
Musisz więc włączyć więzienie apache-badbots, które czyta dziennik dostępu Apache, jeśli jeszcze tego nie zrobiłeś. Utwórz plik
/etc/fail2ban/jail.d/apache-badbots.local
z zawartością:Główna część więzienia apache-badbots jest zdefiniowana,
/etc/fail2ban/jail.conf
więc wszystko, co musisz zrobić, to włączyć ją.Następnie zmodyfikuj filtr apache-badbots, aby uwzględnić boty. Edit
/etc/fail2ban/filter.d/apache-badbots.conf
. W nim jest szczególna linia dla niestandardowych botów:Boty są określane za pomocą wyrażeń regularnych. Wymień je lub sczep swoje na końcu oddzielone
|
s.Następnie będziesz chciał zmodyfikować
failregex
linię, aby wyrażenie regularne pasowało do dowolnej części agenta użytkownika, a nie tylko do całości. Zmień linię:do (zwróć uwagę na dwa dodatkowe
.*
):Na koniec załaduj ponownie konfiguracje fail2ban.
Informacje te mogą być pomocne w celach informacyjnych.
Patrząc
/etc/fail2ban/filter.d/apache-badbots.conf
na aktualizację serwera Ubuntu 16.04, który mam, wygląda na przestarzały. W szczególności jest ten komentarz:Wygenerowałem nowy z repozytorium git fail2ban , ale nadal nie zawierał tych botów (być może źródło jest nieaktualne lub niekompletne). Jeśli jesteś ciekawy, możesz wygenerować nowy z następującymi.
Nowy plik będzie dostępny pod adresem
config/filter.d/apache-badbots.conf
. Jeśli chcesz go użyć, zastąp/etc/fail2ban/filter.d/apache-badbots.conf
go.Dla porównania jest to definicja apache-badbots z
/etc/fail2ban/jail.conf
.%(apache_access_log)s
Zmienna pochodzi/etc/fail2ban/paths-debian.conf
i jest zdefiniowany jako/var/log/apache2/*access.log
.Dla odniesienia, oto to,
apache-badbots.conf
które wygenerowałem (bez modyfikacji).źródło