Commit Graph

1860 Commits

Author SHA1 Message Date
Laurent Bigonville ef854630b4 Label var_lock_t as a mountpoint
In Debian, /var/lock is a symlink to /var/run/lock which is a tmpfs
mount.
2013-01-23 07:10:13 -05:00
Laurent Bigonville 7955d0b246 Add support for rsyslog
Allow sys_nice capability, setsched, allow to search in /var/spool and
syslog_t domain to read network state files in /proc

squash! Add support for rsyslog
2013-01-23 07:10:00 -05:00
Laurent Bigonville bb00509804 Label executables in /usr/lib/NetworkManager/ as bin_t 2013-01-23 07:09:24 -05:00
Laurent Bigonville bc40d90816 udev.if: Call files_search_pid instead of files_search_var_lib in udev_manage_pid_files
udev_manage_pid_files is supposed to manage files that are located in
/var/run, allow to search files in this directory instead of /var/lib
2013-01-23 07:09:05 -05:00
Laurent Bigonville 0ca8ac16f3 Label /var/run/initctl as initctl_t
In Debian, the initctl pipe has been moved from /dev/initctl to
/run/initctl
2013-01-23 07:08:38 -05:00
Laurent Bigonville 4ae3d78602 Label /var/run/motd.dynamic as initrc_var_run_t 2013-01-23 07:08:06 -05:00
Laurent Bigonville b40dc4f657 Label /var/run/shm as tmpfs_t for Debian
In Debian, /dev/shm is a symlink to /var/run/shm. Label that mountpoint
the same way.
2013-01-23 07:07:28 -05:00
Chris PeBenito be2e70be8d Module version bump for fixes from Dominick Grift. 2013-01-03 10:53:34 -05:00
Dominick Grift 79e1e4efb9 NSCD related changes in various policy modules
Use nscd_use instead of nscd_socket_use. This conditionally allows
nscd_shm_use

Remove the nscd_socket_use from ssh_keygen since it was redundant
already allowed by auth_use_nsswitch

Had to make some ssh_keysign_t rules unconditional else
nscd_use(ssh_keysign_t) would not build (nested booleans) but that does
not matter, the only actual domain transition to ssh_keysign_t is
conditional so the other unconditional ssh_keygen_t rules are
conditional in practice

Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2013-01-03 10:43:10 -05:00
Dominick Grift 8b3ffb9663 Changes to the userdomain policy module
Make sure various virt user home content gets created with a type
transition and proper file contexts for common users

Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2013-01-03 10:43:10 -05:00
Dominick Grift 88b2de1c17 Changes to the init policy module
virt_manage_svirt_cache() is deprecated, use virt_manage_virt_cache()
instead

Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2013-01-03 10:43:10 -05:00
Chris PeBenito 569afb9039 Update contrib. 2013-01-03 10:33:27 -05:00
Chris PeBenito e1ab3f885b Module version bump for misc updates from Sven Vermeulen. 2013-01-03 10:32:41 -05:00
Sven Vermeulen 517f37fd26 Introduce exec-check interfaces for passwd binaries and useradd binaries
Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2013-01-03 10:32:41 -05:00
Sven Vermeulen be31d3a183 Allow initrc_t to read stunnel configuration
The stunnel init script reads the stunnel configuration to find out where to
store and check for the PID file

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2013-01-03 10:32:41 -05:00
Sven Vermeulen c105a1ccad Allow syslogger to manage cron log files (v2)
Some cron daemons, including vixie-cron, support using the system logger for
handling their logging events. Hence we allow syslogd_t to manage the cron logs,
and put a file transition in place for the system logger when it creates the
cron.log file.

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2013-01-03 10:32:41 -05:00
Sven Vermeulen 829b252cdc lvscan creates the /run/lock/lvm directory if nonexisting (v2)
If the /run/lock/lvm directory doesn't exist yet, running any of the LVM tools
(like lvscan) will create this directory. Introduce a named file transition for
the lock location when a directory named "lvm" is created and grant the
necessary rights to create the directory.

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2013-01-03 10:32:41 -05:00
Sven Vermeulen 84497cc8e8 Postgresql 9.2 connects to its unix stream socket
When starting postgresql, it fails with the (little saying) error message:
pg_ctl: could not start server

In the denials, we notice:
Nov 24 10:41:52 lerya kernel: [1628900.540506] type=1400
audit(1353750112.021:10143): avc:  denied  { connectto } for  pid=20481
comm="pg_ctl" path="/run/postgresql/.s.PGSQL.5432" ipaddr=...
scontext=system_u:system_r:postgresql_t tcontext=system_u:system_r:postgresql_t
tclass=unix_stream_socket

Hence, allow postgresql to connect to its own stream socket.

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2013-01-03 10:32:41 -05:00
Chris PeBenito e0f7ab0a8a Module version bump for zfs labeling from Matthew Thode. 2012-12-07 13:23:41 -05:00
Matthew Thode 94c2ae8771 Implement zfs support
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
Just adding zfs to the list of defined filesystems in filesystem.te

Signed-off-by: Matthew Thode <mthode@mthode.org>
2012-12-07 13:07:15 -05:00
Chris PeBenito 79f71729e3 Module version bump from Debian changes from Laurent Bigonville. 2012-12-07 00:46:27 -05:00
Laurent Bigonville 199364b60f Drop /etc/rc.d/init.d/xfree86-common filecontext definition
This only seems to be used in Debian and the file is gone since 2006
2012-12-07 00:27:38 -05:00
Laurent Bigonville 0d73468575 Label /etc/rc.d/init.d/x11-common as xdm_exec_t
In Debian, this initscript is creating both /tmp/.X11-unix and
/tmp/.ICE-unix. This allows the directory to transition to the context
defined in the filecontext.
2012-12-07 00:27:38 -05:00
Laurent Bigonville 98fbab18f1 authlogin.if: Add auth_create_pam_console_data_dirs and auth_pid_filetrans_pam_var_console interfaces
On Debian /var/run/console directory might be created by consolekit, we
need these new interfaces to achieve this.
2012-12-07 00:27:38 -05:00
Laurent Bigonville ae0098c3cb Allow udev_t domain to read files labeled as consolekit_var_run_t
When the active session is changed, the udev-acl executable is called
by ConsoleKit. It will then read the ConsoleKit database to figure out
which is the active one.
2012-12-07 00:16:00 -05:00
Laurent Bigonville b20a9b30bc Properly label all the ssh host keys
Be sure that we are labeling properly all ssh host keys even if new
algorithms are added in the future.
2012-12-07 00:15:59 -05:00
Chris PeBenito 99cabaa88f Update contrib. 2012-12-06 12:39:06 -05:00
Chris PeBenito 451279bdbc Module version bump for mcs_constrained from Dominick Grift. 2012-11-28 16:26:27 -05:00
Chris PeBenito 910f3f87ac Move mcs_constrained() impementation. 2012-11-28 16:26:05 -05:00
Dominick Grift c2f056b2f6 Implement mcs_constrained_type
This process is not allowed to interact with subjects or operate on
objects that it would otherwise be able to interact with or operate on
respectively.

This is, i think, to make sure that specified processes cannot interact
with subject or operate on objects regardless of its mcs range.

It is used by svirt and probably also by sandbox

Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2012-11-28 16:12:25 -05:00
Chris PeBenito b30c5df388 Module version bump for logging and tcpdump fixes from Sven Vermeulen. 2012-11-27 09:57:13 -05:00
Sven Vermeulen 77139d4891 Remove generic log label for cron location
The /var/log/cron[^/]* line in the context definition takes higher precedence
than the /var/log/cron.* line in the cron.fc file. As a result, when
/var/log/cron.log is created it gets relabeled to var_log_t instead of staying
with the cron_log_t type it should be.

Removing the line so that the definitions in cron.log are used.

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2012-11-27 09:13:15 -05:00
Sven Vermeulen 9241902062 tcpdump chroots into /var/lib/tcpdump
When invoking tcpdump, the application creates a netlink_socket and then chroots
into /var/lib/tcpdump.

Without the right to create a netlink_socket:
tcpdump: Can't open netlink socket 13:Permission denied

Without the right on dac_read_search and sys_chroot:
tcpdump: Couldn't chroot/chdir to '/var/lib/tcpdump': Permission denied

See also https://bugs.gentoo.org/show_bug.cgi?id=443624

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2012-11-27 09:12:17 -05:00
Chris PeBenito f11752ff60 Module version bump for iptables fc entry from Sven Vermeulen and inn log from Dominick Grift. 2012-11-27 08:53:57 -05:00
Dominick Grift fe2743038a System logger creates innd log files with a named file transition
Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2012-11-27 08:53:04 -05:00
Sven Vermeulen a2317f3820 Run ipset in iptables domain
The ipset command is used to manage ip sets, used by iptables for a more
flexible management of firewall rules. It has very similar requirements as
iptables for accessing and working with the Linux kernel, so marking ipset as
iptables_exec_t to have it run in the iptables domain.

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2012-11-27 08:35:57 -05:00
Chris PeBenito a1f3891d66 Module version bump for userdomain portion of XDG updates from Dominick Grift. 2012-11-26 11:59:55 -05:00
Dominick Grift f1ab10f1c6 These two attribute are unused
Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2012-11-26 11:25:23 -05:00
Dominick Grift 9706f6a477 Create a attribute user_home_content_type and assign it to all types that are classified userdom_user_home_content()
Create various interfaces using the user_home_content_type attribute for
tmpreaper

user_home_t, user_tmp_t and user_tmpfs_t are user_home_content_type
(why?) We should probably also create user_tmp_content_type and
user_tmpfs_content_type attributes and assign to userdom_tmp_file and
userdom_tmpfs_file respectively

Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2012-11-26 11:25:08 -05:00
Chris PeBenito c48458f8e2 Module version bump for Debian ssh-keysign location from Laurent Bigonville. 2012-11-26 11:13:12 -05:00
Laurent Bigonville 28067a810a Add Debian location for ssh-keysign 2012-11-26 11:12:40 -05:00
Chris PeBenito c97ce312da Module version bump for man cache from Dominick Grift. 2012-11-26 11:07:57 -05:00
Chris PeBenito 50d3b9e0c4 Adjust man cache interface names. 2012-11-26 11:07:32 -05:00
Chris PeBenito bf0f91c63d Whitespace fix in miscfiles.fc. 2012-11-26 11:07:16 -05:00
Dominick Grift dce8c71b5f Label /var/cache/man with a private man cache type for mandb
Since /var/cache/man was previously labeled man_t, make sure that the old
interfaces with regard to man_t also support man_cache_t

Signed-off-by: Dominick Grift <dominick.grift@gmail.com>
2012-11-26 10:56:12 -05:00
Chris PeBenito a1b98a3c73 Update contrib. 2012-11-26 09:38:47 -05:00
Chris PeBenito b2cf9398df Module version bump for Gentoo openrc fixes for /run from Sven Vermeulen. 2012-10-31 11:49:56 -04:00
Chris PeBenito 6f1dfe762a Rearrange files interfaces. 2012-10-31 11:49:23 -04:00
Sven Vermeulen d981fce3e1 Update files_manage_generic_locks with directory permissions
Currently, the files_manage_generic_locks only handles the lock files. If a
domain needs to manage both lock files and the lock directories (like specific
subdirectories in /var/lock that are not owned by a single other domain, such as
Gentoo's /var/lock/subsys location) it also needs the manage permissions on the
directory.

This is to support OpenRC's migration of /var/lock to /run/lock which otherwise
fails:

* Migrating /var/lock to /run/lock
cp: cannot create directory '/run/lock/subsys': Permission denied
rm: cannot remove '/var/lock/subsys': Permission denied

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2012-10-31 11:36:41 -04:00
Sven Vermeulen da69156a54 Gentoo openrc migrates /var/run and /var/lock data to /run(/lock)
Gentoo's OpenRC init framework handles the migration of data from /var/run to
/run, and /var/lock to /run/lock. To deal with this, openrc uses "cp -a -r
/var/run /run" and "cp -a -r /var/lock/* /run/lock".

When done, it will create symlinks in /var towards the new locations.

As a result, initrc_t needs to be able to manage symlinks in /var, as well as
manage all pidfile content (needed for the migration of /var/run/* towards
/run).

Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
2012-10-31 11:36:41 -04:00