На просторах линуксфорума нашел:
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
Все кто ломятся быстрее 20 сек — отлетают, т.е. определяются как боты-брутфорсеры. Просто и эффективно.
Полезно. Некоторые перевешивают SSH на другой порт. Я в своём по-умолчанию закрытом фаерволле проковыриваю дырочки для доступа только из тех подсетей, откуда захожу сам. Вообще не считаю нужным светить SSH всему Интернету, пусть даже и на нестандартном порту. Точно также настраиваю доступ к остальным непубличным серверам: TFTP, RADIUS, NetFlow-коллекторы, Web-серверы со статистикой, APT-кэшер и т.п.
[…] Теперь нам надо бы еще закрыть доступ для всяких ботов-брутфорсеров. Как это сделать я описывал в этой заметке. […]
Что это за “тире” в командах iptables?? Уже можно UTF-8 в командах:))
И неплохо-бы ссылки на источник давать
NanoRobocop, да опять же та же проблема с автоправкой кода ВП… он меня устал уже с этим глюком.
Про ссылку – я давно это нашел и давно юзаю. Ссылка потерялась уже давно. А где брал – указал. Кому надо – тот найдет.
iptables -A INPUT -p tcp -m state -state NEW -dport 22 -m recent -update -seconds 20 -j DROP
Bad argument `NEW’
Даже без тире – не работает . Надо МАN почитать…
man’ы вообще читать полезно. Ну а для того чтобы понять как правильно записать опции, достаточно изучить стиль задания опций в программах GNU.
В программах GNU однобуквенные опции начинаются со знака минуса. Нескольк однобуквенных опций, не имеющих дополнительных аргументов, можно указывать друг за другом после единственного минуса. Длинные опции начинаются с двух знаков минуса.
Там где стоит одинокий минус, он на самом деле идёт подряд со следующим минусом.