Kudos to the PF developers. Here is an interesting metric from a production /16 network, running OpenBSD 3.6: 96% of blatant TCP port-scan related traffic stopped by pf's max-src-state feature.

After tuning pf's max-src-states for our environment and "normal" traffic loads, we measured how many TCP ports were scanned from off-site. During a one day period, we had 483,474 TCP ports that were attempted to be scanned by Internet-based hosts, only 19,911 made it through, which amounts to a 96% reduction in the number of ports, while at the same time not having any negative effects on normal traffic.

Here is an excerpt from our pf rules:

pass in on $ext_if from ! $int_net to $int_net label "Incoming on external iface" keep state
block in on $ext_if proto tcp from any to any
pass in on $ext_if proto tcp from ! $int_net to $int_net flags S/SA keep state (max-src-states 200, tcp.first 300, t
cp.opening 300)

Reply via email to