Я пытаюсь заблокировать (замедлить) атаку грубой силой на мой sshd-сервер. Я следую этому руководству http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/, которое в основном говорит, что мне нужно просто ввести 2 команды ниже.
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Мой порт sshd - 6622, поэтому я изменил записи с «22» на «6622» и ввел эти команды. Затем я попытался просто протестировать новые iptables. Я перешел на другой компьютер и несколько раз целенаправленно ввел неправильный пароль для входа. К сожалению, новые правила, похоже, не мешают мне пробовать столько, сколько я хочу. Ниже перечислены мои текущие правила. Что я делаю неправильно?
# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source
tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: SET name: DEFAULT side: source
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain LOGDROP (0 references)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
DROP all -- anywhere anywhere
MaxStartups
может помочь на стороне демона?Ответы:
Как отметил @banjer в своем комментарии, вы пытаетесь найти неправильное решение для вашей настоящей проблемы.
Что вам нужно сделать, это настроить fail2ban . Он использует iptables в фоновом режиме для автоматической блокировки попыток подключения от хостов, которые генерируют неудачные попытки доступа из различных источников. Он невероятно универсален и позволяет добавлять и изменять различные пороги, шаблоны для поиска и запреты методов; вам придется немного подправить ssh jail по умолчанию, чтобы учесть нестандартный порт, который вы используете, но это не должно быть сложно.
источник
Я использую такие правила, чтобы замедлить ход событий:
В других местах я ограничиваю такие вещи:
источник
Вы читали справочную страницу?
man sshd_config:
источник
Я только что попробовал решение двух правил, и у меня была та же самая проблема, когда я проверил это. Затем отмечу, что опубликованные правила имеют
-i eth0
опцию! Я изменил его на хороший сетевой интерфейс, и он наконец начал работать.источник
Большинство учебников используют
-A
для добавления в конец набора правил. OP используется-I
для вставки, но без индекса, поэтому правила оказались в неправильном порядке.Ценный инструмент для отладки правил iptables -
iptables -vL
это список правил со счетчиком того, сколько раз было применено каждое правило. Когда вы получаете неожиданный счет 0, это может помочь вам понять, что не так.источник