Удобный инструмент для борьбы с DDoS атаками (или вернее со спам-ботами) как DDoS Deflate (который применяется тогда, когда в iptables отсутствует возможность использовать модуль connlimit).
Скорее всего это можно назвать защитой от SYN и “школьных” атак. Скрипт использует команду «netstat» для обнаружения DDoS и флуда, после чего блокирует IP адреса вредителей с помощью iptables или apf.
Во-первых, в конфиге надо исправить количество соединений с 1 адреса (т.к. тех, кто исчерпал лимит - баним на 10 минут, лучше устанавливать не слишком маленькое значение т.к рискуем забанить офис за NAT транслятором.
##### Paths of the script and other files PROGDIR="/usr/local/ddos" PROG="/usr/local/ddos/ddos.sh" IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" CRON="/etc/cron.d/ddos.cron" APF="/etc/apf/apf" IPT="/sbin/iptables"
##### frequency in minutes for running the script ##### Caution: Every time this setting is changed, run the script with --cron ##### option so that the new frequency takes effect FREQ=1
##### How many connections define a bad IP? Indicate that below. NO_OF_CONNECTIONS=64
##### APF_BAN=1 (Make sure your APF version is atleast 0.96) ##### APF_BAN=0 (Uses iptables for banning ips instead of APF) APF_BAN=0
##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script) ##### KILL=1 (Recommended setting) KILL=1
##### An email is sent to the following address when an IP is banned. ##### Blank would suppress sending of mails EMAIL_TO="root"
##### Number of seconds the banned ip should remain in blacklist. BAN_PERIOD=600
Владельцам выделенных серверов может быть полезным определение некоторых парметров ядра: