iptables -A INPUT -m state --state NEW -m recent --set # If we receive more than 10 connections in 10 seconds block our friend.
iptables -A INPUT -m state --state NEW -m recent --update --seconds 5 --hitcount 15 -j Log-N-Drop
У меня есть два соответствующих правила из iptables. Если за 5 секунд установлено более 15 подключений, попытка регистрируется и блокируется. Как долго iptables поддерживает счетчик? Обновляется ли он, если попытки подключения повторяются?
решение1
Если в течение пяти секунд установлено более 15 подключений, их соединения отклоняются в течение пяти секунд после получения последнего пакета.
решение2
Вы можете получить справку по этому модулю, выполнив iptables -m recent --help
:
Основной вариант, относящийся к Вашему вопросу:
[!] --update Match if source address in list, also update last-seen time.
Так что я понимаю, что с --update он обновится, но вам понадобится это обновление до сброса. Поэтому, если он первый, он «истечет». Примеры настраница автораможет также помочь. Также в игру вступает следующий параметр модуля, если приходит больше IP:
ip_list_tot=100 ; Количество адресов, запоминаемых в таблице
Редактировать: Честно говоря, думая об этом больше, я немного запутался во всех возможных сценариях. Я бы много тестировал это, создавая разные исходные IP-адреса с помощью чего-то вроде scapy для fping. Следующий параметр модуля также может помочь:
debug=0 ; Set to 1 to get lots of debugging info
Может быть, кто-то, кто экспериментировал с вариантами, даст лучший ответ, извините :-/