Если посмотреть логи Linux серверов, то можно обнаружить большое количество сообщений от демона sshd, свидетельствующих о попытке подбора паролей по ssh.
Dec 6 11:03:11 artur sshd[2177]: Invalid user test from 193.220.141.151
Dec 6 11:03:11 artur sshd[2177]: Failed password for invalid user test from 193.220.141.151 port 46079 ssh2
Dec 6 11:03:15 artur sshd[2180]: Failed password for root from 193.220.141.151 port 46144 ssh2
Dec 6 11:03:16 artur sshd[2183]: Invalid user admin from 193.220.141.151
Dec 6 11:03:16 artur sshd[2183]: Failed password for invalid user admin from 193.220.141.151 port 46377 ssh2
Обратите внимание на задержку между попытками — несколько секунд. На той стороне находятся «роботы». Наша задача ограничить количество попыток соединения с одного IP адреса. Для этого можно воспользоваться модулем recent нетфильтра.
iptables -A INPUT -p tcp -m state —state NEW —dport 22 -m recent —update —seconds 20 -j DROP
iptables -A INPUT -p tcp -m state —state NEW —dport 22 -m recent —set -j ACCEPT
После введения этого правила логи становятся девтственно чистыми.
Dec 10 15:24:42 artur — MARK —
Dec 10 15:44:42 artur — MARK —
Dec 10 15:49:06 artur sshd[21819]: Did not receive identification string from 85.93.9.31
Dec 10 16:02:10 artur sshd[21824]: Invalid user shell from 85.93.9.31
Dec 10 16:02:10 artur sshd[21824]: Failed password for invalid user shell from 85.93.9.31 port 40288 ssh2
Dec 10 16:24:43 artur — MARK —
Dec 10 16:44:43 artur — MARK —
Dec 10 17:04:43 artur — MARK —
Все, роботы отвалились 🙂