Re: turning on s2s copy by default in knfsd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 11, 2023 at 10:23 AM Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>
> Chuck and I were chatting yesterday about what it will take to make the
> inter_copy_offload_enable module option on by default, and I'd like to
> start working toward that end.
>
> I think what we want to aim for is to eventually deprecate the module
> option and have this "just work" when the conditions are right.
>
> It looks like main obstacle is this (from RFC7862 section 4.9):
>
>    NFSv4 clients and servers supporting the inter-server COPY operations
>    described in this section are REQUIRED to implement the mechanism
>    described in Section 4.9.1.1 and to support rejecting COPY_NOTIFY
>    requests that do not use the RPC security protocol (RPCSEC_GSS)
>    [RFC7861] with privacy.  If the server-to-server copy protocol is
>    based on ONC RPC, the servers are also REQUIRED to implement
>    [RFC7861], including the RPCSEC_GSSv3 "copy_to_auth",
>    "copy_from_auth", and "copy_confirm_auth" structured privileges.
>    This requirement to implement is not a requirement to use; for
>    example, a server may, depending on configuration, also allow
>    COPY_NOTIFY requests that use only AUTH_SYS.
>
>    If a server requires the use of an RPCSEC_GSSv3 copy_to_auth,
>    copy_from_auth, or copy_confirm_auth privilege and it is not used,
>    the server will reject the request with NFS4ERR_PARTNER_NO_AUTH.
>
> We don't (yet) have GSSv3 support, so we'd need to implement that in
> order to make this work right with krb5. Has anyone started looking at
> GSSv3?

Andy Adamson way back when implemented a draft gssv3 implementation
and I believe we still have those patches. Anna periodically have been
rebasing them but no more than that. I believe there might have been
even some patches for the copy piece but I believe those might be
lost. I'd have to dig around in my oldest laptop.

I'd like to address some other questions later as I'm out of the office today.

> Incidentally, has anyone tried doing this with sec=krb5 in the current
> code? Does it actually work? I don't see any place where we return
> nfserr_partner_no_auth, so I wonder if we need to fix up the s2s COPY
> authentication and error handling?
>
> Another question: The v4.2 spec was written before the RPC over TLS
> spec. Should we aim to allow this to work by default if the client and
> both servers are using xprtsec=mtls and are secured by the same CA?
>
> 1/ the client and servers are all using GSSv3 with krb5p (or some other
> encryption)
>
> ...or...
>
> 2/ the client and servers are all using mtls with certificates signed by
> the same CA
>
>
> ...I expect we'll probably be able to accomodate #2 before #1.
>
> Beyond that, we could allow for module or export option that still
> allows s2s copy to work and relaxes the above restrictions (to allow
> people to use it over plaintext with AUTH_SYS on "secure" networks).
>
> Anything I've overlooked here, or other thoughts?
>
> Cheers,
> --
> Jeff Layton <jlayton@xxxxxxxxxx>




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux