summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Berger <cedric@cvs.openbsd.org>2004-03-02 20:13:56 +0000
committerCedric Berger <cedric@cvs.openbsd.org>2004-03-02 20:13:56 +0000
commitb10a875e63ac2e6f30e812f0049a3213d7ecacce (patch)
tree93933f75de2382e604e7e0ced1b9df4cdc389720
parent1a7ce71a4aeaa59737d7a1f5ed943e5430838664 (diff)
Simplify pf.conf, provide sample rules for greylisting.
ok beck@, input from many.
-rw-r--r--etc/pf.conf88
1 files changed, 19 insertions, 69 deletions
diff --git a/etc/pf.conf b/etc/pf.conf
index 57d8d26403a..1e65fb9a057 100644
--- a/etc/pf.conf
+++ b/etc/pf.conf
@@ -1,79 +1,29 @@
-# $OpenBSD: pf.conf,v 1.26 2004/02/26 22:11:11 david Exp $
+# $OpenBSD: pf.conf,v 1.27 2004/03/02 20:13:55 cedric Exp $
#
# See pf.conf(5) and /usr/share/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.
-# Macros: define common values, so they can be referenced and changed easily.
-#ext_if="ext0" # replace with actual external interface name i.e., dc0
-#int_if="int0" # replace with actual internal interface name i.e., dc1
-#internal_net="10.1.1.1/8"
-#external_addr="192.168.1.1"
+#ext_if="ext0"
+#int_if="int0"
-# Tables: similar to macros, but more flexible for many addresses.
-#table <foo> { 10.0.0.0/8, !10.1.0.0/16, 192.168.0.0/24, 192.168.1.18 }
-
-# Options: tune the behavior of pf, default values are given.
-#set timeout { interval 10, frag 30, src.track 0 }
-#set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
-#set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
-#set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
-#set timeout { icmp.first 20, icmp.error 10 }
-#set timeout { other.first 60, other.single 30, other.multiple 60 }
-#set timeout { adaptive.start 0, adaptive.end 0 }
-#set limit { states 10000, src-nodes 10000, frags 5000 }
-#set loginterface none
-#set optimization normal
-#set block-policy drop
-#set require-order yes
-#set fingerprints "/etc/pf.os"
-#set debug urgent
-
-# Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
-#scrub in all
-
-# Queueing: rule-based bandwidth control.
-#altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing }
-#queue dflt bandwidth 5% cbq(default)
-#queue developers bandwidth 80%
-#queue marketing bandwidth 15%
-
-# Translation: specify how addresses are to be mapped or redirected.
-# nat: packets going out through $ext_if with source address $internal_net will
-# get translated as coming from the address of $ext_if, a state is created for
-# such packets, and incoming packets will be redirected to the internal address.
-#nat on $ext_if from $internal_net to any -> ($ext_if)
-
-# rdr: packets coming in on $ext_if with destination $external_addr:1234 will
-# be redirected to 10.1.1.1:5678. A state is created for such packets, and
-# outgoing packets will be translated as coming from the external address.
-#rdr on $ext_if proto tcp from any to $external_addr/32 port 1234 -> 10.1.1.1 port 5678
-
-# rdr outgoing FTP requests to the ftp-proxy
-#rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021
-
-# spamd-setup puts addresses to be redirected into table <spamd>.
#table <spamd> persist
-#no rdr on { lo0, lo1 } from any to any
-#rdr pass inet proto tcp from <spamd> to any port smtp -> 127.0.0.1 port 8025
+#table <spamd-white> persist
-# Filtering: the implicit first two rules are
-#pass in all
-#pass out all
+#scrub in
-# block all incoming packets but allow ssh, pass all outgoing tcp and udp
-# connections and keep state, logging blocked packets.
-#block in log all
-#pass in on $ext_if proto tcp from any to $ext_if port 22 keep state
-#pass out on $ext_if proto { tcp, udp } all keep state
+#nat on $ext_if from !($ext_if) -> ($ext_if:0)
+#rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021
+#rdr pass on $ext_if proto tcp from <spamd> to port smtp \
+# -> 127.0.0.1 port spamd
+#rdr pass on $ext_if proto tcp from !<spamd-white> to port smtp \
+# -> 127.0.0.1 port spamd
-# pass incoming packets destined to the addresses given in table <foo>.
-#pass in on $ext_if proto { tcp, udp } from any to <foo> port 80 keep state
+#block in
+#pass out keep state
-# pass incoming ports for ftp-proxy
-#pass in on $ext_if inet proto tcp from any to $ext_if user proxy keep state
+#pass quick on { lo $int_if }
+#antispoof quick for { lo $int_if }
-# assign packets to a queue.
-#pass out on $ext_if from 192.168.0.0/24 to any keep state queue developers
-#pass out on $ext_if from 192.168.1.0/24 to any keep state queue marketing
+#pass in on $ext_if proto tcp to ($ext_if) port ssh keep state
+#pass in on $ext_if proto tcp to ($ext_if) port > 49151 user proxy keep state
+#pass in log on $ext_if proto tcp to ($ext_if) port smtp keep state
+#pass out log on $ext_if proto tcp from ($ext_if) to port smtp keep state