# See pf.conf(5) for syntax and examples. # Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 # in /etc/sysctl.conf if packets are to be forwarded between interfaces. ## Detta är en fullt fungerande regelfil för OpenBSD. ## ## Författare: Mats Erik Andersson, 2010. ## ## http://gisladisker.se/openbsd-text/pf.conf ## ## Målgrupp: bastionvärdar. ## ## Utprovad i OpenBSD 4.4. ## ## Öppnade tjänster: IPv4 och IPv6 ## ## smtp in/ut port 25, ## ## http in port 80 ## https in port 443 ## ## ssh/IPv4 port 1322 ## ssh/IPv6 port 22 ## ## ospf och ospfv3 ## ## icmp och ipv6-icmp ### Ett nätverkskort byggt av Realtek. # ext = "rl0" ### SSH godtages på en ovanlig port # ny_ssh = 1322 ### Bara få ICMP-meddelande godtages. # god_icmp = "{ echoreq unreach }" god_icmp6 = "{ echoreq neighbrsol }" ### Viss renhållning # set skip on lo0 scrub in ### Låt yttre port 1322 för IPv4 vara SSH-port. # rdr pass on $ext inet proto tcp to port $ny_ssh -> (lo0) port ssh antispoof quick for lo inet # antispoof quick for lo inet6 ### Inkommande trafik skall som regel hindras. # block in ### Tillåt all utgående trafik, men spåra densamma. # pass out inet keep state pass out inet6 keep state ### ICMP tillåtes för ping-avkänning och för avslag. # pass quick inet proto icmp icmp-type $god_icmp keep state ### ICMPv6 måste till i större utsträckning. # pass quick inet6 proto ipv6-icmp keep state ### SSH i IPv6 kommer att låsa sig med följande regel. # Felsökning? #pass quick inet6 proto ipv6-icmp icmp6-type $god_icmp6 keep state ### OSPF godtages för nätslussning # pass quick inet proto ospf keep state pass quick inet6 proto ospf keep state ### Släpp in SSH, men för IPv4 endast på "lo0". # pass in quick log on $ext inet proto tcp to (lo0) \ port ssh modulate state pass in quick log on $ext inet6 proto tcp \ to any port ssh keep state ### Namnuppslagning och tidstjänst # pass out on $ext inet proto udp \ from any to any port { domain ntp } \ keep state pass out on $ext inet6 proto udp \ from any to any port { domain ntp } \ keep state ### Epost in och ut bokföres i loggboken. # pass out log on $ext inet proto tcp \ from ($ext) to port smtp modulate state pass out log on $ext inet6 proto tcp \ from ($ext) to port smtp modulate state pass in log on $ext inet proto tcp \ to ($ext) port smtp synproxy state pass in log on $ext inet6 proto tcp \ to ($ext) port smtp synproxy state ### Nätsidorna öppnas mot utsidan. # pass in on $ext inet proto tcp to ($ext) \ port { www https } synproxy state pass in on $ext inet6 proto tcp to ($ext) \ port { www https } synproxy state