[nfsv4] Re: back to AA

David Noveck <davenoveck@gmail.com> Sun, 08 September 2024 15:40 UTC

Return-Path: <davenoveck@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 34860C151520 for <nfsv4@ietfa.amsl.com>; Sun, 8 Sep 2024 08:40:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SiEJfA_DJBZg for <nfsv4@ietfa.amsl.com>; Sun, 8 Sep 2024 08:40:42 -0700 (PDT)
Received: from mail-qv1-xf2c.google.com (mail-qv1-xf2c.google.com [IPv6:2607:f8b0:4864:20::f2c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4066AC14CE2C for <nfsv4@ietf.org>; Sun, 8 Sep 2024 08:40:42 -0700 (PDT)
Received: by mail-qv1-xf2c.google.com with SMTP id 6a1803df08f44-6c548eb3380so860716d6.1 for <nfsv4@ietf.org>; Sun, 08 Sep 2024 08:40:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725810041; x=1726414841; darn=ietf.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MDK36IfVcdqeji4LOJ2Z5yF4ksFnUS49URxdG8fsMXg=; b=GVBiiq1kCW4fTaDoJWlaAG/I2JGCJ6QCcBgUxMFqkJYIF5smlfV1mFzCcleL814/m0 0pQGxCN6cqkyb+M2+Yooqq0VUDy+YxyRb5Sre7RjRQ/Ng5WcuVQivf3AVPDabiebUcuB xHinNeofuscbatWMsWap14E1uY1VVo4LG+U+Q23V+jNM5lPMCNWJHm4Safv0g+LFlPKu orBrxh8jGow9RGhBFo742cUcKB1otEbkpjUXBbTsN5E/vGnTGK/OIaAwQyH/7iK4q9sp u5daioM6UvmAx0GX9q3iUFxQ9RAMRbc2rCHyRqVuVOnM9DlNog9QUEs0URK46ZwET9cs xrDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725810041; x=1726414841; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MDK36IfVcdqeji4LOJ2Z5yF4ksFnUS49URxdG8fsMXg=; b=lJW6DreF93b9NkjCtJfb/PwS8kf2wI92yOPQFalH4uk5dLpEBvuvyOcYVjGyrOm9dV sTRShX5Dlv65FZpO3JwSSgWhYnowyPjRkXeyjT0A3dXd9CBgIrYhxOGhTbxsvU/CzF9G 4UBeENsrM/KVmKUokCA5eH26+i2HuGLpCoLluiPcSHCM+remxRxpIT/kKlib4V407Tjv BoLNUQ0C571xAYQ/V0R+NzD9GnF9FU57QXeKJlkSoq8jcleDxJRpPctJsrYIQymps6Gy TiLuxqPOaGpI35ju5uNXftH9tTrCfh6lO7cS/2SR1sz3fKfZJGTHvcG7uOe8W547AfJd gAqA==
X-Forwarded-Encrypted: i=1; AJvYcCVAv/QTkdiYYrCoTYh/eWmoqalOFGkVSQgVipvQZ2tkLiN+Nvxj4T91eGsjyARhLOG0HGxaKA==@ietf.org
X-Gm-Message-State: AOJu0Yy5IkNmpZrglsXUreASmtSrMdjdsYs3gfBQw2uQyjLcFq1ZdhLt 5A5TM3eTrEPFFU/ec9vzMHjSANf9l9Qs5j2AIfu2IwhflyP8gV/sD0lcvXiI+LKQzvxkrzLsQLG GJWij1J7j0hc4M0zSXAJsmSBA6xQ=
X-Google-Smtp-Source: AGHT+IFW0oxd3qDx0rvrz0GhyVnv2AjSza34+U8fwOZTiW0QhK/tlMjXeWl9YdThbsAiYUKjaxebWgptX/IPP2+1zy8=
X-Received: by 2002:a05:6214:449c:b0:6c3:55be:b3a3 with SMTP id 6a1803df08f44-6c5281baa50mr175231876d6.0.1725810041209; Sun, 08 Sep 2024 08:40:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a05:6214:2267:b0:6c3:7010:1c1d with HTTP; Sun, 8 Sep 2024 08:40:40 -0700 (PDT)
In-Reply-To: <CADaq8jcKnEtM3jqKk=78RxPahyu-s0MZABxufUJu1AnkRt+7iA@mail.gmail.com>
References: <F2FA0129-5780-4257-8E18-E04865D6BCC4@cert.org> <CAM5tNy7fhU5s+EufRS3aq2zYSdjrtD_ijj1RgHcTv0WzGcbT0Q@mail.gmail.com> <8510AEBC-237C-4E2C-AE27-909A8FE50CA7@cert.org> <CADaq8jcKnEtM3jqKk=78RxPahyu-s0MZABxufUJu1AnkRt+7iA@mail.gmail.com>
From: David Noveck <davenoveck@gmail.com>
Date: Sun, 08 Sep 2024 11:40:40 -0400
Message-ID: <CADaq8jdRstDCWwVFPLPyPP9rJ06u5pKLZvO50qRgK65Ts2=0DQ@mail.gmail.com>
To: Chris Inacio <inacio@cert.org>
Content-Type: multipart/alternative; boundary="00000000000074cbe206219d7629"
Message-ID-Hash: UWPTJ5XZO4ACAKG7TO3BZWRDZ2DIH7K6
X-Message-ID-Hash: UWPTJ5XZO4ACAKG7TO3BZWRDZ2DIH7K6
X-MailFrom: davenoveck@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-nfsv4.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: NFSv4 <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [nfsv4] Re: back to AA
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/n8tIASWA-1YJM0qY0w89KLz9vaA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>

On Sunday, September 8, 2024, David Noveck <davenoveck@gmail.com> wrote:

>
>
> On Friday, September 6, 2024, Chris Inacio <inacio@cert.org> wrote:
>
>> >>
>> >> I would like to add an Authentication/Authorization topic.  To scope
>> down what I would like to discuss here: I need to read RFC2203 first.  Just
>> from browsing the table of contents for 2203, I’m not sure this helps me
>> understand what are *the protocol needs* with how a file system backend
>> stores/maps the network identity of the client.
>> > I don't know if this will help save you some time, but here is my
>> > recollection of how RPCSEC_GSS/Kerberized NFS works...
>> > - The client translates a user identity into a Kerberos principal (a
>> > string like "rmacklem@MY.REALME").
>> >   (This is usually a trivial mapping of username and default REALM.)
>> >  --> The client uses the user's TGT to acquire a session ticket from
>> the KDC.
>> > - The GSSAPI layer wraps this session ticket up in a blob they call a
>> token.
>> > - This "token" is sent to the server via a Null RPC by RPCSEC_GSS layer.
>> >  --> There is a back and forth between client and server, using Null
>> RPCs
>> >       in the RPCSEC_GSS layer that, if successful, authenticates the
>> Kerberos
>> >       prinicipal name on the server and creates a shorthand for the
>> > Kerberos principal.
>> >       (Translation from Kerberos principal is whatever the server
>> > chooses to do.
>> >         For POSIX like systems, it typically strips off the @REALM
>> > and then looks the
>> >         name up in the password/group databases to create POSIX
>> > credentials for the user,
>> >         which are associated with the shorthand mentioned above.)
>> > --> Then the client uses the shorthand (authenticated via encryption
>> > using the session key
>> >      from the Kerberos session ticket) to identify the "user" to the
>> > server. That's what RPCSEC_GSS
>> >      is doing for non-NULL RPCs.
>> > (Hopefully this is close. It has been a long time since I coded this
>> stuff.)
>> >
>>
>> This is really helpful, thanks.  (Is this in nfsuserd in FreeBSD?
>> Pulling up the code - you apparently wrote it in 2009.  ;).  I’m happy
>> because it’s basically a single file of 909 lines.)
>>
>> Ganesha must do this differently, right?  Doesn’t it run in user space?
>> Does it have a separate DB for this mapping?  The example I can find is
>> Ganesha running on top of Ceph – and it doesn’t seem to be particularly
>> running in user space. (https://github.com/nfs-ganesh
>> a/nfs-ganesha/wiki/Kerberos-setup-for-NFS-Ganesha-in-Ceph). I am making
>> a lot of guesses on Ganesha operation I’ve realized.
>>
>> > In theory, other mechanisms than Kerberos can be created for
>> GSSAPI/RPCSEC_GSS,
>> > but there has not been much done. (Long ago there was an RFC and some
>> code for
>> > a public key system, but no one adopted it.)
>> >
>> > It sounds like Tigran et al might be thinking of a new mechanism,
>> > although I haven't looked
>> > at what he has written up yet,
>> >
>>
>> Right now there is more the statement of what might go in such a draft
>> than the text itself.  I would really like to understand how someone who
>> manages a hybrid multi cloud instance for data storage deals with AA.  It
>> must be complicated.  The SCIM WG (https://datatracker.ietf.org/wg/scim/)
>> is developing cross-domain identity management.  I have no idea if it would
>> help at all, but if that’s a the right tool for a problem we (eventually)
>> face it’s available.  (Although from what little I know of it, I would
>> rather use ONC RPC than RPCs built on top of HTTP, but maybe I’m just old.)
>
>
> Your age doesn't matter.  Neither does mine.   What does  matter is that
> NFSv4 is defined to use ONC RPC and it would be a massive undertaking to
> try switch that. We would need a major justification to justify this
> enormous amount of work including a way to replace the functionality of rpc
> over rdma in an http framwork.
>
>>
>> >> Please *do not* think I’m trying to standardize how that works (that
>> is a server implementation choice) but what needs to be on the wire to
>> enable servers do that _however they chose to do it._
>> > Reading through enough of the POSIX ACLs some of the large
>> > differences between NFSv3 and NFSv4 become clear.
>> > I'm not sure if this sounds silly, but on-the-wire it is basically a
>> > string (owner/owner_group defines it as "user@domain",
>> > where the domain was never well defined. (Right now, most just handle
>> > one "domain". I don't think there is even a well
>> > defined way of checking "same string". By this I mean, does the DNS
>> > case insensitive and/or puny encoded rules apply?)
>> >
>>
>> Good points to consider if there is an extension to think about how to
>> update AA.
>
>
> I'm assuming you are not proposing updating anti-aircraft.  Seriously,
> updating authentication is a big job and I don't see any need to update
> authorization beyond the world Rick has proposed for draft POSIX ACLs.
> Trying to update.both of these together would be a big mistake.
>
>>
>> > (For authentication, it is still a string, but with something that
>> assures the
>> > server that it is legit.
>> >
>> > rick
>>
>> _______________________________________________
>> nfsv4 mailing list -- nfsv4@ietf.org
>> To unsubscribe send an email to nfsv4-leave@ietf.org
>>
>