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) |