• fail2ban, czyli nieproszonym gościom dziękujemy

    dodany przez Przemysław Sikora

    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 🙂

2 komentarze do “fail2ban, czyli nieproszonym gościom dziękujemy”

  1. […] o konfiguracji programu fail2ban znajduje się na stronie Ulos w w tym artykule […]

  2. Adi pisze:

    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?

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony