Мы уже рассказывали про защиту от брутфорса SSH в Linux. В этой короткой статье рассмотрим защиту от брута SSH с помощью Iptables.
Еще по теме: Брутфорс SSH с помощью Metasploit
Защита от брута SSH средствами iptables
Для защиты от брута SSH можно использовать правила iptables. Выполнение правил заблокирует IP-адреса, которые пытаются установить больше заданного количества SSH-соединений за X секунд.
Вот пример блокировки IP-адреса, если за 45 секунд установлено более восьми соединений SSH:
1 2 |
iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --set iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --update --seconds 45 --hitcount 8 -j DROP |
Обратите внимание, что первая команда используется для отслеживания новых подключений, поступающих на порт 22 (SSH), а вторая команда указывает iptables отклонять пакеты с IP-адреса, который отправил восемь или более запросов за 45 секунд.
Если вы хотите вставить эти два правила в начало цепочки INPUT (чтобы активировать их перед остальными вашими правилами), используйте -I вместо -A в качестве первого параметра.
Другим хорошим вариантом является использование белого списка, так как это позволяет разрешить одному или нескольким IP-адресам доступ к вашему серверу, отклоняя все остальное.
Вот команда для использования этой техники:
1 2 |
iptables -I INPUT -p tcp -s 10.10.10.10,192.168.1.14 --dport ssh -j ACCEPT iptables -I INPUT -p tcp --dport ssh -j DROP |
Будут разрешены SSH-соединения только с этих двух IP-адресов, при этом будет заблокирован любой доступ с любого другого IP-адреса.
ПОЛЕЗНЫЕ ССЫЛКИ:
nice