Chris PeBenito bbc40b5
policy_module(wireshark, 2.3.0)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
########################################
Chris PeBenito 9401ae1
#
Chris PeBenito 9401ae1
# Declarations
Chris PeBenito 9401ae1
#
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
type wireshark_t;
Chris PeBenito 9401ae1
type wireshark_exec_t;
Chris PeBenito 9401ae1
typealias wireshark_t alias { user_wireshark_t staff_wireshark_t sysadm_wireshark_t };
Chris PeBenito 9401ae1
typealias wireshark_t alias { auditadm_wireshark_t secadm_wireshark_t };
Chris PeBenito 66b26ac
userdom_user_application_domain(wireshark_t, wireshark_exec_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
type wireshark_home_t;
Chris PeBenito 9401ae1
typealias wireshark_home_t alias { user_wireshark_home_t staff_wireshark_home_t sysadm_wireshark_home_t };
Chris PeBenito 9401ae1
typealias wireshark_home_t alias { auditadm_wireshark_home_t secadm_wireshark_home_t };
Chris PeBenito 9401ae1
userdom_user_home_content(wireshark_home_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
type wireshark_tmp_t;
Chris PeBenito 9401ae1
typealias wireshark_tmp_t alias { user_wireshark_tmp_t staff_wireshark_tmp_t sysadm_wireshark_tmp_t };
Chris PeBenito 9401ae1
typealias wireshark_tmp_t alias { auditadm_wireshark_tmp_t secadm_wireshark_tmp_t };
Chris PeBenito 66b26ac
userdom_user_tmp_file(wireshark_tmp_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
type wireshark_tmpfs_t;
Chris PeBenito 9401ae1
typealias wireshark_tmpfs_t alias { user_wireshark_tmpfs_t staff_wireshark_tmpfs_t sysadm_wireshark_tmpfs_t };
Chris PeBenito 9401ae1
typealias wireshark_tmpfs_t alias { auditadm_wireshark_tmpfs_t secadm_wireshark_tmpfs_t };
Chris PeBenito 66b26ac
userdom_user_tmpfs_file(wireshark_tmpfs_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
##############################
Chris PeBenito 9401ae1
#
Chris PeBenito 9401ae1
# Local Policy
Chris PeBenito 9401ae1
#
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
allow wireshark_t self:capability { net_admin net_raw setgid };
Chris PeBenito 9401ae1
allow wireshark_t self:process { signal getsched };
Chris PeBenito 9401ae1
allow wireshark_t self:fifo_file { getattr read write };
Chris PeBenito 9401ae1
allow wireshark_t self:shm destroy;
Chris PeBenito 9401ae1
allow wireshark_t self:shm create_shm_perms;
Chris PeBenito 9401ae1
allow wireshark_t self:netlink_route_socket { nlmsg_read create_socket_perms };
Sven Vermeulen 96393af
allow wireshark_t self:packet_socket { setopt bind ioctl getopt create read write };
Chris PeBenito 9401ae1
allow wireshark_t self:tcp_socket create_socket_perms;
Chris PeBenito 9401ae1
allow wireshark_t self:udp_socket create_socket_perms;
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
# Re-execute itself (why?)
Chris PeBenito 9401ae1
can_exec(wireshark_t, wireshark_exec_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
# /home/.wireshark
Chris PeBenito 9401ae1
manage_dirs_pattern(wireshark_t, wireshark_home_t, wireshark_home_t)
Chris PeBenito 9401ae1
manage_files_pattern(wireshark_t, wireshark_home_t, wireshark_home_t)
Chris PeBenito 9401ae1
manage_lnk_files_pattern(wireshark_t, wireshark_home_t, wireshark_home_t)
Chris PeBenito 9401ae1
userdom_user_home_dir_filetrans(wireshark_t, wireshark_home_t, dir)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
# Store temporary files
Chris PeBenito 9401ae1
manage_dirs_pattern(wireshark_t, wireshark_tmp_t, wireshark_tmp_t)
Chris PeBenito 9401ae1
manage_files_pattern(wireshark_t, wireshark_tmp_t, wireshark_tmp_t)
Chris PeBenito 9401ae1
files_tmp_filetrans(wireshark_t, wireshark_tmp_t, { dir file })
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
manage_dirs_pattern(wireshark_t, wireshark_tmpfs_t, wireshark_tmpfs_t)
Chris PeBenito 9401ae1
manage_files_pattern(wireshark_t, wireshark_tmpfs_t, wireshark_tmpfs_t)
Chris PeBenito 9401ae1
manage_lnk_files_pattern(wireshark_t, wireshark_tmpfs_t, wireshark_tmpfs_t)
Chris PeBenito 9401ae1
manage_sock_files_pattern(wireshark_t, wireshark_tmpfs_t, wireshark_tmpfs_t)
Chris PeBenito 9401ae1
manage_fifo_files_pattern(wireshark_t, wireshark_tmpfs_t, wireshark_tmpfs_t)
Chris PeBenito 9401ae1
fs_tmpfs_filetrans(wireshark_t, wireshark_tmpfs_t, { dir file lnk_file sock_file fifo_file })
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
kernel_read_kernel_sysctls(wireshark_t)
Chris PeBenito 9401ae1
kernel_read_system_state(wireshark_t)
Chris PeBenito 9401ae1
kernel_read_sysctl(wireshark_t)
Chris PeBenito 9401ae1
Sven Vermeulen f404a68
corecmd_exec_bin(wireshark_t)
Chris PeBenito 9401ae1
corecmd_search_bin(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
corenet_tcp_connect_generic_port(wireshark_t)
Chris PeBenito 9401ae1
corenet_tcp_sendrecv_generic_if(wireshark_t)
Chris PeBenito 9401ae1
Sven Vermeulen 24deb96
dev_read_rand(wireshark_t)
Sven Vermeulen 6d40879
dev_read_sysfs(wireshark_t)
Chris PeBenito 9401ae1
dev_read_urand(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
files_read_etc_files(wireshark_t)
Chris PeBenito 9401ae1
files_read_usr_files(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
fs_list_inotifyfs(wireshark_t)
Chris PeBenito 9401ae1
fs_search_auto_mountpoints(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
libs_read_lib_files(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
miscfiles_read_fonts(wireshark_t)
Chris PeBenito 9401ae1
miscfiles_read_localization(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
seutil_use_newrole_fds(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
sysnet_read_config(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
userdom_manage_user_home_content_files(wireshark_t)
Sven Vermeulen 4f3e2f4
userdom_use_user_ptys(wireshark_t)
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
tunable_policy(`use_nfs_home_dirs',`
Chris PeBenito 9401ae1
	fs_manage_nfs_dirs(wireshark_t)
Chris PeBenito 9401ae1
	fs_manage_nfs_files(wireshark_t)
Chris PeBenito 9401ae1
	fs_manage_nfs_symlinks(wireshark_t)
Chris PeBenito 9401ae1
')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
tunable_policy(`use_samba_home_dirs',`
Chris PeBenito 9401ae1
	fs_manage_cifs_dirs(wireshark_t)
Chris PeBenito 9401ae1
	fs_manage_cifs_files(wireshark_t)
Chris PeBenito 9401ae1
	fs_manage_cifs_symlinks(wireshark_t)
Chris PeBenito 9401ae1
')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
optional_policy(`
Chris PeBenito 9401ae1
	nscd_socket_use(wireshark_t)
Chris PeBenito 9401ae1
')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
# Manual transition from userhelper
Chris PeBenito 9401ae1
optional_policy(`
Chris PeBenito 9401ae1
	userhelper_use_fd(wireshark_t)
Chris PeBenito 9401ae1
	userhelper_sigchld(wireshark_t)
Chris PeBenito 9401ae1
')
Chris PeBenito 9401ae1
Chris PeBenito 9401ae1
optional_policy(`
Chris PeBenito 9401ae1
	xserver_user_x_domain_template(wireshark, wireshark_t, wireshark_tmpfs_t)
Chris PeBenito 9401ae1
	xserver_create_xdm_tmp_sockets(wireshark_t)
Chris PeBenito 9401ae1
')