Предотвратить атаки SSH


9

Я пытаюсь настроить правила iptables, чтобы разрешить только 3 попытки по IP в минуту подключаться к сервиру через SSH, и после этого отбрасывать все соединения, чтобы предотвратить атаки SSH; но, кажется, я делаю что-то не так!

-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

Спасибо

Ответы:


10

Я думаю, вам лучше использовать fail2ban, потому что ваши правила ipfilter также блокируют законные соединения. fail2banбудет блокировать IP только после неудачных подключений.

Далее, обычной практикой является запрет IP-адресов при попытке подключения к порту 22 и привязка вашего ssh-сервера к другому порту. Затем вы сталкиваетесь только с парой незаконных соединений в неделю, если ваш компьютер не является хорошо известной целью.

Для точного вопроса вы задали:

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

1
Поскольку сервер является низкоскоростным VPS, я пытаюсь свести к минимуму потребление ресурсов, поддерживая его как можно более безопасным. Я уже изменил порт сервера ssh. Должен ли я сохранить эти правила (выше) для нового порта и забанить по умолчанию (22)?
MGP

Fail2ban на самом деле является лучшим решением, даже для низкого VPS
MGP

7

Вы можете реализовать то, что вы хотите с помощью следующих 2 правил

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP

Обратите внимание, что использование метода -Aдобавления правил в конец цепочки может привести к нарушению способа обработки правил iptables, т. Е. Для того, чтобы при наличии общего правила DROP или разрешающего правила до достижения вашего, они никогда не будут действовать.

Сказав, что вы также можете обнаружить, что fail2ban - лучший способ реализовать этот тип блока.


Когда я пытаюсь добавить эти правила, я получаю сообщение об ошибке: iptables: нет цепочки / цели / совпадения с этим именем.
MGP

Upvote для fail2ban.
Майкл Б.

4

Возможно, вы захотите попробовать модуль LIMIT.

iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/minute -j ACCEPT
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.