Per arginare un attacco DDoS è necessario, prima di tutto, individuare quali sono gli IP pubblici da cui proviene. In secondo luogo, occorre capire se il sito vittima basa il proprio “business” esclusivamente su visite italiane. In questo caso, per realizzare delle opportune ACL in modo da filtrare il traffico in ingresso, si deve capire quali sono i netblock stranieri da interdire. Per fare ciò ho realizzato un piccolo scrip bash che legge gli IP da un file di testo (ricavati, ad esempio, analizzando i log del Firewall o del Web server) e ne individua il relativo netblock (e la nazionalità).
Ecco lo scrip:
#!/bin/bash touch ipinfo touch target while read line do whois -F $line >> ipinfo done < tlog while read line do locin=`echo $line | grep "*in"` loccy=`echo $line | grep "*cy"` if [[ -n "$locin" || -n "$loccy" --; then echo "$locin$loccy" >> target fi done < ipinfo rm ipinfo exit 0;
Ovviamente è ancora ad una versione alpha (0.1). Appena avrò tempo provvederò ad aggiungere il calcolo automatico delle netmask e la creazione automatizzata della relative ACL Cisco (con un minimo di interattività).
Alla prossima.
NB: il file testuale tlog deve contenere un solo IP sorgente per riga.