From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id C582D13888F for ; Sat, 10 Oct 2015 12:11:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DDC3221C035; Sat, 10 Oct 2015 12:11:19 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 66B6721C034 for ; Sat, 10 Oct 2015 12:11:14 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5911E340864 for ; Sat, 10 Oct 2015 12:11:13 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C0D45E1F for ; Sat, 10 Oct 2015 12:11:08 +0000 (UTC) From: "Sven Vermeulen" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sven Vermeulen" Message-ID: <1441537859.b99a22fc6960896dcf82a02e92b1b913732bc774.swift@gentoo> Subject: [gentoo-commits] proj/hardened-refpolicy:swift commit in: policy/modules/contrib/ X-VCS-Repository: proj/hardened-refpolicy X-VCS-Files: policy/modules/contrib/virt.fc policy/modules/contrib/virt.te X-VCS-Directories: policy/modules/contrib/ X-VCS-Committer: swift X-VCS-Committer-Name: Sven Vermeulen X-VCS-Revision: b99a22fc6960896dcf82a02e92b1b913732bc774 X-VCS-Branch: swift Date: Sat, 10 Oct 2015 12:11:08 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: b39c3865-1ff6-4041-a5b8-25a9b221dab9 X-Archives-Hash: f87137dea34083f473cb6e5fd32abdaa commit: b99a22fc6960896dcf82a02e92b1b913732bc774 Author: Jason Zaman perfinion com> AuthorDate: Sat Sep 5 14:43:34 2015 +0000 Commit: Sven Vermeulen gentoo org> CommitDate: Sun Sep 6 11:10:59 2015 +0000 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=b99a22fc virt: Add policy for virtlockd the Virtual machine lock manager policy/modules/contrib/virt.fc | 4 +++ policy/modules/contrib/virt.te | 56 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/policy/modules/contrib/virt.fc b/policy/modules/contrib/virt.fc index b38007b..ea197d0 100644 --- a/policy/modules/contrib/virt.fc +++ b/policy/modules/contrib/virt.fc @@ -27,6 +27,7 @@ HOME_DIR/VirtualMachines/isos(/.*)? gen_context(system_u:object_r:virt_content_t /usr/sbin/fence_virtd -- gen_context(system_u:object_r:virsh_exec_t,s0) /usr/sbin/libvirt-qmf -- gen_context(system_u:object_r:virt_qmf_exec_t,s0) /usr/sbin/libvirtd -- gen_context(system_u:object_r:virtd_exec_t,s0) +/usr/sbin/virtlockd -- gen_context(system_u:object_r:virtlockd_exec_t,s0) /var/cache/libvirt(/.*)? gen_context(system_u:object_r:virt_cache_t,s0-mls_systemhigh) @@ -35,6 +36,7 @@ HOME_DIR/VirtualMachines/isos(/.*)? gen_context(system_u:object_r:virt_content_t /var/lib/libvirt/images(/.*)? gen_context(system_u:object_r:virt_image_t,s0) /var/lib/libvirt/isos(/.*)? gen_context(system_u:object_r:virt_content_t,s0) /var/lib/libvirt/qemu(/.*)? gen_context(system_u:object_r:svirt_var_run_t,s0-mls_systemhigh) +/var/lib/libvirt/lockd(/.*)? gen_context(system_u:object_r:virtlockd_var_lib_t,s0) /var/log/log(/.*)? gen_context(system_u:object_r:virt_log_t,s0) /var/log/libvirt(/.*)? gen_context(system_u:object_r:virt_log_t,s0) @@ -48,5 +50,7 @@ HOME_DIR/VirtualMachines/isos(/.*)? gen_context(system_u:object_r:virt_content_t /var/run/libvirt/lxc(/.*)? gen_context(system_u:object_r:virtd_lxc_var_run_t,s0) /var/run/libvirt-sandbox(/.*)? gen_context(system_u:object_r:virtd_lxc_var_run_t,s0) /var/run/libvirt/qemu(/.*)? gen_context(system_u:object_r:svirt_var_run_t,s0-mls_systemhigh) +/var/run/libvirt/virtlockd-sock -s gen_context(system_u:object_r:virtlockd_run_t,s0) /var/run/user/[^/]*/libguestfs(/.*)? gen_context(system_u:object_r:virt_home_t,s0) /var/run/vdsm(/.*)? gen_context(system_u:object_r:virt_var_run_t,s0) +/var/run/virtlockd.pid -- gen_context(system_u:object_r:virtlockd_run_t,s0) diff --git a/policy/modules/contrib/virt.te b/policy/modules/contrib/virt.te index ec84b5b..5648e9d 100644 --- a/policy/modules/contrib/virt.te +++ b/policy/modules/contrib/virt.te @@ -190,6 +190,24 @@ type virsh_t; type virsh_exec_t; init_system_domain(virsh_t, virsh_exec_t) +type virtlockd_t; +type virtlockd_exec_t; +init_daemon_domain(virtlockd_t, virtlockd_exec_t) + +type virtlockd_run_t; +files_pid_file(virtlockd_run_t) + +type virtlockd_var_lib_t; +files_type(virtlockd_var_lib_t) + +ifdef(`enable_mcs',` + init_ranged_daemon_domain(virtlockd_t, virtlockd_exec_t, s0 - mcs_systemhigh) +') + +ifdef(`enable_mls',` + init_ranged_daemon_domain(virtlockd_t, virtlockd_exec_t, s0 - mls_systemhigh) +') + ######################################## # # Common virt domain local policy @@ -221,6 +239,7 @@ manage_lnk_files_pattern(virt_domain, svirt_var_run_t, svirt_var_run_t) files_pid_filetrans(virt_domain, svirt_var_run_t, { dir file }) stream_connect_pattern(virt_domain, svirt_var_run_t, svirt_var_run_t, virtd_t) +stream_connect_pattern(virt_domain, virt_var_run_t, virtlockd_run_t, virtlockd_t) dontaudit virt_domain virt_tmpfs_type:file { read write }; @@ -526,6 +545,7 @@ filetrans_pattern(virtd_t, virt_var_run_t, virtd_lxc_var_run_t, dir, "lxc") stream_connect_pattern(virtd_t, virtd_lxc_var_run_t, virtd_lxc_var_run_t, virtd_lxc_t) stream_connect_pattern(virtd_t, svirt_var_run_t, svirt_var_run_t, virt_domain) +stream_connect_pattern(virtd_t, virt_var_run_t, virtlockd_run_t, virtlockd_t) can_exec(virtd_t, virt_tmp_t) @@ -1243,3 +1263,39 @@ manage_files_pattern(virt_leaseshelper_t, virt_var_run_t, virt_var_run_t) files_pid_filetrans(virt_leaseshelper_t, virt_var_run_t, file) kernel_dontaudit_read_system_state(virt_leaseshelper_t) + +######################################## +# +# Virtlockd local policy +# + +allow virtlockd_t self:capability dac_override; +allow virtlockd_t self:fifo_file rw_fifo_file_perms; + +allow virtlockd_t virt_image_type:dir list_dir_perms; +allow virtlockd_t virt_image_type:file rw_file_perms; + +create_files_pattern(virtlockd_t, virt_log_t, virt_log_t) + +list_dirs_pattern(virtlockd_t, virt_var_lib_t, virt_var_lib_t) + +manage_dirs_pattern(virtlockd_t, { virt_var_lib_t virtlockd_var_lib_t }, virtlockd_var_lib_t) +manage_files_pattern(virtlockd_t, virtlockd_var_lib_t, virtlockd_var_lib_t) +filetrans_pattern(virtlockd_t, virt_var_lib_t, virtlockd_var_lib_t, dir) + +manage_files_pattern(virtlockd_t, virt_var_run_t, virtlockd_run_t) +manage_sock_files_pattern(virtlockd_t, virt_var_run_t, virtlockd_run_t) +filetrans_pattern(virtlockd_t, virt_var_run_t, virtlockd_run_t, sock_file) +files_pid_filetrans(virtlockd_t, virtlockd_run_t, file) + +can_exec(virtlockd_t, virtlockd_exec_t) + +ps_process_pattern(virtlockd_t, virtd_t) + +files_read_etc_files(virtlockd_t) +files_list_var_lib(virtlockd_t) + +miscfiles_read_localization(virtlockd_t) + +virt_append_log(virtlockd_t) +virt_read_config(virtlockd_t)