Защитите от DOS с помощью iptables
Есть ли способ защитить от DOS, проанализировав, сколько соединений в порту было установлено ip и не ограничить трафик в целом?
Например, допустим, я не хочу, чтобы ip выполнял более 10 http-запросов за 10 секунд, как я могу это сделать? Знание, что не будет никакого запрета, если есть 100 запросов в 10 секунд, и если у каждого запроса есть различный IP (защита только для DOS, а не DDOS).
2 ответа
Вы могли бы сделать это с этим.
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 10/second --limit-burst 12 -j ACCEPT
В любом случае включите синхронизацию тоже. Добавьте эту строку в /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
Затем запустите sysctl -p или перезагрузитесь, чтобы применить.
Проверьте https://www.fail2ban.org/wiki/index.php/Main_Page. Это программный ограничитель скорости, который использует таблицы IP