nixp.ru v3.0

23 октября 2017,
понедельник,
02:03:16 MSK

DevOps с компанией «Флант»
stealth написал 28 февраля 2007 года в 20:36 (538 просмотров) Ведет себя неопределенно; открыл 103 темы в форуме, оставил 124 комментария на сайте.

Здарово народ =)

Кто подскажет как блокировать определённый host на 22 порт после 3-ёх неправельных попыток набора пасса по ssh клиенту (например putty).

Master

Все говорят про portsentry для этого дела…

Anarchist
stealth
Кто подскажет как блокировать определённый host на 22 порт после 3-ёх неправельных попыток набора пасса по ssh клиенту (например putty).

ИМХО правильнее — не блокировка, а тайм-аут: от двух секунд, неограниченная геометрическая прогрессия на каждую неправильную попытку.

С обязательным логированием всех неудачных попыток.

С точки зрения пользователя — более гуманное право на ошибку, с точки зрения облома брутфорса — как минимум близко по эффективности.

Master
Anarchist
ИМХО правильнее — не блокировка, а тайм-аут: от двух секунд, неограниченная геометрическая прогрессия на каждую неправильную попытку.

С обязательным логированием всех неудачных попыток.

С точки зрения пользователя — более гуманное право на ошибку, с точки зрения облома брутфорса — как минимум близко по эффективности.

Надо нечто подобное за досуге реализовать на bash’e

stealth

Вот решение этой проблемке ;)

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

akazakov

Уже давно все придумано и сделано

http://www.csc.liv.ac.uk/~greg/sshdfilter/

Ну, а сам я больше люблю использовать следующее правило в pf

pass on $ext_if inet proto tcp from any to $(ext_if) port ssh keep state \

(max-src-conn 10, max-src-conn-rate 5/60, overload flush)

block on $ext_if inet proto tcp from to $(ext_if) port ssh \

probability 65%

Данное правило помещает в таблицу bruteforcers все IP, частота соединений которых превышет 5 за 60 секунд. Фильтр помещая IP в таблицу отбрасывает 65% траффика.

Способ не очень годится, в нагруженных сетях. Перегрузка таблицы не есть хорошо.

Есть выход в лице демона, написанного form — sshblocked. Принцип действия несколько схож с первой ссылкой.

Ну и два самых простых способа : перевесить sshd демона любой произвольный порт в пределах <65535 или использовать аутентификацию по ключу

HidX

 fail2ban — и все твои проблемы решатся.