# See pf.conf(5) and /usr/share/examples/pf for syntax and examples. # Required order: options, normalization, queueing, translation, filtering. # Macros and tables may be defined and used anywhere. # Note that translation rules are first match while filter rules are last match. ## Detta är en fullt fungerande regelfil för FreeBSD. ## ## Författare: Mats Erik Andersson, 2010. ## ## http://gisladisker.se/freebsd-text/pf.conf ## ## Målgrupp: bastionvärdar. ## ## Utprovad i FreeBSD 6.4. ## ## Öppnade tjänster: IPv4 och IPv6 ## ## smtp in/ut port 25, ## ## http in port 80 ## ## ssh port 22 ## ## ospf och ospfv3 ## ## icmp och ipv6-icmp ## ## portar 82 och 2498 ### Yttre nätverkskort er Realtek. # ext = rl0 ### Portar för öppning mot utsidan, # http_extra = 82 jaertekn = 2498 # Sättes till "" för att tillfälligt avlägsnas andra_tjaenster = "{" www $http_extra $jaertekn "}" ### men bara för dessa maskiner. # andra_maskiner = "{" birger "}" ### Renhållning av pakettrafik. # scrub in all antispoof for $ext # antispoof for $ext inet6 ### Blockera utifrån kommande trafik. # block in on $ext inet all block in on $ext inet6 all ### Släpp igenom maskinegen trafik. # pass quick on lo0 ### Namnuppslagning måste kunna spåras för att få svar. # pass out quick inet proto udp to port domain \ keep state pass out quick inet6 proto udp to port domain \ keep state ### Tillåt inkommande DHCP trafik. # pass in log on egress inet proto udp \ from any port bootps to $ext port bootpc ### Slussningsprotokoll OSPF godtages. # pass in quick on $ext inet proto ospf pass in quick on $ext inet6 proto ospf ### All utgående trafik må gå ostörd. # pass out on $ext proto tcp modulate state pass out on $ext proto udp keep state ### Samma för IPv6. # pass out on $ext inet6 proto tcp modulate state pass out on $ext inet6 proto udp keep state ### Ping och även ICMP, ICMPv6 godtages. # pass inet proto icmp pass inet6 proto icmp6 ### Epost tillåtes över IPv6 och IPv4. # pass in log on $ext inet proto tcp \ from any to port smtp \ modulate state pass in log on $ext inet6 proto tcp \ from any to port smtp \ modulate state ### Inloggning medelst SSH tillåtes över IPv6 och IPv4. ### Endast SYN flaggan tillåtes vid första kontakt. # pass in log on $ext inet proto tcp \ from any to ($ext) port ssh \ flags S/SAFR modulate state pass in log on $ext inet6 proto tcp \ from any to ($ext) port ssh \ flags S/SAFR modulate state ### Utvalda tjänster tillåtes över IPv6 och IPv4. # pass in on $ext inet proto tcp \ from $andra_maskiner to ($ext) port $andra_tjaenster \ flags S/SA modulate state pass in on $ext inet6 proto tcp \ from $andra_maskiner to ($ext) port $andra_tjaenster \ flags S/SA modulate state