sshd logging with key-only authentication

Glen Barber glen.j.barber at gmail.com
Fri Jul 9 12:19:24 UTC 2010


On 7/8/10 11:13 PM, David Adam wrote:
> On Thu, 8 Jul 2010, Glen Barber wrote:
>
>> On 7/8/10 10:24 PM, David Adam wrote:
>>> On Thu, 8 Jul 2010, Glen Barber wrote:
>>>> What caught my interest is if I attempt to log in from a machine
>>>> where I do not have my key or an incorrect key, I see nothing logged
>>>> in auth.log about a failed login attempt.  If I attempt with an
>>>> invalid username, as expected, I see 'Invalid user ${USER} from
>>>> ${IP}.'
>>>>
>>>> I'm more concerned with ssh login failures with valid user names.
>>>> Looking at crypto/openssh/auth.c, allowed_user() returns true if the
>>>> user is not in DenyUsers or DenyGroups, exists in AllowUsers or
>>>> AllowGroups (if it is not empty), and has an executable shell.  I'm
>>>> no C hacker, but superficially it looks like it can never meet a
>>>> condition where the user is valid but the key is invalid to trigger
>>>> a log entry.
>>>>
>>>> Is this a bug in openssh, or have I overlooked something in my
>>>> configuration?
>>>
>>> With LogLevel VERBOSE, you should get entries like
>>> sshd[88595]: Failed publickey for root from 130.95.13.18 port 41256 ssh2
>>>
>>> Is that what you're after?
>>
>> Sort of, but do I really need to set verbose logging to find that valid users
>> are used in SSH attacks?  root is an obvious target, which in my scenario is
>> not allowed.  I'm concerned about more specific, allowed users.
>
> It's just an example I pulled out of the logs. You won't get that message
> for users listed in DenyUsers, although you will get spaff if the denied
> user attempts password authentication.
>

Right.  Though, password authentication is not allowed, which brings me 
back to my original point.

> To me, verbose SSH logging doesn't seem like too big a burden,

It does to me, especially if, by default, sshd does not log failed 
logins from valid users.  I believe *that* should be default.

> particularly if coupled with tools like sshit/sshdeny or logwatch. I
> encourage you to experiment; you could even try patching sshd to emit the
> relevant log lines at a lower debug level if you want.
>

I am fully aware of these utilities.  They don't address the real 
problem, however.  Logwatch, in this scenario, is useless unless verbose 
logging is enabled for sshd, which I believe should not be necessary.

Regards,

-- 
Glen Barber


More information about the freebsd-stable mailing list