[Labeled-nfs] Current status
Casey Schaufler
casey at schaufler-ca.com
Wed Jul 25 14:45:53 EDT 2007
--- James Morris <jmorris at namei.org> wrote:
> Here's the current status of the project:
>
> There's a need for SELinux to provide full support for NFS, i.e. extend
> labeling over the wire.
>
> A few weeks back, I tried to capture all of the requirements for this,
> based on a review of previous research (e.g. DTOS, NFSv3 SELinux work), as
> well as combing through various email discussions which have occurred on
> the subject over the years.
>
> These requirements were published for initial review, and the latest is
> located here:
>
> http://namei.org/lnfs/senfs-requirements-draft-06.txt
>
> One of the feedback items (from Paul Moore), was the possible desire to
> approach the work more generally, to provide a general facility for MAC
> enabled NFSv4.
>
> Thus, we are now looking at "Labeled NFS" as a generic MAC scheme, and
> then SELinux-specific support as a flavor of it. Note that the "SENFS"
> draft is now a little out of date, and will likely be split out into
> generic and SELinux-specific components rather than being revised again.
>
> Since then, there have been a couple of discussions off-list between
> various interested parties, and I'll attempt to summarize some of those
> here:
>
> - There is likely a need to provide some limited-functionality forms of
> labeling via NFSv4, to take into account scenarios such as:
>
> - "dumb" server, which is not itself MAC enabled, entirely trusts
> clients, and simply stores and retrieves MAC labels with the data
>
> - nfsroot (requires great trust in server and may not have local
> authentication services running)
>
> - Orthogonal security services, not using RPCSEC_GSS e.g. physically
> secure networks; labeled networking (CIPSO, labeled IPsec); bump in the
> wire security etc.
>
> - Need to ensure Kerberos data is MAC-protected on a per-domain basis
> (Linux implementation issue, where krb data is maintained in /tmp, IIRC).
>
> - Discussion of label transport mechanisms has further confirmed that MAC
> labels are likely best conveyed as recommended attributes, rather than
> named attributes or Linux/BSD-style xattrs. However, perhaps we can allow
> for flexibility in label transport in any case.
>
> - Must be able to support mixed environments well, e.g. users running
> several operating systems, some not MAC-aware, accessing the same
> file server.
>
> - Need to ensure manageability (e.g. Linux implementation may integrate
> with FreeIPA http://www.freeipa.org/page/Main_Page).
>
> - Lots of discussion around DOI (domains of interpretation). We will need
> some way to ensure that systems understand each other, e.g. type of MAC,
> policy format version, policy model etc. How do we identify DOI and then
> provide a means for systems to negotiate relationships ?
>
> - We need to at least identify DOI handling points, as well as locations
> where labels are encoded/decoded/translated.
>
> - Potentially allow for interaction between different types of MAC
> systems, e.g. SELinux box talking to a Trusted Solaris server.
>
>
> ** If you see any issues to discuss which are not mentioned above, please
> raise them here on the list. **
I would very much like to see a model whereby the server is the
only interface to the file system. NFS provides an exported view
of a local file system, and supporting two sets of semantics
(local and network) leads to no end of complications. I would be
very surprised if providing only a network interface doesn't
reduce the complexity of the problems dramatically. I have done
some prototyping and even using my out-of-date design skills it
seems like a huge win.
> Status of work:
>
> - Initial prototype code is being developed by Sparta to get SELinux
> labels transported across the wire. This has not been posted publicly as
> yet.
>
> - I am investigating alternative label transport and authentication
> mechanisms.
>
> - We need to re-visit the requirements to split out generic labeling,
> aiming for the IETF standards track. If anyone would like to help out in
> this area, especially if you have IETF standards experience and/or an
> interest in non-SELinux MAC models, please feel free to step up!
Smack labels are 8byte, null terminated charactor strings,
if that helps at all. I have dealt with the IETF as part of
the TSIG work 200 years ago, but we didn't have a whole lot
of success, so I don't know how valueable that experience would
be. I am interested in doing what I can.
Casey Schaufler
casey at schaufler-ca.com
More information about the Labeled-nfs
mailing list