Оказывается такой удобный инструмент для борьбы с ДДОС атаками (или вернее со спамботами) как DDoS Deflate (который применяется тогда, когда в iptables отсутствует возможность использовать модуль connlimit), после инсталяции неправильно склонен себя конфигурировать. Это приводит к тому, что защита не работает.
Кстати, весьма важно помнить, что в отличие ограничения одновременных коннектов с 1 айпи адреса средствами iptables, когда попытки установить новые соединения просто не состоятся, при использовании DDoS Deflate айпи адрес, достигший лимита подключений, попадает в бан и все коннекты с ним прекаращаются на зданный интервал (после которого ip разбанивается).
Во-первых, в конфиге надо исправить
Затем необходимо правильно сконфигурировать крон. Так как я не люблю разные cron-файлы в папке /etc/cron.d/, то рекомендую внести слегка отрадактированную строку на запуск скрипта в свой личный рутовый кронтаб, а файл /etc/cron.d/ddos.cron — удалить:
здесь мы увеличиваем приоритет процесса DDoS Deflate, чтобы когда система загибается от множества коннектов скрипт отработал и забанил кого надо, а у кого истекло время штрафа — разбанил.
Кстати, весьма важно помнить, что в отличие ограничения одновременных коннектов с 1 айпи адреса средствами iptables, когда попытки установить новые соединения просто не состоятся, при использовании DDoS Deflate айпи адрес, достигший лимита подключений, попадает в бан и все коннекты с ним прекаращаются на зданный интервал (после которого ip разбанивается).
Во-первых, в конфиге надо исправить
##### Количество соединений с 1 айпиадреса (т.к. тех, кто исчерпал лимит -
##### баним на 10 минут, лучше устанавливать не слишком маленькое значение
##### рискуем забанить офис за NAT транслятором (ipv6 ещё не пришол!)
NO_OF_CONNECTIONS=64
##### APF_BAN=0 (Включаем бан через iptables, а не по APF)
APF_BAN=0
Затем необходимо правильно сконфигурировать крон. Так как я не люблю разные cron-файлы в папке /etc/cron.d/, то рекомендую внести слегка отрадактированную строку на запуск скрипта в свой личный рутовый кронтаб, а файл /etc/cron.d/ddos.cron — удалить:
crontab -e
*/1 * * * * nice -n -5 /usr/local/ddos/ddos.sh
здесь мы увеличиваем приоритет процесса DDoS Deflate, чтобы когда система загибается от множества коннектов скрипт отработал и забанил кого надо, а у кого истекло время штрафа — разбанил.