Извините, что задаю этот вопрос - но я просматриваю форумы и темы на эту тему и, кажется, запутываю себя больше, чем получаю какую-то ясность. Все, что мне нужно, это краткий и краткий ответ для этой проблемы:
Как настроить (цепочку) правило в iptables, которое отклоняет любой источник, который не может получить доступ к серверу после XX попыток в течение YY минут, поэтому что любая дальнейшая попытка связаться с сервером отклоняется до сопоставления пароля в течение ZZ минут. Через ZZ минут после последней попытки подключения правило должно позволить тому же источнику повторить попытку, как если бы он никогда не пытался повторно подключиться ранее.
Моя проблема в том, что я не понимаю синтаксис iptables , независимо от того, сколько я его изучаю, и, следовательно, я благодарен за самый короткий «тип сценария» ответ на этот вопрос
Ну, честно говоря, существует определенная кривая обучения к iptables.
Во-первых, можно использовать ufw для запуска. ubw является мощным инструментом командной строки, и преимуществом является синтаксис, подобно iptables.
sudo ufw enable
sudo ufw limit 22
Здесь я ограничиваю порт 22, можно использовать любой порт, которого Вы желаете.
https://help.ubuntu.com/11.10/serverguide/C/firewall.html
Снова преимуществом является ufw, автоматизирует большую часть этого и упростит Ваш процесс обучения.
Если Вы хотите использовать iptables, Вас в минимальной потребности учиться сохранять и восстанавливать Ваши правила.
sudo iptables-save > /etc/iptables.save
sudo iptables-restore /etc/iptables.save
Можно отредактировать /etc/iptables.save
, синтаксис является достаточно прямым.
При попытке правил от удаленного использовать iptables-apply
предотвратить локаут
sudo iptables-apply /etc/iptables.save
Для восстановления правил о начальной загрузке один из нескольких методов должен добавить это к/etc/rc.local
iptables-restore /etc/iptables.save
Другие опции перечислили в Ubuntu iptables страницу Wiki (см. ниже).
iptables синтаксис
iptables -I INPUT -p tcp -m state --state NEW -m limit --limit 30/minute --limit-burst 5 -j ACCEPT
Для ВХОДА добавьте ЖУРНАЛ, но если Вы не собираетесь контролировать свои журналы, используйте фырканье. регистрирование iptables, IMO, более полезно для отладки.
Посмотрите человека iptables, Ubuntu Wiki iptables
Некоторые люди находят мою iptables веб-страницу полезной для запуска.
Для ответа на комментарий см. эти правила
iptables -A INPUT -p tcp -m tcp --dport 22 -m tcp -m state --state NEW -m recent --set --name SSH --rsource
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 600 --hitcount 8 --rttl --name SSH --rsource -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
http://kevin.vanzonneveld.net/techblog/article/block_brute_force_attacks_with_iptables/
Протест, он зависит от сервиса. ssh настроен для разрешения такого количества попыток аутентификации по паролю 9see /etc/ssh/sshd_config
), таким образом, каждое соединение дает 6 попыток пароля.