Comment bloquer des adresses IP depuis une blacklist avec netfilter - PeerBlock sous GNU/Linux

Ce document montre comment utiliser le firewall netfilter en vue de bloquer des ips à l'aide d'une blacklist contenues dans un fichier texte, un peu comme le fait PeerBlock sous Windows.

Préambule

Environnement

Commandes

Télécharger une liste d'ips à bloquer

On pourra prendre par exemple la liste PrimaryThreats présente sur le site http://tbg.iblocklist.com (semble ne plus fonctionner) ou la http://list.iblocklist.com. Il faudra ensuite dézipper et reformater le fichier pour qu'il soit exploitable via la commande iptables

root@host:~# unzip fichier.zip
root@host:~# cut -d ":" -f2 PrimaryThreats.txt > PrimaryThreats_V2.txt
root@host:~# sed -i 's/\x0D$/ /' PrimaryThreats_V2.txt
root@host:~# for i in `cat PrimaryThreats_V2.txt` ; do echo "$i"; iptables -I INPUT -m iprange --src-range "$i" -j DROP; done
root@host:~# iptables -I INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
root@host:~# iptables -I INPUT -p tcp -m multiport --sports 80,443,53 -m state --state ESTABLISHED,RELATED -j ACCEPT
root@host:~# iptables -I INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
root@host:~# iptables -L -n -v | tr -s " " | grep -v "^ 0"
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :