1 |
commit: 5b325345adf9df929f6cc37ffacbd51bda38000a |
2 |
Author: Dominick Grift <dominick.grift <AT> gmail <DOT> com> |
3 |
AuthorDate: Sun Oct 28 12:51:19 2012 +0000 |
4 |
Commit: Sven Vermeulen <sven.vermeulen <AT> siphos <DOT> be> |
5 |
CommitDate: Sun Oct 28 17:58:46 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-refpolicy.git;a=commit;h=5b325345 |
7 |
|
8 |
Changes to the smartmon policy module |
9 |
|
10 |
Ported from Fedora with changes |
11 |
|
12 |
Signed-off-by: Dominick Grift <dominick.grift <AT> gmail.com> |
13 |
|
14 |
--- |
15 |
policy/modules/contrib/smartmon.fc | 13 +--------- |
16 |
policy/modules/contrib/smartmon.if | 15 +++++++------ |
17 |
policy/modules/contrib/smartmon.te | 40 +++++++++++++++++------------------ |
18 |
3 files changed, 29 insertions(+), 39 deletions(-) |
19 |
|
20 |
diff --git a/policy/modules/contrib/smartmon.fc b/policy/modules/contrib/smartmon.fc |
21 |
index 3b6ff0f..04afc18 100644 |
22 |
--- a/policy/modules/contrib/smartmon.fc |
23 |
+++ b/policy/modules/contrib/smartmon.fc |
24 |
@@ -1,16 +1,7 @@ |
25 |
-/etc/rc\.d/init\.d/smartd -- gen_context(system_u:object_r:fsdaemon_initrc_exec_t,s0) |
26 |
+/etc/rc\.d/init\.d/((smartd)|(smartmontools))) -- gen_context(system_u:object_r:fsdaemon_initrc_exec_t,s0) |
27 |
|
28 |
-ifdef(`distro_debian',` |
29 |
-/etc/rc\.d/init\.d/smartmontools -- gen_context(system_u:object_r:fsdaemon_initrc_exec_t,s0) |
30 |
-') |
31 |
- |
32 |
-# |
33 |
-# /usr |
34 |
-# |
35 |
/usr/sbin/smartd -- gen_context(system_u:object_r:fsdaemon_exec_t,s0) |
36 |
|
37 |
-# |
38 |
-# /var |
39 |
-# |
40 |
/var/run/smartd\.pid -- gen_context(system_u:object_r:fsdaemon_var_run_t,s0) |
41 |
+ |
42 |
/var/lib/smartmontools(/.*)? gen_context(system_u:object_r:fsdaemon_var_lib_t,s0) |
43 |
|
44 |
diff --git a/policy/modules/contrib/smartmon.if b/policy/modules/contrib/smartmon.if |
45 |
index fc919bc..e0644b5 100644 |
46 |
--- a/policy/modules/contrib/smartmon.if |
47 |
+++ b/policy/modules/contrib/smartmon.if |
48 |
@@ -1,8 +1,8 @@ |
49 |
-## <summary>Smart disk monitoring daemon policy</summary> |
50 |
+## <summary>Smart disk monitoring daemon.</summary> |
51 |
|
52 |
####################################### |
53 |
## <summary> |
54 |
-## Allow caller to read smartmon temporary files. |
55 |
+## Read smartmon temporary files. |
56 |
## </summary> |
57 |
## <param name="domain"> |
58 |
## <summary> |
59 |
@@ -15,13 +15,14 @@ interface(`smartmon_read_tmp_files',` |
60 |
type fsdaemon_tmp_t; |
61 |
') |
62 |
|
63 |
+ files_search_tmp($1) |
64 |
allow $1 fsdaemon_tmp_t:file read_file_perms; |
65 |
') |
66 |
|
67 |
######################################## |
68 |
## <summary> |
69 |
-## All of the rules required to administrate |
70 |
-## an smartmon environment |
71 |
+## All of the rules required to |
72 |
+## administrate an smartmon environment. |
73 |
## </summary> |
74 |
## <param name="domain"> |
75 |
## <summary> |
76 |
@@ -37,11 +38,11 @@ interface(`smartmon_read_tmp_files',` |
77 |
# |
78 |
interface(`smartmon_admin',` |
79 |
gen_require(` |
80 |
- type fsdaemon_t, fsdaemon_tmp_t, fsdaemon_var_run_t, fsdaemon_var_lib_t; |
81 |
- type fsdaemon_initrc_exec_t; |
82 |
+ type fsdaemon_t, fsdaemon_tmp_t, fsdaemon_var_run_t; |
83 |
+ type fsdaemon_var_lib_t, fsdaemon_initrc_exec_t; |
84 |
') |
85 |
|
86 |
- allow $1 fsdaemon_t:process { ptrace signal_perms getattr }; |
87 |
+ allow $1 fsdaemon_t:process { ptrace signal_perms }; |
88 |
ps_process_pattern($1, fsdaemon_t) |
89 |
|
90 |
init_labeled_script_domtrans($1, fsdaemon_initrc_exec_t) |
91 |
|
92 |
diff --git a/policy/modules/contrib/smartmon.te b/policy/modules/contrib/smartmon.te |
93 |
index 33be1d9..df520b3 100644 |
94 |
--- a/policy/modules/contrib/smartmon.te |
95 |
+++ b/policy/modules/contrib/smartmon.te |
96 |
@@ -1,4 +1,4 @@ |
97 |
-policy_module(smartmon, 1.11.1) |
98 |
+policy_module(smartmon, 1.11.2) |
99 |
|
100 |
######################################## |
101 |
# |
102 |
@@ -6,10 +6,10 @@ policy_module(smartmon, 1.11.1) |
103 |
# |
104 |
|
105 |
## <desc> |
106 |
-## <p> |
107 |
-## Enable additional permissions needed to support |
108 |
-## devices on 3ware controllers. |
109 |
-## </p> |
110 |
+## <p> |
111 |
+## Determine whether smartmon can support |
112 |
+## devices on 3ware controllers. |
113 |
+## </p> |
114 |
## </desc> |
115 |
gen_tunable(smartmon_3ware, false) |
116 |
|
117 |
@@ -38,14 +38,11 @@ ifdef(`enable_mls',` |
118 |
# Local policy |
119 |
# |
120 |
|
121 |
-allow fsdaemon_t self:capability { setpcap setgid sys_rawio sys_admin }; |
122 |
+allow fsdaemon_t self:capability { dac_override kill setpcap setgid sys_rawio sys_admin }; |
123 |
dontaudit fsdaemon_t self:capability sys_tty_config; |
124 |
allow fsdaemon_t self:process { getcap setcap signal_perms }; |
125 |
allow fsdaemon_t self:fifo_file rw_fifo_file_perms; |
126 |
-allow fsdaemon_t self:unix_dgram_socket create_socket_perms; |
127 |
-allow fsdaemon_t self:unix_stream_socket create_stream_socket_perms; |
128 |
-allow fsdaemon_t self:udp_socket create_socket_perms; |
129 |
-allow fsdaemon_t self:netlink_route_socket r_netlink_socket_perms; |
130 |
+allow fsdaemon_t self:unix_stream_socket { accept listen }; |
131 |
|
132 |
manage_dirs_pattern(fsdaemon_t, fsdaemon_tmp_t, fsdaemon_tmp_t) |
133 |
manage_files_pattern(fsdaemon_t, fsdaemon_tmp_t, fsdaemon_tmp_t) |
134 |
@@ -57,40 +54,39 @@ files_pid_filetrans(fsdaemon_t, fsdaemon_var_run_t, file) |
135 |
manage_files_pattern(fsdaemon_t, fsdaemon_var_lib_t, fsdaemon_var_lib_t) |
136 |
|
137 |
kernel_read_kernel_sysctls(fsdaemon_t) |
138 |
+kernel_read_network_state(fsdaemon_t) |
139 |
kernel_read_software_raid_state(fsdaemon_t) |
140 |
kernel_read_system_state(fsdaemon_t) |
141 |
|
142 |
corecmd_exec_all_executables(fsdaemon_t) |
143 |
|
144 |
-corenet_all_recvfrom_unlabeled(fsdaemon_t) |
145 |
-corenet_all_recvfrom_netlabel(fsdaemon_t) |
146 |
-corenet_udp_sendrecv_generic_if(fsdaemon_t) |
147 |
-corenet_udp_sendrecv_generic_node(fsdaemon_t) |
148 |
-corenet_udp_sendrecv_all_ports(fsdaemon_t) |
149 |
- |
150 |
dev_read_sysfs(fsdaemon_t) |
151 |
dev_read_urand(fsdaemon_t) |
152 |
|
153 |
domain_use_interactive_fds(fsdaemon_t) |
154 |
|
155 |
files_exec_etc_files(fsdaemon_t) |
156 |
+files_read_etc_files(fsdaemon_t) |
157 |
files_read_etc_runtime_files(fsdaemon_t) |
158 |
files_read_usr_files(fsdaemon_t) |
159 |
-# for config |
160 |
-files_read_etc_files(fsdaemon_t) |
161 |
|
162 |
fs_getattr_all_fs(fsdaemon_t) |
163 |
fs_search_auto_mountpoints(fsdaemon_t) |
164 |
|
165 |
mls_file_read_all_levels(fsdaemon_t) |
166 |
-#mls_rangetrans_target(fsdaemon_t) |
167 |
|
168 |
storage_raw_read_fixed_disk(fsdaemon_t) |
169 |
storage_raw_write_fixed_disk(fsdaemon_t) |
170 |
storage_raw_read_removable_device(fsdaemon_t) |
171 |
+storage_read_scsi_generic(fsdaemon_t) |
172 |
+storage_write_scsi_generic(fsdaemon_t) |
173 |
|
174 |
term_dontaudit_search_ptys(fsdaemon_t) |
175 |
|
176 |
+application_signull(fsdaemon_t) |
177 |
+ |
178 |
+init_read_utmp(fsdaemon_t) |
179 |
+ |
180 |
libs_exec_ld_so(fsdaemon_t) |
181 |
libs_exec_lib_files(fsdaemon_t) |
182 |
|
183 |
@@ -98,8 +94,6 @@ logging_send_syslog_msg(fsdaemon_t) |
184 |
|
185 |
miscfiles_read_localization(fsdaemon_t) |
186 |
|
187 |
-seutil_sigchld_newrole(fsdaemon_t) |
188 |
- |
189 |
sysnet_dns_name_resolve(fsdaemon_t) |
190 |
|
191 |
userdom_dontaudit_use_unpriv_user_fds(fsdaemon_t) |
192 |
@@ -122,5 +116,9 @@ optional_policy(` |
193 |
') |
194 |
|
195 |
optional_policy(` |
196 |
+ seutil_sigchld_newrole(fsdaemon_t) |
197 |
+') |
198 |
+ |
199 |
+optional_policy(` |
200 |
udev_read_db(fsdaemon_t) |
201 |
') |