comando linux para evitar o ataque usando netstat e iptables

5

Eu quero DROP mais de 200 solicitações por ip para evitar ataques de ddos. este é o comando que eu usei para detectar pedidos de contagem por ip:

netstat -alpn | grep :80 | awk '{print }' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr

agora eu quero adicionar todos os endereços IP que fizeram mais de 200 pedidos em IPtables para DROP input e out put.

    
por Morteza Soltanabadiyan 20.03.2014 / 21:10

1 resposta

11

Bem, você não pode evitar ddos e 200 solicitações são bastante triviais.

O melhor que você pode fazer, IMO, é definir limites

sudo iptables -A INPUT -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -j REJECT

Para a porta 80, use

sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 50/second --limit-burst 50 -j ACCEPT
sudo iptables -A INPUT -j REJECT

Você deve conseguir ajustar esses limites ao seu servidor.

Veja: link

    
por Panther 20.03.2014 / 21:23