Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Mar 2010 11:10:03 -0600
From:      John <john@starfire.mn.org>
To:        Matthew Seaman <m.seaman@infracaninophile.co.uk>
Cc:        Matthias Fechner <idefix@fechner.net>, freebsd-questions@freebsd.org
Subject:   Re: Thousands of ssh probes
Message-ID:  <20100305171003.GA18881@elwood.starfire.mn.org>
In-Reply-To: <4B913983.30900@infracaninophile.co.uk>
References:  <20100305125446.GA14774@elwood.starfire.mn.org> <4B910139.1080908@joseph-a-nagy-jr.us> <20100305132604.GC14774@elwood.starfire.mn.org> <F4960422-5F59-4FF4-A2E4-1F0A4772B78B@olivent.com> <20100305154439.GA17456@elwood.starfire.mn.org> <4B912ADC.1040802@infracaninophile.co.uk> <4B91375A.4020503@fechner.net> <4B913983.30900@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 05, 2010 at 05:04:03PM +0000, Matthew Seaman wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 05/03/2010 16:54:50, Matthias Fechner wrote:
> > Hi,
> > 
> > Am 05.03.10 17:01, schrieb Matthew Seaman:
> >> table <ssh-bruteforce> persist
> >> [...near the top of the rules section...]
> >> block drop in log quick on $ext_if from<ssh-bruteforce>
> >>
> >> [...later in the rules section...]
> >> pass in on $ext_if proto tcp      \
> >>       from any to $ext_if port ssh \
> >>       flags S/SA keep state        \
> >>       (max-src-conn-rate 3/30, overload<ssh-bruteforce>  flush global)
> >>    
> > 
> > that is dangarous, if you use subversion over ssh you will sometimes get
> > more then 10 requests in 30 seconds.
> > That means you will also block users they are allowed to connect.
> 
> Yes.  Almost all of the time I use this I've also had a ssh-whitelist
> table -- addresses that will never be blocked in this way.  Like this:
> 
> table <ssh-bruteforce> persist
> table <ssh-whitelist> const { \
>     81.187.76.160/29          \
>     2001:8b0:151:1::/64       \
> } persist
> 
> block drop in log quick on $ext_if from <ssh-bruteforce>
> 
> pass in on $ext_if proto tcp                 \
>     from <ssh-whitelist> to $ext_if port ssh \
>     flags S/SA keep state
> 
> pass in on $ext_if proto tcp                  \
>     from !<ssh-whitelist> to $ext_if port ssh \
>     flags S/SA keep state                     \
>     (max-src-conn-rate 3/30, overload <ssh-bruteforce> flush global)
> 

Ah.  I see.  That's clever.  Rather than "overriding" the bruteforce
list, which would require getting rid of "quick", you use whitelist
to prevent things from ever going into the bruteforce table.

Nice!

I have just switched to pf from ipfw, so I am still learning the
nuances and style points.
-- 

John Lind
john@starfire.MN.ORG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100305171003.GA18881>