* Per Domain Permissive Mode @ 2007-06-19 14:55 Daniel J Walsh 2007-06-19 15:13 ` Joshua Brindle 2007-06-19 15:17 ` James Morris 0 siblings, 2 replies; 9+ messages in thread From: Daniel J Walsh @ 2007-06-19 14:55 UTC (permalink / raw) To: SE Linux Steven mentioned in another conversion the idea of a Per Domain Permissive Mode. This is something our customers are looking for. A few customers want to write policy to confine an application but they are afraid of releasing it in enforcingmode to hundreds/thousands of machines, and then finding out they missed a crucial code path. The would like to be able to write the policy distribute it and gather AVC messages in for a couple of months, until they fail confident that the policy will work. Currently they would have to turn all the machines to permissive mode or take there chances. Having a simple domain that would run in permissive mode while the rest of the machine ran enforcing would satisfy this need. Thoughts... Dan -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-19 14:55 Per Domain Permissive Mode Daniel J Walsh @ 2007-06-19 15:13 ` Joshua Brindle 2007-06-19 15:17 ` James Morris 1 sibling, 0 replies; 9+ messages in thread From: Joshua Brindle @ 2007-06-19 15:13 UTC (permalink / raw) To: Daniel J Walsh; +Cc: SE Linux, slide Daniel J Walsh wrote: > Steven mentioned in another conversion the idea of a Per Domain > Permissive Mode. This is something our customers are looking for. > A few customers want to write policy to confine an application but > they are afraid of releasing it in enforcingmode to hundreds/thousands > of machines, and then finding out they missed a crucial code path. > The would like to be able to write the policy distribute it and gather > AVC messages in for a couple of months, until they fail confident that > the policy will work. Currently they would have to turn all the > machines to permissive mode or take there chances. > Having a simple domain that would run in permissive mode while the > rest of the machine ran enforcing would satisfy this need. > > Thoughts... I don't think this should be done at the mechanism level. One can create a policy that allows everything and also audits it, and turns that into policy. This sounds like something SLIDE would be pretty good at (it already has a remote agent that monitors logs and pushes policy to remote machines). -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-19 14:55 Per Domain Permissive Mode Daniel J Walsh 2007-06-19 15:13 ` Joshua Brindle @ 2007-06-19 15:17 ` James Morris 2007-06-19 15:19 ` James Morris 1 sibling, 1 reply; 9+ messages in thread From: James Morris @ 2007-06-19 15:17 UTC (permalink / raw) To: Daniel J Walsh; +Cc: SE Linux On Tue, 19 Jun 2007, Daniel J Walsh wrote: > Thoughts... We can do this in policy: define a domain which runs with all accessess allowed, and also optionally logged for profiling purposes. -- James Morris <jmorris@namei.org> -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-19 15:17 ` James Morris @ 2007-06-19 15:19 ` James Morris 2007-06-19 15:44 ` Karl MacMillan 0 siblings, 1 reply; 9+ messages in thread From: James Morris @ 2007-06-19 15:19 UTC (permalink / raw) To: Daniel J Walsh; +Cc: SE Linux On Tue, 19 Jun 2007, James Morris wrote: > On Tue, 19 Jun 2007, Daniel J Walsh wrote: > > > Thoughts... > > We can do this in policy: define a domain which runs with all accessess > allowed, and also optionally logged for profiling purposes. Actually, this is not entirely useful for development -- perhaps some kind of abstraction can be used to hide all of the allow rules, so it just appears to the policy developer that the domain is in permissive mode. -- James Morris <jmorris@namei.org> -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-19 15:19 ` James Morris @ 2007-06-19 15:44 ` Karl MacMillan 2007-06-19 16:11 ` Daniel J Walsh 2007-06-20 11:43 ` Stephen Smalley 0 siblings, 2 replies; 9+ messages in thread From: Karl MacMillan @ 2007-06-19 15:44 UTC (permalink / raw) To: James Morris; +Cc: Daniel J Walsh, SE Linux On Tue, 2007-06-19 at 11:19 -0400, James Morris wrote: > On Tue, 19 Jun 2007, James Morris wrote: > > > On Tue, 19 Jun 2007, Daniel J Walsh wrote: > > > > > Thoughts... > > > > We can do this in policy: define a domain which runs with all accessess > > allowed, and also optionally logged for profiling purposes. > > Actually, this is not entirely useful for development -- perhaps some kind > of abstraction can be used to hide all of the allow rules, so it just > appears to the policy developer that the domain is in permissive mode. > The complicated bit is actually the auditallow rules to get similar auditing to permissive. We only want to add auditallow rules for the extra access allowed to make the domain unconfined not for all access allowed by the domain. That basically means parsing the module, figuring out what was allowed, and adding auditallow for the difference between that access and unconfined. Sepolgen is almost at a point it can do this. Slide, as far as I know, doesn't parse the access in sufficient detail to do this yet. One downside to this approach is teaching policy generation tools to generate access for granted messages in the log. It also makes explicit auditallow somewhat useless. Karl -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-19 15:44 ` Karl MacMillan @ 2007-06-19 16:11 ` Daniel J Walsh 2007-06-20 11:43 ` Stephen Smalley 1 sibling, 0 replies; 9+ messages in thread From: Daniel J Walsh @ 2007-06-19 16:11 UTC (permalink / raw) To: Karl MacMillan; +Cc: James Morris, SE Linux Karl MacMillan wrote: > On Tue, 2007-06-19 at 11:19 -0400, James Morris wrote: > >> On Tue, 19 Jun 2007, James Morris wrote: >> >> >>> On Tue, 19 Jun 2007, Daniel J Walsh wrote: >>> >>> >>>> Thoughts... >>>> >>> We can do this in policy: define a domain which runs with all accessess >>> allowed, and also optionally logged for profiling purposes. >>> >> Actually, this is not entirely useful for development -- perhaps some kind >> of abstraction can be used to hide all of the allow rules, so it just >> appears to the policy developer that the domain is in permissive mode. >> >> > > The complicated bit is actually the auditallow rules to get similar > auditing to permissive. We only want to add auditallow rules for the > extra access allowed to make the domain unconfined not for all access > allowed by the domain. That basically means parsing the module, figuring > out what was allowed, and adding auditallow for the difference between > that access and unconfined. > > Sepolgen is almost at a point it can do this. Slide, as far as I know, > doesn't parse the access in sufficient detail to do this yet. > > One downside to this approach is teaching policy generation tools to > generate access for granted messages in the log. It also makes explicit > auditallow somewhat useless. > > Karl > > One interesting twist would be if dontaudit rules were enforced. For example when an app uses pam, it attempts to read/write /etc/shadow. Most apps have this dontaudited so a different code path gets walked within pam. If we just run the app totally in permissive mode, the app will not hit this code path, until it gets out in the wild in enforcing mode. So the algorithm should be something like the following newallowrules = unconfined_domain - ( allowrules + dontauditrules ) permissiveconfineddomain = newallowrules + allowrules + dontauditrules + { auditallow newallowrules } -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-19 15:44 ` Karl MacMillan 2007-06-19 16:11 ` Daniel J Walsh @ 2007-06-20 11:43 ` Stephen Smalley 2007-06-20 11:48 ` James Morris 1 sibling, 1 reply; 9+ messages in thread From: Stephen Smalley @ 2007-06-20 11:43 UTC (permalink / raw) To: Karl MacMillan; +Cc: James Morris, Daniel J Walsh, SE Linux On Tue, 2007-06-19 at 11:44 -0400, Karl MacMillan wrote: > On Tue, 2007-06-19 at 11:19 -0400, James Morris wrote: > > On Tue, 19 Jun 2007, James Morris wrote: > > > > > On Tue, 19 Jun 2007, Daniel J Walsh wrote: > > > > > > > Thoughts... > > > > > > We can do this in policy: define a domain which runs with all accessess > > > allowed, and also optionally logged for profiling purposes. > > > > Actually, this is not entirely useful for development -- perhaps some kind > > of abstraction can be used to hide all of the allow rules, so it just > > appears to the policy developer that the domain is in permissive mode. > > > > The complicated bit is actually the auditallow rules to get similar > auditing to permissive. We only want to add auditallow rules for the > extra access allowed to make the domain unconfined not for all access > allowed by the domain. That basically means parsing the module, figuring > out what was allowed, and adding auditallow for the difference between > that access and unconfined. > > Sepolgen is almost at a point it can do this. Slide, as far as I know, > doesn't parse the access in sufficient detail to do this yet. > > One downside to this approach is teaching policy generation tools to > generate access for granted messages in the log. It also makes explicit > auditallow somewhat useless. Yes, while I've often suggested using auditallow+allow rules to yield per-domain permissive mode in the past, I'm not sure it actually meets the need fully. Also, do we truly want per-domain or per-process permissive mode? Similar question applies to how we provide "unconfined" domains; to date, we have done so by generating all of those allow rules, but that is costly in policy (somewhat mitigated by use of attributes, but limited especially as we add exception cases). -- Stephen Smalley National Security Agency -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-20 11:43 ` Stephen Smalley @ 2007-06-20 11:48 ` James Morris 2007-06-20 13:09 ` Stephen Smalley 0 siblings, 1 reply; 9+ messages in thread From: James Morris @ 2007-06-20 11:48 UTC (permalink / raw) To: Stephen Smalley; +Cc: Karl MacMillan, Daniel J Walsh, SE Linux On Wed, 20 Jun 2007, Stephen Smalley wrote: > Similar question applies to how we provide "unconfined" domains; to > date, we have done so by generating all of those allow rules, but that > is costly in policy (somewhat mitigated by use of attributes, but > limited especially as we add exception cases). Do you know how much of the kernel memory we use for policy is used by this? -- James Morris <jmorris@namei.org> -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Per Domain Permissive Mode 2007-06-20 11:48 ` James Morris @ 2007-06-20 13:09 ` Stephen Smalley 0 siblings, 0 replies; 9+ messages in thread From: Stephen Smalley @ 2007-06-20 13:09 UTC (permalink / raw) To: James Morris Cc: Karl MacMillan, Daniel J Walsh, SE Linux, Christopher J. PeBenito On Wed, 2007-06-20 at 07:48 -0400, James Morris wrote: > On Wed, 20 Jun 2007, Stephen Smalley wrote: > > > Similar question applies to how we provide "unconfined" domains; to > > date, we have done so by generating all of those allow rules, but that > > is costly in policy (somewhat mitigated by use of attributes, but > > limited especially as we add exception cases). > > Do you know how much of the kernel memory we use for policy is used by > this? Not offhand. As an experiment, I tried building policy with and without the unconfined module, but that doesn't seem to make a large difference in the policy file size, so perhaps it isn't so significant anymore. -- Stephen Smalley National Security Agency -- 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. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-06-20 13:09 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-06-19 14:55 Per Domain Permissive Mode Daniel J Walsh 2007-06-19 15:13 ` Joshua Brindle 2007-06-19 15:17 ` James Morris 2007-06-19 15:19 ` James Morris 2007-06-19 15:44 ` Karl MacMillan 2007-06-19 16:11 ` Daniel J Walsh 2007-06-20 11:43 ` Stephen Smalley 2007-06-20 11:48 ` James Morris 2007-06-20 13:09 ` Stephen Smalley
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.