summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXin Ouyang <Xin.Ouyang@windriver.com>2013-01-21 19:26:12 +0800
committerXin Ouyang <Xin.Ouyang@windriver.com>2013-01-23 11:10:17 +0800
commita1d632a26f2d599ad6092746a60d0ccb80711aaa (patch)
tree9f401255bda2bc7a4abd9419f05a1946d88be612
parentb0f4055b7029bf5181f699c16c52fb88b50f51ec (diff)
downloadmeta-selinux-a1d632a26f2d599ad6092746a60d0ccb80711aaa.tar.gz
refpolicy: policy fixes for seutils and auditd_log_t
Two patches to fix these two issue: * Current policy has incomplete allow rules for selinux utils to manage selinux config files and policy store. * auditd_log_t(/var/log/audit/audit.log) is also placed in var_log_t, so add related rules. CQID: WIND00396415 Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
-rw-r--r--recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-add-rules-for-var-log-symlink.patch76
-rw-r--r--recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-fix-seutils-manage-config-files.patch39
-rw-r--r--recipes-security/refpolicy/refpolicy_2.20120725.inc1
3 files changed, 104 insertions, 12 deletions
diff --git a/recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-add-rules-for-var-log-symlink.patch b/recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-add-rules-for-var-log-symlink.patch
index 5bf4986..a2f3c5d 100644
--- a/recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-add-rules-for-var-log-symlink.patch
+++ b/recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-add-rules-for-var-log-symlink.patch
@@ -8,8 +8,8 @@ Upstream-Status: Inappropriate [only for Poky]
8Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com> 8Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
9--- 9---
10 policy/modules/system/logging.fc | 1 + 10 policy/modules/system/logging.fc | 1 +
11 policy/modules/system/logging.if | 7 +++++++ 11 policy/modules/system/logging.if | 14 +++++++++++++-
12 2 files changed, 8 insertions(+), 0 deletions(-) 12 2 files changed, 14 insertions(+), 1 deletion(-)
13 13
14diff --git a/policy/modules/system/logging.fc b/policy/modules/system/logging.fc 14diff --git a/policy/modules/system/logging.fc b/policy/modules/system/logging.fc
15index 3cb65f1..2419cd7 100644 15index 3cb65f1..2419cd7 100644
@@ -24,10 +24,25 @@ index 3cb65f1..2419cd7 100644
24 /var/log/boot\.log -- gen_context(system_u:object_r:var_log_t,mls_systemhigh) 24 /var/log/boot\.log -- gen_context(system_u:object_r:var_log_t,mls_systemhigh)
25 /var/log/messages[^/]* gen_context(system_u:object_r:var_log_t,mls_systemhigh) 25 /var/log/messages[^/]* gen_context(system_u:object_r:var_log_t,mls_systemhigh)
26diff --git a/policy/modules/system/logging.if b/policy/modules/system/logging.if 26diff --git a/policy/modules/system/logging.if b/policy/modules/system/logging.if
27index 321bb13..2be355e 100644 27index 321bb13..4812d46 100644
28--- a/policy/modules/system/logging.if 28--- a/policy/modules/system/logging.if
29+++ b/policy/modules/system/logging.if 29+++ b/policy/modules/system/logging.if
30@@ -626,6 +626,7 @@ interface(`logging_search_logs',` 30@@ -136,12 +136,13 @@ interface(`logging_set_audit_parameters',`
31 #
32 interface(`logging_read_audit_log',`
33 gen_require(`
34- type auditd_log_t;
35+ type auditd_log_t, var_log_t;
36 ')
37
38 files_search_var($1)
39 read_files_pattern($1, auditd_log_t, auditd_log_t)
40 allow $1 auditd_log_t:dir list_dir_perms;
41+ allow $1 var_log_t:lnk_file read_lnk_file_perms;
42 ')
43
44 ########################################
45@@ -626,6 +627,7 @@ interface(`logging_search_logs',`
31 46
32 files_search_var($1) 47 files_search_var($1)
33 allow $1 var_log_t:dir search_dir_perms; 48 allow $1 var_log_t:dir search_dir_perms;
@@ -35,7 +50,7 @@ index 321bb13..2be355e 100644
35 ') 50 ')
36 51
37 ####################################### 52 #######################################
38@@ -663,6 +664,7 @@ interface(`logging_list_logs',` 53@@ -663,6 +665,7 @@ interface(`logging_list_logs',`
39 54
40 files_search_var($1) 55 files_search_var($1)
41 allow $1 var_log_t:dir list_dir_perms; 56 allow $1 var_log_t:dir list_dir_perms;
@@ -43,7 +58,7 @@ index 321bb13..2be355e 100644
43 ') 58 ')
44 59
45 ####################################### 60 #######################################
46@@ -682,6 +684,7 @@ interface(`logging_rw_generic_log_dirs',` 61@@ -682,6 +685,7 @@ interface(`logging_rw_generic_log_dirs',`
47 62
48 files_search_var($1) 63 files_search_var($1)
49 allow $1 var_log_t:dir rw_dir_perms; 64 allow $1 var_log_t:dir rw_dir_perms;
@@ -51,7 +66,33 @@ index 321bb13..2be355e 100644
51 ') 66 ')
52 67
53 ####################################### 68 #######################################
54@@ -843,6 +846,7 @@ interface(`logging_read_generic_logs',` 69@@ -756,10 +760,12 @@ interface(`logging_append_all_logs',`
70 interface(`logging_read_all_logs',`
71 gen_require(`
72 attribute logfile;
73+ type var_log_t;
74 ')
75
76 files_search_var($1)
77 allow $1 logfile:dir list_dir_perms;
78+ allow $1 var_log_t:lnk_file read_lnk_file_perms;
79 read_files_pattern($1, logfile, logfile)
80 ')
81
82@@ -778,10 +784,12 @@ interface(`logging_read_all_logs',`
83 interface(`logging_exec_all_logs',`
84 gen_require(`
85 attribute logfile;
86+ type var_log_t;
87 ')
88
89 files_search_var($1)
90 allow $1 logfile:dir list_dir_perms;
91+ allow $1 var_log_t:lnk_file read_lnk_file_perms;
92 can_exec($1, logfile)
93 ')
94
95@@ -843,6 +851,7 @@ interface(`logging_read_generic_logs',`
55 96
56 files_search_var($1) 97 files_search_var($1)
57 allow $1 var_log_t:dir list_dir_perms; 98 allow $1 var_log_t:dir list_dir_perms;
@@ -59,7 +100,7 @@ index 321bb13..2be355e 100644
59 read_files_pattern($1, var_log_t, var_log_t) 100 read_files_pattern($1, var_log_t, var_log_t)
60 ') 101 ')
61 102
62@@ -863,6 +867,7 @@ interface(`logging_write_generic_logs',` 103@@ -863,6 +872,7 @@ interface(`logging_write_generic_logs',`
63 104
64 files_search_var($1) 105 files_search_var($1)
65 allow $1 var_log_t:dir list_dir_perms; 106 allow $1 var_log_t:dir list_dir_perms;
@@ -67,7 +108,7 @@ index 321bb13..2be355e 100644
67 write_files_pattern($1, var_log_t, var_log_t) 108 write_files_pattern($1, var_log_t, var_log_t)
68 ') 109 ')
69 110
70@@ -901,6 +906,7 @@ interface(`logging_rw_generic_logs',` 111@@ -901,6 +911,7 @@ interface(`logging_rw_generic_logs',`
71 112
72 files_search_var($1) 113 files_search_var($1)
73 allow $1 var_log_t:dir list_dir_perms; 114 allow $1 var_log_t:dir list_dir_perms;
@@ -75,7 +116,7 @@ index 321bb13..2be355e 100644
75 rw_files_pattern($1, var_log_t, var_log_t) 116 rw_files_pattern($1, var_log_t, var_log_t)
76 ') 117 ')
77 118
78@@ -923,6 +929,7 @@ interface(`logging_manage_generic_logs',` 119@@ -923,6 +934,7 @@ interface(`logging_manage_generic_logs',`
79 120
80 files_search_var($1) 121 files_search_var($1)
81 manage_files_pattern($1, var_log_t, var_log_t) 122 manage_files_pattern($1, var_log_t, var_log_t)
@@ -83,6 +124,17 @@ index 321bb13..2be355e 100644
83 ') 124 ')
84 125
85 ######################################## 126 ########################################
127diff --git a/policy/modules/system/logging.te b/policy/modules/system/logging.te
128index a3a25c2..a45c68e 100644
129--- a/policy/modules/system/logging.te
130+++ b/policy/modules/system/logging.te
131@@ -139,6 +139,7 @@ allow auditd_t auditd_etc_t:file read_file_perms;
132 manage_files_pattern(auditd_t, auditd_log_t, auditd_log_t)
133 manage_lnk_files_pattern(auditd_t, auditd_log_t, auditd_log_t)
134 allow auditd_t var_log_t:dir search_dir_perms;
135+allow auditd_t var_log_t:lnk_file read_lnk_file_perms;
136
137 manage_files_pattern(auditd_t, auditd_var_run_t, auditd_var_run_t)
138 manage_sock_files_pattern(auditd_t, auditd_var_run_t, auditd_var_run_t)
86-- 139--
871.7.5.4 1401.7.9.5
88
diff --git a/recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-fix-seutils-manage-config-files.patch b/recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-fix-seutils-manage-config-files.patch
new file mode 100644
index 0000000..bd76004
--- /dev/null
+++ b/recipes-security/refpolicy/refpolicy-2.20120725/poky-policy-fix-seutils-manage-config-files.patch
@@ -0,0 +1,39 @@
1Subject: [PATCH] refpolicy: fix selinux utils to manage config files
2
3Upstream-Status: Pending
4
5Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
6---
7 policy/modules/system/selinuxutil.if | 1 +
8 1 file changed, 1 insertion(+)
9
10diff --git a/policy/modules/system/selinuxutil.if b/policy/modules/system/selinuxutil.if
11index 3822072..db03ca1 100644
12--- a/policy/modules/system/selinuxutil.if
13+++ b/policy/modules/system/selinuxutil.if
14@@ -680,6 +680,7 @@ interface(`seutil_manage_config',`
15 ')
16
17 files_search_etc($1)
18+ manage_dirs_pattern($1, selinux_config_t, selinux_config_t)
19 manage_files_pattern($1, selinux_config_t, selinux_config_t)
20 read_lnk_files_pattern($1, selinux_config_t, selinux_config_t)
21 ')
22diff --git a/policy/modules/system/userdomain.if b/policy/modules/system/userdomain.if
23index e720dcd..6b6a5b3 100644
24--- a/policy/modules/system/userdomain.if
25+++ b/policy/modules/system/userdomain.if
26@@ -1235,6 +1235,10 @@ template(`userdom_security_admin_template',`
27 logging_read_audit_config($1)
28
29 seutil_manage_bin_policy($1)
30+ seutil_manage_default_contexts($1)
31+ seutil_manage_file_contexts($1)
32+ seutil_manage_module_store($1)
33+ seutil_manage_config($1)
34 seutil_run_checkpolicy($1, $2)
35 seutil_run_loadpolicy($1, $2)
36 seutil_run_semanage($1, $2)
37--
381.7.9.5
39
diff --git a/recipes-security/refpolicy/refpolicy_2.20120725.inc b/recipes-security/refpolicy/refpolicy_2.20120725.inc
index ec8b5bf..20f4795 100644
--- a/recipes-security/refpolicy/refpolicy_2.20120725.inc
+++ b/recipes-security/refpolicy/refpolicy_2.20120725.inc
@@ -31,6 +31,7 @@ SRC_URI += "file://poky-policy-add-syslogd_t-to-trusted-object.patch \
31 31
32# Other policy fixes 32# Other policy fixes
33SRC_URI += "file://poky-policy-fix-xconsole_device_t-as-a-dev_node.patch \ 33SRC_URI += "file://poky-policy-fix-xconsole_device_t-as-a-dev_node.patch \
34 file://poky-policy-fix-seutils-manage-config-files.patch \
34 file://poky-policy-fix-nfsd_t.patch \ 35 file://poky-policy-fix-nfsd_t.patch \
35 " 36 "
36 37