Назад | Перейти на главную страницу

лимит досок iptables для всех портов

Я знаю, как использовать опцию limit conntrack для защиты от DoS. Однако я хочу добавить защиту, чтобы ограничить не более 50 соединений для каждого порта. Как я могу это сделать?

По сути, я хочу убедиться, что каждый порт может иметь не более 50 подключений, а не глобальное применение 50 соединений (во что я верю №2?)

Сделал бы я что-нибудь вроде:

iptables -A INPUT --dport 1:65535 -m limit --limit 50/minute --limit-burst 50 -j ACCEPT

или

iptables -A INPUT -m limit --limit 50/minute --limit-burst 50 -j ACCEPT

Вы будете смотреть на --hitcount переключатель.

--hitcount [хиты]

совпадение, требующее определенного количества совпадений в течение определенного периода времени. Максимальное значение параметра hitcount задается параметром ip_pkt_list_tot.

Вас также заинтересует --seconds переключатель.

Я считаю, что пример правила, использующего порт 80 и ограничивающего количество подключений до 50 в час, будет примерно таким:

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 3600 --hitcount 50 -j DROP