On 12/31/2011 01:01 PM, Kees Cook wrote:
On Sat, Dec 31, 2011 at 12:22:09PM -0800, John Johansen wrote:
On 12/31/2011 01:07 AM, Kees Cook wrote:
Since the parser needs to know which rlimits are known to the kernel,
export the name/value mappings via the "rlimit" subdirectory in the
securityfs "features" directory.

So I have a different concern than Seth's, which may make things easier.

Basically we don't need the rlimit entry #, it doesn't hurt to have it here
it just isn't needed.  The interface defines a fixed ordering, and the kernel
remaps that to its internal order if it needs it.

Sorry I didn't have the specifics earlier, but I had to dig back and refresh
my memory of what was needed.

What we need for rlimits is
- which ones are supported
- whether setting more than the current tasks limit is supported

Currently the rlimit rules control setting only the current tasks rlimits.
But rlimits where extended a while ago to allow setting other tasks limits
as well.

We are going to extend our support with the policy db, providing matching
against the target tasks profile.

I was thinking a mask of the rlimits by name might be sufficient.  It seems
silly to use multiple files for that.

And then we can have another boolean file indicating the extended match support

Do you mean like this?

features/rlimit/
     mask ("cpu fsize data stack ...")
     extended_match ("no")

yeah I think that is sufficient, of course if you think we need an individual 
file
for each, I can live with that too

I think the dividing line for me on the more sysfs vs. procfs style interface
is whether the kernel needs to be able to accept a write/update of the value.
None of these do so how we group them, put them in a directory (individual
files), or are grouped in a single file.  Is a little more based on what feels
right.

I don't really expect the set of rlimits to change much, and it just feels
like a set of related things that could be specified together as a mask like
capabilities even (of course the names are more useful) so I don't mind
sticking them together in a single file.

The extended_match (or what ever we call it) feels like a different piece of 
info
so it should go in its own file.  As for the extended_match name, that feels 
like
a really poor choice.  Maybe
  foreign_task?
  task_match?

suggestions welcome


So now to messing with the spec,

I was thinking perhaps something similar for file and network as well
   a mask of the supported permissions
   and other files for other parts of what is supported

   eg.
   file/
     mask  (exec,read,write,append,link,..)
     owner (true)  #simple ownership test we currently do
     link_pair (true)
     extended_owner (false)  #arbitrary matching against owner info

Okay, sounds easy to do.

...
Hrmm thinking about it some of the conditional matching stuff should probably
be pulled out of file and stuck in a separate directory.  Call it matching or
dfa.
   matching/
     dfa16 - support the newer dfa16 format
     dfa32 - support the newer larger dfa32 format
     diff_encode - support differential encoding
     kernel_var - support kernel vars
     back_refs - support back references
     ..
     owner
     extended owner

So remove "owner" and 'extended_owner" from "file/" and move it here?

So, yes.  But the current upstream dfa only supports owner currently.  I don't
think we need to actually mention the other things that are not supported 
currently.

To be clear
  matching/
    owner

is it right now, unless you really want to put in entries that say "false".


Or we could rework this a little bit so it wasn't an individual entry for each
if you want.  It would be something like
  matching/
    format - notflex dfa16 dfa32
    options - diff_encode, kernel_var, back_refs
    conditionals - owner extended_owner, ...

I don't really care either works for me


And while we are at messing with the spec it might be worthwhile grouping all
the domain transition ones together in a dir
   domain/
     change_hat
     change_hatv
     change_profile
     change_onexec

and in the future we can add stacking etc.

Okay, I'll split it out.


Thanks kees, feel free to propose changes to the spec.

--
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to