Re: [PATCH] puppet patch V2

Chris PeBenito <[email protected]> Wed, 16 Feb 2022 06:35:58 -0500
Newsgroups org.kernel.vger.selinux-refpolicy
Message-ID <[email protected]>
On 2/14/22 20:57, Russell Coker wrote:
> New Puppet patch improved after feedback from
> Daniel Burgener <[email protected]>.  Now gives write access to
> cache files and removes rw access to var_t.
> 
> Signed-off-by: Russell Coker <[email protected]>
> 
> Index: refpolicy-2.20220106/policy/modules/admin/puppet.fc
> ===================================================================
> --- refpolicy-2.20220106.orig/policy/modules/admin/puppet.fc
> +++ refpolicy-2.20220106/policy/modules/admin/puppet.fc
> @@ -11,6 +11,7 @@
>   /usr/sbin/puppetd	--	gen_context(system_u:object_r:puppet_exec_t,s0)
>   /usr/sbin/puppetmasterd	--	gen_context(system_u:object_r:puppetmaster_exec_t,s0)
>   
> +/var/cache/puppet(/.*)?	gen_context(system_u:object_r:puppet_cache_t,s0)
>   /var/lib/puppet(/.*)?	gen_context(system_u:object_r:puppet_var_lib_t,s0)
>   
>   /var/log/puppet(/.*)?	gen_context(system_u:object_r:puppet_log_t,s0)
> Index: refpolicy-2.20220106/policy/modules/admin/puppet.te
> ===================================================================
> --- refpolicy-2.20220106.orig/policy/modules/admin/puppet.te
> +++ refpolicy-2.20220106/policy/modules/admin/puppet.te
> @@ -36,6 +36,9 @@ init_daemon_runtime_file(puppet_runtime_
>   type puppet_tmp_t;
>   files_tmp_file(puppet_tmp_t)
>   
> +type puppet_cache_t;
> +files_type(puppet_cache_t)
> +
>   type puppet_var_lib_t;
>   files_type(puppet_var_lib_t)
>   
> @@ -74,6 +77,9 @@ manage_dirs_pattern(puppet_t, puppet_var
>   manage_files_pattern(puppet_t, puppet_var_lib_t, puppet_var_lib_t)
>   can_exec(puppet_t, puppet_var_lib_t)
>   
> +manage_dirs_pattern(puppet_t, puppet_cache_t, puppet_cache_t)
> +manage_files_pattern(puppet_t, puppet_cache_t, puppet_cache_t)
> +
>   setattr_dirs_pattern(puppet_t, puppet_runtime_t, puppet_runtime_t)
>   manage_files_pattern(puppet_t, puppet_runtime_t, puppet_runtime_t)
>   files_runtime_filetrans(puppet_t, puppet_runtime_t, { file dir })
> @@ -96,6 +102,7 @@ kernel_read_kernel_sysctls(puppet_t)
>   kernel_read_net_sysctls(puppet_t)
>   kernel_read_network_state(puppet_t)
>   
> +corecmd_bin_entry_type(puppet_t)

Why are you adding bin_t as an entrypoint here and below?


>   corecmd_exec_bin(puppet_t)
>   corecmd_exec_shell(puppet_t)
>   corecmd_read_all_executables(puppet_t)
> @@ -182,8 +189,6 @@ optional_policy(`
>   ')
>   
>   optional_policy(`
> -	files_rw_var_files(puppet_t)
> -
>   	rpm_domtrans(puppet_t)
>   	rpm_manage_db(puppet_t)
>   	rpm_manage_log(puppet_t)
> @@ -267,6 +272,7 @@ allow puppetmaster_t puppet_etc_t:lnk_fi
>   allow puppetmaster_t puppet_log_t:dir setattr_dir_perms;
>   append_files_pattern(puppetmaster_t, puppet_log_t, puppet_log_t)
>   create_files_pattern(puppetmaster_t, puppet_log_t, puppet_log_t)
> +read_files_pattern(puppetmaster_t, puppet_log_t, puppet_log_t)
>   setattr_files_pattern(puppetmaster_t, puppet_log_t, puppet_log_t)
>   logging_log_filetrans(puppetmaster_t, puppet_log_t, { file dir })
>   
> @@ -287,6 +293,7 @@ kernel_read_system_state(puppetmaster_t)
>   kernel_read_crypto_sysctls(puppetmaster_t)
>   kernel_read_kernel_sysctls(puppetmaster_t)
>   
> +corecmd_bin_entry_type(puppetmaster_t)
>   corecmd_exec_bin(puppetmaster_t)
>   corecmd_exec_shell(puppetmaster_t)
>   


-- 
Chris PeBenito