fail2ban to narzędzie służące do blokowania dostępu do komputera na podstawie ciągłego monitoringu i analizy logów systemowych.
Bazujemy na systemie Debian 8, instalacja na innych dystrybucjach może sie nieco różnić.
Obsługa i mechanizm dodawania nowych usług cechuje tą aplikacje bardzo elastyczną.
W tym artykule opisze jak zablokować atak brute-force na port ssh – czyli 22
fail2ban będzie śledzić nowe wpisy w pliku /var/log/auth.log i gdy wykryje próbę ataku brute-force to przy pomocy filtra w iptables zablokuje dostęp do systemu dla konkretnego adresu IP.
Instalacja:
apt-get update; apt-get install fail2ban
Konfiguracja:
Domyślna konfiguracja potrafi już blokować kilak usług.
Można dodać żeby każda próba ataku był raportowana:
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=adres@domena.pl, sender=fail2ban@domena.pl, sendername="Fail2Ban"] logpath = /var/log/auth.log maxretry = 6
Uruchomienie:
/etc/init.d/fail2ban start
i uruchamianie przy starcie
update-rc.d fail2ban defaults
W sieci możemy znaleźć wiele “profili” do różnych aplikacji które umożliwią zabezpieczenie usług jak apache, ftp, serwer poczty itp
Można podejrzeć aktualnie blokowane adresy:
iptables -L
Przykładowy wynik:
Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-ssh tcp -- anywhere anywhere tcp dpt:ssh DROP all -- 176.125.73.173 anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain fail2ban-ssh (1 references) target prot opt source destination DROP all -- 183.136.216.3 anywhere DROP all -- 183.136.216.3 anywhere DROP all -- mail.kodix.com anywhere DROP all -- kodi.kodix.com anywhere DROP all -- 115.239.228.9 anywhere DROP all -- 115.239.228.9 anywhere RETURN all -- anywhere anywhere