From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Stephen Smalley <sds@tycho.nsa.gov>
Cc: NeilBrown <neilb@suse.de>,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
miklos@szeredi.hu, viro@zeniv.linux.org.uk, haveblue@us.ibm.com,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org, hch@infradead.org,
linux-security-module@vger.kernel.org, jmorris@namei.org
Subject: Re: r-o bind in nfsd
Date: Wed, 26 Mar 2008 11:47:53 -0500 [thread overview]
Message-ID: <20080326164753.GA20578@sergelap.ibm.com> (raw)
In-Reply-To: <1206533042.3302.266.camel@moss-spartans.epoch.ncsc.mil>
Quoting Stephen Smalley (sds@tycho.nsa.gov):
>
> On Wed, 2008-03-26 at 09:32 +1100, NeilBrown wrote:
> > On Tue, March 25, 2008 10:45 pm, Tetsuo Handa wrote:
> > > Hello.
> > >
> > >> Maybe some enhancement to the 'intent' structure with a similar
> > >> effect could be done instead.
> > >>
> > >> Then you could, presumably, put a security hook somewhere in
> > >> link_path_walk for those modules (like AppArmor) which want to do
> > >> checks based on the namespace.
> > >
> > > I think link_path_walk() is not a good place to insert new LSM hooks
> > > for pathname based access control (AppArmor and TOMOYO) purpose because
> > >
> > > (1) The kernel don't know what operation (open/create/truncate etc.)
> > > will be
> > > done at the moment of link_path_walk().
> >
> > Though the 'indent' data structure could be used to carry this information.
> >
> > >
> > > (2) Not all operations call link_path_walk() before these operations
> > > are done. For example, ftruncate() doesn't call link_path_walk().
> >
> > But do you want to impose path-name based controls to ftruncate?
> > Surely once you have a file open for write (not O_APPEND), then no
> > other permission is required to truncate the file, is it?
> > If it is, then maybe the 'struct file' should be tagged at open time
> > to say whether 'truncate' is allowed.
> >
> > >
> > > (3) The rename() and link() operations handle two pathnames.
> > > But, it is not possible to know both pathnames at the moment of
> > > link_path_walk().
> >
> > Not an insolvable problem.
> > One could imagine an implementation where a TYPE_RENAME_FROM security
> > check produced a cookie that was consumed by a TYPE_RENAME_TO security
> > check. The cookie could then be used by the security module to
> > make any connection between the two names that might be appropriate.
> >
> > >
> > > I think we need to introduce new LSM hooks outside link_path_walk().
> > > http://kerneltrap.org/mailarchive/linux-fsdevel/2008/2/17/882024
> > >
> > <rant>
> > I suspect we would be much better off removing all the security hooks.
> > Security done at that level seems to be way too complex such that most
> > people don't really understand it. And people who don't understand
> > security don't use it.
> > We'd be much better off getting rid of the whole "micro-manage security"
> > concept and provide isolation via some sort of high level container
> > approach.
> > </rant>
>
> Containers can be useful, but they aren't a substitute for access
> control, and they don't solve the same problem.
Not only that, but containers require an LSM to provide user isolation
and root containment.
Hopefully at some point we'll be able to get around that for most VPSs,
but that's a long ways off and personally I suspect I would always want
a policy locking VPSs up nice and tight.
> And SELinux does get used, and recent stats on Fedora 8 suggest that few
> people disable it anymore. Advances in the SELinux tools (loadable
> modules, semanage, system-config-selinux, setroubleshoot, etc) have gone
> a long way to enabling users to solve problems they encounter.
>
> --
> Stephen Smalley
> National Security Agency
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2008-03-26 16:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-21 14:59 r-o bind in nfsd Miklos Szeredi
2008-03-21 15:54 ` Al Viro
2008-03-21 16:24 ` Miklos Szeredi
2008-03-21 16:35 ` Al Viro
2008-03-21 16:54 ` Miklos Szeredi
2008-03-21 17:08 ` Miklos Szeredi
2008-03-21 18:11 ` Al Viro
2008-03-21 18:52 ` Miklos Szeredi
2008-03-21 19:49 ` Al Viro
2008-03-21 20:23 ` Miklos Szeredi
2008-03-22 2:20 ` Tetsuo Handa
2008-03-21 21:08 ` Dave Hansen
2008-03-21 21:17 ` Miklos Szeredi
2008-03-25 2:52 ` Neil Brown
2008-03-25 11:45 ` Tetsuo Handa
2008-03-25 22:32 ` NeilBrown
[not found] ` <20080325224919.GM10722@ZenIV.linux.org.uk>
2008-03-25 23:29 ` NeilBrown
2008-03-26 12:04 ` Stephen Smalley
2008-03-26 16:47 ` Serge E. Hallyn [this message]
2008-03-26 21:35 ` James Morris
2008-03-27 0:29 ` Serge E. Hallyn
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=20080326164753.GA20578@sergelap.ibm.com \
--to=serue@us.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=haveblue@us.ibm.com \
--cc=hch@infradead.org \
--cc=jmorris@namei.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=neilb@suse.de \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=sds@tycho.nsa.gov \
--cc=viro@zeniv.linux.org.uk \
/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