PHP Code:
#!/bin/sh
fwcmd="/sbin/ipfw -q"
#----------------------------------------------
#Ports
#----------------------------------------------
#-- Ports, die geöffnet sind
server_apps="22, 3306, 13000, 13001, 13002, 13003, 13004, 13005, 13099, 16000, 16001, 16002, 16003, 16004, 16005, 11002"
#-- Ports, die geschlossen sind bzw. blockiert werden
block="15000, 80"
#-- P2P Ports, nach außen geschlossen, intern offen
p2p_ports="12000, 14000, 14001, 14002, 14003, 14004, 14005, 14099, 17000, 17001, 17002, 17003, 17004, 17005"
${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