La plupart des filtres anti-spam et pare-feu modernes font usage de listes noires - des listes d'adresses de protocole Internet et réseaux de spammeurs malveillants - pour mieux protéger les utilisateurs contre les menaces connues. Pour Linux, le firewall Shorewall ne fait pas exception, et fournit une iptables plus facile (de routage IP) configuration pour la mise en place et la mise en œuvre des listes noires personnalisées. Faire la liste noire, ou de savoir qui IPS pour bloquer, peut être difficile.
Création manuelle Blacklist
Ouvert "/ etc / shorewall / blacklist" et faites défiler. Elle devrait ressembler à quelque chose comme ceci:
ADRESSE / SUBNET PROTOCOLE PORT
DERNIÈRE LIGNE - AJOUTEZ VOS INSCRIPTIONS avant celui-ci - Ne retirez pas
Entrée des adresses que vous souhaitez bloquée. (Les sites de Spamhaus et URLBlacklist en ressources montrent des menaces actuelles.) Les adresses peuvent être des adresses hôte / réseau / IP (singulier ou une plage), les adresses MAC (avec le préfixe "~") Ou ipsets (en utilisant "+"). Ajoutez les limitations de protocole et le port. (Notez que vous ne pouvez spécifier les ports si le protocole est "tcp" ou "udp.")
Par exemple, disons que vous voulez bloquer tout le trafic TCP entrant sur les ports 1 à 31, l'entrée devrait ressembler à ceci:
ADRESSE / SUBNET PROTOCOLE PORT
- tcp 01h31
DERNIÈRE LIGNE - AJOUTEZ VOS INSCRIPTIONS avant celui-ci - Ne retirez pas
Une adresse MAC entrée pour bloquer tout le trafic à partir de cette interface:
ADRESSE / SUBNET PROTOCOLE PORT
~ 00-9A-8C-FF-03-AA -;
DERNIÈRE LIGNE - AJOUTEZ VOS INSCRIPTIONS avant celui-ci - Ne retirez pas
Ecrire et fermez le fichier. (Vous aurez besoin de redémarrer Shorewall sauf si vous avez une liste noire dynamique activée.)
Blacklist Création automatique
Ouvrez un nouveau fichier, comme "/etc/scripts/blacklistupdate.sh."
Créer un script bash à partir du fichier comme le suivant sur le blog de Mudy:
!/ bin / sh
écho "# ADRESSE / SUBNET PROTOCOLE PORT" gt; / tmp / liste noire
wget -q -O - https://feeds.dshield.org/block.txt |.. awk --posix '/ ^ [0-9] {1,3} [0-9] {1,3} [ 0-9] {1,3} .0 t / {print $ 1 "/ 24"-} ' gt; gt; / tmp / liste noire
wget -q -O - https://spamhaus.org/drop/drop.lasso |.. awk --posix '/ ^ [0-9] {1,3} [0-9] {1,3} [ 0-9] {1,3}. [0-9] {1,3} {// imprimer 1- $} ' gt; gt; / tmp / liste noire
écho "#Last LINE - AJOUTEZ VOS INSCRIPTIONS avant celui-ci - Ne retirez pas" gt; gt; / tmp / liste noire
mv / tmp / blacklist / etc / shorewall / blacklist
shorewall rafraîchir > / dev / null
Notez que ce script crée une nouvelle liste noire au lieu d'ajouter à l'existant.
Rédiger et fermer le nouveau script.
Ajouter le script à vos tâches cron à "/ etc / crontab." L'entrée cron devrait ressembler "00 3 soleil racine /etc/scripts/blacklistupdate.sh" si vous voulez exécuter le script à 3 heures tous les dimanches.
Depuis le script contient une commande de rafraîchissement Shorewall, il est inutile d'ajouter un autre emploi pour redémarrer Shorewall.