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

Ограничить количество параллельных подключений на сервере Apache

Я нахожусь на сервере Ubuntu с Apache2. Я хотел бы защитить себя от атак (d) dos и syn flood и поэтому попытался ограничить количество параллельных подключений на каждый IP-адрес клиента.

Я слышал, что с этой задачей справляется iptables, и изучал различные команды. Хотелось бы услышать ваше мнение. Насколько мне известно, обе следующие команды блокируют клиентов на 60 секунд, если они делают более 100 одновременных / параллельных подключений к порту 80. Это правильно, и есть ли разница между ними?

Команда 1

iptables -A INPUT -p tcp -m latest --rcheck --seconds 60 -j REJECT

iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 100 -m latest --set -j REJECT

Команда 2

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m latest --set

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m latest --update --seconds 60 --hitcount 100 -j REJECT

Моя установка

У меня на сервере несколько сайтов Wordpress. Я думаю, что 100 одновременных подключений на одного клиента должно быть достаточно - все, превышающие это значение, должны быть заблокированы. Это разумный предел?

Возможно, вы захотите пересмотреть размещение обратного прокси (Lighttpd, Nginx, Varnish и др.) Перед Apache, чтобы уменьшить нагрузку на него в случае атаки.