equivalent for pf's max-src-conn-rate in ipfw

Ian Smith smithi at nimnet.asn.au
Fri May 5 05:52:23 UTC 2017


On Thu, 4 May 2017 23:46:21 +0200, Marco van Tol wrote:

 > Possibly this questions pops up regularly.  I have tried to find the 
 > answer myself and have been unable to so far.
 > 
 > My current way to drastically slow-down ssh brute force attacks is by 
 > using the pf feature "max-src-conn-rate" with an argument of 5/60 
 > meaning only 5 syn packets are allowed per source IP to my ssh port 
 > per minute.  The rest get dropped.  This works both for IPv4 and 
 > IPv6.  I typically don't login more then 5 times per minute to my 
 > hosts.
 > 
 > I have tried several ways to get the same behaviour using ipfw and 
 > dummynet.  But when combining the rules with keep-state I don't get 
 > to the point where I get wire-speed ssh connections for those that 
 > make it while keeping the number of new connections per source IP at 
 > a very low number (a few per minute).
 > 
 > Is there an equivalent in ipfw for the pf feature max-src-conn-rate?

No, and dummynet won't help to accomplish connection rate limiting.

I've used inetd(8) (aka TCPwrappers) for limiting both ftp and pop3 
connections to good effect.  Sendmail fortunately includes rate-limiting 
configuration internally.  An example inetd.conf entry for pop3:

pop3    stream  tcp     nowait/7/4 root /usr/local/libexec/qpopper   qpopper -s -T 120

limiting connections to 7 concurrent, maximum 4 per minute.  Logging as:

May 26 23:58:42 sola inetd[3497]: pop3 from 58.185.139.68 exceeded counts/min (limit 4/min)
May 27 00:00:24 sola inetd[3497]: pop3 from 58.185.139.68 exceeded counts/min (limit 4/min)
May 27 00:01:57 sola inetd[3497]: pop3 from 58.185.139.68 exceeded counts/min (limit 4/min)

I haven't used it with sshd myself; instead I use a table of permissable 
addresses, but that's no use if you need connections from random IPs.

 > Thank you very much in advance, please keep cc'ing me as I have not 
 > subscribed to the ipfw list yet.

cheers, Ian


More information about the freebsd-ipfw mailing list