|
18.06.2010, 23:27 Вверх | #1 | |||
Коварный тип
|
Защищаем SSH от брутфорса на любом порту
Защищаем SSH от брутфорса на любом порту
Сегодня меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже несколько лет. Он имеет два преимущества: — дает мне больше попыток для набора правильного пароля — но при этом блокирует брутфорсеров «навечно». Как можно достичь этих двух противоположных целей? Я использую модуль iptables под названием hashlimit, который умеет подсчитывать кол-во пакетов в определенный промежуток времени и через некоторое время сбрасывать счетчик. Все делается тремя правилами: Код:
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit 1/hour --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SSH --hashlimit-htable-expire 60000 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j DROP iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT Добропорядочный же пользователь наборот имеет несколько попыток подключения без ожидания между ними прежде чем попадет в «баню». Модуль hashlimit сохраняет свое состояние в /proc — поначалу там пусто: Код:
# cat /proc/net/ipt_hashlimit/SSH Код:
# cat /proc/net/ipt_hashlimit/SSH 55 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 11533000 230400000 115000000 Код:
# cat /proc/net/ipt_hashlimit/SSH 20 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 117429000 230400000 115000000 Таким образом решены две проблемы: — если пользователь вдруг опечатался, ему не нужно долго ждать новых попыток — брутфорсеры сами себя загоняют в «вечный» бан. Что делать, если вы вдруг с нескольких попыток не смогли ввести пароль? Не суетиться — подождать спокойно минуту и попробовать еще несколько раз. А если уж снова не смогли — то лучше пойти проспаться, в таком состоянии в консоль лучше не лазить :)) Успехов. P.S. И да, чуть не забыл — у меня SSH на нестандартном порту :) UPD: Немного про настройку hashlimit. UPD2: Как достичь того же самого с помощью более распространенного модуля recent: раз, два. UPD3: Само собой способ годится не только для защиты от подбора пароля по SSH, но может быть использован и для различных других сервисов, где слишком частое подключение сигнализирует о чем-то неладном. UPD4: Ограничение подключений с помощью самого SSHD. Источник: habrahabr.ru Автор: zivot_je_cudo |
|||
Cказали cпасибо: |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Статья] Защищаем свой сайт DLE от кулхацкеров | Serberg | Инструкции, модификации и статьи для DLE | 19 | 15.12.2012 15:15 |
[Инструкция] Защита от брутфорса ssh, ftp, http: fail2ban | Serberg | Linux | 4 | 22.12.2011 18:11 |
[Вопрос] как создать раздел которую можно было бы установит на любом другом компьютере (и с какой программой лучше всего это сде | jajik87 | Операционные системы | 2 | 26.10.2010 21:10 |