aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'policy/modules/services/iodine.te')
-rw-r--r--policy/modules/services/iodine.te57
1 files changed, 57 insertions, 0 deletions
diff --git a/policy/modules/services/iodine.te b/policy/modules/services/iodine.te
new file mode 100644
index 000000000..c918bbf43
--- /dev/null
+++ b/policy/modules/services/iodine.te
@@ -0,0 +1,57 @@
+policy_module(iodine, 1.3.0)
+
+########################################
+#
+# Declarations
+#
+
+type iodined_t;
+type iodined_exec_t;
+init_daemon_domain(iodined_t, iodined_exec_t)
+
+type iodined_initrc_exec_t;
+init_script_file(iodined_initrc_exec_t)
+
+type iodined_var_run_t;
+files_pid_file(iodined_var_run_t)
+
+########################################
+#
+# Local policy
+#
+
+allow iodined_t self:capability { net_admin net_raw setgid setuid sys_chroot };
+allow iodined_t self:rawip_socket create_socket_perms;
+allow iodined_t self:tun_socket create_socket_perms;
+allow iodined_t self:udp_socket connected_socket_perms;
+allow iodined_t self:netlink_route_socket rw_netlink_socket_perms;
+
+manage_dirs_pattern(iodined_t, iodined_var_run_t, iodined_var_run_t)
+manage_files_pattern(iodined_t, iodined_var_run_t, iodined_var_run_t)
+
+kernel_read_net_sysctls(iodined_t)
+kernel_read_network_state(iodined_t)
+kernel_read_system_state(iodined_t)
+kernel_request_load_module(iodined_t)
+
+corenet_all_recvfrom_netlabel(iodined_t)
+corenet_all_recvfrom_unlabeled(iodined_t)
+corenet_raw_sendrecv_generic_if(iodined_t)
+corenet_udp_sendrecv_generic_if(iodined_t)
+corenet_raw_sendrecv_generic_node(iodined_t)
+corenet_udp_sendrecv_generic_node(iodined_t)
+corenet_udp_bind_generic_node(iodined_t)
+
+corenet_rw_tun_tap_dev(iodined_t)
+
+corenet_sendrecv_dns_server_packets(iodined_t)
+corenet_udp_bind_dns_port(iodined_t)
+corenet_udp_sendrecv_dns_port(iodined_t)
+
+corecmd_exec_shell(iodined_t)
+
+files_read_etc_files(iodined_t)
+
+logging_send_syslog_msg(iodined_t)
+
+sysnet_domtrans_ifconfig(iodined_t)