Gentoo Archives: gentoo-commits

From: Jason Zaman <perfinion@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-refpolicy:master commit in: policy/modules/contrib/
Date: Tue, 31 Oct 2017 05:40:20
Message-Id: 1509426922.db4c09d266e2c1f0537a82f5ff740ab43bde38d9.perfinion@gentoo
1 commit: db4c09d266e2c1f0537a82f5ff740ab43bde38d9
2 Author: Jason Zaman <jason <AT> perfinion <DOT> com>
3 AuthorDate: Mon Oct 30 06:38:44 2017 +0000
4 Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 31 05:15:22 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=db4c09d2
7
8 virt: add policy for virtlogd
9
10 policy/modules/contrib/virt.fc | 2 ++
11 policy/modules/contrib/virt.te | 46 ++++++++++++++++++++++++++++++++++++++++++
12 2 files changed, 48 insertions(+)
13
14 diff --git a/policy/modules/contrib/virt.fc b/policy/modules/contrib/virt.fc
15 index b1f9b1c8..eb5ff0d8 100644
16 --- a/policy/modules/contrib/virt.fc
17 +++ b/policy/modules/contrib/virt.fc
18 @@ -30,6 +30,7 @@ HOME_DIR/VirtualMachines/isos(/.*)? gen_context(system_u:object_r:virt_content_t
19 /usr/bin/libvirtd -- gen_context(system_u:object_r:virtd_exec_t,s0)
20 /usr/bin/virsh -- gen_context(system_u:object_r:virsh_exec_t,s0)
21 /usr/bin/virtlockd -- gen_context(system_u:object_r:virtlockd_exec_t,s0)
22 +/usr/bin/virtlogd -- gen_context(system_u:object_r:virtlogd_exec_t,s0)
23 /usr/bin/virt-sandbox-service.* -- gen_context(system_u:object_r:virsh_exec_t,s0)
24
25 /usr/sbin/condor_vm-gahp -- gen_context(system_u:object_r:virtd_exec_t,s0)
26 @@ -37,6 +38,7 @@ HOME_DIR/VirtualMachines/isos(/.*)? gen_context(system_u:object_r:virt_content_t
27 /usr/sbin/libvirt-qmf -- gen_context(system_u:object_r:virt_qmf_exec_t,s0)
28 /usr/sbin/libvirtd -- gen_context(system_u:object_r:virtd_exec_t,s0)
29 /usr/sbin/virtlockd -- gen_context(system_u:object_r:virtlockd_exec_t,s0)
30 +/usr/sbin/virtlogd -- gen_context(system_u:object_r:virtlogd_exec_t,s0)
31
32 /var/cache/libvirt(/.*)? gen_context(system_u:object_r:virt_cache_t,s0-mls_systemhigh)
33
34
35 diff --git a/policy/modules/contrib/virt.te b/policy/modules/contrib/virt.te
36 index fce37958..1de48461 100644
37 --- a/policy/modules/contrib/virt.te
38 +++ b/policy/modules/contrib/virt.te
39 @@ -208,12 +208,21 @@ files_pid_file(virtlockd_run_t)
40 type virtlockd_var_lib_t;
41 files_type(virtlockd_var_lib_t)
42
43 +type virtlogd_t;
44 +type virtlogd_exec_t;
45 +init_daemon_domain(virtlogd_t, virtlogd_exec_t)
46 +
47 +type virtlogd_run_t;
48 +files_pid_file(virtlogd_run_t)
49 +
50 ifdef(`enable_mcs',`
51 init_ranged_daemon_domain(virtlockd_t, virtlockd_exec_t, s0 - mcs_systemhigh)
52 + init_ranged_daemon_domain(virtlogd_t, virtlogd_exec_t, s0 - mcs_systemhigh)
53 ')
54
55 ifdef(`enable_mls',`
56 init_ranged_daemon_domain(virtlockd_t, virtlockd_exec_t, s0 - mls_systemhigh)
57 + init_ranged_daemon_domain(virtlogd_t, virtlogd_exec_t, s0 - mls_systemhigh)
58 ')
59
60 ########################################
61 @@ -234,6 +243,9 @@ allow virt_domain virtd_t:fd use;
62 allow virt_domain virtd_t:fifo_file rw_fifo_file_perms;
63 allow virt_domain virtd_t:process sigchld;
64
65 +allow virt_domain virtlogd_t:fd use;
66 +allow virt_domain virtlogd_t:fifo_file rw_fifo_file_perms;
67 +
68 dontaudit virt_domain virtd_t:unix_stream_socket { read write };
69
70 manage_dirs_pattern(virt_domain, virt_cache_t, virt_cache_t)
71 @@ -472,6 +484,9 @@ dontaudit virtd_t virt_domain:process { siginh noatsecure rlimitinh };
72 allow virtd_t { virt_domain svirt_lxc_domain }:unix_stream_socket { create_stream_socket_perms connectto };
73 allow virtd_t svirt_lxc_domain:process signal_perms;
74
75 +allow virtd_t virtlogd_t:fd use;
76 +allow virtd_t virtlogd_t:fifo_file rw_fifo_file_perms;
77 +
78 allow virtd_t virtd_lxc_t:process { signal signull sigkill };
79
80 domtrans_pattern(virtd_t, virtd_lxc_exec_t, virtd_lxc_t)
81 @@ -558,6 +573,7 @@ filetrans_pattern(virtd_t, virt_var_run_t, virtd_lxc_var_run_t, dir, "lxc")
82 stream_connect_pattern(virtd_t, virtd_lxc_var_run_t, virtd_lxc_var_run_t, virtd_lxc_t)
83 stream_connect_pattern(virtd_t, svirt_var_run_t, svirt_var_run_t, virt_domain)
84 stream_connect_pattern(virtd_t, virt_var_run_t, virtlockd_run_t, virtlockd_t)
85 +stream_connect_pattern(virtd_t, virt_var_run_t, virtlogd_run_t, virtlogd_t)
86
87 can_exec(virtd_t, virt_tmp_t)
88
89 @@ -1319,3 +1335,33 @@ miscfiles_read_localization(virtlockd_t)
90
91 virt_append_log(virtlockd_t)
92 virt_read_config(virtlockd_t)
93 +
94 +########################################
95 +#
96 +# Virtlogd local policy
97 +#
98 +
99 +allow virtlogd_t self:fifo_file rw_fifo_file_perms;
100 +
101 +allow virtlogd_t virtd_t:dir list_dir_perms;
102 +allow virtlogd_t virtd_t:file read_file_perms;
103 +allow virtlogd_t virtd_t:lnk_file read_lnk_file_perms;
104 +
105 +manage_files_pattern(virtlogd_t, virt_var_run_t, virtlogd_run_t)
106 +manage_sock_files_pattern(virtlogd_t, virt_var_run_t, virtlogd_run_t)
107 +filetrans_pattern(virtlogd_t, virt_var_run_t, virtlogd_run_t, sock_file)
108 +files_pid_filetrans(virtlogd_t, virtlogd_run_t, file)
109 +
110 +can_exec(virtlogd_t, virtlogd_exec_t)
111 +
112 +kernel_read_system_state(virtlogd_t)
113 +
114 +files_read_etc_files(virtlogd_t)
115 +files_list_var_lib(virtlogd_t)
116 +
117 +miscfiles_read_localization(virtlogd_t)
118 +
119 +sysnet_dns_name_resolve(virtlogd_t)
120 +
121 +virt_manage_log(virtlogd_t)
122 +virt_read_config(virtlogd_t)