PHP Code:
#!/bin/sh
fwcmd="/sbin/ipfw -q"
#----------------------------------------------
#Ports
#----------------------------------------------
#-- Ports, die geöffnet sind
server_apps="22, 80, 3306, 43170, 43171, 43172, 43173, 43174, 23199, 23200, 23201, 23202, 23203, 41103"
#-- Ports, die geschlossen sind bzw. blockiert werden
block="15001"
#-- P2P Ports, nach außen geschlossen, intern offen
p2p_ports="25101, 25102, 25103, 25104, 25105, 75140, 75141, 75142, 75143, 75144, 12100"
${fwcmd} -f flush
#----------------------------------------------
# LOOPBACK INTERFACE
#----------------------------------------------
# Alles auf dem Loopback Interface erlauben
${fwcmd} add 00100 allow ip from any to any via lo0
${fwcmd} add 00500 check-state
#----------------------------------------------
# Keep-state
#----------------------------------------------
# Traffic nach außen erlauben
${fwcmd} add 01000 allow tcp from me to any setup keep-state
#--
${fwcmd} add 01100 allow tcp from any to me ${server_apps} setup keep-state
${fwcmd} add 01101 allow udp from any to me ${server_apps} setup keep-state
#----------------------------------------------
#Ausgehender Traffic
#----------------------------------------------
${fwcmd} add 02000 allow udp from me to any keep-state
#----------------------------------------------
#Ports schließen bzw. blocken
#----------------------------------------------
${fwcmd} add 03000 allow all from me to any ${p2p_ports}
${fwcmd} add 03001 allow all from 127.0.0.0/8 to any ${p2p_ports}
${fwcmd} add 03002 deny all from any to me ${p2p_ports}
${fwcmd} add 64000 deny all from any to any ${block} in
# Alles andere verbieten
${fwcmd} add 65000 reset ip from any to any