SSH scans vs connection ratelimiting
Constantine A. Murenin
mureninc at gmail.com
Sun Aug 20 16:35:07 UTC 2006
On 19/08/06, Pieter de Boer <pieter at thedarkside.nl> wrote:
> Gang,
>
> For months now, we're all seeing repeated bruteforce attempts on SSH.
> I've configured my pf install to ratelimit TCP connections to port 22
> and to automatically add IP-addresses that connect too fast to a table
> that's filtered:
>
> table <lamers> { }
>
> block quick from <lamers> to any
>
> pass in quick on $ext_if inet proto tcp from any to ($ext_if) port 22
> modulate state (source-track rule max-src-nodes 8 max-src-conn 8
> max-src-conn-rate 3/60 overload <lamers> flush global)
>
>
> This works as expected, IP-addresses are added to the 'lamers'-table
> every once in a while.
>
> However, there apparently are SSH bruteforcers that simply use one
> connection to perform a brute-force attack:
>
> Aug 18 00:00:01 aberdeen sshd[87989]: Invalid user serwis from 83.19.113.122
> Aug 18 00:00:03 aberdeen sshd[88010]: Invalid user serwis from 83.19.113.122
> Aug 18 00:00:05 aberdeen sshd[88012]: Invalid user serwis from 83.19.113.122
> Aug 18 00:00:10 aberdeen sshd[88014]: Invalid user serwis from 83.19.113.122
> Aug 18 00:00:13 aberdeen sshd[88019]: Invalid user serwis from 83.19.113.122
> Aug 18 00:00:14 aberdeen sshd[88021]: Invalid user serwis from 83.19.113.122
>
>
> My theory was/is that this particular scanner simply multiplexes
> multiple authentication attempts over a single connection. I 'used the
> source luke' of OpenSSH to find support for this theory, but found the
> source a bit too wealthy for my brain to find such support.
>
> So, my question is: Does anyone know how this particular attack works
> and if there's a way to stop this? If my theory is sound and OpenSSH
> does not have provisions to limit the authentication requests per TCP
> session, I'd find that an inadequacy in OpenSSH, but I'm probably
> missing something here :)
There were tons of discussions on this topic on misc at OpenBSD mailing
list, so you can try searching the archives for some more ideas.
This is just one thread that I've found now, called "is there a way to
block sshd trolling?":
http://arkiv.openbsd.nu/?ml=openbsd-misc&a=0&t=1325006.
Most of these attacks come from compromised Linux hosts, so if you use
pf(4), you could easily block access to ssh port from any Linux
machine, and then you're mostly covered. :) See
http://arkiv.openbsd.nu/?ml=openbsd-misc&a=0&m=1332409.
Cheers,
Constantine.
More information about the freebsd-security
mailing list