From: Joshua Brindle <method@manicmethod.com>
To: Karl MacMillan <kmacmillan@mentalrootkit.com>
Cc: jwcart2@tycho.nsa.gov, SELinux <selinux@tycho.nsa.gov>,
Steve Smalley <sds@epoch.ncsc.mil>
Subject: Re: Are the reference policy abstractions the right ones?
Date: Wed, 10 Oct 2007 11:47:26 -0400 [thread overview]
Message-ID: <470CF40E.4050006@manicmethod.com> (raw)
In-Reply-To: <1192029823.2898.32.camel@localhost.localdomain>
Karl MacMillan wrote:
> On Tue, 2007-10-09 at 16:00 -0400, Karl MacMillan wrote:
>
>> On Tue, 2007-10-09 at 15:44 -0400, James Carter wrote:
>>
>>> On Tue, 2007-10-09 at 15:07 -0400, Karl MacMillan wrote:
>>>
>> [...]
>>
>>
>>>>> but why would you use the attribute
>>>>> statement?
>>>>>
>>>>> wouldn't it be this?
>>>>>
>>>>> type domain
>>>>> type daemon, domain
>>>>> type network_server, daemon
>>>>>
>>>>>
>>>> Maybe - if we remove the distinction entirely. The only reason I can
>>>> think to leave the attribute statement is to mark a type as "abstract" -
>>>> i.e., can't actually be a label on a real subject or object in the
>>>> running system.
>>>>
>>>>
>>> There would be a few places where one might use an abstract type, domain
>>> being one of them, but I am not sure they would be needed.
>>>
>>> Your idea does seem to be simple, but it still won't handle the case
>>> where there is type mangling.
>>>
>>> if we have:
>>>
>>> type foo;
>>> allow foo foo_bar : file read;
>>> type baz, foo;
>>>
>>> Where foo_bar was created in some macro or interface.
>>>
>>> It seems like baz would have read permission on foo_bar, when probably
>>> we would like it to have read permission on baz_bar.
>>>
>>> All of which you know and previously mentioned a month ago:
>>> http://marc.info/?l=selinux&m=118961442411429&w=2
>>>
>>>
>> Yeah - too bad I don't have an answer. We basically need a way to mark
>> groups of types as related and do self-like replacements. No good syntax
>> suggestions here.
>>
>>
>
> Here's a suggestion (this assumes that hierarchy stops using dot in
> favor of explicit statements):
>
> type_group daemon {
> type process, domain;
> type exec, exec_file;
> type conf, file_type;
> type log, log_file;
> }
>
> allow daemon.process daemon.exec : file entrypoint;
> # etc., etc. for the exec permissions - could
> # even have a type_transition.
> allow daemon.process daemon.conf : file read;
> allow daemon.process daemon.log : file { read write };
>
> # Apache gets all of the types defined in daemon and
> # access to the apache versions - so apache.process
> # can read apache.conf.
> type_group apache, daemon {
> type html_files, file;
> }
>
> allow apache.process apache.html_files : file read;
>
> This handles the new set of types that is separate from the existing
> set. We could also make some of the groups "abstract" - so that
> daemon.process can't be applied to a process.
>
>
Interesting, as we were talking about in IRC it might be an interesting
idea to graphically export a 'reduce granularity' slider to make things
very easy to reduce the strictness of a policy on a particular
application (group of domains). With the dots if the hierarchy is still
used you can just remove domains and file types at higher levels of
granularity (more dots). I don't know, maybe a really bad idea but it
seems like an interesting way to reduce the granularity of policy
enforcement in an automated and easily accessible way.
> To handle the need for extension - Dan's java_t example. Assuming we
> have unconfined, wouldn't this work:
>
> type java_t, unconfined_t;
>
> allow java_t self : process execmem;
>
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
next prev parent reply other threads:[~2007-10-10 15:47 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-09 15:08 Are the reference policy abstractions the right ones? James Carter
2007-10-09 17:10 ` Karl MacMillan
2007-10-09 18:54 ` James Carter
2007-10-09 19:07 ` Karl MacMillan
2007-10-09 19:44 ` James Carter
2007-10-09 20:00 ` Karl MacMillan
2007-10-10 15:23 ` Karl MacMillan
2007-10-10 15:47 ` Joshua Brindle [this message]
2007-10-10 16:52 ` James Carter
2007-10-10 20:39 ` Karl MacMillan
2007-10-11 17:00 ` Karl MacMillan
2007-10-11 17:32 ` James Carter
2007-10-12 16:45 ` Chad Sellers
2007-10-12 19:53 ` James Carter
2007-10-12 19:59 ` Karl MacMillan
2007-10-12 20:48 ` Chad Sellers
2007-10-15 2:50 ` James Morris
2007-10-15 3:45 ` Joe Nall
2007-10-15 4:06 ` James Morris
2007-10-15 14:30 ` David P. Quigley
2007-10-15 18:55 ` Karl MacMillan
2007-10-15 21:15 ` James Morris
2007-10-15 22:23 ` Karl MacMillan
2007-10-11 23:30 ` Daniel J Walsh
2007-10-09 17:34 ` Joshua Brindle
2007-10-09 18:18 ` Christopher J. PeBenito
2007-10-10 15:09 ` Karl MacMillan
2007-10-10 16:25 ` Casey Schaufler
2007-10-10 18:26 ` Paul Moore
2007-10-11 7:18 ` Frank L. Mayer
2007-10-11 20:26 ` James Carter
2007-10-12 16:45 ` Chad Sellers
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=470CF40E.4050006@manicmethod.com \
--to=method@manicmethod.com \
--cc=jwcart2@tycho.nsa.gov \
--cc=kmacmillan@mentalrootkit.com \
--cc=sds@epoch.ncsc.mil \
--cc=selinux@tycho.nsa.gov \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.