Linux NFS development
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: Cedric Blancher <cedric.blancher@gmail.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH nfs-utils] exportfs: make "insecure" the default for all exports
Date: Wed, 4 Jun 2025 14:20:44 -0400	[thread overview]
Message-ID: <a5d54600-ebda-46a0-8eb5-96b7c8c60f6f@oracle.com> (raw)
In-Reply-To: <CALXu0Ue404JV5+g8Vabm9zwr+9pnpux9TZ0Sa92brSWcXdPuOQ@mail.gmail.com>

On 6/4/25 1:12 PM, Cedric Blancher wrote:
> On Tue, 13 May 2025 at 18:12, Chuck Lever <chuck.lever@oracle.com> wrote:
>>
>> On 5/13/25 11:14 AM, Lionel Cons wrote:
>>> On Tue, 13 May 2025 at 15:50, Jeff Layton <jlayton@kernel.org> wrote:
>>>>
>>>> Back in the 80's someone thought it was a good idea to carve out a set
>>>> of ports that only privileged users could use. When NFS was originally
>>>> conceived, Sun made its server require that clients use low ports.
>>>> Since Linux was following suit with Sun in those days, exportfs has
>>>> always defaulted to requiring connections from low ports.
>>>>
>>>> These days, anyone can be root on their laptop, so limiting connections
>>>> to low source ports is of little value.
>>>>
>>>> Make the default be "insecure" when creating exports.
>>>>
>>>> Signed-off-by: Jeff Layton <jlayton@kernel.org>
>>>> ---
>>>> In discussion at the Bake-a-thon, we decided to just go for making
>>>> "insecure" the default for all exports.
>>>
>>> This patch is one of the WORST ideas in recent times.
>>>
>>> While your assessment might be half-true for the average home office,
>>> sites like universities, scientific labs and enterprise networks
>>> consider RPC traffic being restricted to a port below 1024 as a layer
>>> of security.
>>>
>>> The original idea was that only trusted people have "root" access, and
>>> only uid=0/root can allocate TCP ports below 1024.
>>> That is STILL TRUE for universities and other sides, and I think most
>>> admins there will absolutely NOT appreciate that you disable a layer
>>> of security just to please script kiddles and wanna-be hackers.
>>>
>>> I am going to fight this patch, to the BITTER end, with blood and biting.
>>
>> Lionel, your combative attitude is not helpful. You clearly did not read
>> Jeff's patch, nor do you understand how network security is implemented.
>> Checking the source port was long ago deemed completely useless, no more
>> secure than ROT13. Solaris NFS servers have not checked the client's
>> source port for many many years, for example.
>>
>> Most of the contributors and maintainers here were first employed by
>> universities. We're well aware of the security requirements in those
>> environments and how university IT departments meet those requirements.
>> Any environment that requires security uses a solution based on
>> cryptography, such as Kerberos or TLS.
> 
> I wouldn't even dare to mention TLS here. TLS is mostly experimental
> at best, and its performance is so bad that enforcing it might finally
> ruin the Linux NFS client+server reputation.
> 
> In that context, TLS is not an option, unless performance, latency
> sensitivity and CPU usage can be improved by at least a factor of 5.
> Yes, factor FIVE, because TLS is that BAD.

I've heard this claim several times now with no reference to actual
data. I do accept the claim that NFS on an ssh tunnel is going to be
pretty awful. I don't accept the subtext that NFS over TLS will /always/
be terrible for the rest of time. (and note that QUIC is coming, and
for QUIC, transport-layer encryption is always on -- this problem has
to be solved).

We can't begin to address problems that we don't know about. Can you
cite a study or give us a reproducer? Was testing done with a NIC
capable of offloading the TLS record protocol (on both ends)? Flame
graphs to show us where the CPU bottlenecks are? How does the
performance of NFS on TLS compare with krb5p ? I would greatly
appreciate seeing careful studies of the problems.

Lastly, there are plenty of light workloads where TLS is a more
operational choice than Kerberos. It's fair to exclude intensive
workloads for now, but those are not the only workloads being run on
NFS.


> I only agree to this change because Solaris did change it long ago,
> but even then it was a highly disputed change, and today's
> universities still prefer the "resvport"
> 
> Ced


-- 
Chuck Lever

  reply	other threads:[~2025-06-04 18:20 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 [this message]
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
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=a5d54600-ebda-46a0-8eb5-96b7c8c60f6f@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=cedric.blancher@gmail.com \
    --cc=linux-nfs@vger.kernel.org \
    /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