[Labeled-nfs] Labeled RPC & NFS

Matthew N. Dodd Matthew.Dodd at sparta.com
Sun Dec 2 07:21:18 EST 2007


James Morris wrote:
> On Thu, 29 Nov 2007, Matthew N. Dodd wrote:
> 
>> Stephen Smalley wrote:
> 
> Btw, looks like Stephen's email did not make it to the list.
> 
>>> I assume that's just for prototyping purposes?  My understanding was
>>> that we were going to do this via GSS.
>> GSS adds nothing but additional complexity at this point.  The key 
>> changes here are the ones that change the various cred structures 
>> consumed by the RPC and NFS code.
> 
> Well, labeled NFS must work with existing GSS implementations, and it 
> seems that this scheme is incompatible with GSS as it is a distinct 
> security flavor of its own.

So a couple of potential issues.

The userland/kernel GSS protocol provides credential service on a 
per-UID basis.

The credential cache mechanism matches per UID.  (As did the auth_unix 
mechanism which is why I created a whole new auth_seclabel.)

In general the current RPC implementation seems poorly suited to MAC 
environments.

RPCSEC_GSS seems like a good idea, but the implementation isn't actually 
very extensible (in the way we need to be able to add additional fields 
to the credential.)

> I'm also not quite sure where things sit in terms of potentially extending 
> GSS-API to support MAC labels & credentials, as it seems that v2 can no 
> longer be extended, and further extensions need to happen in v3: 
> http://www.ietf.org/html.charters/kitten-charter.html
> 
> So, it seems that modifications at the RPC layer are unlikely to result in 
> a workable solution in the near or medium future.  Of course, if I'm 
> mistaken here, please let me know.

As far as GSS goes, I agree.

> One approach I was considering was to encode all MAC labels and related 
> security state within the NFS protocol and not necessarily involve the RPC 
> layer at all.  i.e. via a "security" OP which is always prepended to 
> compound OPs when labeling is active -- an approach which has been 
> discussed recently in relation to volatile security state.
> 
> This would allow existing GSS implementations to work with Labeled NFS 
> without modification.  Given that a security OP may be necessary (or at 
> least desirable) in any case, it seems reasonable and practical to 
> consider this approach for all MAC labeling.

This notion grows on me.

OP_PUTCLIENTLABEL (or something.)


More information about the Labeled-nfs mailing list