Linux NFS development
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: NeilBrown <neil@brown.name>
Cc: Jeff Layton <jlayton@kernel.org>,
	Steve Dickson <steved@redhat.com>, Tom Haynes <loghyr@gmail.com>,
	linux-nfs@vger.kernel.org
Subject: Re: [PATCH nfs-utils] exportfs: make "insecure" the default for all exports
Date: Fri, 16 May 2025 08:09:47 -0400	[thread overview]
Message-ID: <02da3d46-3b05-4167-8750-121f5e30b7e9@oracle.com> (raw)
In-Reply-To: <174734547202.62796.2038898324999110968@noble.neil.brown.name>

On 5/15/25 5:44 PM, NeilBrown wrote:
> On Thu, 15 May 2025, Chuck Lever wrote:
>> On 5/14/25 5:47 PM, NeilBrown wrote:
>>> On Wed, 14 May 2025, Chuck Lever wrote:
>>>>
>>>> Sure, but this option, although it's name is "secure", offers very
>>>> little real security. So we are actively promoting a mythological level
>>>> of security here, and that is a Bad Thing (tm).
>>>
>>> "very little" is not zero.  "mythological" is unfair.  There is real
>>> security is certain specific situations.
>>
>> We can argue about "mythological", but it is totally fair to say that
>> calling this mechanism "secure", and its inverse "insecure" is an
>> overreach and a gross misrepresentation. It is relevant only for
>> AUTH_UNIX and only then when there are other active forms of security
>> in place.
>>
>> So I think our fundamental point is that the balance has changed. These
>> days, in most situations, source port checking is not relevant and is
>> actively inconvenient for many common usage scenarios.
>>
>> Before changing the default behavior of NFSD, we can survey other common
>> network storage protocol implementations (iSCSI, NVMe, SMB) to see if
>> those protocols also use this form of authorizing access.
> 
> I don't think it is relevant what other protocols do.  If we were adding
> a new feature, then examining the state of the art would make sense, but
> that is not what is happening here.
> 
> It might make sense to remove AUTH_SYS support in the same way that
> rlogin and rsh have effectively been removed and replaced by ssh.

The point of TLS is to protect the use of AUTH_SYS, because as Martin
points out, Kerberos is challenging to deploy. I don't believe support
for AUTH_SYS is something we can get rid of, and the nfsv4 WG has
recognized this reality with the publication of RFC 9289.

With TLS, not only is the use of cleartext user identity encrypted, but
when mtls is in use, we have client peer authentication, which serves
the same purpose as source port checking, but does so with
cryptography.


> It
> would never have made sense to change rlogind to stop checking the
> source port of the TCP connection (and would never have made sense for
> sshd to check it).
> 
> I cannot ever see any justification for changing defaults to make a
> service less secure.

I do not disagree at all with that general philosophy.

I think where you and I disagree is in how much actual security that
source port checking actually confers.


>> In the meantime, do you object to moving forward with the other two
>> suggestions I made:
>>
>>  - Updating the description of the "secure" export option in exports(5)
>>
>>  - Adding a warning to exportfs when an export has neither "secure" or
>>    "insecure" set and allows access via sec=sys ?
> 
> Those two sound like very sensible changes.

Fair enough. We'll focus on improving the man page text for now.


-- 
Chuck Lever

  reply	other threads:[~2025-05-16 12:10 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-13 13:50 [PATCH nfs-utils] exportfs: make "insecure" the default for all exports Jeff Layton
2025-05-13 14:17 ` Chuck Lever
2025-05-13 15:14 ` Lionel Cons
2025-05-13 15:35   ` Jeff Layton
2025-05-13 16:11   ` Chuck Lever
2025-06-04 17:12     ` Cedric Blancher
2025-06-04 18:20       ` Chuck Lever
2025-05-14  2:16 ` NeilBrown
2025-05-14  2:28   ` NeilBrown
2025-05-14 11:17     ` Jeff Layton
2025-05-14 11:43       ` NeilBrown
2025-05-14 12:02         ` Jeff Layton
2025-05-14 21:58           ` NeilBrown
2025-05-14 12:56         ` Chuck Lever
2025-05-14 21:47           ` NeilBrown
2025-05-15 12:01             ` Chuck Lever
2025-05-15 21:44               ` NeilBrown
2025-05-16 12:09                 ` Chuck Lever [this message]
2025-05-19  6:02                   ` NeilBrown
2025-05-19 11:39                     ` Jeff Layton
2025-05-19 14:16                     ` Chuck Lever
     [not found]                       ` <4bee9565-c2a8-4b90-be57-7d1340fa9ed7@esat.kuleuven.be>
2025-05-19 20:51                         ` Chuck Lever
2025-05-20  1:44                       ` Rick Macklem
2025-05-20 13:20                         ` Chuck Lever
2025-05-25 17:29                           ` Chuck Lever
2025-05-26  0:09                             ` NeilBrown
2025-05-26  1:47                               ` Rick Macklem
2025-05-26  1:52                                 ` Rick Macklem
2025-05-26  2:29                                 ` NeilBrown
2025-05-28  0:57                                   ` Rick Macklem
2025-05-27 13:28                                 ` Chuck Lever
2025-05-27 15:05                               ` Chuck Lever
2025-05-27 15:58                                 ` Rick Macklem
2025-05-27 16:29                                 ` Rick Macklem
2025-05-27 16:58                                   ` Chuck Lever
2025-05-28  1:06                                     ` Rick Macklem
2025-05-27 19:18                                 ` Benjamin Coddington
2025-05-27 19:41                                   ` Chuck Lever
2025-05-27 20:25                                     ` Benjamin Coddington
2025-05-28 14:07                                       ` Chuck Lever
2025-05-28  1:24                                     ` NeilBrown
2025-05-28  2:48                                       ` Rick Macklem
2025-05-14 11:46     ` Chuck Lever
2025-05-14 12:28   ` Thomas Haynes
2025-05-14 21:49     ` NeilBrown
2025-05-14  2:38 ` NeilBrown
2025-05-14 11:20   ` Jeff Layton
2025-05-15  1:32     ` Christopher Bii
2025-05-21  9:06 ` Sebastian Feld
2025-05-21 12:25   ` Jeff Layton
2025-05-21 13:14   ` Chuck Lever
2025-05-21 13:43     ` Chuck Lever
2025-06-04 17:07 ` Cedric Blancher
2025-06-04 18:26 ` Steve Dickson
2025-06-04 18:45   ` Cedric Blancher
2025-06-04 19:17   ` Jeff Layton
2025-06-04 19:53     ` Steve Dickson
2025-06-05 16:48       ` Trond Myklebust
2025-06-05 18:09         ` Chuck Lever
2025-06-05  8:20     ` Cedric Blancher
2025-06-05 13:54       ` Chuck Lever

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=02da3d46-3b05-4167-8750-121f5e30b7e9@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=loghyr@gmail.com \
    --cc=neil@brown.name \
    --cc=steved@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox