]> git.ipfire.org Git - people/stevee/selinux-policy.git/blob - policy/modules/services/portmap.te
Add policy-term.patch from Dan
[people/stevee/selinux-policy.git] / policy / modules / services / portmap.te
1 policy_module(portmap, 1.9.0)
2
3 ########################################
4 #
5 # Declarations
6 #
7
8 type portmap_t;
9 type portmap_exec_t;
10 init_daemon_domain(portmap_t, portmap_exec_t)
11
12 type portmap_helper_t;
13 type portmap_helper_exec_t;
14 init_system_domain(portmap_helper_t, portmap_helper_exec_t)
15
16 type portmap_tmp_t;
17 files_tmp_file(portmap_tmp_t)
18
19 type portmap_var_run_t;
20 files_pid_file(portmap_var_run_t)
21
22 ########################################
23 #
24 # Portmap local policy
25 #
26
27 allow portmap_t self:capability { setuid setgid };
28 dontaudit portmap_t self:capability sys_tty_config;
29 allow portmap_t self:netlink_route_socket r_netlink_socket_perms;
30 allow portmap_t self:unix_dgram_socket create_socket_perms;
31 allow portmap_t self:unix_stream_socket create_stream_socket_perms;
32 allow portmap_t self:tcp_socket create_stream_socket_perms;
33 allow portmap_t self:udp_socket create_socket_perms;
34
35 manage_dirs_pattern(portmap_t, portmap_tmp_t, portmap_tmp_t)
36 manage_files_pattern(portmap_t, portmap_tmp_t, portmap_tmp_t)
37 files_tmp_filetrans(portmap_t, portmap_tmp_t, { file dir })
38
39 manage_files_pattern(portmap_t, portmap_var_run_t, portmap_var_run_t)
40 files_pid_filetrans(portmap_t, portmap_var_run_t, file)
41
42 kernel_read_system_state(portmap_t)
43 kernel_read_kernel_sysctls(portmap_t)
44
45 corenet_all_recvfrom_unlabeled(portmap_t)
46 corenet_all_recvfrom_netlabel(portmap_t)
47 corenet_tcp_sendrecv_generic_if(portmap_t)
48 corenet_udp_sendrecv_generic_if(portmap_t)
49 corenet_tcp_sendrecv_generic_node(portmap_t)
50 corenet_udp_sendrecv_generic_node(portmap_t)
51 corenet_tcp_sendrecv_all_ports(portmap_t)
52 corenet_udp_sendrecv_all_ports(portmap_t)
53 corenet_tcp_bind_generic_node(portmap_t)
54 corenet_udp_bind_generic_node(portmap_t)
55 corenet_tcp_bind_portmap_port(portmap_t)
56 corenet_udp_bind_portmap_port(portmap_t)
57 corenet_tcp_connect_all_ports(portmap_t)
58 corenet_sendrecv_portmap_client_packets(portmap_t)
59 corenet_sendrecv_portmap_server_packets(portmap_t)
60 # portmap binds to arbitary ports
61 corenet_tcp_bind_generic_port(portmap_t)
62 corenet_udp_bind_generic_port(portmap_t)
63 corenet_tcp_bind_reserved_port(portmap_t)
64 corenet_udp_bind_reserved_port(portmap_t)
65 corenet_dontaudit_tcp_bind_all_reserved_ports(portmap_t)
66 corenet_dontaudit_udp_bind_all_ports(portmap_t)
67
68 dev_read_sysfs(portmap_t)
69
70 fs_getattr_all_fs(portmap_t)
71 fs_search_auto_mountpoints(portmap_t)
72
73 domain_use_interactive_fds(portmap_t)
74
75 files_read_etc_files(portmap_t)
76
77 logging_send_syslog_msg(portmap_t)
78
79 miscfiles_read_localization(portmap_t)
80
81 sysnet_read_config(portmap_t)
82
83 userdom_dontaudit_use_unpriv_user_fds(portmap_t)
84 userdom_dontaudit_search_user_home_dirs(portmap_t)
85
86 optional_policy(`
87 nis_use_ypbind(portmap_t)
88 ')
89
90 optional_policy(`
91 nscd_socket_use(portmap_t)
92 ')
93
94 optional_policy(`
95 seutil_sigchld_newrole(portmap_t)
96 ')
97
98 optional_policy(`
99 udev_read_db(portmap_t)
100 ')
101
102 ########################################
103 #
104 # Portmap helper local policy
105 #
106
107 dontaudit portmap_helper_t self:capability net_admin;
108 allow portmap_helper_t self:netlink_route_socket r_netlink_socket_perms;
109 allow portmap_helper_t self:tcp_socket create_stream_socket_perms;
110 allow portmap_helper_t self:udp_socket create_socket_perms;
111
112 allow portmap_helper_t portmap_var_run_t:file manage_file_perms;
113 files_pid_filetrans(portmap_helper_t, portmap_var_run_t, file)
114
115 corenet_all_recvfrom_unlabeled(portmap_helper_t)
116 corenet_all_recvfrom_netlabel(portmap_helper_t)
117 corenet_tcp_sendrecv_generic_if(portmap_helper_t)
118 corenet_udp_sendrecv_generic_if(portmap_helper_t)
119 corenet_raw_sendrecv_generic_if(portmap_helper_t)
120 corenet_tcp_sendrecv_generic_node(portmap_helper_t)
121 corenet_udp_sendrecv_generic_node(portmap_helper_t)
122 corenet_raw_sendrecv_generic_node(portmap_helper_t)
123 corenet_tcp_sendrecv_all_ports(portmap_helper_t)
124 corenet_udp_sendrecv_all_ports(portmap_helper_t)
125 corenet_tcp_bind_generic_node(portmap_helper_t)
126 corenet_udp_bind_generic_node(portmap_helper_t)
127 corenet_tcp_bind_reserved_port(portmap_helper_t)
128 corenet_udp_bind_reserved_port(portmap_helper_t)
129 corenet_dontaudit_tcp_bind_all_reserved_ports(portmap_helper_t)
130 corenet_dontaudit_udp_bind_all_reserved_ports(portmap_helper_t)
131 corenet_tcp_connect_all_ports(portmap_helper_t)
132
133 domain_dontaudit_use_interactive_fds(portmap_helper_t)
134
135 files_read_etc_files(portmap_helper_t)
136 files_rw_generic_pids(portmap_helper_t)
137
138 init_rw_utmp(portmap_helper_t)
139
140 logging_send_syslog_msg(portmap_helper_t)
141
142 sysnet_read_config(portmap_helper_t)
143
144 userdom_use_inherited_user_terminals(portmap_helper_t)
145 userdom_dontaudit_use_all_users_fds(portmap_helper_t)
146
147 optional_policy(`
148 nis_use_ypbind(portmap_helper_t)
149 ')