Простой способ защиты ssh от перебора паролей различными ботами.
iptables -N ssh_brute_check # Создаем цепочку для проверки попыток соединений на защищаемый порт # Если за последние 10 минут (600 секунд) с одного адреса было 3 или более новых соединений — блокируем этот адрес iptables -A ssh_brute_check -m recent --update --seconds 600 --hitcount 3 -j DROP # В противном случае — разрешаем, и при этом заносим в список iptables -A ssh_brute_check -m recent --set -j ACCEPT iptables -F INPUT # Очищаем цепочку INPUT iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Разрешаем пакеты по установленным соединениям # Все попытки открыть новое соединение по SSH направляем на проверку iptables -A INPUT -m conntrack --ctstate NEW -p tcp --dport 22 -j ssh_brute_check # Здесь можно разрешать те порты, для которых такая проверка не нужна. Например, HTTP iptables -A INPUT -m conntrack --ctstate NEW -p tcp --dport 80 -j ACCEPT iptables -P INPUT DROP # Что не разрешено — то запрещено




