Cleanup, refinement, suggestions from grift.
This commit is contained in:
parent
9f2084c8f7
commit
991f7835d9
2 changed files with 73 additions and 50 deletions
3
ossec.fc
3
ossec.fc
|
@ -13,6 +13,9 @@
|
||||||
/var/ossec/agentless(/.*)? gen_context(system_u:object_r:ossec_var_t,s0)
|
/var/ossec/agentless(/.*)? gen_context(system_u:object_r:ossec_var_t,s0)
|
||||||
|
|
||||||
/var/ossec/var/run(/.*)? gen_context(system_u:object_r:ossec_var_run_t,s0)
|
/var/ossec/var/run(/.*)? gen_context(system_u:object_r:ossec_var_run_t,s0)
|
||||||
|
/var/ossec/var/execd\.sqlite -- gen_context(system_u:object_r:ossec_execd_file_t,s0)
|
||||||
|
/var/ossec/var/execd\.sqlite-journal -- gen_context(system_u:object_r:ossec_execd_journal_t,s0)
|
||||||
|
#/var/ossec/var/execd\.sqlite(-.*)? -- gen_context(system_u:object_r:ossec_execd_file_t,s0)
|
||||||
/var/ossec/var(/.*)? gen_context(system_u:object_r:ossec_var_t,s0)
|
/var/ossec/var(/.*)? gen_context(system_u:object_r:ossec_var_t,s0)
|
||||||
|
|
||||||
/var/ossec/tmp(/.*)? gen_context(system_u:object_r:ossec_tmp_t,s0)
|
/var/ossec/tmp(/.*)? gen_context(system_u:object_r:ossec_tmp_t,s0)
|
||||||
|
|
120
ossec.te
120
ossec.te
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
policy_module(ossec,1.0.176)
|
policy_module(ossec,1.0.186)
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
#
|
#
|
||||||
|
@ -20,6 +20,12 @@ type ossec_execd_t;
|
||||||
type ossec_execd_exec_t;
|
type ossec_execd_exec_t;
|
||||||
init_daemon_domain(ossec_execd_t, ossec_execd_exec_t)
|
init_daemon_domain(ossec_execd_t, ossec_execd_exec_t)
|
||||||
|
|
||||||
|
type ossec_execd_file_t;
|
||||||
|
files_type(ossec_execd_file_t)
|
||||||
|
|
||||||
|
type ossec_execd_journal_t;
|
||||||
|
files_type(ossec_execd_journal_t)
|
||||||
|
|
||||||
# ossec-analysisd daemon
|
# ossec-analysisd daemon
|
||||||
type ossec_analysisd_t;
|
type ossec_analysisd_t;
|
||||||
type ossec_analysisd_exec_t;
|
type ossec_analysisd_exec_t;
|
||||||
|
@ -122,48 +128,48 @@ unconfined_domain(ossec_ar_t)
|
||||||
###
|
###
|
||||||
|
|
||||||
require {
|
require {
|
||||||
type ossec_bin_t;
|
#type ossec_bin_t;
|
||||||
|
|
||||||
type ossec_maild_t;
|
#type ossec_maild_t;
|
||||||
type ossec_maild_exec_t;
|
#type ossec_maild_exec_t;
|
||||||
type ossec_execd_t;
|
#type ossec_execd_t;
|
||||||
type ossec_execd_exec_t;
|
#type ossec_execd_exec_t;
|
||||||
type ossec_analysisd_t;
|
#type ossec_analysisd_t;
|
||||||
type ossec_analysisd_exec_t;
|
#type ossec_analysisd_exec_t;
|
||||||
type ossec_logcollector_t;
|
#type ossec_logcollector_t;
|
||||||
type ossec_logcollector_exec_t;
|
#type ossec_logcollector_exec_t;
|
||||||
type ossec_remoted_t;
|
#type ossec_remoted_t;
|
||||||
type ossec_remoted_exec_t;
|
#type ossec_remoted_exec_t;
|
||||||
type ossec_syscheckd_t;
|
#type ossec_syscheckd_t;
|
||||||
type ossec_syscheckd_exec_t;
|
#type ossec_syscheckd_exec_t;
|
||||||
type ossec_monitord_t;
|
#type ossec_monitord_t;
|
||||||
type ossec_monitord_exec_t;
|
#type ossec_monitord_exec_t;
|
||||||
type ossec_dbd_t;
|
#type ossec_dbd_t;
|
||||||
type ossec_dbd_exec_t;
|
#type ossec_dbd_exec_t;
|
||||||
type ossec_csyslogd_t;
|
#type ossec_csyslogd_t;
|
||||||
type ossec_csyslogd_exec_t;
|
#type ossec_csyslogd_exec_t;
|
||||||
type ossec_agentlessd_t;
|
#type ossec_agentlessd_t;
|
||||||
type ossec_agentlessd_exec_t;
|
#type ossec_agentlessd_exec_t;
|
||||||
|
|
||||||
type ossec_var_t;
|
#type ossec_var_t;
|
||||||
type ossec_tmp_t;
|
#type ossec_tmp_t;
|
||||||
type ossec_log_t;
|
#type ossec_log_t;
|
||||||
type ossec_etc_t;
|
#type ossec_etc_t;
|
||||||
type ossec_rule_t;
|
#type ossec_rule_t;
|
||||||
type ossec_stats_t;
|
#type ossec_stats_t;
|
||||||
type ossec_queue_t;
|
#type ossec_queue_t;
|
||||||
|
|
||||||
type ossec_ar_t;
|
#type ossec_ar_t;
|
||||||
type ossec_ar_bin_t;
|
#type ossec_ar_bin_t;
|
||||||
type ossec_ar_exec_t;
|
#type ossec_ar_exec_t;
|
||||||
|
|
||||||
type var_log_t;
|
#type var_log_t;
|
||||||
type httpd_t;
|
type httpd_t;
|
||||||
type httpd_log_t;
|
#type httpd_log_t;
|
||||||
type unreserved_port_t;
|
#type unreserved_port_t;
|
||||||
type smtp_port_t;
|
#type smtp_port_t;
|
||||||
type node_t;
|
#type node_t;
|
||||||
type shell_exec_t;
|
#type shell_exec_t;
|
||||||
class file { rename read lock create write getattr unlink open append entrypoint };
|
class file { rename read lock create write getattr unlink open append entrypoint };
|
||||||
class dir { write getattr read remove_name create add_name };
|
class dir { write getattr read remove_name create add_name };
|
||||||
class process { setsched transition rlimitinh siginh noatsecure };
|
class process { setsched transition rlimitinh siginh noatsecure };
|
||||||
|
@ -197,8 +203,10 @@ allow ossec_maild_t ossec_log_t:file { create_file_perms append_file_perms read
|
||||||
ossec_log_filetrans(ossec_maild_t, ossec_log_t, file)
|
ossec_log_filetrans(ossec_maild_t, ossec_log_t, file)
|
||||||
|
|
||||||
# Sockets
|
# Sockets
|
||||||
allow ossec_maild_t self:tcp_socket { create connect read write };
|
allow ossec_maild_t self:tcp_socket create_socket_perms;
|
||||||
allow ossec_maild_t smtp_port_t:tcp_socket { name_connect };
|
corenet_tcp_connect_smtp_port(ossec_maild_t)
|
||||||
|
#allow ossec_maild_t self:tcp_socket { create connect read write };
|
||||||
|
#allow ossec_maild_t smtp_port_t:tcp_socket { name_connect };
|
||||||
|
|
||||||
|
|
||||||
#============= ossec_execd_t ==============
|
#============= ossec_execd_t ==============
|
||||||
|
@ -214,8 +222,14 @@ ossec_read_config(ossec_execd_t)
|
||||||
search_dirs_pattern(ossec_execd_t, ossec_etc_share_t, ossec_etc_share_t)
|
search_dirs_pattern(ossec_execd_t, ossec_etc_share_t, ossec_etc_share_t)
|
||||||
read_files_pattern(ossec_execd_t, ossec_etc_share_t, ossec_etc_share_t)
|
read_files_pattern(ossec_execd_t, ossec_etc_share_t, ossec_etc_share_t)
|
||||||
|
|
||||||
|
#allow ossec_execd_t ossec_var_t:dir { write add_name };
|
||||||
|
allow ossec_execd_t ossec_execd_file_t:file { create_file_perms rw_file_perms };
|
||||||
|
allow ossec_execd_t ossec_execd_journal_t:file manage_file_perms;
|
||||||
|
filetrans_pattern(ossec_execd_t, ossec_var_t, ossec_execd_journal_t, file, "execd.sqlite-journal");
|
||||||
|
|
||||||
# var run dir
|
# var run dir
|
||||||
allow ossec_execd_t ossec_var_run_t:file { create_file_perms write_file_perms setattr read unlink };
|
#allow ossec_execd_t ossec_var_run_t:file { create_file_perms write_file_perms setattr read unlink };
|
||||||
|
allow ossec_execd_t ossec_var_run_t:file manage_file_perms;
|
||||||
ossec_pid_filetrans(ossec_execd_t, ossec_var_run_t, file)
|
ossec_pid_filetrans(ossec_execd_t, ossec_var_run_t, file)
|
||||||
|
|
||||||
# queue dir
|
# queue dir
|
||||||
|
@ -228,7 +242,8 @@ ossec_log_filetrans(ossec_execd_t, ossec_log_t, file)
|
||||||
|
|
||||||
# active-response scripts
|
# active-response scripts
|
||||||
search_dirs_pattern(ossec_execd_t, ossec_ar_bin_t, ossec_ar_bin_t)
|
search_dirs_pattern(ossec_execd_t, ossec_ar_bin_t, ossec_ar_bin_t)
|
||||||
exec_files_pattern(ossec_execd_t, shell_exec_t, shell_exec_t)
|
#exec_files_pattern(ossec_execd_t, shell_exec_t, shell_exec_t)
|
||||||
|
corecmd_exec_shell(ossec_execd_t)
|
||||||
|
|
||||||
# dgram socket
|
# dgram socket
|
||||||
allow ossec_execd_t self:unix_dgram_socket { create bind getopt read write };
|
allow ossec_execd_t self:unix_dgram_socket { create bind getopt read write };
|
||||||
|
@ -269,7 +284,7 @@ create_files_pattern(ossec_analysisd_t, ossec_stats_t, ossec_stats_t)
|
||||||
append_files_pattern(ossec_analysisd_t, ossec_stats_t, ossec_stats_t)
|
append_files_pattern(ossec_analysisd_t, ossec_stats_t, ossec_stats_t)
|
||||||
|
|
||||||
# logs
|
# logs
|
||||||
allow ossec_analysisd_t ossec_log_t:file { create_file_perms append_file_perms read };
|
allow ossec_analysisd_t ossec_log_t:file { create_file_perms append_file_perms read link unlink };
|
||||||
ossec_log_filetrans(ossec_analysisd_t, ossec_log_t, file)
|
ossec_log_filetrans(ossec_analysisd_t, ossec_log_t, file)
|
||||||
|
|
||||||
# rules dir
|
# rules dir
|
||||||
|
@ -302,9 +317,11 @@ manage_sock_files_pattern(ossec_logcollector_t, ossec_queue_t, ossec_queue_t)
|
||||||
allow ossec_logcollector_t ossec_log_t:file { create_file_perms append_file_perms read };
|
allow ossec_logcollector_t ossec_log_t:file { create_file_perms append_file_perms read };
|
||||||
ossec_log_filetrans(ossec_logcollector_t, ossec_log_t, file)
|
ossec_log_filetrans(ossec_logcollector_t, ossec_log_t, file)
|
||||||
|
|
||||||
search_dirs_pattern(ossec_logcollector_t, httpd_log_t, httpd_log_t)
|
# Access all system logs:
|
||||||
read_files_pattern(ossec_logcollector_t, httpd_log_t, httpd_log_t)
|
logging_read_all_logs(ossec_logcollector_t)
|
||||||
read_files_pattern(ossec_logcollector_t, var_log_t, var_log_t)
|
#search_dirs_pattern(ossec_logcollector_t, httpd_log_t, httpd_log_t)
|
||||||
|
#read_files_pattern(ossec_logcollector_t, httpd_log_t, httpd_log_t)
|
||||||
|
#read_files_pattern(ossec_logcollector_t, var_log_t, var_log_t)
|
||||||
|
|
||||||
# dgram socket
|
# dgram socket
|
||||||
allow ossec_logcollector_t self:unix_dgram_socket { create bind getopt connect write };
|
allow ossec_logcollector_t self:unix_dgram_socket { create bind getopt connect write };
|
||||||
|
@ -339,11 +356,14 @@ allow ossec_remoted_t ossec_log_t:file { create_file_perms append_file_perms rea
|
||||||
ossec_log_filetrans(ossec_remoted_t, ossec_log_t, file)
|
ossec_log_filetrans(ossec_remoted_t, ossec_log_t, file)
|
||||||
|
|
||||||
# Sockets
|
# Sockets
|
||||||
allow ossec_remoted_t self:udp_socket { create bind read write };
|
allow ossec_remoted_t self:udp_socket create_stream_socket_perms;
|
||||||
allow ossec_remoted_t unreserved_port_t:udp_socket { name_bind };
|
corenet_udp_bind_all_unreserved_ports(ossec_remoted_t)
|
||||||
allow ossec_remoted_t node_t:udp_socket { node_bind };
|
corenet_udp_bind_generic_node(ossec_remoted_t)
|
||||||
|
#allow ossec_remoted_t self:udp_socket { create bind read write };
|
||||||
|
#allow ossec_remoted_t unreserved_port_t:udp_socket { name_bind };
|
||||||
|
#allow ossec_remoted_t node_t:udp_socket { node_bind };
|
||||||
|
|
||||||
allow ossec_remoted_t self:tcp_socket { create bind };
|
#allow ossec_remoted_t self:tcp_socket { create bind };
|
||||||
|
|
||||||
# dgram socket
|
# dgram socket
|
||||||
allow ossec_remoted_t self:unix_dgram_socket { create bind getopt connect read write };
|
allow ossec_remoted_t self:unix_dgram_socket { create bind getopt connect read write };
|
||||||
|
|
Loading…
Reference in a new issue