# cat /var/log/auth.log | grep fail | wc -l 82920
Не самая редкая картина?
Да, я понимаю, что и порт необходимо другой сделать, и много чего запретить, но есть еще вариант.
Делаем так:
# iptables -t filter -A INPUT -p tcp --destination-port 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
В этом правиле мы устанавливаем метку на SSH пакеты
# iptables -t filter -A INPUT -p tcp --destination-port 22 -m recent --update --seconds 600 --hitcount 3 --rttl --name SSH -j LOG --log-prefix "SSH_BRUTFORCE: " # iptables -t filter -A INPUT -p tcp --destination-port 22 -m recent --update --seconds 600 --hitcount 3 --rttl --name SSH -j DROP
Этими двумя правилами устанавливаем запись в системный лог попыток брутфорса, а также блокируем брутфорсера. Параметр —seconds устанавливает время в секундах, в течении которых проводится наблюдение за доступом к порту, параметр —hitcount устанавливает число разрешенных попыток.
При применении этих правил будет следующий эффект: нельзя в течении десяти минут подключиться на порт SSH более 3х раз. Защита очень простая и эффективная. Проверено.