|
Chris PeBenito |
0fbfa5 |
#DESC RSHD - RSH daemon
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
# Authors: Stephen Smalley <sds@epoch.ncsc.mil> and Timothy Fraser
|
|
Chris PeBenito |
0fbfa5 |
# X-Debian-Packages: rsh-server rsh-redone-server
|
|
Chris PeBenito |
0fbfa5 |
# Depends: inetd.te
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
#################################
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
# Rules for the rshd_t domain.
|
|
Chris PeBenito |
0fbfa5 |
#
|
|
Chris PeBenito |
0fbfa5 |
type rsh_port_t, port_type, reserved_port_type;
|
|
Chris PeBenito |
0fbfa5 |
daemon_sub_domain(inetd_t, rshd, `, auth_chkpwd, privuser, privrole')
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
ifdef(`tcpd.te', `
|
|
Chris PeBenito |
0fbfa5 |
domain_auto_trans(tcpd_t, rshd_exec_t, rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
')
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# Use sockets inherited from inetd.
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t inetd_t:tcp_socket rw_stream_socket_perms;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# Use capabilities.
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t self:capability { net_bind_service setuid setgid fowner fsetid chown dac_override};
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# Use the network.
|
|
Chris PeBenito |
0fbfa5 |
can_network_server(rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t reserved_port_t:tcp_socket name_bind;
|
|
Chris PeBenito |
0fbfa5 |
dontaudit rshd_t reserved_port_type:tcp_socket name_bind;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
can_ypbind(rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t etc_t:file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
read_locale(rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t self:unix_dgram_socket create_socket_perms;
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t self:unix_stream_socket create_stream_socket_perms;
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t { home_root_t home_dir_type }:dir { search getattr };
|
|
Chris PeBenito |
0fbfa5 |
can_kerberos(rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t { bin_t sbin_t tmp_t}:dir { search };
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t { bin_t sbin_t }:lnk_file r_file_perms;
|
|
Chris PeBenito |
0fbfa5 |
ifdef(`rlogind.te', `
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t rlogind_tmp_t:file rw_file_perms;
|
|
Chris PeBenito |
0fbfa5 |
')
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t urandom_device_t:chr_file { getattr read };
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# Read the user's .rhosts file.
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t home_type:file r_file_perms ;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
# Random reasons
|
|
Chris PeBenito |
0fbfa5 |
can_getsecurity(rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
can_setexec(rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(rshd_t, selinux_config_t)
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(rshd_t, default_context_t)
|
|
Chris PeBenito |
0fbfa5 |
read_sysctl(rshd_t);
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
if (use_nfs_home_dirs) {
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(rshd_t, nfs_t)
|
|
Chris PeBenito |
0fbfa5 |
}
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
if (use_samba_home_dirs) {
|
|
Chris PeBenito |
0fbfa5 |
r_dir_file(rshd_t, cifs_t)
|
|
Chris PeBenito |
0fbfa5 |
}
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t self:process { fork signal setsched setpgid };
|
|
Chris PeBenito |
0fbfa5 |
allow rshd_t self:fifo_file rw_file_perms;
|
|
Chris PeBenito |
0fbfa5 |
|
|
Chris PeBenito |
0fbfa5 |
ifdef(`targeted_policy', `
|
|
Chris PeBenito |
0fbfa5 |
unconfined_domain(rshd_t)
|
|
Chris PeBenito |
0fbfa5 |
domain_auto_trans(rshd_t,shell_exec_t,unconfined_t)
|
|
Chris PeBenito |
0fbfa5 |
')
|