Changeset 2686
- Timestamp:
- 05/19/08 12:57:28 (7 months ago)
- Files:
-
- branches/rbacsep/policy/modules/services/apache.te (modified) (2 diffs)
- branches/rbacsep/policy/modules/services/bluetooth.te (modified) (2 diffs)
- branches/rbacsep/policy/modules/services/cron.fc (modified) (1 diff)
- branches/rbacsep/policy/modules/services/cron.if (modified) (10 diffs)
- branches/rbacsep/policy/modules/services/cron.te (modified) (6 diffs)
- branches/rbacsep/policy/modules/services/dbus.fc (modified) (1 diff)
- branches/rbacsep/policy/modules/services/dbus.te (modified) (3 diffs)
- branches/rbacsep/policy/modules/services/ftp.te (modified) (1 diff)
- branches/rbacsep/policy/modules/services/lpd.te (modified) (5 diffs)
- branches/rbacsep/policy/modules/services/mta.te (modified) (2 diffs)
- branches/rbacsep/policy/modules/services/pyzor.te (modified) (3 diffs)
- branches/rbacsep/policy/modules/services/razor.if (modified) (1 diff)
- branches/rbacsep/policy/modules/services/razor.te (modified) (1 diff)
- branches/rbacsep/policy/modules/services/samba.te (modified) (1 diff)
- branches/rbacsep/policy/modules/services/spamassassin.te (modified) (4 diffs)
- branches/rbacsep/policy/modules/services/ssh.te (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/rbacsep/policy/modules/services/apache.te
r2675 r2686 187 187 type httpd_tmpfs_t; 188 188 files_tmpfs_file(httpd_tmpfs_t) 189 190 apache_content_template(user) 189 191 190 192 # for apache2 memory mapped files … … 722 724 723 725 miscfiles_read_localization(httpd_rotatelogs_t) 726 727 ######################################## 728 # 729 # User content local policy 730 # 731 732 typeattribute httpd_user_script_t httpd_script_domains; 733 userdom_user_home_content($1,httpd_user_content_t) 734 735 allow $2 httpd_user_content_t:{ dir file lnk_file } { relabelto relabelfrom }; 736 737 allow $2 httpd_user_htaccess_t:file { manage_file_perms relabelto relabelfrom }; 738 739 manage_dirs_pattern($2,httpd_user_script_ra_t,httpd_user_script_ra_t) 740 manage_files_pattern($2,httpd_user_script_ra_t,httpd_user_script_ra_t) 741 manage_lnk_files_pattern($2,httpd_user_script_ra_t,httpd_user_script_ra_t) 742 relabel_dirs_pattern($2,httpd_user_script_ra_t,httpd_user_script_ra_t) 743 relabel_files_pattern($2,httpd_user_script_ra_t,httpd_user_script_ra_t) 744 relabel_lnk_files_pattern($2,httpd_user_script_ra_t,httpd_user_script_ra_t) 745 746 manage_dirs_pattern($2,httpd_user_script_ro_t,httpd_user_script_ro_t) 747 manage_files_pattern($2,httpd_user_script_ro_t,httpd_user_script_ro_t) 748 manage_lnk_files_pattern($2,httpd_user_script_ro_t,httpd_user_script_ro_t) 749 relabel_dirs_pattern($2,httpd_user_script_ro_t,httpd_user_script_ro_t) 750 relabel_files_pattern($2,httpd_user_script_ro_t,httpd_user_script_ro_t) 751 relabel_lnk_files_pattern($2,httpd_user_script_ro_t,httpd_user_script_ro_t) 752 753 manage_dirs_pattern($2,httpd_user_script_rw_t,httpd_user_script_rw_t) 754 manage_files_pattern($2,httpd_user_script_rw_t,httpd_user_script_rw_t) 755 manage_lnk_files_pattern($2,httpd_user_script_rw_t,httpd_user_script_rw_t) 756 relabel_dirs_pattern($2,httpd_user_script_rw_t,httpd_user_script_rw_t) 757 relabel_files_pattern($2,httpd_user_script_rw_t,httpd_user_script_rw_t) 758 relabel_lnk_files_pattern($2,httpd_user_script_rw_t,httpd_user_script_rw_t) 759 760 manage_dirs_pattern($2,httpd_user_script_exec_t,httpd_user_script_exec_t) 761 manage_files_pattern($2,httpd_user_script_exec_t,httpd_user_script_exec_t) 762 manage_lnk_files_pattern($2,httpd_user_script_exec_t,httpd_user_script_exec_t) 763 relabel_dirs_pattern($2,httpd_user_script_exec_t,httpd_user_script_exec_t) 764 relabel_files_pattern($2,httpd_user_script_exec_t,httpd_user_script_exec_t) 765 relabel_lnk_files_pattern($2,httpd_user_script_exec_t,httpd_user_script_exec_t) 766 767 tunable_policy(`httpd_enable_cgi',` 768 # If a user starts a script by hand it gets the proper context 769 domtrans_pattern($2, httpd_user_script_exec_t, httpd_user_script_t) 770 ') 771 772 tunable_policy(`httpd_enable_cgi && httpd_unified',` 773 allow httpd_user_script_t httpdcontent:file entrypoint; 774 775 domtrans_pattern($2, httpdcontent, httpd_user_script_t) 776 ') 777 778 # allow accessing files/dirs below the users home dir 779 tunable_policy(`httpd_enable_homedirs',` 780 userdom_search_user_home_dirs($1,httpd_t) 781 userdom_search_user_home_dirs($1,httpd_suexec_t) 782 userdom_search_user_home_dirs($1,httpd_user_script_t) 783 ') branches/rbacsep/policy/modules/services/bluetooth.te
r2675 r2686 16 16 files_type(bluetooth_conf_rw_t) 17 17 18 attribute bluetooth_helper_domain; 19 18 type bluetooth_helper_t; 20 19 type bluetooth_helper_exec_t; 21 application_executable_file(bluetooth_helper_exec_t) 20 application_domain(bluetooth_helper_t, bluetooth_helper_exec_t) 21 22 type bluetooth_helper_tmp_t; 23 files_tmp_file(bluetooth_helper_tmp_t) 24 25 type bluetooth_helper_tmpfs_t; 26 files_tmpfs_file(bluetooth_helper_tmpfs_t) 22 27 23 28 type bluetooth_lock_t; … … 146 151 ppp_domtrans(bluetooth_t) 147 152 ') 153 154 ######################################## 155 # 156 # Bluetooth helper programs local policy 157 # 158 159 allow bluetooth_helper_t self:capability sys_nice; 160 allow bluetooth_helper_t self:process getsched; 161 allow bluetooth_helper_t self:fifo_file rw_fifo_file_perms; 162 allow bluetooth_helper_t self:shm create_shm_perms; 163 allow bluetooth_helper_t self:unix_stream_socket { create_stream_socket_perms connectto }; 164 allow bluetooth_helper_t self:tcp_socket create_socket_perms; 165 allow bluetooth_helper_t self:netlink_route_socket r_netlink_socket_perms; 166 167 allow bluetooth_helper_t bluetooth_t:socket { read write }; 168 169 manage_dirs_pattern(bluetooth_helper_t, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t) 170 manage_files_pattern(bluetooth_helper_t, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t) 171 manage_sock_files_pattern(bluetooth_helper_t, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t) 172 files_tmp_filetrans(bluetooth_helper_t, bluetooth_helper_tmp_t, { file dir sock_file }) 173 174 manage_dirs_pattern(bluetooth_helper_t, bluetooth_helper_tmpfs_t, bluetooth_helper_tmpfs_t) 175 manage_files_pattern(bluetooth_helper_t, bluetooth_helper_tmpfs_t, bluetooth_helper_tmpfs_t) 176 fs_tmpfs_filetrans(bluetooth_helper_t, bluetooth_helper_tmpfs_t, { dir file }) 177 178 kernel_read_system_state(bluetooth_helper_t) 179 kernel_read_kernel_sysctls(bluetooth_helper_t) 180 181 dev_read_urand(bluetooth_helper_t) 182 183 term_dontaudit_use_all_user_ttys(bluetooth_helper_t) 184 185 corecmd_exec_bin(bluetooth_helper_t) 186 corecmd_exec_shell(bluetooth_helper_t) 187 188 domain_read_all_domains_state(bluetooth_helper_t) 189 190 files_read_etc_files(bluetooth_helper_t) 191 files_read_etc_runtime_files(bluetooth_helper_t) 192 files_read_usr_files(bluetooth_helper_t) 193 files_dontaudit_list_default(bluetooth_helper_t) 194 195 libs_use_ld_so(bluetooth_helper_t) 196 libs_use_shared_libs(bluetooth_helper_t) 197 198 locallogin_dontaudit_use_fds(bluetooth_helper_t) 199 200 logging_send_syslog_msg(bluetooth_helper_t) 201 202 miscfiles_read_localization(bluetooth_helper_t) 203 204 sysnet_read_config(bluetooth_helper_t) 205 206 optional_policy(` 207 bluetooth_dbus_chat(bluetooth_helper_t) 208 209 dbus_system_bus_client_template(bluetooth_helper, bluetooth_helper_t) 210 dbus_connect_system_bus(bluetooth_helper_t) 211 ') 212 213 optional_policy(` 214 nscd_socket_use(bluetooth_helper_t) 215 ') 216 217 optional_policy(` 218 xserver_user_x_domain_template($1, bluetooth_helper, bluetooth_helper_t, bluetooth_helper_tmpfs_t) 219 ') branches/rbacsep/policy/modules/services/cron.fc
r2051 r2686 42 42 43 43 /var/spool/fcron -d gen_context(system_u:object_r:cron_spool_t,s0) 44 /var/spool/fcron/ .* <<none>>44 /var/spool/fcron/[^/]* <<none>> 45 45 /var/spool/fcron/systab\.orig -- gen_context(system_u:object_r:system_cron_spool_t,s0) 46 46 /var/spool/fcron/systab -- gen_context(system_u:object_r:system_cron_spool_t,s0) branches/rbacsep/policy/modules/services/cron.if
r2449 r2686 267 267 ####################################### 268 268 ## <summary> 269 ## The common rules for a crontab domain. 270 ## </summary> 271 ## <param name="userdomain_prefix"> 272 ## <summary> 273 ## The prefix of the user domain (e.g., user 274 ## is the prefix for user_t). 275 ## </summary> 276 ## </param> 277 # 278 template(`cron_common_crontab_template',` 279 gen_require(` 280 type crontab_exec_t, user_cron_spool_t; 281 ') 282 283 ############################## 284 # 285 # Declarations 286 # 287 288 type $1_t; 289 application_domain($1_t, crontab_exec_t) 290 291 type $1_tmp_t; 292 files_tmp_file($1_tmp_t) 293 294 ############################## 295 # 296 # Local policy 297 # 298 299 # dac_override is to create the file in the directory under /tmp 300 allow $1_t self:capability { fowner setuid setgid chown dac_override }; 301 allow $1_t self:process signal_perms; 302 303 # Transition from the user domain to the derived domain. 304 domtrans_pattern($2, crontab_exec_t, $1_t) 305 306 # crontab shows up in user ps 307 ps_process_pattern($2,$1_t) 308 309 # for ^Z 310 allow $2 $1_t:process signal; 311 312 # Allow crond to read those crontabs in cron spool. 313 allow crond_t $1_cron_spool_t:file manage_file_perms; 314 315 allow $1_t $1_tmp_t:file manage_file_perms; 316 files_tmp_filetrans($1_t,$1_tmp_t,file) 317 318 # create files in /var/spool/cron 319 # cjp: change this to a role transition 320 manage_files_pattern($1_t, cron_spool_t, user_cron_spool_t) 321 filetrans_pattern($1_t, cron_spool_t, user_cron_spool_t, file) 322 files_search_spool($1_t) 323 324 # crontab signals crond by updating the mtime on the spooldir 325 allow $1_t cron_spool_t:dir setattr; 326 327 kernel_read_system_state($1_t) 328 329 # for the checks used by crontab -u 330 selinux_dontaudit_search_fs($1_t) 331 332 fs_getattr_xattr_fs($1_t) 333 334 # Run helper programs as the user domain 335 corecmd_bin_domtrans($1_t,$2) 336 corecmd_shell_domtrans($1_t,$2) 337 338 domain_use_interactive_fds($1_t) 339 340 files_read_etc_files($1_t) 341 files_dontaudit_search_pids($1_t) 342 343 libs_use_ld_so($1_t) 344 libs_use_shared_libs($1_t) 345 346 logging_send_syslog_msg($1_t) 347 348 miscfiles_read_localization($1_t) 349 350 seutil_read_config($1_t) 351 352 userdom_manage_user_tmp_dirs($1,$1_t) 353 userdom_manage_user_tmp_files($1,$1_t) 354 # Access terminals. 355 userdom_use_user_terminals($1,$1_t) 356 # Read user crontabs 357 userdom_read_user_home_content_files($1,$1_t) 358 359 tunable_policy(`fcron_crond',` 360 # fcron wants an instant update of a crontab change for the administrator 361 # also crontab does a security check for crontab -u 362 dontaudit $1_t crond_t:process signal; 363 ') 364 365 optional_policy(` 366 nscd_socket_use($1_t) 367 ') 368 ') 369 370 ####################################### 371 ## <summary> 269 372 ## The administrative functions template for the cron module. 270 373 ## </summary> … … 287 390 attribute cron_spool_type; 288 391 type $1_crontab_t, $1_crond_t; 289 ') 392 class passwd crontab; 393 ') 394 395 # Manipulate other users crontab. 396 allow $2 self:passwd crontab; 290 397 291 398 # Allow our crontab domain to unlink a user cron spool file. … … 306 413 # also crontab does a security check for crontab -u 307 414 allow $1_crontab_t self:process setfscreate; 308 selinux_get_fs_mount($1_crontab_t)309 415 ') 310 416 ') … … 328 434 interface(`cron_system_entry',` 329 435 gen_require(` 330 type crond_t, system_cron d_t;331 ') 332 333 domain_auto_trans(system_cron d_t, $2, $1)436 type crond_t, system_cronjob_t; 437 ') 438 439 domain_auto_trans(system_cronjob_t, $2, $1) 334 440 335 441 # cjp: perhaps these four rules from the old 336 442 # domain_auto_trans are not needed? 337 allow $1 system_cron d_t:fd use;338 allow $1 system_cron d_t:fifo_file rw_file_perms;339 allow $1 system_cron d_t:process sigchld;443 allow $1 system_cronjob_t:fd use; 444 allow $1 system_cronjob_t:fifo_file rw_file_perms; 445 allow $1 system_cronjob_t:process sigchld; 340 446 341 447 allow $1 crond_t:fifo_file rw_file_perms; … … 486 592 interface(`cron_anacron_domtrans_system_job',` 487 593 gen_require(` 488 type system_cron d_t, anacron_exec_t;489 ') 490 491 domtrans_pattern($1,anacron_exec_t,system_cron d_t)594 type system_cronjob_t, anacron_exec_t; 595 ') 596 597 domtrans_pattern($1,anacron_exec_t,system_cronjob_t) 492 598 ') 493 599 … … 505 611 interface(`cron_use_system_job_fds',` 506 612 gen_require(` 507 type system_cron d_t;508 ') 509 510 allow $1 system_cron d_t:fd use;613 type system_cronjob_t; 614 ') 615 616 allow $1 system_cronjob_t:fd use; 511 617 ') 512 618 … … 523 629 interface(`cron_write_system_job_pipes',` 524 630 gen_require(` 525 type system_cron d_t;526 ') 527 528 allow $1 system_cron d_t:file write;631 type system_cronjob_t; 632 ') 633 634 allow $1 system_cronjob_t:file write; 529 635 ') 530 636 … … 541 647 interface(`cron_rw_system_job_pipes',` 542 648 gen_require(` 543 type system_cron d_t;544 ') 545 546 allow $1 system_cron d_t:fifo_file rw_fifo_file_perms;649 type system_cronjob_t; 650 ') 651 652 allow $1 system_cronjob_t:fifo_file rw_fifo_file_perms; 547 653 ') 548 654 … … 559 665 interface(`cron_read_system_job_tmp_files',` 560 666 gen_require(` 561 type system_cron d_tmp_t;667 type system_cronjob_tmp_t; 562 668 ') 563 669 564 670 files_search_tmp($1) 565 allow $1 system_cron d_tmp_t:file read_file_perms;671 allow $1 system_cronjob_tmp_t:file read_file_perms; 566 672 ') 567 673 … … 579 685 interface(`cron_dontaudit_append_system_job_tmp_files',` 580 686 gen_require(` 581 type system_cron d_tmp_t;582 ') 583 584 dontaudit $1 system_cron d_tmp_t:file append;585 ') 687 type system_cronjob_tmp_t; 688 ') 689 690 dontaudit $1 system_cronjob_tmp_t:file append; 691 ') branches/rbacsep/policy/modules/services/cron.te
r2553 r2686 58 58 application_executable_file(crontab_exec_t) 59 59 60 cron_common_crontab_template(admin_crontab) 61 62 cron_common_crontab_template(crontab) 63 60 64 type system_cron_spool_t, cron_spool_type; 61 65 files_type(system_cron_spool_t) 62 66 63 type system_cron d_t;64 init_daemon_domain(system_cron d_t,anacron_exec_t)65 corecmd_shell_entry_type(system_cron d_t)66 role system_r types system_cron d_t;67 68 type system_cron d_lock_t;69 files_lock_file(system_cron d_lock_t)70 71 type system_cron d_tmp_t;72 files_tmp_file(system_cron d_tmp_t)67 type system_cronjob_t alias system_crond_t; 68 init_daemon_domain(system_cronjob_t,anacron_exec_t) 69 corecmd_shell_entry_type(system_cronjob_t) 70 role system_r types system_cronjob_t; 71 72 type system_cronjob_lock_t alias system_crond_lock_t; 73 files_lock_file(system_cronjob_lock_t) 74 75 type system_cronjob_tmp_t alias system_crond_tmp_t; 76 files_tmp_file(system_cronjob_tmp_t) 73 77 74 78 ifdef(`enable_mcs',` … … 76 80 ') 77 81 82 type cronjob_t; 83 domain_type(cronjob_t) 84 domain_cron_exemption_target(cronjob_t) 85 corecmd_shell_entry_type(cronjob_t) 86 role $3 types cronjob_t; 87 88 # Type of user crontabs once moved to cron spool. 89 type user_cron_spool_t, cron_spool_type; 90 files_type(user_cron_spool_t) 91 78 92 ######################################## 79 93 # 80 # Cron Local policy 94 # Admin crontab local policy 95 # 96 97 # Manipulate other users crontab. 98 allow $2 self:passwd crontab; 99 100 # Allow our crontab domain to unlink a user cron spool file. 101 allow admin_crontab_t cron_spool_type:file { getattr read unlink }; 102 103 # Manipulate other users crontab. 104 selinux_get_fs_mount(admin_crontab_t) 105 selinux_validate_context(admin_crontab_t) 106 selinux_compute_access_vector(admin_crontab_t) 107 selinux_compute_create_context(admin_crontab_t) 108 selinux_compute_relabel_context(admin_crontab_t) 109 selinux_compute_user_contexts(admin_crontab_t) 110 111 tunable_policy(`fcron_crond', ` 112 # fcron wants an instant update of a crontab change for the administrator 113 # also crontab does a security check for crontab -u 114 allow admin_crontab_t self:process setfscreate; 115 ') 116 117 ######################################## 118 # 119 # Cron daemon local policy 81 120 # 82 121 … … 222 261 # 223 262 224 allow system_cron d_t self:capability { dac_override dac_read_search chown setgid setuid fowner net_bind_service fsetid };225 allow system_cron d_t self:process { signal_perms setsched };226 allow system_cron d_t self:fifo_file rw_fifo_file_perms;227 allow system_cron d_t self:passwd rootok;263 allow system_cronjob_t self:capability { dac_override dac_read_search chown setgid setuid fowner net_bind_service fsetid }; 264 allow system_cronjob_t self:process { signal_perms setsched }; 265 allow system_cronjob_t self:fifo_file rw_fifo_file_perms; 266 allow system_cronjob_t self:passwd rootok; 228 267 229 268 # This is to handle creation of files in /var/log directory. 230 269 # Used currently by rpm script log files 231 allow system_cron d_t cron_log_t:file manage_file_perms;232 logging_log_filetrans(system_cron d_t,cron_log_t,file)270 allow system_cronjob_t cron_log_t:file manage_file_perms; 271 logging_log_filetrans(system_cronjob_t,cron_log_t,file) 233 272 234 273 # This is to handle /var/lib/misc directory. Used currently 235 274 # by prelink var/lib files for cron 236 allow system_cron d_t cron_var_lib_t:file manage_file_perms;237 files_var_lib_filetrans(system_cron d_t,cron_var_lib_t,file)238 239 allow system_cron d_t system_cron_spool_t:file read_file_perms;275 allow system_cronjob_t cron_var_lib_t:file manage_file_perms; 276 files_var_lib_filetrans(system_cronjob_t,cron_var_lib_t,file) 277 278 allow system_cronjob_t system_cron_spool_t:file read_file_perms; 240 279 # The entrypoint interface is not used as this is not 241 280 # a regular entrypoint. Since crontab files are … … 245 284 # performs an entrypoint permission check 246 285 # for this purpose. 247 allow system_cron d_t system_cron_spool_t:file entrypoint;286 allow system_cronjob_t system_cron_spool_t:file entrypoint; 248 287 249 288 # Permit a transition from the crond_t domain to this domain. … … 251 290 # via setexeccon. There is no way to set up an automatic 252 291 # transition, since crontabs are configuration files, not executables. 253 allow crond_t system_cron d_t:process transition;254 dontaudit crond_t system_cron d_t:process { noatsecure siginh rlimitinh };255 allow crond_t system_cron d_t:fd use;256 allow system_cron d_t crond_t:fd use;257 allow system_cron d_t crond_t:fifo_file rw_file_perms;258 allow system_cron d_t crond_t:process sigchld;292 allow crond_t system_cronjob_t:process transition; 293 dontaudit crond_t system_cronjob_t:process { noatsecure siginh rlimitinh }; 294 allow crond_t system_cronjob_t:fd use; 295 allow system_cronjob_t crond_t:fd use; 296 allow system_cronjob_t crond_t:fifo_file rw_file_perms; 297 allow system_cronjob_t crond_t:process sigchld; 259 298 260 299 # Write /var/lock/makewhatis.lock. 261 allow system_cron d_t system_crond_lock_t:file manage_file_perms;262 files_lock_filetrans(system_cron d_t,system_crond_lock_t,file)300 allow system_cronjob_t system_cronjob_lock_t:file manage_file_perms; 301 files_lock_filetrans(system_cronjob_t,system_cronjob_lock_t,file) 263 302 264 303 # write temporary files 265 manage_files_pattern(system_cron d_t,crond_tmp_t,system_crond_tmp_t)266 manage_lnk_files_pattern(system_cron d_t,crond_tmp_t,system_crond_tmp_t)267 filetrans_pattern(system_cron d_t,crond_tmp_t,system_crond_tmp_t,{ file lnk_file })268 files_tmp_filetrans(system_cron d_t,system_crond_tmp_t,file)304 manage_files_pattern(system_cronjob_t,crond_tmp_t,system_cronjob_tmp_t) 305 manage_lnk_files_pattern(system_cronjob_t,crond_tmp_t,system_cronjob_tmp_t) 306 filetrans_pattern(system_cronjob_t,crond_tmp_t,system_cronjob_tmp_t,{ file lnk_file }) 307 files_tmp_filetrans(system_cronjob_t,system_cronjob_tmp_t,file) 269 308 270 309 # Read from /var/spool/cron. 271 allow system_cron d_t cron_spool_t:dir list_dir_perms;272 allow system_cron d_t cron_spool_t:file read_file_perms;273 274 kernel_read_kernel_sysctls(system_cron d_t)275 kernel_read_system_state(system_cron d_t)276 kernel_read_software_raid_state(system_cron d_t)310 allow system_cronjob_t cron_spool_t:dir list_dir_perms; 311 allow system_cronjob_t cron_spool_t:file read_file_perms; 312 313 kernel_read_kernel_sysctls(system_cronjob_t) 314 kernel_read_system_state(system_cronjob_t) 315 kernel_read_software_raid_state(system_cronjob_t) 277 316 278 317 # ps does not need to access /boot when run from cron 279 files_dontaudit_search_boot(system_cron d_t)280 281 corecmd_exec_all_executables(system_cron d_t)282 283 corenet_all_recvfrom_unlabeled(system_cron d_t)284 corenet_all_recvfrom_netlabel(system_cron d_t)285 corenet_tcp_sendrecv_all_if(system_cron d_t)286 corenet_udp_sendrecv_all_if(system_cron d_t)287 corenet_tcp_sendrecv_all_nodes(system_cron d_t)288 corenet_udp_sendrecv_all_nodes(system_cron d_t)289 corenet_tcp_sendrecv_all_ports(system_cron d_t)290 corenet_udp_sendrecv_all_ports(system_cron d_t)291 292 dev_getattr_all_blk_files(system_cron d_t)293 dev_getattr_all_chr_files(system_cron d_t)294 dev_read_urand(system_cron d_t)295 296 fs_getattr_all_fs(system_cron d_t)297 fs_getattr_all_files(system_cron d_t)298 fs_getattr_all_symlinks(system_cron d_t)299 fs_getattr_all_pipes(system_cron d_t)300 fs_getattr_all_sockets(system_cron d_t)318 files_dontaudit_search_boot(system_cronjob_t) 319 320 corecmd_exec_all_executables(system_cronjob_t) 321 322 corenet_all_recvfrom_unlabeled(system_cronjob_t) 323 corenet_all_recvfrom_netlabel(system_cronjob_t) 324 corenet_tcp_sendrecv_all_if(system_cronjob_t) 325 corenet_udp_sendrecv_all_if(system_cronjob_t) 326 corenet_tcp_sendrecv_all_nodes(system_cronjob_t) 327 corenet_udp_sendrecv_all_nodes(system_cronjob_t) 328 corenet_tcp_sendrecv_all_ports(system_cronjob_t) 329 corenet_udp_sendrecv_all_ports(system_cronjob_t) 330 331 dev_getattr_all_blk_files(system_cronjob_t) 332 dev_getattr_all_chr_files(system_cronjob_t) 333 dev_read_urand(system_cronjob_t) 334 335 fs_getattr_all_fs(system_cronjob_t) 336 fs_getattr_all_files(system_cronjob_t) 337 fs_getattr_all_symlinks(system_cronjob_t) 338 fs_getattr_all_pipes(system_cronjob_t) 339 fs_getattr_all_sockets(system_cronjob_t) 301 340 302 341 # quiet other ps operations 303 domain_dontaudit_read_all_domains_state(system_cron d_t)304 305 files_exec_etc_files(system_cron d_t)306 files_read_etc_files(system_cron d_t)307 files_read_etc_runtime_files(system_cron d_t)308 files_list_all(system_cron d_t)309 files_getattr_all_dirs(system_cron d_t)310 files_getattr_all_files(system_cron d_t)311 files_getattr_all_symlinks(system_cron d_t)312 files_getattr_all_pipes(system_cron d_t)313 files_getattr_all_sockets(system_cron d_t)314 files_read_usr_files(system_cron d_t)315 files_read_var_files(system_cron d_t)342 domain_dontaudit_read_all_domains_state(system_cronjob_t) 343 344 files_exec_etc_files(system_cronjob_t) 345 files_read_etc_files(system_cronjob_t) 346 files_read_etc_runtime_files(system_cronjob_t) 347 files_list_all(system_cronjob_t) 348 files_getattr_all_dirs(system_cronjob_t) 349 files_getattr_all_files(system_cronjob_t) 350 files_getattr_all_symlinks(system_cronjob_t) 351 files_getattr_all_pipes(system_cronjob_t) 352 files_getattr_all_sockets(system_cronjob_t) 353 files_read_usr_files(system_cronjob_t) 354 files_read_var_files(system_cronjob_t) 316 355 # for nscd: 317 files_dontaudit_search_pids(system_cron d_t)356 files_dontaudit_search_pids(system_cronjob_t) 318 357 # Access other spool directories like 319 358 # /var/spool/anacron and /var/spool/slrnpull. 320 files_manage_generic_spool(system_cron d_t)321 322 init_use_script_fds(system_cron d_t)323 init_read_utmp(system_cron d_t)324 init_dontaudit_rw_utmp(system_cron d_t)359 files_manage_generic_spool(system_cronjob_t) 360 361 init_use_script_fds(system_cronjob_t) 362 init_read_utmp(system_cronjob_t) 363 init_dontaudit_rw_utmp(system_cronjob_t) 325 364 # prelink tells init to restart it self, we either need to allow or dontaudit 326 init_write_initctl(system_cron d_t)327 328 auth_use_nsswitch(system_cron d_t)329 330 libs_use_ld_so(system_cron d_t)331 libs_use_shared_libs(system_cron d_t)332 libs_exec_lib_files(system_cron d_t)333 libs_exec_ld_so(system_cron d_t)334 335 logging_read_generic_logs(system_cron d_t)336 logging_send_syslog_msg(system_cron d_t)337 338 miscfiles_read_localization(system_cron d_t)339 miscfiles_manage_man_pages(system_cron d_t)340 341 seutil_read_config(system_cron d_t)365 init_write_initctl(system_cronjob_t) 366 367 auth_use_nsswitch(system_cronjob_t) 368 369 libs_use_ld_so(system_cronjob_t) 370 libs_use_shared_libs(system_cronjob_t) 371 libs_exec_lib_files(system_cronjob_t) 372 libs_exec_ld_so(system_cronjob_t) 373 374 logging_read_generic_logs(system_cronjob_t) 375 logging_send_syslog_msg(system_cronjob_t) 376 377 miscfiles_read_localization(system_cronjob_t) 378 miscfiles_manage_man_pages(system_cronjob_t) 379 380 seutil_read_config(system_cronjob_t) 342 381 343 382 ifdef(`distro_redhat', ` … … 345 384 # via redirection of standard out. 346 385 optional_policy(` 347 rpm_manage_log(system_cron d_t)386 rpm_manage_log(system_cronjob_t) 348 387 ') 349 388 ') 350 389 351 390 tunable_policy(`cron_can_relabel',` 352 seutil_domtrans_setfiles(system_cron d_t)391 seutil_domtrans_setfiles(system_cronjob_t) 353 392 ',` 354 selinux_get_fs_mount(system_cron d_t)355 selinux_validate_context(system_cron d_t)356 selinux_compute_access_vector(system_cron d_t)357 selinux_compute_create_context(system_cron d_t)358 selinux_compute_relabel_context(system_cron d_t)359 selinux_compute_user_contexts(system_cron d_t)360 seutil_read_file_contexts(system_cron d_t)393 selinux_get_fs_mount(system_cronjob_t) 394 selinux_validate_context(system_cronjob_t) 395 selinux_compute_access_vector(system_cronjob_t) 396 selinux_compute_create_context(system_cronjob_t) 397 selinux_compute_relabel_context(system_cronjob_t) 398 selinux_compute_user_contexts(system_cronjob_t) 399 seutil_read_file_contexts(system_cronjob_t) 361 400 ') 362 401 363 402 optional_policy(` 364 403 # Needed for certwatch 365 apache_exec_modules(system_cron d_t)366 apache_read_config(system_cron d_t)367 apache_read_log(system_cron d_t)368 apache_read_sys_content(system_cron d_t)369 ') 370 371 optional_policy(` 372 cyrus_manage_data(system_cron d_t)373 ') 374 375 optional_policy(` 376 ftp_read_log(system_cron d_t)377 ') 378 379 optional_policy(` 380 inn_manage_log(system_cron d_t)381 inn_manage_pid(system_cron d_t)382 inn_read_config(system_cron d_t)383 ') 384 385 optional_policy(` 386 mrtg_append_create_logs(system_cron d_t)387 ') 388 389 optional_policy(` 390 mta_send_mail(system_cron d_t)391 ') 392 393 optional_policy(` 394 mysql_read_config(system_cron d_t)395 ') 396 397 optional_policy(` 398 postfix_read_config(system_cron d_t)404 apache_exec_modules(system_cronjob_t) 405 apache_read_config(system_cronjob_t) 406 apache_read_log(system_cronjob_t) 407 apache_read_sys_content(system_cronjob_t) 408 ') 409 410 optional_policy(` 411 cyrus_manage_data(system_cronjob_t) 412 ') 413 414 optional_policy(` 415 ftp_read_log(system_cronjob_t) 416 ') 417 418 optional_policy(` 419 inn_manage_log(system_cronjob_t) 420 inn_manage_pid(system_cronjob_t) 421 inn_read_config(system_cronjob_t) 422 ') 423 424 optional_policy(` 425 mrtg_append_create_logs(system_cronjob_t) 426 ') 427 428 optional_policy(` 429 mta_send_mail(system_cronjob_t) 430 ') 431 432 optional_policy(` 433 mysql_read_config(system_cronjob_t) 434 ') 435 436 optional_policy(` 437 postfix_read_config(system_cronjob_t) 399 438 ') 400 439 401 440 optional_policy(` 402 prelink_read_cache(system_cron d_t)403 prelink_manage_log(system_cron d_t)404 prelink_delete_cache(system_cron d_t)405 ') 406 407 optional_policy(` 408 samba_read_config(system_cron d_t)409 samba_read_log(system_cron d_t)410 #samba_read_secrets(system_cron d_t)411 ') 412 413 optional_policy(` 414 slocate_create_append_log(system_cron d_t)441 prelink_read_cache(system_cronjob_t) 442 prelink_manage_log(system_cronjob_t) 443 prelink_delete_cache(system_cronjob_t) 444 ') 445 446 optional_policy(` 447 samba_read_config(system_cronjob_t) 448 samba_read_log(system_cronjob_t) 449 #samba_read_secrets(system_cronjob_t) 450 ') 451 452 optional_policy(` 453 slocate_create_append_log(system_cronjob_t) 415 454 ') 416 455 417 456 optional_policy(` 418 457 # cjp: why? 419 squid_domtrans(system_cron d_t)420 ') 421 422 optional_policy(` 423 sysstat_manage_log(system_cron d_t)424 ') 425 426 optional_policy(` 427 unconfined_domain(system_cron d_t)428 429 userdom_priveleged_home_dir_manager(system_cron d_t)458 squid_domtrans(system_cronjob_t) 459 ') 460 461 optional_policy(` 462 sysstat_manage_log(system_cronjob_t) 463 ') 464 465 optional_policy(` 466 unconfined_domain(system_cronjob_t) 467 468 userdom_priveleged_home_dir_manager(system_cronjob_t) 430 469 ') 431 470 432 471 ifdef(`TODO',` 433 472 ifdef(`mta.te', ` 434 allow system_cron d_t mail_spool_t:lnk_file read;435 allow mta_user_agent system_cron d_t:fd use;473 allow system_cronjob_t mail_spool_t:lnk_file read; 474 allow mta_user_agent system_cronjob_t:fd use; 436 475 r_dir_file(system_mail_t, crond_tmp_t) 437 476 ') 438 477 ') dnl end TODO 478 479 ######################################## 480 # 481 # User cronjobs local policy 482 # 483 484 allow cronjob_t self:capability dac_override; 485 allow cronjob_t self:process { signal_perms setsched }; 486 allow cronjob_t self:fifo_file rw_fifo_file_perms; 487 allow cronjob_t self:unix_stream_socket create_stream_socket_perms; 488 allow cronjob_t self:unix_dgram_socket create_socket_perms; 489 490 # The entrypoint interface is not used as this is not 491 # a regular entrypoint. Since crontab files are 492 # not directly executed, crond must ensure that 493 # the crontab file has a type that is appropriate 494 # for the domain of the user cron job. It 495 # performs an entrypoint permission check 496 # for this purpose. 497 allow cronjob_t user_cron_spool_t:file entrypoint; 498 499 # Permit a transition from the crond_t domain to this domain. 500 # The transition is requested explicitly by the modified crond 501 # via setexeccon. There is no way to set up an automatic 502 # transition, since crontabs are configuration files, not executables. 503 allow crond_t cronjob_t:process transition; 504 dontaudit crond_t cronjob_t:process { noatsecure siginh rlimitinh }; 505 allow crond_t cronjob_t:fd use; 506 allow cronjob_t crond_t:fd use; 507 allow cronjob_t crond_t:fifo_file rw_file_perms; 508 allow cronjob_t crond_t:process sigchld; 509 510 kernel_read_system_state(cronjob_t) 511 kernel_read_kernel_sysctls(cronjob_t) 512 513 # ps does not need to access /boot when run from cron 514 files_dontaudit_search_boot(cronjob_t) 515 516 corenet_all_recvfrom_unlabeled(cronjob_t) 517 corenet_all_recvfrom_netlabel(cronjob_t) 518 corenet_tcp_sendrecv_all_if(cronjob_t) 519 corenet_udp_sendrecv_all_if(cronjob_t) 520 corenet_tcp_sendrecv_all_nodes(cronjob_t) 521 corenet_udp_sendrecv_all_nodes(cronjob_t) 522 corenet_tcp_sendrecv_all_ports(cronjob_t) 523 corenet_udp_sendrecv_all_ports(cronjob_t) 524 corenet_tcp_connect_all_ports(cronjob_t) 525 corenet_sendrecv_all_client_packets(cronjob_t) 526 527 dev_read_urand(cronjob_t) 528 529 fs_getattr_all_fs(cronjob_t) 530 531 corecmd_exec_all_executables(cronjob_t) 532 533 # quiet other ps operations 534 domain_dontaudit_read_all_domains_state(cronjob_t) 535 domain_dontaudit_getattr_all_domains(cronjob_t) 536 537 files_read_usr_files(cronjob_t) 538 files_exec_etc_files(cronjob_t) 539 # for nscd: 540 files_dontaudit_search_pids(cronjob_t) 541 542 libs_use_ld_so(cronjob_t) 543 libs_use_shared_libs(cronjob_t) 544 libs_exec_lib_files(cronjob_t) 545 libs_exec_ld_so(cronjob_t) 546 547 files_read_etc_runtime_files(cronjob_t) 548 files_read_var_files(cronjob_t) 549 files_search_spool(cronjob_t) 550 551 logging_search_logs(cronjob_t) 552 553 seutil_read_config(cronjob_t) 554 555 miscfiles_read_localization(cronjob_t) 556 557 userdom_manage_user_tmp_files($1,cronjob_t) 558 userdom_manage_user_tmp_symlinks($1,cronjob_t) 559 userdom_manage_user_tmp_pipes($1,cronjob_t) 560 userdom_manage_user_tmp_sockets($1,cronjob_t) 561 # Run scripts in user home directory and access shared libs. 562 userdom_exec_user_home_content_files($1,cronjob_t) 563 # Access user files and dirs. 564 #userdom_manage_user_home_subdir_dirs($1,cronjob_t) 565 userdom_manage_user_home_content_files($1,cronjob_t) 566 userdom_manage_user_home_content_symlinks($1,cronjob_t) 567 userdom_manage_user_home_content_pipes($1,cronjob_t) 568 userdom_manage_user_home_content_sockets($1,cronjob_t) 569 #userdom_user_home_dir_filetrans_user_home_content($1,cronjob_t,notdevfile_class_set) 570 571 tunable_policy(`fcron_crond', ` 572 allow crond_t user_cron_spool_t:file manage_file_perms; 573 ') 574 575 # need a per-role version of this: 576 #optional_policy(` 577 # mono_domtrans(cronjob_t) 578 #') 579 580 optional_policy(` 581 dbus_stub(cronjob_t) 582 583 allow cronjob_t $2:dbus send_msg; 584 ') 585 586 optional_policy(` 587 nis_use_ypbind(cronjob_t) 588 ') branches/rbacsep/policy/modules/services/dbus.fc
r2412 r2686 2 2 3 3 # Sorting does not work correctly if I combine these next two roles 4 /usr/bin/dbus-daemon(-1)? -- gen_context(system_u:object_r: system_dbusd_exec_t,s0)5 /bin/dbus-daemon -- gen_context(system_u:object_r: system_dbusd_exec_t,s0)4 /usr/bin/dbus-daemon(-1)? -- gen_context(system_u:object_r:dbusd_exec_t,s0) 5 /bin/dbus-daemon -- gen_context(system_u:object_r:dbusd_exec_t,s0) 6 6 7 7 /var/lib/dbus(/.*)? gen_context(system_u:object_r:system_dbusd_var_lib_t,s0) branches/rbacsep/policy/modules/services/dbus.te
r2675 r2686 14 14 files_type(dbusd_etc_t) 15 15 16 type session_dbusd_t; 17 type dbusd_exec_t alias system_dbusd_exec_t; 18 domain_type(session_dbusd_t) 19 domain_entry_file(session_dbusd_t, dbusd_exec_t) 20 21 type session_dbusd_tmp_t; 22 files_tmp_file(session_dbusd_tmp_t) 23 16 24 type system_dbusd_t alias dbusd_t; 17 type system_dbusd_exec_t; 18 init_system_domain(system_dbusd_t,system_dbusd_exec_t) 25 init_system_domain(system_dbusd_t, dbusd_exec_t) 19 26 20 27 type system_dbusd_tmp_t; … … 30 37 # 31 38 # Local policy 39 # 40 41 allow session_dbusd_t self:process { getattr sigkill signal }; 42 dontaudit session_dbusd_t self:process ptrace; 43 allow session_dbusd_t self:file { getattr read write }; 44 allow session_dbusd_t self:fifo_file rw_fifo_file_perms; 45 allow session_dbusd_t self:dbus { send_msg acquire_svc }; 46 allow session_dbusd_t self:unix_stream_socket create_stream_socket_perms; 47 allow session_dbusd_t self:unix_dgram_socket create_socket_perms; 48 allow session_dbusd_t self:tcp_socket create_stream_socket_perms; 49 allow session_dbusd_t self:netlink_selinux_socket create_socket_perms; 50 51 # For connecting to the bus 52 allow $2 session_dbusd_t:unix_stream_socket connectto; 53 54 # SE-DBus specific permissions 55 allow session_dbusd_t self:dbus send_msg; 56 allow $2 session_dbusd_t:dbus { send_msg acquire_svc }; 57 allow $2 system_dbusd_t:dbus { send_msg acquire_svc }; 58 59 allow session_dbusd_t dbusd_etc_t:dir list_dir_perms; 60 read_files_pattern(session_dbusd_t, dbusd_etc_t, dbusd_etc_t) 61 read_lnk_files_pattern(session_dbusd_t, dbusd_etc_t, dbusd_etc_t) 62 63 manage_dirs_pattern(session_dbusd_t,session_dbusd_tmp_t,session_dbusd_tmp_t) 64 manage_files_pattern(session_dbusd_t,session_dbusd_tmp_t,session_dbusd_tmp_t) 65 files_tmp_filetrans(session_dbusd_t, session_dbusd_tmp_t, { file dir }) 66 67 domtrans_pattern($2, system_dbusd_exec_t, session_dbusd_t) 68 allow $2 session_dbusd_t:process { sigkill signal }; 69 70 # cjp: this seems very broken 71 corecmd_bin_domtrans(session_dbusd_t, $2) 72 allow session_dbusd_t $2:process sigkill; 73 allow $2 session_dbusd_t:fd use; 74 allow $2 session_dbusd_t:fifo_file rw_fifo_file_perms; 75 allow $2 session_dbusd_t:process sigchld; 76 77 kernel_read_system_state(session_dbusd_t) 78 kernel_read_kernel_sysctls(session_dbusd_t) 79 80 corecmd_list_bin(session_dbusd_t) 81 corecmd_read_bin_symlinks(session_dbusd_t) 82 corecmd_read_bin_files(session_dbusd_t) 83 corecmd_read_bin_pipes(session_dbusd_t) 84 corecmd_read_bin_sockets(session_dbusd_t) 85 86 corenet_all_recvfrom_unlabeled(session_dbusd_t) 87 corenet_all_recvfrom_netlabel(session_dbusd_t) 88 corenet_tcp_sendrecv_all_if(session_dbusd_t) 89 corenet_tcp_sendrecv_all_nodes(session_dbusd_t)&nb
