Dominick Grift ab05ee8
## <summary>Virtual host metrics daemon.</summary>
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute a domain transition to run vhostmd.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
Dominick Grift ab05ee8
##	<summary>
Chris PeBenito 9401ae1
##	Domain allowed to transition.
Dominick Grift ab05ee8
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_domtrans',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_t, vhostmd_exec_t;
1ec3d1a
	')
1ec3d1a
Dominick Grift ab05ee8
	corecmd_search_bin($1)
1ec3d1a
	domtrans_pattern($1, vhostmd_exec_t, vhostmd_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Execute vhostmd init scripts in
Dominick Grift ab05ee8
##	the initrc domain.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed to transition.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_initrc_domtrans',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_initrc_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	init_labeled_script_domtrans($1, vhostmd_initrc_exec_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Read vhostmd tmpfs files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_read_tmpfs_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_tmpfs_t;
1ec3d1a
	')
1ec3d1a
Dominick Grift ab05ee8
	fs_search_tmpfs($1)
1ec3d1a
	allow $1 vhostmd_tmpfs_t:file read_file_perms;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Do not audit attempts to read
1ec3d1a
##	vhostmd tmpfs files
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain to not audit.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_dontaudit_read_tmpfs_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_tmpfs_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	dontaudit $1 vhostmd_tmpfs_t:file read_file_perms;
1ec3d1a
')
1ec3d1a
1ec3d1a
#######################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Read and write vhostmd tmpfs files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_rw_tmpfs_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_tmpfs_t;
1ec3d1a
	')
1ec3d1a
Dominick Grift ab05ee8
	fs_search_tmpfs($1)
1ec3d1a
	rw_files_pattern($1, vhostmd_tmpfs_t, vhostmd_tmpfs_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Create, read, write, and delete
Dominick Grift ab05ee8
##	vhostmd tmpfs files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_manage_tmpfs_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_tmpfs_t;
1ec3d1a
	')
1ec3d1a
Dominick Grift ab05ee8
	fs_search_tmpfs($1)
1ec3d1a
	manage_files_pattern($1, vhostmd_tmpfs_t, vhostmd_tmpfs_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Read vhostmd pid files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_read_pid_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
1ec3d1a
	allow $1 vhostmd_var_run_t:file read_file_perms;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Create, read, write, and delete
Dominick Grift ab05ee8
##	vhostmd pid files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_manage_pid_files',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
1ec3d1a
	manage_files_pattern($1, vhostmd_var_run_t, vhostmd_var_run_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Connect to vhostmd with a unix
Dominick Grift ab05ee8
##	domain stream socket.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_stream_connect',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_t, vhostmd_var_run_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	files_search_pids($1)
1ec3d1a
	stream_connect_pattern($1, vhostmd_var_run_t, vhostmd_var_run_t, vhostmd_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
#######################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	Do not audit attempts to read and
Dominick Grift ab05ee8
##	write vhostmd unix domain stream sockets.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain to not audit.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_dontaudit_rw_stream_connect',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vhostmd_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	dontaudit $1 vhostmd_t:unix_stream_socket { read write };
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
Dominick Grift ab05ee8
##	All of the rules required to
Dominick Grift ab05ee8
##	administrate an vhostmd environment.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <param name="role">
1ec3d1a
##	<summary>
1ec3d1a
##	Role allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <rolecap/>
1ec3d1a
#
1ec3d1a
interface(`vhostmd_admin',`
1ec3d1a
	gen_require(`
Dominick Grift ab05ee8
		type vhostmd_t, vhostmd_initrc_exec_t, vhostmd_var_run_t;
Dominick Grift ab05ee8
		type vhostmd_tmpfs_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	allow $1 vhostmd_t:process signal_perms;
1ec3d1a
	ps_process_pattern($1, vhostmd_t)
06d521d
1ec3d1a
	tunable_policy(`deny_ptrace',`',`
1ec3d1a
		allow $1 vhostmd_t:process ptrace;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	vhostmd_initrc_domtrans($1)
1ec3d1a
	domain_system_change_exemption($1)
1ec3d1a
	role_transition $2 vhostmd_initrc_exec_t system_r;
1ec3d1a
	allow $2 system_r;
1ec3d1a
Dominick Grift ab05ee8
	fs_search_tmpfs($1)
Dominick Grift ab05ee8
	admin_pattern($1, vhostmd_tmpfs_t)
Chris PeBenito 9401ae1
Dominick Grift ab05ee8
	files_search_pids($1)
Dominick Grift ab05ee8
	admin_pattern($1, vhostmd_var_run_t)
1ec3d1a
')