Was ist Shorewall?
Man kann mit shorewall einfach netfilter, aus dem Linux-Kernel, nutzen. Shorewall an sich keine Firewall. Es werden iptables-Regeln generiert.
Backlisten von Spamhaus und DShield nutzen
Spamhaus und DShield veröffentlichen Blacklisten mit IP-Blöcken, welche von Spammern und Cyberkriminellen verwendet werden. Mit dem folgenden Skript kann man sie sehr einfach in shorewall als statische Blacklist nutzen.
#!/bin/sh
cat << EOF > /tmp/blrules
#ACTION SOURCE DEST PROTO DEST
# PORTS(S)
EOF
wget -q -O - http://feeds.dshield.org/block.txt | awk --posix '/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.0/ { print "DROP net:" $1 "/24 all";}' >> /tmp/blrules
wget -q -O - https://www.spamhaus.org/drop/drop.txt | awk --posix '/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/ { print "DROP net:" $1 " all";}' >> /tmp/blrules
wget -q -O - https://www.spamhaus.org/drop/edrop.txt | awk --posix '/^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/ { print "DROP net:" $1 " all";}' >> /tmp/blrules
mv /tmp/blrules /etc/shorewall/blrules
/sbin/shorewall refresh
In der /etc/shorewall/shorewall.conf
muss BLACKLIST_DISPOSITION auf DROP stehen. Bei Ubuntu 16.04 ist das nach der
Installation von shorewall schon der Fall.
Achtung!
Man muss auf jeden Fall das Skript beim ersten mal ohne /sbin/shorewall refresh
testen. Wenn ich eine neue
Konfiguration für shorewall teste, dann gehe ich wie folgt vor:
shorewall check
shorewall try /etc/shorewall/ 30s