1 |
commit: 3a8dfeed16e5aacda90b31b64657a1cd5c15687c |
2 |
Author: Sven Vermeulen <sven.vermeulen <AT> siphos <DOT> be> |
3 |
AuthorDate: Tue Oct 2 18:06:56 2012 +0000 |
4 |
Commit: Sven Vermeulen <sven.vermeulen <AT> siphos <DOT> be> |
5 |
CommitDate: Tue Oct 2 18:06:56 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-refpolicy.git;a=commit;h=3a8dfeed |
7 |
|
8 |
Initial firewalld policy module |
9 |
|
10 |
--- |
11 |
policy/modules/contrib/firewalld.fc | 10 ++++ |
12 |
policy/modules/contrib/firewalld.if | 43 ++++++++++++++++++ |
13 |
policy/modules/contrib/firewalld.te | 85 +++++++++++++++++++++++++++++++++++ |
14 |
3 files changed, 138 insertions(+), 0 deletions(-) |
15 |
|
16 |
diff --git a/policy/modules/contrib/firewalld.fc b/policy/modules/contrib/firewalld.fc |
17 |
new file mode 100644 |
18 |
index 0000000..21d7b84 |
19 |
--- /dev/null |
20 |
+++ b/policy/modules/contrib/firewalld.fc |
21 |
@@ -0,0 +1,10 @@ |
22 |
+/etc/rc\.d/init\.d/firewalld -- gen_context(system_u:object_r:firewalld_initrc_exec_t,s0) |
23 |
+ |
24 |
+/etc/firewalld(/.*)? gen_context(system_u:object_r:firewalld_etc_rw_t,s0) |
25 |
+ |
26 |
+/usr/sbin/firewalld -- gen_context(system_u:object_r:firewalld_exec_t,s0) |
27 |
+ |
28 |
+/var/log/firewalld.* -- gen_context(system_u:object_r:firewalld_var_log_t,s0) |
29 |
+ |
30 |
+/var/run/firewalld(/.*)? gen_context(system_u:object_r:firewalld_var_run_t,s0) |
31 |
+/var/run/firewalld\.pid -- gen_context(system_u:object_r:firewalld_var_run_t,s0) |
32 |
|
33 |
diff --git a/policy/modules/contrib/firewalld.if b/policy/modules/contrib/firewalld.if |
34 |
new file mode 100644 |
35 |
index 0000000..82a225a |
36 |
--- /dev/null |
37 |
+++ b/policy/modules/contrib/firewalld.if |
38 |
@@ -0,0 +1,43 @@ |
39 |
+## <summary>Service daemon with a D-BUS interface that provides a dynamic managed firewall.</summary> |
40 |
+ |
41 |
+######################################## |
42 |
+## <summary> |
43 |
+## All of the rules required to |
44 |
+## administrate an firewalld environment. |
45 |
+## </summary> |
46 |
+## <param name="domain"> |
47 |
+## <summary> |
48 |
+## Domain allowed access. |
49 |
+## </summary> |
50 |
+## </param> |
51 |
+## <param name="role"> |
52 |
+## <summary> |
53 |
+## Role allowed access. |
54 |
+## </summary> |
55 |
+## </param> |
56 |
+## <rolecap/> |
57 |
+# |
58 |
+interface(`firewalld_admin',` |
59 |
+ gen_require(` |
60 |
+ type firewalld_t, firewalld_initrc_exec_t; |
61 |
+ type firewall_etc_rw_t, firewalld_var_run_t; |
62 |
+ type firewalld_var_log_t; |
63 |
+ ') |
64 |
+ |
65 |
+ allow $1 firewalld_t:process { ptrace signal_perms }; |
66 |
+ ps_process_pattern($1, firewalld_t) |
67 |
+ |
68 |
+ init_labeled_script_domtrans($1, firewalld_initrc_exec_t) |
69 |
+ domain_system_change_exemption($1) |
70 |
+ role_transition $2 firewalld_initrc_exec_t system_r; |
71 |
+ allow $2 system_r; |
72 |
+ |
73 |
+ files_search_pids($1) |
74 |
+ admin_pattern($1, firewalld_var_run_t) |
75 |
+ |
76 |
+ logging_search_logs($1) |
77 |
+ admin_pattern($1, firewalld_var_log_t) |
78 |
+ |
79 |
+ files_search_etc($1) |
80 |
+ admin_pattern($1, firewall_etc_rw_t) |
81 |
+') |
82 |
|
83 |
diff --git a/policy/modules/contrib/firewalld.te b/policy/modules/contrib/firewalld.te |
84 |
new file mode 100644 |
85 |
index 0000000..0010122 |
86 |
--- /dev/null |
87 |
+++ b/policy/modules/contrib/firewalld.te |
88 |
@@ -0,0 +1,85 @@ |
89 |
+policy_module(firewalld, 1.0.0) |
90 |
+ |
91 |
+######################################## |
92 |
+# |
93 |
+# Declarations |
94 |
+# |
95 |
+ |
96 |
+type firewalld_t; |
97 |
+type firewalld_exec_t; |
98 |
+init_daemon_domain(firewalld_t, firewalld_exec_t) |
99 |
+ |
100 |
+type firewalld_initrc_exec_t; |
101 |
+init_script_file(firewalld_initrc_exec_t) |
102 |
+ |
103 |
+type firewalld_etc_rw_t; |
104 |
+files_config_file(firewalld_etc_rw_t) |
105 |
+ |
106 |
+type firewalld_var_log_t; |
107 |
+logging_log_file(firewalld_var_log_t) |
108 |
+ |
109 |
+type firewalld_var_run_t; |
110 |
+files_pid_file(firewalld_var_run_t) |
111 |
+ |
112 |
+######################################## |
113 |
+# |
114 |
+# Local policy |
115 |
+# |
116 |
+ |
117 |
+dontaudit firewalld_t self:capability sys_tty_config; |
118 |
+allow firewalld_t self:fifo_file rw_fifo_file_perms; |
119 |
+allow firewalld_t self:unix_stream_socket create_stream_socket_perms; |
120 |
+ |
121 |
+manage_dirs_pattern(firewalld_t, firewalld_etc_rw_t, firewalld_etc_rw_t) |
122 |
+manage_files_pattern(firewalld_t, firewalld_etc_rw_t, firewalld_etc_rw_t) |
123 |
+ |
124 |
+allow firewalld_t firewalld_var_log_t:file append_file_perms; |
125 |
+allow firewalld_t firewalld_var_log_t:file create_file_perms; |
126 |
+allow firewalld_t firewalld_var_log_t:file read_file_perms; |
127 |
+allow firewalld_t firewalld_var_log_t:file setattr_file_perms; |
128 |
+logging_log_filetrans(firewalld_t, firewalld_var_log_t, file) |
129 |
+ |
130 |
+manage_files_pattern(firewalld_t, firewalld_var_run_t, firewalld_var_run_t) |
131 |
+files_pid_filetrans(firewalld_t, firewalld_var_run_t, file) |
132 |
+ |
133 |
+kernel_read_network_state(firewalld_t) |
134 |
+kernel_read_system_state(firewalld_t) |
135 |
+ |
136 |
+corecmd_exec_bin(firewalld_t) |
137 |
+corecmd_exec_shell(firewalld_t) |
138 |
+ |
139 |
+dev_read_urand(firewalld_t) |
140 |
+ |
141 |
+domain_use_interactive_fds(firewalld_t) |
142 |
+ |
143 |
+files_read_etc_files(firewalld_t) |
144 |
+files_read_usr_files(firewalld_t) |
145 |
+ |
146 |
+fs_getattr_xattr_fs(firewalld_t) |
147 |
+ |
148 |
+logging_send_syslog_msg(firewalld_t) |
149 |
+ |
150 |
+miscfiles_read_localization(firewalld_t) |
151 |
+ |
152 |
+seutil_exec_setfiles(firewalld_t) |
153 |
+seutil_read_file_contexts(firewalld_t) |
154 |
+ |
155 |
+optional_policy(` |
156 |
+ dbus_system_domain(firewalld_t, firewalld_exec_t) |
157 |
+ |
158 |
+ optional_policy(` |
159 |
+ policykit_dbus_chat(firewalld_t) |
160 |
+ ') |
161 |
+ |
162 |
+ optional_policy(` |
163 |
+ networkmanager_dbus_chat(firewalld_t) |
164 |
+ ') |
165 |
+') |
166 |
+ |
167 |
+optional_policy(` |
168 |
+ iptables_domtrans(firewalld_t) |
169 |
+') |
170 |
+ |
171 |
+optional_policy(` |
172 |
+ modutils_domtrans_insmod(firewalld_t) |
173 |
+') |