stealth
написал 28 февраля 2007 года в 20:36 (1088 просмотров)
Ведет себя
неопределенно; открыл 103 темы в форуме, оставил 124 комментария на сайте.
Здарово народ =)
Кто подскажет как блокировать определённый host на 22 порт после 3-ёх неправельных попыток набора пасса по ssh клиенту (например putty).
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Все говорят про portsentry для этого дела…
ИМХО правильнее — не блокировка, а тайм-аут: от двух секунд, неограниченная геометрическая прогрессия на каждую неправильную попытку.
С обязательным логированием всех неудачных попыток.
С точки зрения пользователя — более гуманное право на ошибку, с точки зрения облома брутфорса — как минимум близко по эффективности.
Надо нечто подобное за досуге реализовать на bash’e
Вот решение этой проблемке ;)
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
Уже давно все придумано и сделано
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 или использовать аутентификацию по ключу
fail2ban — и все твои проблемы решатся.