fancier services
[firewall-squeep] / firewall.sh
index 4106807247651f4dfa3ae9fdbcf3dd93bd4aec66..eab2cb3404574a08d4f8b914022ee7c3d7ef9786 100755 (executable)
@@ -52,7 +52,7 @@ $IPTABLES -A INPUT -p icmp -j ACCEPT
 $IP6TABLES -A INPUT -p ipv6-icmp -j ACCEPT
 
 # drop source-route rh0 headery things
-$IP6TABLES -A INPUT -m rt --rt-type 0 -j DROP
+$IP6TABLES -A INPUT -m rt --rt-type 0 -j DROP || echo "MISSING RT MATCH" 1>&2
 
 # accept things we set up
 $IPTABLES -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
@@ -74,14 +74,15 @@ done
 create_set allowed_udp bitmap:port range 0-65535
 create_set allowed_tcp bitmap:port range 0-65535
 
-for p in 22 25 53 80 143 443 587 993 1194 5000 5222 5269 22556 64738
-do
-       $IPSET -exist add allowed_tcp ${p}
-done
-for p in 53 123 1194 64738
-do
-       $IPSET -exist add allowed_udp ${p}
-done
+# common services
+allow_services ssh smtp submission domain ntp
+
+# per-host services
+srv_file="services.$(hostname -s)"
+if [ -e "${srv_file}" ]
+then
+       . "${srv_file}"
+fi
 
 $IPTABLES -A INPUT -i "${EXT_IF}" -p tcp -m set --match-set allowed_tcp dst -j ACCEPT
 $IPTABLES -A INPUT -i "${EXT_IF}" -p udp -m set --match-set allowed_udp dst -j ACCEPT