Ce guide montre comment utiliser le pare-feu Packet Filter pour bloquer des adresses IP à partir d'une liste noire (blacklist), de manière similaire à ce que fait PeerBlock sur Windows. Comparé à Netfilter, Packet Filter offre de meilleures performances et plus de flexibilité pour personnaliser les règles du pare-feu.
Nous pouvons télécharger une liste noire depuis le site www.iblocklist.com. Par exemple, téléchargez la liste PrimaryThreats ici. Nous devons décompresser et formater le fichier pour qu'il fonctionne avec Packet Filter.
root# wget "URLtomyremotelist" -O list.zip
root# unzip file.zip
root# cut -d ":" -f2 list.txt | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" > blocklist.tmp
root# sed -i 's/-/:/' blocklist.tmp
root# for i in $(cat blocklist.tmp); do echo "$i"; ipcalc -r "$i"| grep "/" >> blocklist; done
root# cp blocklist /etc/blocklist
#sets the maximum number of entries allowed in PF table.
set limit table-entries 1000000
table <blocklist> persist file "/etc/blocklist"
pass out on $wan
pass in quick on $lan inet proto tcp from 192.168.1.10 to any port { 80, 443 }
block quick log (all, to pflog0) on any from <blocklist> to 192.168.1.10
block quick log (all, to pflog1) on any from 192.168.1.10 to <blocklist>
Contact :