Thread (27 messages) 27 messages, 7 authors, 2021-11-01

Re: server-to-server copy by default

From: Chuck Lever III <hidden>
Date: 2021-10-20 16:00:36

On Oct 20, 2021, at 11:54 AM, J. Bruce Fields [off-list ref] wrote:

knfsd has supported server-to-server copy for a couple years (since
5.5).  You have set a module parameter to enable it.  I'm getting asked
when we could turn that parameter on by default.

I've got a couple vague criteria: one just general maturity, the other a
security question:

1. General maturity: the only reports I recall seeing are from testers.
Is anyone using this?  Does it work for them?  Do they find a benefit?
Maybe we could turn it on by default in one distro (Fedora?) and promote
it a little and see what that turns up?
I like the idea of enabling it in one of the technology
preview distributions.

But wrt the maturity question, is the work finished? Or,
perhaps a better question is do we have a minimum viable
product here that can be enabled, or is more work needed
to meet even that bar?

One thing that I recall is missing is support for Kerberos
in the server-to-server copy operation. Is that in plan,
or deemed unimportant?

2. Security question: with server-to-server copy enabled, you can send
the server a COPY call with any random address, and the server will
mount that address, open a file, and read from it.  Is that safe?

Normally we only mount servers that were chosen by root.  Here we'll
mount any random server that some client told us to.  What's the worst
that random server can do?  Do we trust our xdr decoding?  Can it DOS us
by throwing the client's state recovery code into some loop with weird
error returns?  Etc.
A basic question is what is in distribution QE test suites
that could exercise this feature? Should upstream be tasked
with providing any missing pieces (as part of, say, pynfs,
or nfstests)?

Maybe it's fine.  I'm OK with some level of risk.  I just want to make
sure somebody's thought this through.

There's also interest in allowing unprivileged NFS mounts, but I don't
think we've turned that on yet, partly for similar reasons.  This is a
subset of that problem.

--b.
--
Chuck Lever


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help