Aggiungere regole a iptables da lista IP e renderla persistente su Ubuntu. <alebal web Blog> | Appunti di PHP, MySql, javascript, Css, HTML, HTML5 e altro...

Bloccare un singolo ip

Si fa cosi:

sudo iptables -I INPUT -s 93.105.187.11 -j DROP

(P.S. Questo è l'IP dello stronzo che mi clonava i siti)


Bloccare una lista di ip

Innanzitutti abbiamo bisogno della lista di IP da bloccare, la possiamo prelevare ad esempio da qui: https://www.ip2location.com/free/robot-whitelist

Poi ci serve uno script che va a leggere la lista e aggiunge le regole a iptables, lo creiamo:

sudo nano blockip

(viene creato in root)

Nel file appena creato incolliamo questo codice:

for i in `cat /root/ips|grep -v "#"`
do
ADDR=$i
/sbin/iptables -t filter -I INPUT -s $ADDR -j DROP
/sbin/iptables -t filter -I OUTPUT -s $ADDR -j DROP
/sbin/iptables -t filter -I FORWARD -s $ADDR -j DROP
/sbin/iptables -t filter -I INPUT -d $ADDR -j REJECT
/sbin/iptables -t filter -I OUTPUT -d $ADDR -j REJECT
/sbin/iptables -t filter -I FORWARD -d $ADDR -j REJECT
echo "Block ALL INPUT from " $ADDR " net DROPPED."
done

(importante questa riga: /root/ips, indica dove si deve trovare e come si deve chiamare il file con la lista ip)

Diamo i giusti permessi al file:

chmod 774 blockip

Creiamo il file con la lista ip sul server:

sudo nano ips

Incolliamo la nostra lista ip, va bene sia 123.123.123.2 che 123.123.123.0/20, e salviamo.

Poi facciamo partire lo script con questo:

./blockip

Fatto! 


aggiungere una nuova lista di ip

Se voglio caricare una nuova lista ip, la via più semplice è cancellare il file "ips":

sudo rm ips

poi ricrearlo e incollare la nuova lista ip:

sudo nano ips

e riavviare lo script con questo:

./blockip

Rendere persistente iptables

Una delle cose più carine di tutto questo casino è che se adesso riavvii il server, lui si dimentica tutto...

Per far in modo che si ricordi esiste un modulo apposito, installalo cosi:

sudo apt-get install iptables-persistent

Questo modulo crea una copia delle regole di iptables che viene caricata al boot.

Chiaramente ogni volta che fai delle modifiche lo devi dire anche alla copia e ricaricare il modulo.

Su ubuntu 14.04 si fa cosi:

sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

Su ubuntu 16.04 si fa cosi:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Ora al riavvio le regole di iptables vengono ricaricate.

Per verificare se tutto ha funzionato, riavvia e lancia questo:

sudo iptables -L

Ti dovrebbe mostrare tuttte le regole salvate e ricaricate.

Google Digg Reddit Tumblr Pinterest StumbleUpon Email

Rating: 4 out of 5 by 399 visitors

Leave your comment