Scripts milagrosos para bloquear ataques DDoS utilizando o Iptables

Atualização: Fiz uma pequena revisão do texto, pois recebi  a reclamação de algumas pessoas quanto a compreensão. Espero resolver isso com o texto revisado

A melhor definição para isso foi do Spookerlabs – “Povo ofecerando milagras e veja pq nao funciona”

Muitos blogs e sites vêm divulgando alguns scripts milagrosos que prometem parar ou mitigar ataques DDoS utilizando regras para o Iptables e tuning para o Linux, eles mais parecem propaganda religioso que passam de madrugada.

Abaixo, segue uma pequena lista de scripts e configurações que a galera utiliza no APF, Iptables e tuning no Linux achando que irão resolver os ataques DDoS como um passe de mágica:

service apf stop
iptables -F
wget http://www.hackersgarage.com/wp-content/uploads/2011/08/antiDDoS.txt
mv antiDDoS.txt antiDDoS.sh
chmod u+x antiDDoS.sh
./antiDDoS.sh

echo "Block TCP-CONNECT scan attempts (SYN bit packets)"
iptables -A INPUT -p tcp --syn -j DROP
echo "Block TCP-SYN scan attempts (only SYN bit packets)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH SYN -j DROP
echo "Block TCP-FIN scan attempts (only FIN bit packets)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
echo "Block TCP-ACK scan attempts (only ACK bit packets)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
echo "Block TCP-NULL scan attempts (packets without flag)"
iptables -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,URG,PSH SYN,RST,ACK,FIN,URG,PSH -j DROP
echo "Block "Christmas Tree" TCP-XMAS scan attempts (packets with FIN, URG, PSH bits)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
echo "Block DOS - Ping of Death"
iptables -A INPUT -p ICMP --icmp-type echo-request -m length --length 60:65535 -j ACCEPT
echo "Block DOS - Teardrop"
iptables -A INPUT -p UDP -f -j DROP
echo "Block DDOS - SYN-flood"
iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 9 -j DROP
echo "Block DDOS - Smurf"
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT
echo "Block DDOS - UDP-flood (Pepsi)"
iptables -A INPUT -p UDP --dport 7 -j DROP
iptables -A INPUT -p UDP --dport 19 -j DROP
echo "Block DDOS - SMBnuke"
iptables -A INPUT -p UDP --dport 135:139 -j DROP
iptables -A INPUT -p TCP --dport 135:139 -j DROP
echo "Block DDOS - Connection-flood"
iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 3 -j DROP
echo "Block DDOS - Fraggle"
iptables -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP
iptables -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT
echo "Block DDOS - Jolt"
iptables -A INPUT -p ICMP -f -j DROP

O script acima possui uma série de interpretações que levam ao erro, principalmente para aqueles que estão começando na área. Utilizar um firewall com regras de DROP à torto e a direita não é solução para um ataque DDoS – isso foi o que eu quis dizer logo no início do post e não ficou claro, erro meu..

Abaixo tem mais  um script que faz o download e de outros scripts que promete o falso milagre:

wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh

Outro ponto importante é que há analistas que acreditam que configurar um firewall “de foram correta” é garantir a integridade de seu ambiente – totalmente errado. O entendimento por completo dos protocolos TCP/IP  é outro erro praticado por muitos. O importante, acima de tudo, é entender como é originado, feito e direcionado um ataque, para dar inicio ao processo de mitigação. Um firewall não tem como bloquer um ataque Slowloris, e um IDS/IPS tem ? Outra discussão que vale a pena ser aborda em outro post. :)

Voltando aos ataques DDoS, as operadores – empresas de telecomunicação –  possuem um papel fundamental na proteção de ataques DDoS Layer4. Eles têm todos recursos e equipamentos para detê-los, fato. Porém elas pecam em bloquear todo o tráfico inbound para uma empresa que é alvo de um ataque, e pior, não investem no treinamento e aperfeiçoamento do seu pessoal. A resposta para o por que disso é bem simples – Sai mais barato deixar o circo pegar fogo ou fazer um regra super restritiva do que passar alguns minutos analisando logs e apontar a regra correto e que desafogará, em alguns casos, a infra do cliente.

Muitos dos ataques DDoS praticados nos últimos anos são difíceis de serem bloqueados devido a dispersão geográfica e também ao seu poder de fogo. Há ataques provenientes de milhões de computadores que que chegam em mais de 100Gb/s de banda.

Muitos especialistas da área e com experiência de mais de 10 anos dizem que os ataques DDoS de hoje são os mesmos de 5 anos atrás, mas agora, graças as redes sociais, eles são divulgados. Eu acredito que hoje há uma coordenação dos ataques, novas ferramentas e posso me atrever a dizer que há novos tipos de ataque.

O fato é que não há uma solução, configuração ou produto mágico que seja capaz de mitigar estes ataques por completo, mas sim a implementação de várias contra medidas, dependendo é claro do seu ambiente e do seu bolso para minimizá-los, isso sem falar naquele velho ditado “Tenha uma arma maior que a do seu inimigo”, que neste caso é banda.

P.S.: Eu e muitos outros profissionais preferimos o CSF, já apresentado e comentado pelo Alan Sanches no último hackingday e ferramenta utilizada na infra do Desafio Hacker ao invés do APF, mas um aviso importante, ele não bloqueia ataques DDoS.

O pessoal do anonymous deve tatuar no braço a palavra DDoS.

fontes: http://www.hackersgarage.com/ e http://www.mydigitallife.info/prevent-and-stop-dos-or-ddos-attacks-on-web-server-ddos-deflate/

 

Scripts milagrosos para bloquear ataques DDoS utilizando o Iptables

Deixe um comentário