From owner-freebsd-bugs@FreeBSD.ORG Mon Aug 30 14:10:30 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4968716A4CE for ; Mon, 30 Aug 2004 14:10:30 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3931143D48 for ; Mon, 30 Aug 2004 14:10:30 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i7UEAUU9062234 for ; Mon, 30 Aug 2004 14:10:30 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i7UEAU8K062233; Mon, 30 Aug 2004 14:10:30 GMT (envelope-from gnats) Date: Mon, 30 Aug 2004 14:10:30 GMT Message-Id: <200408301410.i7UEAU8K062233@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Yar Tikhiy Subject: Re: bin/71147: sshd(8) will allow to log into a locked account X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Yar Tikhiy List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2004 14:10:30 -0000 The following reply was made to PR bin/71147; it has been noted by GNATS. From: Yar Tikhiy To: Gleb Smirnoff Cc: FreeBSD-gnats-submit@freebsd.org, des@freebsd.org Subject: Re: bin/71147: sshd(8) will allow to log into a locked account Date: Mon, 30 Aug 2004 18:00:21 +0400 On Mon, Aug 30, 2004 at 05:50:14PM +0400, Gleb Smirnoff wrote: > On Mon, Aug 30, 2004 at 04:52:54PM +0400, Yar Tikhiy wrote: > Y> In FreeBSD (and other BSDs,) the well-known way to lock out > Y> a user's account is setting the user's encrypted password to > Y> an asterisk character, `*', in master.passwd. Arguably, one > Y> can also lock out a user by just _prefixing_ the password field > Y> value with `*'. Anyway, sshd(8) will ignore either lock > Y> and allow the user to log in if he authenticates himself by > Y> means other than the Unix password, e.g., using his public key. > > This is not a bug, it's a feature! Any ssh (not only Open) has the > same behavior on any unix operating system. Has it? The sshd(8) manpage says a different thing! And I'll be damned if the OpenSSH code doesn't check for OS-specific lock strings in the password hash field. > I'm utilizing this feature since I use pubkey authentification. I'm afraid it's a dangerous feature to have. Personally, I like the way described on the sshd(8) manpage: you set the password field exactly to the dedicated value to lock out a user completely, or you set it to a variant to just disable password-based auth for him. In FreeBSD the dedicated value is `*' (or, perhaps, leading `*', as I observed in some communities), while any other character in front of a password hash or after it will effectively deny any password since our hashes are fixed-length, so they can't be matched by a string of a different length. -- Yar