trunk: pads from dan.

This commit is contained in:
Chris PeBenito 2009-06-30 15:03:20 +00:00
parent 46e2fa6d39
commit 50824a99ca
4 changed files with 119 additions and 0 deletions

View File

@ -26,6 +26,7 @@
ifplugd (Dan Walsh) ifplugd (Dan Walsh)
lircd (Miroslav Grepl) lircd (Miroslav Grepl)
logadm (Dan Walsh) logadm (Dan Walsh)
pads (Dan Walsh)
pingd (Dan Walsh) pingd (Dan Walsh)
psad (Dan Walsh) psad (Dan Walsh)
portreserve (Dan Walsh) portreserve (Dan Walsh)

View File

@ -0,0 +1,10 @@
/etc/pads-ether-codes -- gen_context(system_u:object_r:pads_config_t, s0)
/etc/pads-signature-list -- gen_context(system_u:object_r:pads_config_t, s0)
/etc/pads.conf -- gen_context(system_u:object_r:pads_config_t, s0)
/etc/pads-assets.csv -- gen_context(system_u:object_r:pads_config_t, s0)
/etc/rc\.d/init\.d/pads -- gen_context(system_u:object_r:pads_initrc_exec_t, s0)
/usr/bin/pads -- gen_context(system_u:object_r:pads_exec_t, s0)
/var/run/pads.pid -- gen_context(system_u:object_r:pads_var_run_t, s0)

View File

@ -0,0 +1,44 @@
## <summary>Passive Asset Detection System</summary>
## <desc>
## <p>
## PADS is a libpcap based detection engine used to
## passively detect network assets. It is designed to
## complement IDS technology by providing context to IDS
## alerts.
## </p>
## </desc>
########################################
## <summary>
## All of the rules required to administrate
## an pads environment
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## Role allowed access.
## </summary>
## </param>
## <rolecap/>
#
interface(`pads_admin', `
gen_require(`
type pads_t, pads_config_t;
type pads_var_run_t, pads_initrc_exec_t;
')
allow $1 pads_t:process { ptrace signal_perms };
ps_process_pattern($1, pads_t)
init_labeled_script_domtrans($1, pads_initrc_exec_t)
domain_system_change_exemption($1)
role_transition $2 pads_initrc_exec_t system_r;
allow $2 system_r;
admin_pattern($1, pads_var_run_t)
admin_pattern($1, pads_config_t)
')

View File

@ -0,0 +1,64 @@
policy_module(pads, 1.0.0)
########################################
#
# Declarations
#
type pads_t;
type pads_exec_t;
init_daemon_domain(pads_t, pads_exec_t)
role system_r types pads_t;
type pads_initrc_exec_t;
init_script_file(pads_initrc_exec_t)
type pads_config_t;
files_config_file(pads_config_t)
type pads_var_run_t;
files_pid_file(pads_var_run_t)
########################################
#
# Declarations
#
allow pads_t self:capability { dac_override net_raw };
allow pads_t self:netlink_route_socket { write getattr read bind create nlmsg_read };
allow pads_t self:packet_socket { ioctl setopt getopt read bind create };
allow pads_t self:udp_socket { create ioctl };
allow pads_t self:unix_dgram_socket { write create connect };
allow pads_t pads_config_t:file manage_file_perms;
files_etc_filetrans(pads_t, pads_config_t, file)
allow pads_t pads_var_run_t:file manage_file_perms;
files_pid_filetrans(pads_t, pads_var_run_t, file)
kernel_read_sysctl(pads_t)
corecmd_search_bin(pads_t)
corenet_all_recvfrom_unlabeled(pads_t)
corenet_all_recvfrom_netlabel(pads_t)
corenet_tcp_sendrecv_generic_if(pads_t)
corenet_tcp_sendrecv_generic_node(pads_t)
corenet_tcp_connect_prelude_port(pads_t)
dev_read_rand(pads_t)
dev_read_urand(pads_t)
files_read_etc_files(pads_t)
files_search_spool(pads_t)
miscfiles_read_localization(pads_t)
logging_send_syslog_msg(pads_t)
sysnet_dns_name_resolve(pads_t)
optional_policy(`
prelude_manage_spool(pads_t)
')