Report forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Sun, 22 Nov 2020 23:22:01 GMT) (full text, mbox, link).
Acknowledgement sent
to Christopher Lemmer Webber <cwebber@dustycloud.org>:
New bug report received and forwarded. Copy sent to bug-guix@gnu.org.
(Sun, 22 Nov 2020 23:22:01 GMT) (full text, mbox, link).
From: Christopher Lemmer Webber <cwebber@dustycloud.org>
To: bug-guix@gnu.org
Subject: Default to allowing password authentication on leaves users vulnerable
Date: Sun, 22 Nov 2020 18:20:28 -0500
Okay, I just realized I left a friend vulnerable by guiding them through
a Guix graphical install and telling them it would give them a decent
setup. They turned on openssh support.
Then I realized their config had password-authentication? on.
That's unacceptable. We need to change this default. This is known to
leave users open to attack, and selecting a password secure enough
against brute forcing is fairly difficult, much more difficult than only
allowing entry by keys. Plus, few distributions do what we're doing
anymore, precisely because of wanting to be secure by default.
Yes, I know some people want password authentication on as part of a
bootstrapping process. Fine... those users know to put it on. Let's
not leave our users open to attack by default though.
Happy to produce a patch and change the documentation, but I'd like to
hear that we have consensus to make this change. But we should, because
otherwise else I think we're going to hurt users.
- Chris
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 23 Nov 2020 02:33:01 GMT) (full text, mbox, link).
To: Christopher Lemmer Webber <cwebber@dustycloud.org>, 44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on leaves
users vulnerable
Date: Mon, 23 Nov 2020 03:32:08 +0100
On 23.11.2020 00:20, Christopher Lemmer Webber wrote:
> Okay, I just realized I left a friend vulnerable by guiding them through
> a Guix graphical install and telling them it would give them a decent
> setup. They turned on openssh support.
>
> Then I realized their config had password-authentication? on.
>
> That's unacceptable. We need to change this default. This is known to
> leave users open to attack, and selecting a password secure enough
> against brute forcing is fairly difficult, much more difficult than only
> allowing entry by keys. Plus, few distributions do what we're doing
> anymore, precisely because of wanting to be secure by default.
>
> Yes, I know some people want password authentication on as part of a
> bootstrapping process. Fine... those users know to put it on. Let's
> not leave our users open to attack by default though.
>
> Happy to produce a patch and change the documentation, but I'd like to
> hear that we have consensus to make this change. But we should, because
> otherwise else I think we're going to hurt users.
I think most ideal would be if the user is asked the following two
questions, with a short explanation of what each means:
- Allow root login via SSH?
- Allow password authentication in SSH?
(I think Debian does this.)
Because as you say, on one hand password authentication in SSH can be a
security risk. But on the other hand many machines never have their SSH
port exposed to the Internet, and the intranet is assumed to be safe.
In those cases it would be an annoyance to have to enable it manually.
Both points apply to direct root login as well I think.
Allowing password authentication but disabling root login might also be
considered safe enough on machines exposed to the Internet, because the
attacker needs to guess the username as well. Only presents a small
increase in complexity for the attacker though.
- Taylan
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 23 Nov 2020 03:55:01 GMT) (full text, mbox, link).
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 23 Nov 2020 04:46:15 +0100
On Mon, 23 Nov 2020 03:32:08 +0100
Taylan Kammer <taylan.kammer@gmail.com> wrote:
> On 23.11.2020 00:20, Christopher Lemmer Webber wrote:
> > Okay, I just realized I left a friend vulnerable by guiding them
> > through a Guix graphical install and telling them it would give
> > them a decent setup. They turned on openssh support.
> >
> > Then I realized their config had password-authentication? on.
> >
> > That's unacceptable. We need to change this default. This is
> > known to leave users open to attack, and selecting a password
> > secure enough against brute forcing is fairly difficult, much more
> > difficult than only allowing entry by keys. Plus, few
> > distributions do what we're doing anymore, precisely because of
> > wanting to be secure by default.
> >
> > Yes, I know some people want password authentication on as part of a
> > bootstrapping process. Fine... those users know to put it on.
> > Let's not leave our users open to attack by default though.
> >
> > Happy to produce a patch and change the documentation, but I'd like
> > to hear that we have consensus to make this change. But we should,
> > because otherwise else I think we're going to hurt users.
>
> I think most ideal would be if the user is asked the following two
> questions, with a short explanation of what each means:
>
> - Allow root login via SSH?
>
> - Allow password authentication in SSH?
>
> (I think Debian does this.)
>
> Because as you say, on one hand password authentication in SSH can be
> a security risk. But on the other hand many machines never have
> their SSH port exposed to the Internet, and the intranet is assumed
> to be safe. In those cases it would be an annoyance to have to enable
> it manually.
>
> Both points apply to direct root login as well I think.
>
> Allowing password authentication but disabling root login might also
> be considered safe enough on machines exposed to the Internet,
> because the attacker needs to guess the username as well. Only
> presents a small increase in complexity for the attacker though.
>
>
> - Taylan
>
>
>
Most people won't know why allowing password authentication is
unsecure. Either it should be worded differently, have a warning, or
not be an option.
Same goes doubly so for allowing root login.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 23 Nov 2020 03:58:02 GMT) (full text, mbox, link).
To: Christopher Lemmer Webber <cwebber@dustycloud.org>
Cc: 44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 23 Nov 2020 14:57:27 +1100
Hey Chris!
On Mon, Nov 23 2020, Christopher Lemmer Webber wrote:
> ... Plus, few distributions do what we're doing anymore,
> precisely because of wanting to be secure by default.
Is this true? Debian defaults to passwords being allowed. I think
it even allows root login by default. At least, I have always had
to add "PermitRootLogin no" and "PasswordAuthentication no"
whenever I install openssh-server on debian.
I'm on board with what you're proposing, and I think Guix should
default to the more secure option, but I'm not sure that an
"average user" (whatever that means for Guix's demographic) would
expect that password authentication is disabled by default.
Carlo
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 23 Nov 2020 16:17:02 GMT) (full text, mbox, link).
From: Christopher Lemmer Webber <cwebber@dustycloud.org>
To: raingloom <raingloom@riseup.net>
Cc: bug-guix@gnu.org, 44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 23 Nov 2020 11:15:18 -0500
raingloom writes:
> On Mon, 23 Nov 2020 03:32:08 +0100
> Taylan Kammer <taylan.kammer@gmail.com> wrote:
>
>> On 23.11.2020 00:20, Christopher Lemmer Webber wrote:
>> > Okay, I just realized I left a friend vulnerable by guiding them
>> > through a Guix graphical install and telling them it would give
>> > them a decent setup. They turned on openssh support.
>> >
>> > Then I realized their config had password-authentication? on.
>> >
>> > That's unacceptable. We need to change this default. This is
>> > known to leave users open to attack, and selecting a password
>> > secure enough against brute forcing is fairly difficult, much more
>> > difficult than only allowing entry by keys. Plus, few
>> > distributions do what we're doing anymore, precisely because of
>> > wanting to be secure by default.
>> >
>> > Yes, I know some people want password authentication on as part of a
>> > bootstrapping process. Fine... those users know to put it on.
>> > Let's not leave our users open to attack by default though.
>> >
>> > Happy to produce a patch and change the documentation, but I'd like
>> > to hear that we have consensus to make this change. But we should,
>> > because otherwise else I think we're going to hurt users.
>>
>> I think most ideal would be if the user is asked the following two
>> questions, with a short explanation of what each means:
>>
>> - Allow root login via SSH?
>>
>> - Allow password authentication in SSH?
>>
>> (I think Debian does this.)
>>
>> Because as you say, on one hand password authentication in SSH can be
>> a security risk. But on the other hand many machines never have
>> their SSH port exposed to the Internet, and the intranet is assumed
>> to be safe. In those cases it would be an annoyance to have to enable
>> it manually.
>>
>> Both points apply to direct root login as well I think.
>>
>> Allowing password authentication but disabling root login might also
>> be considered safe enough on machines exposed to the Internet,
>> because the attacker needs to guess the username as well. Only
>> presents a small increase in complexity for the attacker though.
>>
>>
>> - Taylan
>>
>>
>>
>
> Most people won't know why allowing password authentication is
> unsecure. Either it should be worded differently, have a warning, or
> not be an option.
>
> Same goes doubly so for allowing root login.
Agreed on both counts.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 23 Nov 2020 16:17:02 GMT) (full text, mbox, link).
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 23 Nov 2020 16:19:02 GMT) (full text, mbox, link).
From: Christopher Lemmer Webber <cwebber@dustycloud.org>
To: Carlo Zancanaro <carlo@zancanaro.id.au>
Cc: 44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 23 Nov 2020 11:17:58 -0500
Carlo Zancanaro writes:
> Hey Chris!
>
> On Mon, Nov 23 2020, Christopher Lemmer Webber wrote:
>> ... Plus, few distributions do what we're doing anymore, precisely
>> because of wanting to be secure by default.
>
> Is this true? Debian defaults to passwords being allowed. I think it
> even allows root login by default. At least, I have always had to add
> "PermitRootLogin no" and "PasswordAuthentication no" whenever I
> install openssh-server on debian.
Perhaps I'm wrong... I had thought that the last time I installed a
Debian server, password based access was off by default. But I could be
wrong.
> I'm on board with what you're proposing, and I think Guix should
> default to the more secure option, but I'm not sure that an
> "average user" (whatever that means for Guix's demographic) would
> expect that password authentication is disabled by default.
That's fair... I think that
"[ ] Password authentication? (insecure)"
would be sufficient as an option. How do others feel?
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 30 Nov 2020 04:00:02 GMT) (full text, mbox, link).
To: Christopher Lemmer Webber <cwebber@dustycloud.org>
Cc: Carlo Zancanaro <carlo@zancanaro.id.au>, 44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Sun, 29 Nov 2020 22:58:53 -0500
Hello,
Christopher Lemmer Webber <cwebber@dustycloud.org> writes:
> Carlo Zancanaro writes:
>
>> Hey Chris!
>>
>> On Mon, Nov 23 2020, Christopher Lemmer Webber wrote:
>>> ... Plus, few distributions do what we're doing anymore, precisely
>>> because of wanting to be secure by default.
>>
>> Is this true? Debian defaults to passwords being allowed. I think it
>> even allows root login by default. At least, I have always had to add
>> "PermitRootLogin no" and "PasswordAuthentication no" whenever I
>> install openssh-server on debian.
>
> Perhaps I'm wrong... I had thought that the last time I installed a
> Debian server, password based access was off by default. But I could be
> wrong.
I just tried with a Debian Buster VM; password access is enabled out of
the box.
>> I'm on board with what you're proposing, and I think Guix should
>> default to the more secure option, but I'm not sure that an
>> "average user" (whatever that means for Guix's demographic) would
>> expect that password authentication is disabled by default.
>
> That's fair... I think that
> "[ ] Password authentication? (insecure)"
> would be sufficient as an option. How do others feel?
I'm +1 on disabling password access out of the box; especially since
Guix System makes it easy to authorize SSH keys at installation time.
We'd have to see if it breaks any of our system tests, but I doubt so.
Patch welcome!
Maxim
Added tag(s) security.
Request was from Ludovic Courtès <ludo@gnu.org>
to control@debbugs.gnu.org.
(Thu, 03 Dec 2020 17:06:02 GMT) (full text, mbox, link).
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Sat, 05 Dec 2020 15:15:02 GMT) (full text, mbox, link).
Cc: Christopher Lemmer Webber <cwebber@dustycloud.org>, 44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Sat, 05 Dec 2020 16:14:35 +0100
Hi!
Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>>> I'm on board with what you're proposing, and I think Guix should
>>> default to the more secure option, but I'm not sure that an
>>> "average user" (whatever that means for Guix's demographic) would
>>> expect that password authentication is disabled by default.
>>
>> That's fair... I think that
>> "[ ] Password authentication? (insecure)"
>> would be sufficient as an option. How do others feel?
>
> I'm +1 on disabling password access out of the box; especially since
> Guix System makes it easy to authorize SSH keys at installation time.
> We'd have to see if it breaks any of our system tests, but I doubt so.
Agreed. There are several ways to do that:
1. Have the installer emit an ‘openssh-configuration’ that explicitly
disables password authentication.
2. Change the default value of the relevant field in
<openssh-configuration>.
#2 is more thorough but also more risky: people could find themselves
locked out of their server after reconfiguration, though this could be
mitigated by a news entry.
Thoughts?
Ludo’.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Sat, 05 Dec 2020 18:24:02 GMT) (full text, mbox, link).
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Sat, 05 Dec 2020 13:22:23 -0500
Ludovic Courtès writes:
> Hi!
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>>>> I'm on board with what you're proposing, and I think Guix should
>>>> default to the more secure option, but I'm not sure that an
>>>> "average user" (whatever that means for Guix's demographic) would
>>>> expect that password authentication is disabled by default.
>>>
>>> That's fair... I think that
>>> "[ ] Password authentication? (insecure)"
>>> would be sufficient as an option. How do others feel?
>>
>> I'm +1 on disabling password access out of the box; especially since
>> Guix System makes it easy to authorize SSH keys at installation time.
>> We'd have to see if it breaks any of our system tests, but I doubt so.
>
> Agreed. There are several ways to do that:
>
> 1. Have the installer emit an ‘openssh-configuration’ that explicitly
> disables password authentication.
>
> 2. Change the default value of the relevant field in
> <openssh-configuration>.
>
> #2 is more thorough but also more risky: people could find themselves
> locked out of their server after reconfiguration, though this could be
> mitigated by a news entry.
>
> Thoughts?
>
> Ludo’.
We could also do a combination of the above, as a transitional plan:
do #1 for now, but try to advertise that in the future, the default will
be changing... please explicitly set password access to #t if you need
this! Then in the *following* release, change the default.
This seems like a reasonable transition plan, kind of akin to a
deprecation process?
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 07 Dec 2020 11:53:01 GMT) (full text, mbox, link).
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 07 Dec 2020 12:51:54 +0100
Hi Chris,
Christopher Lemmer Webber <cwebber@dustycloud.org> skribis:
> Ludovic Courtès writes:
[...]
>> Agreed. There are several ways to do that:
>>
>> 1. Have the installer emit an ‘openssh-configuration’ that explicitly
>> disables password authentication.
>>
>> 2. Change the default value of the relevant field in
>> <openssh-configuration>.
>>
>> #2 is more thorough but also more risky: people could find themselves
>> locked out of their server after reconfiguration, though this could be
>> mitigated by a news entry.
>>
>> Thoughts?
>>
>> Ludo’.
>
> We could also do a combination of the above, as a transitional plan:
> do #1 for now, but try to advertise that in the future, the default will
> be changing... please explicitly set password access to #t if you need
> this! Then in the *following* release, change the default.
>
> This seems like a reasonable transition plan, kind of akin to a
> deprecation process?
Sounds like a plan. I went ahead and pushed
aecd2a13cbd8301d0fdeafcacbf69e12cc3f6138 which does this.
Thanks,
Ludo’.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 07 Dec 2020 12:57:01 GMT) (full text, mbox, link).
Ludovic Courtès <ludo@gnu.org> writes:
>>> #2 is more thorough but also more risky: people could find themselves
>>> locked out of their server after reconfiguration, though this could be
>>> mitigated by a news entry.
>>>
>>> Thoughts?
My thoughts are that there is no mitigation for being locked out of a
pre-existing server. Keep in mind that that server might not actually be
accessible in any other way — it might be with a cheap hoster whose
support is practically non-existent, or it might be in a sealed
measurement container that can only be accessed via SSH without
disassembly.
>> We could also do a combination of the above, as a transitional plan:
>> do #1 for now, but try to advertise that in the future, the default will
>> be changing... please explicitly set password access to #t if you need
>> this! Then in the *following* release, change the default.
This sounds like trying to retroactively fixing a problem at the wrong
place: If the installer creates a configuration which prevents
password-authentication, there is no problem for new systems and new
users who need password-authentication will explicitly see in the
config, that they have to change it, otherwise it won’t work. All the
while old systems will keep working.
I do need to access my system via password+ssh from time to time,
because I don’t want to have a key that can access my system on a
presentation-laptop that (due to being moved regularly) is much less
secure than the fixed system. If someone gets access to the laptop and
compromises my keys, they can run much more efficient attacks against
its ssh-keys' password than the attacks people can use to attack ssh via
internet.
Changing a default (an invisible setting) in a way that prevents access
is a serious disruption.
In short: please don’t break running systems on update.
Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 07 Dec 2020 11:48:41 -0500
Dr. Arne Babenhauserheide writes:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>>>> #2 is more thorough but also more risky: people could find themselves
>>>> locked out of their server after reconfiguration, though this could be
>>>> mitigated by a news entry.
>>>>
>>>> Thoughts?
>
> My thoughts are that there is no mitigation for being locked out of a
> pre-existing server. Keep in mind that that server might not actually be
> accessible in any other way — it might be with a cheap hoster whose
> support is practically non-existent, or it might be in a sealed
> measurement container that can only be accessed via SSH without
> disassembly.
>
>>> We could also do a combination of the above, as a transitional plan:
>>> do #1 for now, but try to advertise that in the future, the default will
>>> be changing... please explicitly set password access to #t if you need
>>> this! Then in the *following* release, change the default.
>
> This sounds like trying to retroactively fixing a problem at the wrong
> place: If the installer creates a configuration which prevents
> password-authentication, there is no problem for new systems and new
> users who need password-authentication will explicitly see in the
> config, that they have to change it, otherwise it won’t work. All the
> while old systems will keep working.
>
> I do need to access my system via password+ssh from time to time,
> because I don’t want to have a key that can access my system on a
> presentation-laptop that (due to being moved regularly) is much less
> secure than the fixed system. If someone gets access to the laptop and
> compromises my keys, they can run much more efficient attacks against
> its ssh-keys' password than the attacks people can use to attack ssh via
> internet.
>
> Changing a default (an invisible setting) in a way that prevents access
> is a serious disruption.
>
> In short: please don’t break running systems on update.
>
> Best wishes,
> Arne
It's a serious concern. We are left in a tough bind: leave users with
an insecure default but try to inform them as much as we can of a
changing default, or possibly lock them out if they don't notice.
Still, now feels like to me the ideal time to do it. The number of
people running GuixSD on servers is comparatively small. I expect that
to change. It would be better to make this change sooner than later.
I understand your concern though...
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 07 Dec 2020 16:50:02 GMT) (full text, mbox, link).
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 07 Dec 2020 19:41:02 GMT) (full text, mbox, link).
Subject: Re: bug#44808: Default to allowing password authentication on leaves
users vulnerable
Date: Mon, 7 Dec 2020 14:40:15 -0500
On Sat, Dec 05, 2020 at 01:22:23PM -0500, Christopher Lemmer Webber wrote:
> > 2. Change the default value of the relevant field in
> > <openssh-configuration>.
> >
> > #2 is more thorough but also more risky: people could find themselves
> > locked out of their server after reconfiguration, though this could be
> > mitigated by a news entry.
I do think we should avoid changing the default. I know that passphrases
are inherently riskier than keys — compromise is more likely than with a
key, but I think it's even more likely that people will lose access to
their servers if we change this default.
How bad is the risk, from a practical perspective? How many times per
second can a remote attacker attempt passphrase authentication? If the
number is high, we could petition OpenSSH to introduce a delay.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 07 Dec 2020 19:55:02 GMT) (full text, mbox, link).
Christopher Lemmer Webber <cwebber@dustycloud.org> writes:
> Dr. Arne Babenhauserheide writes:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>>>> #2 is more thorough but also more risky: people could find themselves
>>>>> locked out of their server after reconfiguration, though this could be
>>>>> mitigated by a news entry.
>>>>>
>>>>> Thoughts?
>>
>> My thoughts are that there is no mitigation for being locked out of a
>> pre-existing server. Keep in mind that that server might not actually be
>> accessible in any other way — it might be with a cheap hoster whose
>> support is practically non-existent, or it might be in a sealed
>> measurement container that can only be accessed via SSH without
>> disassembly.
>>
>>>> We could also do a combination of the above, as a transitional plan:
>>>> do #1 for now, but try to advertise that in the future, the default will
>>>> be changing... please explicitly set password access to #t if you need
>>>> this! Then in the *following* release, change the default.
>>
>> This sounds like trying to retroactively fixing a problem at the wrong
>> place: If the installer creates a configuration which prevents
>> password-authentication, there is no problem for new systems and new
>> users who need password-authentication will explicitly see in the
>> config, that they have to change it, otherwise it won’t work. All the
>> while old systems will keep working.
>>
>> I do need to access my system via password+ssh from time to time,
>> because I don’t want to have a key that can access my system on a
>> presentation-laptop that (due to being moved regularly) is much less
>> secure than the fixed system. If someone gets access to the laptop and
>> compromises my keys, they can run much more efficient attacks against
>> its ssh-keys' password than the attacks people can use to attack ssh via
>> internet.
>>
>> Changing a default (an invisible setting) in a way that prevents access
>> is a serious disruption.
>>
>> In short: please don’t break running systems on update.
>>
>> Best wishes,
>> Arne
>
> It's a serious concern. We are left in a tough bind: leave users with
> an insecure default but try to inform them as much as we can of a
> changing default, or possibly lock them out if they don't notice.
>
> Still, now feels like to me the ideal time to do it. The number of
> people running GuixSD on servers is comparatively small. I expect that
> to change. It would be better to make this change sooner than later.
If the installer and the configuration examples are changed now, then
the number of people who unknowingly run Guix on an insecure
configuration should not rise.
To nudge them to secure their system, guix system reconfigure could emit
a warning that this is a potential security risk that requires setting
an explicit value (password yes or no) to silence.
Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 07 Dec 2020 16:38:37 -0500
Leo Famulari writes:
> On Sat, Dec 05, 2020 at 01:22:23PM -0500, Christopher Lemmer Webber wrote:
>> > 2. Change the default value of the relevant field in
>> > <openssh-configuration>.
>> >
>> > #2 is more thorough but also more risky: people could find themselves
>> > locked out of their server after reconfiguration, though this could be
>> > mitigated by a news entry.
>
> I do think we should avoid changing the default. I know that passphrases
> are inherently riskier than keys — compromise is more likely than with a
> key, but I think it's even more likely that people will lose access to
> their servers if we change this default.
>
> How bad is the risk, from a practical perspective? How many times per
> second can a remote attacker attempt passphrase authentication? If the
> number is high, we could petition OpenSSH to introduce a delay.
Some servers try to protect against such systems with something such as
fail2ban. It can help a little, but origin-oriented systems have
serious problems. A simple example is that a botnet can be used to try
logging in from many origins. But origin-oriented designs also don't
hold up in general as one tends to move towards things like p2p
systems... consider if exposing ssh over a tor onion service just how
easy it is to generate lots of onion addresses.
Consider the following though: most users have fairly weak passwords.
Sad, but true... but in the case where that password only is affected by
someone trying to gain login from physical access, it also only affects
physical access brute forcing with the computer on.
A weak password doesn't hold up as well when any server anywhere can
start hammering on it.
Looking at my auth logs, such hammering is super common... most of the
servers I've dealt with tend to have logs filled with bots trying to get
in all the time, and that's in an untargeted case. A targeted case is
worse.
Maybe it's not a good idea to change the default, but yes, the problem
is serious.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Mon, 07 Dec 2020 22:59:01 GMT) (full text, mbox, link).
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Mon, 07 Dec 2020 17:57:45 -0500
Hi,
"Dr. Arne Babenhauserheide" <arne_bab@web.de> writes:
> To nudge them to secure their system, guix system reconfigure could emit
> a warning that this is a potential security risk that requires setting
> an explicit value (password yes or no) to silence.
I think this is a good idea. Likewise, in the Guix installer, I would
favor asking the user whether or not to enable password authentication,
after warning them that it is a security risk.
I agree with Chris that password authentication is a significant
security risk, but I also worry that if we simply disable it, it will
catch some users by surprise and they may be quite unhappy about it.
Regards,
Mark
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Tue, 08 Dec 2020 10:38:02 GMT) (full text, mbox, link).
Cc: Christopher Lemmer Webber <cwebber@dustycloud.org>,
"Dr. Arne Babenhauserheide" <arne_bab@web.de>, maxim.cournoyer@gmail.com,
44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Tue, 08 Dec 2020 11:36:51 +0100
Hi,
Mark H Weaver <mhw@netris.org> skribis:
> "Dr. Arne Babenhauserheide" <arne_bab@web.de> writes:
>> To nudge them to secure their system, guix system reconfigure could emit
>> a warning that this is a potential security risk that requires setting
>> an explicit value (password yes or no) to silence.
>
> I think this is a good idea. Likewise, in the Guix installer, I would
> favor asking the user whether or not to enable password authentication,
> after warning them that it is a security risk.
>
> I agree with Chris that password authentication is a significant
> security risk, but I also worry that if we simply disable it, it will
> catch some users by surprise and they may be quite unhappy about it.
What do you think of the approach in
<https://git.savannah.gnu.org/cgit/guix.git/commit/?id=aecd2a13cbd8301d0fdeafcacbf69e12cc3f6138>?
The default is unchanged but the warning could be kept say until the
next release, at which point we’d change the default.
Or are you suggesting keeping the default unchanged?
Ludo’.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Tue, 08 Dec 2020 13:50:01 GMT) (full text, mbox, link).
From: Christopher Lemmer Webber <cwebber@dustycloud.org>
To: Mark H Weaver <mhw@netris.org>
Cc: "Dr. Arne Babenhauserheide" <arne_bab@web.de>, maxim.cournoyer@gmail.com,
44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Tue, 08 Dec 2020 08:48:34 -0500
Mark H Weaver writes:
> Hi,
>
> "Dr. Arne Babenhauserheide" <arne_bab@web.de> writes:
>> To nudge them to secure their system, guix system reconfigure could emit
>> a warning that this is a potential security risk that requires setting
>> an explicit value (password yes or no) to silence.
>
> I think this is a good idea. Likewise, in the Guix installer, I would
> favor asking the user whether or not to enable password authentication,
> after warning them that it is a security risk.
>
> I agree with Chris that password authentication is a significant
> security risk, but I also worry that if we simply disable it, it will
> catch some users by surprise and they may be quite unhappy about it.
>
> Regards,
> Mark
It's clear that quite a few people are unhappy with switching the
default, fearing lockout. I'm fine with making the above compromise
given all that, personally.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Wed, 09 Dec 2020 01:33:01 GMT) (full text, mbox, link).
Cc: Christopher Lemmer Webber <cwebber@dustycloud.org>,
"Dr. Arne Babenhauserheide" <arne_bab@web.de>, maxim.cournoyer@gmail.com,
44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Tue, 08 Dec 2020 20:31:16 -0500
Hi Ludovic,
Ludovic Courtès <ludo@gnu.org> writes:
> Mark H Weaver <mhw@netris.org> skribis:
>
>> "Dr. Arne Babenhauserheide" <arne_bab@web.de> writes:
>>> To nudge them to secure their system, guix system reconfigure could emit
>>> a warning that this is a potential security risk that requires setting
>>> an explicit value (password yes or no) to silence.
>>
>> I think this is a good idea. Likewise, in the Guix installer, I would
>> favor asking the user whether or not to enable password authentication,
>> after warning them that it is a security risk.
>>
>> I agree with Chris that password authentication is a significant
>> security risk, but I also worry that if we simply disable it, it will
>> catch some users by surprise and they may be quite unhappy about it.
>
> What do you think of the approach in
> <https://git.savannah.gnu.org/cgit/guix.git/commit/?id=aecd2a13cbd8301d0fdeafcacbf69e12cc3f6138>?
One problem, which I just discovered, is that it warns users even if
they don't have an 'openssh-service' in their system configuration.
(For that reason, I just reverted this commit on my private branch).
> The default is unchanged but the warning could be kept say until the
> next release, at which point we’d change the default.
>
> Or are you suggesting keeping the default unchanged?
I don't feel strongly about what the default setting should be, as long
as we ensure that users are somehow made aware of the change before it
happens, and are given the opportunity (and preferably easy instructions
on how) to keep password authentication enabled if they wish.
I also think that the installer should explicitly ask the user what the
setting should be, so that we do not catch new users off guard who
expected to be able to ssh in to their newly-installed systems using
only a password.
If the plan is to change the default setting and issue warnings in the
meantime, it should be easy to silence those warnings, especially for
those of us who don't even use openssh-service :)
What do you think?
Regards,
Mark
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Thu, 10 Dec 2020 08:18:01 GMT) (full text, mbox, link).
Cc: Christopher Lemmer Webber <cwebber@dustycloud.org>,
"Dr. Arne Babenhauserheide" <arne_bab@web.de>, maxim.cournoyer@gmail.com,
44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Thu, 10 Dec 2020 09:17:19 +0100
Hi Mark,
Mark H Weaver <mhw@netris.org> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
[...]
>> What do you think of the approach in
>> <https://git.savannah.gnu.org/cgit/guix.git/commit/?id=aecd2a13cbd8301d0fdeafcacbf69e12cc3f6138>?
>
> One problem, which I just discovered, is that it warns users even if
> they don't have an 'openssh-service' in their system configuration.
Could it be that you have a childhurd or some other service that uses
‘openssh-service-type’? What source code location is associated with
that warning?
>> The default is unchanged but the warning could be kept say until the
>> next release, at which point we’d change the default.
>>
>> Or are you suggesting keeping the default unchanged?
>
> I don't feel strongly about what the default setting should be, as long
> as we ensure that users are somehow made aware of the change before it
> happens, and are given the opportunity (and preferably easy instructions
> on how) to keep password authentication enabled if they wish.
>
> I also think that the installer should explicitly ask the user what the
> setting should be, so that we do not catch new users off guard who
> expected to be able to ssh in to their newly-installed systems using
> only a password.
Yeah, we can do that; it’s a bit of extra complexity in the installer,
but perhaps that’ll be useful to configure other services as well.
> If the plan is to change the default setting and issue warnings in the
> meantime, it should be easy to silence those warnings, especially for
> those of us who don't even use openssh-service :)
Agreed. :-) Normally, if you explicitly set the field, the warning
disappears.
Thanks,
Ludo’.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Fri, 11 Dec 2020 01:45:02 GMT) (full text, mbox, link).
Cc: Christopher Lemmer Webber <cwebber@dustycloud.org>,
"Dr. Arne Babenhauserheide" <arne_bab@web.de>, maxim.cournoyer@gmail.com,
44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Thu, 10 Dec 2020 20:43:45 -0500
Hi Ludovic,
Ludovic Courtès <ludo@gnu.org> writes:
> Mark H Weaver <mhw@netris.org> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>
> [...]
>
>>> What do you think of the approach in
>>> <https://git.savannah.gnu.org/cgit/guix.git/commit/?id=aecd2a13cbd8301d0fdeafcacbf69e12cc3f6138>?
>>
>> One problem, which I just discovered, is that it warns users even if
>> they don't have an 'openssh-service' in their system configuration.
>
> Could it be that you have a childhurd or some other service that uses
> ‘openssh-service-type’?
I highly doubt it. In any case, there's certainly no ssh daemon
running. See below for my system configuration.
> What source code location is associated with that warning?
gnu/services/ssh.scm:570:31, here:
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/ssh.scm?id=ec2eccbf3d1a6378c5ebf1e3d17ec72b4b2a4cd0#n570
Here's what I see when I build a system:
--8<---------------cut here---------------start------------->8---
mhw@jojen ~/guix$ ./pre-inst-env guix system build /etc/config.scm
gnu/services/ssh.scm:570:31: warning: The default value of the 'password-authentication?'
field of 'openssh-configuration' will change from #true to #false in the
future. Explicitly set it to #true to allow password authentication.
/gnu/store/v9ri5ya4xb1fxnmckg1j1qr2qki73w36-system
--8<---------------cut here---------------end--------------->8---
Could it be related to the fact that I always run Guix via
./pre-inst-env from a git checkout?
If this problem only affect me, due to the unusual way in which I use
Guix, feel free to disregard this issue. It's easy enough for me add
one more to my collection of reverted patches on my private branch :)
Thanks,
Mark
--8<---------------cut here---------------start------------->8---
(use-modules (gnu) (gnu system nss) (srfi srfi-1) (guix packages))
(use-service-modules base desktop networking xorg dbus sound)
(use-package-modules certs gnome cryptsetup linux admin guile firmware xdisorg libusb suckless ratpoison wm vpn)
(operating-system
(host-name "jojen")
(timezone "right/US/Eastern")
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/sda")))
(kernel linux-libre)
(kernel-arguments '("page_alloc.shuffle=1"))
(firmware (list ath9k-htc-firmware))
;;(firmware '())
(keyboard-layout (keyboard-layout "us" #:options '("ctrl:nocaps")))
;; Specify a mapped device for the encrypted root partition.
;; The UUID is that returned by 'cryptsetup luksUUID'.
(mapped-devices
(list (mapped-device
(source (uuid "a56c53e7-b345-4e24-a17b-6cf158dbc7d3"))
(target "jojen-root")
(type luks-device-mapping))))
(file-systems (cons* (file-system
;; FIXME: reference by the file system label?
(device "/dev/mapper/jojen-root")
(mount-point "/")
(type "btrfs")
(dependencies mapped-devices))
%base-file-systems))
(users (cons* (user-account
(name "mhw")
(uid 1000)
(group "mhw")
(supplementary-groups '("wheel" "users" "netdev"
"audio" "video" "dialout"))
(home-directory "/home/mhw"))
%base-user-accounts))
(groups (cons* (user-group
(name "mhw")
(id 1000))
%base-groups))
(setuid-programs
(list (file-append shadow "/bin/passwd")
(file-append inetutils "/bin/ping")))
;; This is where we specify system-wide packages.
(packages (cons* nss-certs ;for HTTPS access
gvfs ;for user mounts
cryptsetup
btrfs-progs
wpa-supplicant
network-manager
network-manager-applet
network-manager-openvpn
openvpn
ratpoison
i3-wm
dwm
(delete sudo %base-packages)))
(services (cons* (service gnome-desktop-service-type)
;;(service xfce-desktop-service-type)
(service gdm-service-type)
;;(service slim-service-type)
(screen-locker-service slock)
;;(screen-locker-service xlockmore "xlock")
;; Add udev rules for MTP devices so that non-root
;; users can access them.
(simple-service 'mtp udev-service-type (list libmtp))
;; Add udev rules for scanners.
(service sane-service-type)
;; Add polkit rules, so that non-root users in the
;; wheel group can perform administrative tasks
;; (similar to "sudo").
polkit-wheel-service
;; NetworkManager and its dependents.
(service network-manager-service-type)
(service wpa-supplicant-service-type)
;; (simple-service 'network-manager-applet
;; profile-service-type
;; (list network-manager-applet))
;; (service modem-manager-service-type)
;; (service usb-modeswitch-service-type)
;; The D-Bus clique.
;;(service avahi-service-type) ; I don't trust this
(udisks-service)
(service upower-service-type)
;;(accountsservice-service)
;;(service cups-pk-helper-service-type)
(service colord-service-type)
;;(geoclue-service) ; I don't want this
(service polkit-service-type)
(elogind-service)
(dbus-service)
;;(service ntp-service-type) ; I don't trust this
(service pulseaudio-service-type)
(service alsa-service-type)
;;;; Disabled for now
;;
;;(accountsservice-service)
;;(service cups-pk-helper-service-type)
;; TOR: The Onion Router
(service tor-service-type)
;; Optional OpenNTPd, below
#;
(service
openntpd-service-type
(openntpd-configuration
(listen-on '("127.0.0.1" "::1"))
;;(constraint-from '("www.gnu.org"))
(allow-large-adjustment? #t)))
x11-socket-directory-service
;;;; Disabled for now
;;
;;(service alsa-service-type)
(modify-services %base-services
;; I don't trust the build farm
(guix-service-type config =>
(guix-configuration
(inherit config)
(use-substitutes? #f)
(authorize-key? #f)
(authorized-keys '())
(substitute-urls '())
(extra-options '("--gc-keep-derivations=yes"
"--gc-keep-outputs=yes")))))))
;; Allow resolution of '.local' host names with mDNS.
;;(name-service-switch %mdns-host-lookup-nss) ; disabled for now
)
--8<---------------cut here---------------end--------------->8---
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Fri, 11 Dec 2020 18:11:02 GMT) (full text, mbox, link).
Cc: Christopher Lemmer Webber <cwebber@dustycloud.org>,
"Dr. Arne Babenhauserheide" <arne_bab@web.de>, maxim.cournoyer@gmail.com,
44808@debbugs.gnu.org
Subject: Re: bug#44808: Default to allowing password authentication on
leaves users vulnerable
Date: Fri, 11 Dec 2020 19:10:02 +0100
Hi,
Mark H Weaver <mhw@netris.org> skribis:
> gnu/services/ssh.scm:570:31, here:
>
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/ssh.scm?id=ec2eccbf3d1a6378c5ebf1e3d17ec72b4b2a4cd0#n570
>
> Here's what I see when I build a system:
>
> mhw@jojen ~/guix$ ./pre-inst-env guix system build /etc/config.scm
> gnu/services/ssh.scm:570:31: warning: The default value of the 'password-authentication?'
> field of 'openssh-configuration' will change from #true to #false in the
> future. Explicitly set it to #true to allow password authentication.
> /gnu/store/v9ri5ya4xb1fxnmckg1j1qr2qki73w36-system
I ended up reverting it in d8051557aee9fa252b015ff67cc15681e8540777
because it affects everyone, I couldn’t think of an easy way to address
that while still getting the warning when we want it, and it seems we
may have to discuss the issue a bit more (apologies for assuming we had
reached a consensus!).
Thanks,
Ludo’.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Thu, 11 Feb 2021 07:48:01 GMT) (full text, mbox, link).
To: "44808@debbugs.gnu.org" <44808@debbugs.gnu.org>
Subject: Re: Default to allowing password authentication on leaves users
vulnerable
Date: Thu, 11 Feb 2021 07:46:51 +0000
Hi guix users,
It strikes me that a better course of action here would be, rather than providing a warning that might not be noticed by the user, to remove the default and force people to explicitly put `password-authentication? #t` or `password-authentication? #f`.
That way if I have set up a headless server (possibly having a temporary keyboard/mouse/monitor during initial install, then forever logging in afterwards over intranet using my super secret password "raid5isnotagooddog"), with an existing `configuration.scm` that does not explicitly give the setting, I cannot accidentally lose access to my headless server by doing a random `guix pull && sudo guix system reconfigure configuration.scm` without noticing the warning.
Especially since there exists an `unattended-upgrades-service-type` which automates this `guix pull && sudo guix system reconfigure configuration.scm`, which makes changing this default ***VERY DANGEROUS*** in this use-case. I'd rather I noticeably error out in this case.
Then later after a year give a "sane" default, after people who have depended on the existing `password-authentication? #t` have already explicitly put the setting in their `configuration.scm`.
Thanks
raid5atemyhomework
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Thu, 11 Feb 2021 20:37:02 GMT) (full text, mbox, link).
Subject: Re: bug#44808: Default to allowing password authentication on leaves
users vulnerable
Date: Thu, 11 Feb 2021 15:36:17 -0500
On Thu, Feb 11, 2021 at 07:46:51AM +0000, raid5atemyhomework via Bug reports for GNU Guix wrote:
> Hi guix users,
>
> It strikes me that a better course of action here would be, rather than providing a warning that might not be noticed by the user, to remove the default and force people to explicitly put `password-authentication? #t` or `password-authentication? #f`.
I like this idea.
>
> That way if I have set up a headless server (possibly having a temporary keyboard/mouse/monitor during initial install, then forever logging in afterwards over intranet using my super secret password "raid5isnotagooddog"), with an existing `configuration.scm` that does not explicitly give the setting, I cannot accidentally lose access to my headless server by doing a random `guix pull && sudo guix system reconfigure configuration.scm` without noticing the warning.
>
> Especially since there exists an `unattended-upgrades-service-type` which automates this `guix pull && sudo guix system reconfigure configuration.scm`, which makes changing this default ***VERY DANGEROUS*** in this use-case. I'd rather I noticeably error out in this case.
I agree, changing the default will cause problems, and I'm not convinced
it's a serious problem that warrants changing anyways.
Information forwarded
to bug-guix@gnu.org: bug#44808; Package guix.
(Thu, 11 Feb 2021 20:37:02 GMT) (full text, mbox, link).
Debbugs is free software and licensed under the terms of the
GNU Public License version 2. The current version can be
obtained from https://bugs.debian.org/debbugs-source/.