diff --git a/transproxy.fc b/transproxy.fc index ce33f17..14fdae3 100644 --- a/transproxy.fc +++ b/transproxy.fc @@ -1,3 +1,5 @@ +/etc/rc\.d/init\.d/transproxy -- gen_context(system_u:object_r:transproxy_initrc_exec_t,s0) + /usr/sbin/tproxy -- gen_context(system_u:object_r:transproxy_exec_t,s0) /var/run/tproxy\.pid -- gen_context(system_u:object_r:transproxy_var_run_t,s0) diff --git a/transproxy.if b/transproxy.if index 23323f9..81a8351 100644 --- a/transproxy.if +++ b/transproxy.if @@ -1 +1,35 @@ -## HTTP transperant proxy +## Portable Transparent Proxy Solution. + +######################################## +## +## All of the rules required to +## administrate an transproxy environment. +## +## +## +## Domain allowed access. +## +## +## +## +## Role allowed access. +## +## +## +# +interface(`transproxy_admin',` + gen_require(` + type transproxy_t, transproxy_initrc_exec_t, transproxy_var_run_t; + ') + + allow $1 transproxy_t:process { ptrace signal_perms }; + ps_process_pattern($1, transproxy_t) + + init_labeled_script_domtrans($1, transproxy_initrc_exec_t) + domain_system_change_exemption($1) + role_transition $2 transproxy_initrc_exec_t system_r; + allow $2 system_r; + + files_search_pids($1) + admin_pattern($1, transproxy_var_run_t) +') diff --git a/transproxy.te b/transproxy.te index 95cf0c0..20d1a28 100644 --- a/transproxy.te +++ b/transproxy.te @@ -1,4 +1,4 @@ -policy_module(transproxy, 1.7.0) +policy_module(transproxy, 1.7.1) ######################################## # @@ -9,6 +9,9 @@ type transproxy_t; type transproxy_exec_t; init_daemon_domain(transproxy_t, transproxy_exec_t) +type transproxy_initrc_exec_t; +init_script_file(transproxy_initrc_exec_t) + type transproxy_var_run_t; files_pid_file(transproxy_var_run_t) @@ -33,10 +36,11 @@ corenet_all_recvfrom_unlabeled(transproxy_t) corenet_all_recvfrom_netlabel(transproxy_t) corenet_tcp_sendrecv_generic_if(transproxy_t) corenet_tcp_sendrecv_generic_node(transproxy_t) -corenet_tcp_sendrecv_all_ports(transproxy_t) corenet_tcp_bind_generic_node(transproxy_t) -corenet_tcp_bind_transproxy_port(transproxy_t) + corenet_sendrecv_transproxy_server_packets(transproxy_t) +corenet_tcp_bind_transproxy_port(transproxy_t) +corenet_tcp_sendrecv_transproxy_port(transproxy_t) dev_read_sysfs(transproxy_t)