O ataque DDoS é difícil de ser contornado e pode ser que seu Data Center atual deixe passar alguma coisa e isso sobrecarregue seu servidor.
O que fazer neste caso?
Reforce sua segurança utilizando o iptables nativo em seu servidor Linux.
Veja abaixo algumas configurações que podem te ajudar nesse processo.
### IPTables: Regras de Proteção DDOS ### ### 1: Bloqueie os pacotes inválidos ### iptables -t mangle -A PREROUTING -m conntrack --ctstate INVALID -j DROP ### 2: Bloqueie os pacotes TCP que são novos e não tem o SYN ### iptables -t mangle -A PREROUTING -p tcp ! --syn -m conntrack --ctstate NEW -j DROP ### 3: Bloqueie os pacotes SYN com valor MSS suspeito ### iptables -t mangle -A PREROUTING -p tcp -m conntrack --ctstate NEW -m tcpmss ! --mss 536:65535 -j DROP ### 4: Bloqueie os pacotes com flag TCP bogus ### iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,RST FIN,RST -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,ACK FIN -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,URG URG -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,FIN FIN -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,PSH PSH -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL ALL -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROP iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP ### 5: Bloqueie o spoofing de pacotes ### iptables -t mangle -A PREROUTING -s 224.0.0.0/3 -j DROP iptables -t mangle -A PREROUTING -s 169.254.0.0/16 -j DROP iptables -t mangle -A PREROUTING -s 172.16.0.0/12 -j DROP iptables -t mangle -A PREROUTING -s 192.0.2.0/24 -j DROP iptables -t mangle -A PREROUTING -s 192.168.0.0/16 -j DROP iptables -t mangle -A PREROUTING -s 10.0.0.0/8 -j DROP iptables -t mangle -A PREROUTING -s 0.0.0.0/8 -j DROP iptables -t mangle -A PREROUTING -s 240.0.0.0/5 -j DROP iptables -t mangle -A PREROUTING -s 127.0.0.0/8 ! -i lo -j DROP ### 6: Bloqueie o ping/ICMP (normalmente não precisa deste protocolo) ### iptables -t mangle -A PREROUTING -p icmp -j DROP ### 7: Bloqueie fragmentos em todas as chains ### iptables -t mangle -A PREROUTING -f -j DROP ### 8: Limite as conexões por IP de origem ### iptables -A INPUT -p tcp -m connlimit --connlimit-above 111 -j REJECT --reject-with tcp-reset ### 9: Limite os pacotes RST ### iptables -A INPUT -p tcp --tcp-flags RST RST -m limit --limit 2/s --limit-burst 2 -j ACCEPT iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP ### 10: Limite novas conexões TCP por segunda por IP de origem ### iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m limit --limit 60/s --limit-burst 20 -j ACCEPT iptables -A INPUT -p tcp -m conntrack --ctstate NEW -j DROP ### 11: Utilize SYNPROXY em todas as portas (disabilita a regra de limitação de conexão) ### #iptables -t raw -D PREROUTING -p tcp -m tcp --syn -j CT --notrack #iptables -D INPUT -p tcp -m tcp -m conntrack --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460 #iptables -D INPUT -m conntrack --ctstate INVALID -j DROP ### Proteção contra SSH força-bruta ### iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --set iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 10 -j DROP ### Proteção contra scanning de portas ### iptables -N port-scanning iptables -A port-scanning -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 2 -j RETURN iptables -A port-scanning -j DROP
Muita atenção
Antes de aplicar estas configurações, analise todo o seu ambiente a fim de evitar problemas ainda maiores com bloqueios de seus serviços.
Como boa prática, após conter o surto de ataques (DDoS), faça uma auditoria em seu servidor Linux e remova tudo que não for estritamente necessário. Mantenha seu servidor e CMS atualizado e também nunca se esqueça de utilizar um sistema de logs.