16.06.2013 02:06, Mikhail A Antonov пишет:
> Для SSH удобно делать так:
> iptables -N SSH
> iptables -A INPUT -p tcp --dport 22 -j SSH
> iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
> iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent
> --update --seconds 60 --hitcount 3 -j DROP
> iptables -A SSH -s 1.2.3.4 -j ACCEPT
> iptables -A SSH -s 4.3.2.1 -j ACCEPT
> iptables -A SSH -s 5.6.7.0/24 -j ACCEPT
>
> А ещё боты обламываются и быстро уходят если отключена авторизация по
> паролю и оставлена только по ключам.
>
> Про port-knocking я читал-читал и так и не придумал где это можно
> _удобно_ использовать.
Спасибо за Ваш ответ. Авторизация по паролю отключена в первый же день,
с SSH (по моему мнению) я уже сделал всё, что было можно.
Но любой сервис содержит по определению баги и лучше максимально все
защищать. Вы предлагаете своим примером пустить всех с доверенных хостов
(в моем случае их просто нет), остальные - с ограничениями.

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set

Эта строка точно дописана? Никак не пойму что она делает? По-моему она
должна "маркировать" что-то как-то например так:

iptables -A INPUT -p tcp -m tcp --dport 80 -m recent --set --name httpddos 
--rsource

Я прав? Вы это хотели написать?
И мне осталась непонятной строка:

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

я почти вижу что это ограничение на количество коннектов в минуту тремя,
вернее пакетов с флагом NEW.
только фрагмент с --update мне опять же непонятен.

P.S. На SSH по моему мнению это вполне удобно. стукнулся на порт и делай
что нужно. С любого IP без ограничений каких-бы то ни было для меня и с
недоступным портом для других. С момента введения PK не было ни одного
левого SYN к SSH (за более чем 5 лет).

Attachment: signature.asc
Description: OpenPGP digital signature

Ответить