-
fail2ban, czyli nieproszonym gościom dziękujemy
fail2ban to niezwykle ciekawa aplikacja dla każdego administratora serwera, ale także dla zwykłego użytkownika. Głównym zadaniem wspomnianej aplikacji, jest analizowanie plików z logami serwerów usług takich, jak ssh, ftp, www, poczta, itp. Według gotowych „filtrów” wychwytywane są charakterystyczne frazy dla błędnych prób połączeń. Na ich podstawie identyfikowane są niepożądane zachowania, a winowajcy blokowani. Konfiguracja sprowadza się do edycji kilku plików. Zacznijmy od „/etc/fail2ban/jail.conf”.
ignoreip = 127.0.0.1 kolejny_adres_ip kolejny_adres_ip # podajemy adresy IP hostów, które mają nie być blokowane
bantime = n # gdzie n oznacza czas blokady hosta w sekundach
findtime = n # n oznacza czas w sekundach, w którym miałyby nastąpić próby błędnego logowania
maxretry = n # n to ilość prób błędnego logowania, po których źródłowy adres IP będzie blokowany
Ustawienia dla SSH:
[ssh-iptables]
enabled = true # true-włączone, false- wyłączone
filter = pam-generic # rodzaj stosowanego filtra, domyślnie był sshd, ale ja preferuję ten- najbardziej uniwersalny pasujący do różnych usług, nie tylko ssh; użycie go spowoduje, że nie tylko próby logowanie się po ssh będę brane pod uwagę, ale wszystkie wykorzystujące autoryzację przez „pam”, ale już blokada będzie tylko dla ssh
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH]
logpath = /var/log/secure # określamy ścieżkę do plików z logami, które mają być analizowane dal tej usługi, tj. ssh
maxretry = 3 # maksymalna ilość prób błędnego logowania
ignoreip = 118.171.11.11 # adres(y), które nie zostaną zablokowane
Teraz dla ProFTPd:
[proftpd-iptables]
enabled = true
filter = pam-generic
action = iptables[name=ProFTPD, port=ftp, protocol=tcp]
sendmail-whois[name=ProFTPD]
logpath = /var/log/messages
maxretry = 3
ignoreip = 18.8.127.5
Następnie edytujemy plik „/etc/fail2ban/fail2ban.conf”:
loglevel = 3 # poziom logowania (1-błędy,2-ostrzeżenia,3-informacyjne,4-debug)
logtarget = /var/log/fail2ban.log # określamy ścieżkę do pliku z logami dla fail2ban
Opisane parametry i regułki mają przedstawić oraz wyjaśnić podstawy konfiguracji. Proszę nie kopiować ich bezpośrednio do plików konfiguracyjnych, ponieważ Fail2Ban jest wrażliwy na spacje i komentarze. Aby sprawdzić, jakie adresy są zbanowane wystarczy wyświetlić aktualne regułki firewalla poleceniem
iptables -L
Nie wyjaśniłem na początku, że omawiane narzędzie tworzy po prostu automatycznie regułki blokujące na firewallu. Poniżej część wyniku poprzedniego polecenia, która dostarczy nam niezbędnych informacji:
W razie problemów lub niejasności, zapraszam na forum lub do komentowania. Powodzenia 🙂
[…] o konfiguracji programu fail2ban znajduje się na stronie Ulos w w tym artykule […]
Witam. Mam pytanie, jak dzięki Fail2ban zdefiniować reguły filtrujące by zablokować dostęp i IP niechcianym użytkownikom którzy przezukuja nasz serwer pod względem plików video? Tzn. Avi. Mpg?