Aggiungere regole a iptables da lista IP e renderla persistente su Ubuntu
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.
Rating: 5 out of 5 by 1959 visitors