[refpolicy] [PATCH 1/2] Update apt/aptitude policy to add support for lock/log files
Christopher J. PeBenito
cpebenito at tresys.com
Wed Jul 29 14:14:22 CDT 2009
On Tue, 2009-07-14 at 14:27 -0500, Manoj Srivastava wrote:
> From: Manoj Srivastava <srivasta at debian.org>
Merged. In the future, please do not bump the module version number.
> Signed-off-by: Russell Coker <russell at coker.com.au>
> Acked-By: Manoj Srivastava <srivasta at debian.org>
> ---
> policy/modules/admin/apt.fc | 5 +++++
> policy/modules/admin/apt.if | 40 ++++++++++++++++++++++++++++++++++++++++
> policy/modules/admin/apt.te | 19 ++++++++++++++++++-
> 3 files changed, 63 insertions(+), 1 deletions(-)
>
> diff --git a/policy/modules/admin/apt.fc b/policy/modules/admin/apt.fc
> index bf14cc0..e4f4850 100644
> --- a/policy/modules/admin/apt.fc
> +++ b/policy/modules/admin/apt.fc
> @@ -12,5 +12,10 @@
> /var/lib/apt(/.*)? gen_context(system_u:object_r:apt_var_lib_t,s0)
> /var/lib/aptitude(/.*)? gen_context(system_u:object_r:apt_var_lib_t,s0)
>
> +# aptitude lock
> +/var/lock/aptitude gen_context(system_u:object_r:apt_lock_t,s0)
> +# aptitude log
> +/var/log/aptitude gen_context(system_u:object_r:apt_var_log_t,s0)
> +
> # dpkg terminal log
> /var/log/apt(/.*)? gen_context(system_u:object_r:apt_var_log_t,s0)
> diff --git a/policy/modules/admin/apt.if b/policy/modules/admin/apt.if
> index 68ecf71..aaa4153 100644
> --- a/policy/modules/admin/apt.if
> +++ b/policy/modules/admin/apt.if
> @@ -67,6 +67,25 @@ interface(`apt_use_fds',`
>
> ########################################
> ## <summary>
> +## Do not audit attempts to use file descriptors from apt.
> +## </summary>
> +## <param name="domain">
> +## <summary>
> +## The type of the process attempting performing this action
> +## which should not be audited.
> +## </summary>
> +## </param>
> +#
> +interface(`apt_dontaudit_use_fds',`
> + gen_require(`
> + type apt_t;
> + ')
> +
> + dontaudit $1 apt_t:fd use;
> +')
> +
> +########################################
> +## <summary>
> ## Read from an unnamed apt pipe.
> ## </summary>
> ## <param name="domain">
> @@ -123,6 +142,27 @@ interface(`apt_use_ptys',`
>
> ########################################
> ## <summary>
> +## Read the apt package cache.
> +## </summary>
> +## <param name="domain">
> +## <summary>
> +## The type of the process performing this action.
> +## </summary>
> +## </param>
> +#
> +interface(`apt_read_cache',`
> + gen_require(`
> + type apt_var_cache_t;
> + ')
> +
> + files_search_var($1)
> + allow $1 apt_var_cache_t:dir list_dir_perms;
> + dontaudit $1 apt_var_cache_t:dir write;
> + allow $1 apt_var_cache_t:file read_file_perms;
> +')
> +
> +########################################
> +## <summary>
> ## Read the apt package database.
> ## </summary>
> ## <param name="domain">
> diff --git a/policy/modules/admin/apt.te b/policy/modules/admin/apt.te
> index c79157a..48afcda 100644
> --- a/policy/modules/admin/apt.te
> +++ b/policy/modules/admin/apt.te
> @@ -1,5 +1,5 @@
>
> -policy_module(apt, 1.5.2)
> +policy_module(apt, 1.5.3)
>
> ########################################
> #
> @@ -30,6 +30,11 @@ files_type(apt_var_lib_t)
> type apt_var_cache_t alias var_cache_apt_t;
> files_type(apt_var_cache_t)
>
> +# aptitude lock file
> +type apt_lock_t;
> +files_lock_file(apt_lock_t)
> +
> +# aptitude log file
> type apt_var_log_t;
> logging_log_file(apt_var_log_t)
>
> @@ -53,6 +58,9 @@ allow apt_t self:sem create_sem_perms;
> allow apt_t self:msgq create_msgq_perms;
> allow apt_t self:msg { send receive };
>
> +# Run update
> +allow apt_t self:netlink_route_socket r_netlink_socket_perms;
> +
> # Access /var/cache/apt files
> manage_files_pattern(apt_t, apt_var_cache_t, apt_var_cache_t)
> files_var_filetrans(apt_t, apt_var_cache_t, dir)
> @@ -72,6 +80,14 @@ fs_tmpfs_filetrans(apt_t, apt_tmpfs_t, { dir file lnk_file sock_file fifo_file }
> manage_files_pattern(apt_t, apt_var_lib_t, apt_var_lib_t)
> files_var_lib_filetrans(apt_t, apt_var_lib_t, dir)
>
> +# lock files
> +allow apt_t apt_lock_t:dir manage_dir_perms;
> +allow apt_t apt_lock_t:file manage_file_perms;
> +files_lock_filetrans(apt_t,apt_lock_t,{dir file})
> +
> +# log files
> +allow apt_t apt_var_log_t:file manage_file_perms;
> +
> kernel_read_system_state(apt_t)
> kernel_read_kernel_sysctls(apt_t)
>
> @@ -112,6 +128,7 @@ libs_exec_ld_so(apt_t)
> libs_exec_lib_files(apt_t)
>
> logging_send_syslog_msg(apt_t)
> +logging_log_filetrans(apt_t, apt_var_log_t, file)
>
> miscfiles_read_localization(apt_t)
>
> --
> 1.6.3.3
>
> _______________________________________________
> refpolicy mailing list
> refpolicy at oss.tresys.com
> http://oss.tresys.com/mailman/listinfo/refpolicy
--
Chris PeBenito
Tresys Technology, LLC
(410) 290-1411 x150
More information about the refpolicy
mailing list