[Labeled-nfs] Labeled RPC & NFS

Dave Quigley dpquigl at tycho.nsa.gov
Mon Dec 3 15:48:32 EST 2007


On Sun, 2007-12-02 at 07:21 -0500, Matthew N. Dodd wrote:
> 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.)

This also solves the concerns that Trond had with the callbacks. This op
can have a stateid associated with it and if they don't match get a new
label/stateid from the server. Since relabeling is rare this shouldn't
be much of a problem. 

> _______________________________________________
> Labeled-nfs mailing list
> Labeled-nfs at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/labeled-nfs



More information about the Labeled-nfs mailing list