Ehlo.
I'm trying to develop a RBAC policy and here's one issue I feel I keep constantly running into.
So the full system learning seems to work quite nicely for most of the times, but it doesn't seem to "pick up" root's processes that exercise CAP_DAC_OVERRIDE (or CAP_DAC_READ_SEARCH) when they are reading information from another user's processes through /proc/<pid>/. I also have GRKERNSEC_PROC_USER, so root doesn't have read access to those files in /proc.
Here's a specific example:
* console-kit-daemon is running as the root user
* User sends a message via D-Bus
* ConsoleKit tries to acquire some info from the PID that sent the message and fails: open("/proc/23893/environ", O_RDONLY) = -1 EACCES (Permission denied)
* Full system learning has registered CAP_SYS_PTRACE as the only required capability for console-kit-daemon
I think I gain better security when I relax the permissions on /proc, so I don't need to grant these daemons such a powerful capability "over nothing". Should the full system learning be improved so that it would register the need for this capability when root doesn't have read access to all of /proc?
I thought about setting GRKERNSEC_PROC_GID to 0, but I'm not entirely sure whether this is a "proper" solution.