Jeśli ktoś musi (chce) mieć wystawiony port 22 dla całego internetu musi liczyć się z tym, że po niedługim czasie w logach serwera zacznie się pojawiać lawina nieudanych prób zalogwania na całkiem przypadkowe konta.
Na szczęście jest na to sposób. Jakiś miesiąc temu natknąłem się przypadkowo (szukając zupełnie czegoś innego
) na program o nazwie sshguard. W systemie FreeBSD skrypty instalacyjne podpinają go do syslog.conf w ten sposób:
auth.info;authpriv.info |exec /usr/local/sbin/sshguard
W domyślnej konfiguracji cztery próby w ciągu dwóch sekund zakończone niepowodzeniem są identyfikowane jako działanie bota i adres IP z którego były nawiązywane połączenia jest blokowany. U mnie odbywa się to za pomocą tcpwrappers (wpis do hosts.allow).
Ze strony projektu można się dowiedzieć, że isnieje możliwość zintegrowania sshguarda z różnego rodzaju firewallami. Np. pf, ipfw, iptables. Poza sshd, potrafi analizować też logi proftpd, pure-ftpd, ftpd (FreeBSD), dovecota, UWimap.
Zanim napisałem tego posta, zerknąłem na auth.loga z ostatniego miesiąca i stwierdzam, że ostatnia aktywność botów ssh, była 12-go stycznia b.r. To dosyć dawno jak na publicznie otwarty port 22. Więc albo ludzie pokasowali wirusy i pozaciągali Windows Update, albo sshguard odstraszył botnety i trafiłem na jakieś ich ignore-listy lub coś w tym stylu 
Komentarze