From: Greg Banks <gnb@sgi.com>
To: Peter Staubach <staubach@redhat.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>,
Bryan Henderson <hbryan@us.ibm.com>, Neil Brown <neilb@suse.de>,
akpm@osdl.org, andros@citi.umich.edu, bfields@citi.umich.edu,
Christoph Hellwig <hch@lst.de>,
linux-fsdevel@vger.kernel.org, Olaf Kirch <okir@suse.de>
Subject: Re: NFS4 crack
Date: Fri, 23 Sep 2005 08:50:35 +1000 [thread overview]
Message-ID: <20050922225035.GA9165@sgi.com> (raw)
In-Reply-To: <4332F2E8.8030107@redhat.com>
On Thu, Sep 22, 2005 at 02:07:36PM -0400, Peter Staubach wrote:
> Trond Myklebust wrote:
>
> >to den 22.09.2005 Klokka 13:38 (-0400) skreiv Peter Staubach:
> >
> >Sure, but open alone isn't sufficient. A lot (most?) of the operations
> >involving filehandles are acting on directories.
> >
> >Imagine if someone renames a directory on the server while the NFS
> >server is in the middle of an unlink() operation, for instance.
>
> Yup, although you could resolve that by introducing a whole set of
> operations which work off of file descriptors, instead of pathnames.
To see why this is a bad idea, google for the unforeseen security
implications of Solaris' fchroot() syscall. Adding this kind of
syscall is *not* cost-free, you just won't know the cost until it's
too late to fix.
> [...] there are performance issues as well.
Performance sells boxes, selling boxes pays my bills, that's enough
reason for me. The ability to do zero-copy efficiently and to
(eventually) support RDMA into the page cache is enough reason for
a kernel nfsd. Sendfile? don't make me laugh.
Also, a kernel nfsd can see network packet boundaries and other
information not visible through any existing network API, and it does
so in nonblocking fashion, which enables it to bounds check RPC calls
better than any userspace RPC implementation can. This is one reason
why (e.g.) TCP XDR fragment header DoS attacks are much harder against
a kernel based server than a userspace server. Another reason is
that the kernel nfsd refuses to accept multiple-fragment RPC calls,
which is impossible if you use the libc RPC server library.
Userspace nfsd: just say no.
Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.
next prev parent reply other threads:[~2005-09-22 22:51 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-18 10:21 NFS4 crack Christoph Hellwig
2005-09-18 14:36 ` J. Bruce Fields
2005-09-19 10:35 ` Christoph Hellwig
2005-09-19 13:04 ` Anton Altaparmakov
2005-09-19 13:35 ` J. Bruce Fields
2005-09-19 13:39 ` Christoph Hellwig
2005-09-19 14:07 ` J. Bruce Fields
2005-09-19 14:11 ` Christoph Hellwig
2005-09-19 17:13 ` Bryan Henderson
2005-09-19 17:16 ` Randy.Dunlap
2005-09-19 21:57 ` Bryan Henderson
2005-09-19 22:11 ` Randy.Dunlap
2005-09-20 0:17 ` Bryan Henderson
2005-09-19 18:02 ` Christoph Hellwig
2005-09-19 18:53 ` William A.(Andy) Adamson
2005-09-19 18:59 ` Christoph Hellwig
2005-09-19 22:04 ` Bryan Henderson
2005-09-19 19:01 ` J. Bruce Fields
2005-09-19 19:05 ` Christoph Hellwig
2005-09-19 20:31 ` J. Bruce Fields
2005-09-20 12:49 ` Greg KH
2005-09-20 15:10 ` William A.(Andy) Adamson
2005-09-20 18:37 ` Neil Brown
2005-09-21 7:44 ` Andrew Morton
2005-09-22 20:58 ` William A.(Andy) Adamson
2005-09-21 13:41 ` Trond Myklebust
2005-09-21 14:40 ` J. Bruce Fields
2005-09-22 16:28 ` Bryan Henderson
2005-09-22 16:52 ` Trond Myklebust
2005-09-22 17:38 ` Peter Staubach
2005-09-22 17:52 ` Trond Myklebust
2005-09-22 18:07 ` Peter Staubach
2005-09-22 21:08 ` Bryan Henderson
2005-09-23 12:17 ` Peter Staubach
2005-09-23 20:50 ` Bryan Henderson
2005-09-23 21:02 ` NFS4 crack\ Al Viro
2005-09-26 16:29 ` Bryan Henderson
2005-09-26 17:13 ` Peter Staubach
2005-09-22 21:48 ` NFS4 crack Nicholas Miell
2005-09-22 22:50 ` Greg Banks [this message]
2005-09-22 21:19 ` Bryan Henderson
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=20050922225035.GA9165@sgi.com \
--to=gnb@sgi.com \
--cc=akpm@osdl.org \
--cc=andros@citi.umich.edu \
--cc=bfields@citi.umich.edu \
--cc=hbryan@us.ibm.com \
--cc=hch@lst.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=okir@suse.de \
--cc=staubach@redhat.com \
--cc=trond.myklebust@fys.uio.no \
/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;
as well as URLs for NNTP newsgroup(s).