|
Chris PeBenito |
0fbfa5 |
#DESC Net Saint / NAGIOS - network monitoring server
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
# Author: Russell Coker <russell@coker.com.au>
|
|
Chris PeBenito |
0fbfa5 |
# X-Debian-Packages: netsaint, nagios
|
|
Chris PeBenito |
0fbfa5 |
# Depends: mta.te
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
#################################
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
# Rules for the nagios_t domain.
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
# nagios_exec_t is the type of the netsaint/nagios executable.
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
daemon_domain(nagios, `, privmail')
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
etcdir_domain(nagios)
|
|
Chris PeBenito |
0fbfa5 |
typealias nagios_etc_t alias etc_nagios_t;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
logdir_domain(nagios)
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t nagios_log_t:fifo_file create_file_perms;
|
|
Chris PeBenito |
0fbfa5 |
allow initrc_t nagios_log_t:dir rw_dir_perms;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
tmp_domain(nagios)
|
|
Chris PeBenito |
0fbfa5 |
allow system_mail_t nagios_tmp_t:file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
# for open file handles
|
|
Chris PeBenito |
0fbfa5 |
dontaudit system_mail_t nagios_etc_t:file read;
|
|
Chris PeBenito |
0fbfa5 |
dontaudit system_mail_t nagios_log_t:fifo_file read;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# Use the network.
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t self:fifo_file rw_file_perms;
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t self:unix_stream_socket create_socket_perms;
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t self:unix_dgram_socket create_socket_perms;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# Use capabilities
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t self:capability { dac_override setgid setuid };
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t self:process setpgid;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t { bin_t sbin_t }:dir search;
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t bin_t:lnk_file read;
|
|
Chris PeBenito |
0fbfa5 |
can_exec(nagios_t, { shell_exec_t bin_t })
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t proc_t:file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
can_network_server(nagios_t)
|
|
Chris PeBenito |
0fbfa5 |
can_ypbind(nagios_t)
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# read config files
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t { etc_t etc_runtime_t }:file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t etc_t:lnk_file read;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t etc_t:dir r_dir_perms;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# for ps
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(nagios_t, domain)
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t boot_t:dir search;
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t system_map_t:file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# for who
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t initrc_var_run_t:file { getattr read lock };
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
system_domain(nagios_cgi)
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t device_t:dir search;
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(nagios_cgi_t, nagios_etc_t)
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t var_log_t:dir search;
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(nagios_cgi_t, nagios_log_t)
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t self:process { fork signal_perms };
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t self:fifo_file rw_file_perms;
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t bin_t:dir search;
|
|
Chris PeBenito |
0fbfa5 |
can_exec(nagios_cgi_t, bin_t)
|
|
Chris PeBenito |
0fbfa5 |
read_locale(nagios_cgi_t)
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# for ps
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t { etc_runtime_t etc_t }:file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(nagios_cgi_t, { proc_t self nagios_t })
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t boot_t:dir search;
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t system_map_t:file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
dontaudit nagios_cgi_t domain:dir getattr;
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t self:unix_stream_socket create_socket_perms;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
ifdef(`apache.te', `
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(httpd_t, nagios_etc_t)
|
|
Chris PeBenito |
0fbfa5 |
domain_auto_trans({ httpd_t httpd_suexec_t }, nagios_cgi_exec_t, nagios_cgi_t)
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_cgi_t httpd_log_t:file append;
|
|
Chris PeBenito |
0fbfa5 |
')
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
ifdef(`ping.te', `
|
|
Chris PeBenito |
0fbfa5 |
domain_auto_trans(nagios_t, ping_exec_t, ping_t)
|
|
Chris PeBenito |
0fbfa5 |
allow nagios_t ping_t:process { sigkill signal };
|
|
Chris PeBenito |
0fbfa5 |
dontaudit ping_t nagios_etc_t:file read;
|
|
Chris PeBenito |
0fbfa5 |
dontaudit ping_t nagios_log_t:fifo_file read;
|
|
Chris PeBenito |
0fbfa5 |
')
|