Forse non tutti sanno che i vari indirizzi ip non vengono assegnati a caso, ma ogni paese, ogni stato, ha determinate classi di IP che possono assegnare a chi ne fa richiesta.
Molte volte capita che qualche rompicoglioni furbetto, si accorga di un possibile exploit sul nostro server prima di noi, ed è naturale quindi vedersi arrivare ondate di attacchi ogni giorno nel vano tentativo di sfondare qualche backdoor.
Sebbene sappiamo che gli ip che vediamo arrivare non saranno mai quelli reali dell’attaccante, per quanti proxy possa utilizzare con un pò di sana analisi riusciremo a circoscrivere le zone dalle quali partono gli attacchi.
In questo caso ci viene in aiuto iptables, conoscendo infatti il range di ip di quel particolare stato, possiamo mettere a punto un filtro che faccia fallire tutti i tentativi d’attacco.
Prima di tutto dobbiamo conoscere la sigla del paese in formato ISO 1660, qui possiamo ottenere una lista completa.
Poniamo nel nostro esempio che gli attacchi provengano dall’Argentina e dall’Afghanistan, i codici ISO in questo caso saranno rispettivamente AR e AF tramite questa pagina settando un opportuna query, possiamo ottenere la lista di tutte le classi dei due paesi:
http://blogama.org/country_query.php?country=AF,AR
Controllate il sorgente della pagina per avere tutti gli ip in lista verticale e non in maniera sequenziale.
Teniamo a mente che durante la prima settimana di ogni mese, questi database vengono aggiornati, mentre per ottenere il database completo di tutti gli stati in formato SQL possiamo andare qui.
Tornando al nostro esempio, adesso non ci resta che creare delle regole di iptables apposite per queste classi, a mano sarebbe un suicidio lo so, possiamo infatti scriptare la procedura come in questo esempio, che ci consente di:
- Scaricare la lista completa delle classi dei paesi interessati
- Creare le apposite regole di iptables
#!/bin/bash
###settare la variabile countries con i codici ISO dei paesi separati dalla sola virgola###
COUNTRIES="AK,AR"
WORKDIR="/root"
#######################################
cd $WORKDIR
wget -c –output-document=iptables-blocklist.txt http://blogama.org/country_query.php?country=$COUNTRIES
if [ -f iptables-blocklist.txt ]; then
iptables -F
BLOCKDB="iptables-blocklist.txt"
IPS=$(grep -Ev "^#" $BLOCKDB)
for i in $IPS
do
iptables -A INPUT -s $i -j DROP
iptables -A OUTPUT -d $i -j DROP
done
fi
rm $WORKDIR/iptables-blocklist.txt
notate bene che lo script pulisce tutte le regole di iptables prima di applicare i filtri, adattatelo quindi alle vostre esigenze.
Che si divertano ora ad attaccare quanto vogliono ![]()
| |













