Как долго длится заблокированное соединение с Iptables? Есть ли способ установить время ожидания?
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 поддерживает счетчик? Обновляется ли при повторных попытках подключения?
2 ответа
Если за пять секунд установлено более 15 соединений, их соединения отклоняются до истечения пяти секунд после получения последнего пакета.
Вы можете получить помощь по этому модулю, запустив 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
Может быть, кто-то получит лучший ответ, кто экспериментировал с вариантами, извините:-/