mercoledì 8 maggio 2013

Come intercettare e bloccare attacchi DDOS - Consigli di sicurezza base

Gestire un server web richiede moltissime conoscenze lato sistemistico. Uno dei tanti compiti per un sistemista più o meno esperto è proteggere il proprio sistema da attacchi di vario genere. In questo articolo illustrerò alcuni tools e comandi utili ad intercettare attacchi DDOS e bloccarli.
Il nostro primo compito è intercettare gli indirizzi ip con il maggior numero di connessioni aperte con il comando:

netstat -ntu | awk '{print $5}' | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | cut -d: -f1 | sort | uniq -c | sort -r

#Esempio di output
    232 95.211.46.111
     14 188.132.217.XXX
     12 61.136.171.XXX
      9 82.0.195.XXX
      5 93.46.153.XXX
      2 89.249.22.XXX
      2 81.19.88.XXX
      2 64.186.126.XXX
      2 151.66.50.XXX
      1 78.12.70.XXX
      1 74.125.209.XXX
      1 62.152.53.XXX
      1 188.127.228.XXX
      1 173.193.197.XXX
      1 128.242.249.XXX


Il comando sopra genera un output con la classifica degli indirizzi ip e il numero di connessioni aperte (in ordine decrescente).
Come possiamo notare nell'esempio, l'ip 95.211.46.111 con 232 connessioni aperte è un possibile attacker.

Il passo successivo è chiudere il numero di connessioni aperte e bloccare quell'indirizzo IP.
Uno strumento utile a chiudere tutte le connessioni aperte da un host è TCPKILL.
Installiamolo (come root):

apt-get install dsniff

Chiudiamo le connessioni dell'attaccante:

tcpkill host 95.211.46.111

Blocchiamo l'ip dell'attaccante con iptables:

iptables -A INPUT -s 95.211.46.111 -j DROP

Questo è un piccolo esempio su come intercettare e bloccare i DDOS. Potrebbe essere interessante automatizzare la procedura sopra con un piccolo script. Buon lavoro.