policy_module(tripwire,1.0.0) ######################################## # # Declarations # type siggen_t; type siggen_exec_t; domain_type(siggen_t) domain_entry_file(siggen_t,siggen_exec_t) type tripwire_t; type tripwire_exec_t; domain_type(tripwire_t) domain_entry_file(tripwire_t,tripwire_exec_t) role system_r types tripwire_t; type tripwire_etc_t; files_config_file(tripwire_etc_t) type tripwire_report_t; files_type(tripwire_report_t) type tripwire_tmp_t; files_tmp_file(tripwire_tmp_t) type tripwire_var_lib_t; files_type(tripwire_var_lib_t) type twadmin_t; type twadmin_exec_t; domain_type(twadmin_t) domain_entry_file(twadmin_t,twadmin_exec_t) type twprint_t; type twprint_exec_t; domain_type(twprint_t) domain_entry_file(twprint_t,twprint_exec_t) ######################################## # # Tripwire local policy # allow tripwire_t self:capability { setgid setuid dac_override }; allow tripwire_t tripwire_etc_t:file r_file_perms; allow tripwire_t tripwire_etc_t:dir r_dir_perms; allow tripwire_t tripwire_etc_t:lnk_file { getattr read }; files_search_etc(tripwire_t) allow tripwire_t tripwire_tmp_t:dir manage_dir_perms; allow tripwire_t tripwire_tmp_t:file manage_file_perms; files_tmp_filetrans(tripwire_t, tripwire_tmp_t, { file dir }) # Tripwire report files allow tripwire_t tripwire_report_t:dir manage_dir_perms; allow tripwire_t tripwire_report_t:file manage_file_perms; allow tripwire_t tripwire_report_t:lnk_file create_lnk_perms; allow tripwire_t tripwire_tmp_t:dir manage_dir_perms; allow tripwire_t tripwire_tmp_t:file manage_file_perms; allow tripwire_t tripwire_tmp_t:lnk_file create_lnk_perms; allow tripwire_t tripwire_tmp_t:sock_file manage_file_perms; allow tripwire_t tripwire_tmp_t:fifo_file manage_file_perms; files_tmp_filetrans(tripwire_t,tripwire_tmp_t,{ file lnk_file sock_file fifo_file }) allow tripwire_t tripwire_var_lib_t:file manage_file_perms; allow tripwire_t tripwire_var_lib_t:dir rw_dir_perms; files_var_lib_filetrans(tripwire_t,tripwire_var_lib_t,file) kernel_read_system_state(tripwire_t) kernel_read_network_state(tripwire_t) kernel_read_software_raid_state(tripwire_t) kernel_getattr_core_if(tripwire_t) kernel_getattr_message_if(tripwire_t) kernel_read_kernel_sysctls(tripwire_t) corecmd_exec_shell(tripwire_t) corecmd_exec_sbin(tripwire_t) domain_use_interactive_fds(tripwire_t) files_read_all_files(tripwire_t) files_read_all_symlinks(tripwire_t) files_getattr_all_pipes(tripwire_t) files_getattr_all_sockets(tripwire_t) libs_use_ld_so(tripwire_t) libs_use_shared_libs(tripwire_t) logging_send_syslog_msg(tripwire_t) optional_policy(` cron_system_entry(tripwire_t,tripwire_exec_t) ') ######################################## # # Twadmin local policy # allow twadmin_t tripwire_etc_t:dir manage_dir_perms; allow twadmin_t tripwire_etc_t:file manage_file_perms; allow twadmin_t tripwire_etc_t:lnk_file create_lnk_perms; domain_use_interactive_fds(twadmin_t) libs_use_ld_so(twadmin_t) libs_use_shared_libs(twadmin_t) logging_send_syslog_msg(twadmin_t) miscfiles_read_localization(twadmin_t) ######################################## # # Twprint local policy # allow twprint_t tripwire_etc_t:dir r_dir_perms; allow twprint_t tripwire_etc_t:file r_file_perms; allow twprint_t tripwire_etc_t:lnk_file { getattr read }; allow twprint_t tripwire_report_t:dir r_dir_perms; allow twprint_t tripwire_report_t:file r_file_perms; allow twprint_t tripwire_report_t:lnk_file { getattr read }; allow twprint_t tripwire_var_lib_t:dir r_dir_perms; allow twprint_t tripwire_var_lib_t:file r_file_perms; allow twprint_t tripwire_var_lib_t:lnk_file { getattr read }; files_search_var_lib(twprint_t) domain_use_interactive_fds(twprint_t) libs_use_ld_so(twprint_t) libs_use_shared_libs(twprint_t) logging_send_syslog_msg(twprint_t) miscfiles_read_localization(twprint_t) ######################################## # # Siggen local policy # domain_use_interactive_fds(siggen_t) # Need permission to read files files_read_all_files(siggen_t) libs_use_ld_so(siggen_t) libs_use_shared_libs(siggen_t) logging_send_syslog_msg(siggen_t) miscfiles_read_localization(siggen_t)