#--------------------------------------------------------------------------
# PF ruleset, 11 dec. 2001
#
# Liberally adapted from the pf man page, the OpenBSD "Network How-To",
# and my own rulesets.
#
# On the basis of Ákos Keresztes
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# Definíciók
Ext = "tun0" # Kifelé néző felület
Int = "nve0" # Befelé néző felület
Loop = "lo0" # Loopback interface
#IntNet="192.168.0.0/24" # Internal network
NoRoute = "{ 127.0.0.1/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 255.255.255.255/32 }"
InServicesTCP = "{ ssh, http, https }"
# InServicesTCP = "{ ssh, smtp, auth, http, https, pop3 }"
# InServicesTCP = "{ ssh auth }"
# InServicesUDP = "{ domain }"
# port 1863 = MSN
# port 5190 = ICQ
OutServicesTCP = "{ http, https, whois, domain, ssh, ftp, ftp-data, nntp, 1863, 8880 }"
# OutServicesTCP = "{ http, https, smtp, pop3, imap, whois, domain, ssh, telnet, ftp, ftp-data, nntp, auth, rsync, 1863, 5190, 8880 }"
OutServicesUDP = "{ ntp, domain }"
# Azok a portok amiket azonnal eldobásra ítélünk
# port 445 = Microsoft fájlmegosztás
# port 67 és 68 = DHCP címkérés tölünk (ha csak nem futatunk DHCP szerver nem kell)
NowDeny = "{ 445, 67, 68 }"
# X11
# port 6010 = SSH + X11 közös használata esetén
# port 5900 = VNC
X11 = "{ 6010, 5900}"
# Időszerverek
Timeserver = "{ 148.6.0.1 }"
# cvsup-hoz
# CVSup kiszolgáló: cvsup.de.freebsd.org
CVSupServers = "{ 212.19.57.134 }"
CVSupPorts = "{ 5999 }"
# dynamikos névszerver
DynDNSServer = "{ 63.208.196.94 }"
DynDNSPorts = "{ 8245 }"
# internetes rádiók
# XMMS = "{ 6000, 7500, 8000, 8004, 8044, 8034, 8052, 8038, 8010, 8400, 8014, 8026, 8048, 8002, 8024, 8028, 8080 }"
# RealAudio = "{ 554, 7070, 8080 }"
# IRC csevegő
# IRCports = "{ 6667, 6666, 6668, 6669 }"
# irc.hu papucs.vagyok.hu irc.sote.hu extra.irc.hu
# IRCservers = "{ 157.181.1.129, 192.188.242.121, 193.224.51.150, 195.70.37.253}"
# FreeNodeIRCServers = "{ 128.193.0.29 128.193.0.47 130.239.18.172 208.185.243.68 213.28.116.205 82.96.64.2 }"
# FreeNodeIRCServers = "{ irc.freenode.net }" # Nem jo, mert amig nincs nevfeloldas, nem tud a pfctl -R befejezodni...
# Jabber csevegő
# JabberPorts = "{ 5222, 5223 }"
# internetes CD adatbázis
# FreeDBhosts = "{ 64.71.163.204, 130.179.31.49, 193.166.235.14, 193.201.200.74, 195.37.77.133, 203.16.234.30 }"
# FreeDBports = 888
# Töredezet csomagok összeillesztés, csomagnormalizálás
scrub in on { $Ext, $Int } all
#=========================================================
#-------------------------------------------------------------------------
# Sávszélesség szabályozás
altq on $Ext priq bandwidth 100Kb queue { q_pri, q_def }
queue q_pri priority 7
queue q_def priority 1 priq(default)
#pass out on $Ext proto tcp from $Ext to any flags S/SA keep state queue (q_def, q_pri)
#pass in on $Ext proto tcp from any to $Ext flags S/SA keep state queue (q_def, q_pri)
#=========================================================
#-------------------------TILTASOK--------------------------------------
# Amiket soha sem szeretnénk fogadni
# Ezeket a portokra érkező csomagokat ezonnal eldobja a rendszer
block in quick on $Ext proto { tcp, udp} from any to any port $NowDeny
# letiltása azoknak akik 60s alatt 3x hibásan probálnak SSH-ba belépni
# akkor hasznos ha nem használunk denyhosts-t az SSH-hoz
# pass in on $Ext proto tcp to $Ext port ssh flags S/SA keep state (max-src-conn-rate 3/60, overload <scanners>)
# block in on $Ext proto tcp from <scanners> to $Ext port ssh
# Alapból minden forgalmat tiltunk
block out log on $Ext all
block in log on $Ext all
block return-rst out log on $Ext proto tcp all
block return-rst in log on $Ext proto tcp all
block return-icmp out log on $Ext proto udp all
block return-icmp in log on $Ext proto udp all
# inet6 tiltása
# block in quick inet6 all
# block out quick inet6 all
# nmap dolgának megnehezítése
# a log bejegyzéssel ezeket naplózzuk is, ezt esetleg el is lehet hagyni
block in log quick on $Ext inet proto tcp from any to any flags FUP/FUP
block in log quick on $Ext inet proto tcp from any to any flags SF/SFRA
block in log quick on $Ext inet proto tcp from any to any flags /SFRA
# a nem-routh oldható címek tiltása
block in log quick on $Ext from $NoRoute to any
block out log quick on $Ext from any to $NoRoute
# teljes üzenetszórás tiltása
block in quick on $Ext from any to 255.255.255.255
#=======================================================================
#-------------------------ENGEDÉLYEK------------------------------------
# a saját gép visszacsatolási felületén a lo0-án engedélyezünk minden forgalmat
pass in quick on $Loop all
pass out quick on $Loop all
# Hibakereés esetén ezt a parancsot kell feloldani, mindent engedélyez
#pass out quick on $Ext all keep state
# ftp kiengedése
pass out quick on $Ext inet proto tcp from any to any port > 1024 flags S/SA keep state
# ICMP engedélyezése, ez lehetővé teszi a pinget
pass out quick on $Ext inet proto icmp all icmp-type 8 code 0 keep state
pass in log quick on $Ext inet proto icmp all icmp-type 8 code 0 keep state
# az InServicesTCP-ben megjelöltek engedélyezése kintről-befelé
pass in quick on $Ext inet proto tcp from any to any port $InServicesTCP flags S/SA keep state
# ha van InServicesUDP akkor azt is engedjük
# pass in quick on $Ext inet proto udp from any to any port $InServicesUDP keep state
# azon szolgáltatások kiengedése amiket bentről szeretnénk használni
pass out quick on $Ext inet proto udp from any to any port $OutServicesUDP keep state
pass out quick on $Ext inet proto tcp from any to any port $OutServicesTCP flags S/SA modulate state
# ha rádiót akarunk hallgatni akkor azt is kiengedjük
# pass out quick on $Ext inet proto tcp from any to any port $XMMS flags S/SA modulate state
# pass out quick on $Ext inet proto tcp from any to any port $RealAudio flags S/SA modulate state
# FreeBSD cvsup engedélyezése
pass out quick on $Ext inet proto tcp from any to $CVSupServers port $CVSupPorts flags S/SA modulate state
# X11 átengedése a belső hálon
pass out on $Int inet6 proto tcp from any to ($Int) port $X11 keep state
# Időszerver engedélyezése
pass out quick on $Ext inet proto tcp from any to $Timeserver port time flags S/SA modulate state
# Egyébb engedélyek
# pass out quick on $Ext inet proto tcp from any to $IRCservers port $IRCports flags S/SA modulate state
# pass out quick on $Ext inet proto tcp from any to $FreeNodeIRCServers port $IRCports flags S/SA modulate state
# pass out quick on $Ext inet proto tcp from any to $FreeDBhosts port $FreeDBports flags S/SA modulate state
# pass out quick on $Ext inet proto tcp from any to any port $JabberPorts flags S/SA modulate state
# pass out quick on $Ext inet proto tcp from any to $DynDNSServer port $DynDNSPorts flags S/SA modulate state
# BitTorrent kapcsolat
pass out quick on $Ext inet proto tcp from any to any port { 6880><6889, 6969 } flags S/SAFR keep state
pass in quick on $Ext inet proto tcp from any to any port 6880><6889 flags S/SAFR keep state
# Other pass rules with anchor...
anchor passin