1. 06 6月, 2018 3 次提交
    • S
      security: Label the external swtpm with SELinux labels · 2fc665bb
      Stefan Berger 提交于
      In this patch we label the swtpm process with SELinux labels. We give it the
      same label as the QEMU process has. We label its state directory and files
      as well. We restore the old security labels once the swtpm has terminated.
      
      The file and process labels now look as follows:
      
      Directory: /var/lib/libvirt/swtpm
      
      [root@localhost swtpm]# ls -lZ
      total 4
      rwx------. 2 tss  tss  system_u:object_r:svirt_image_t:s0:c254,c932 4096 Apr  5 16:46 testvm
      
      [root@localhost testvm]# ls -lZ
      total 8
      -rw-r--r--. 1 tss tss system_u:object_r:svirt_image_t:s0:c254,c932 3648 Apr  5 16:46 tpm-00.permall
      
      The log in /var/log/swtpm/libvirt/qemu is labeled as follows:
      
      -rw-r--r--. 1 tss tss system_u:object_r:svirt_image_t:s0:c254,c932 2237 Apr  5 16:46 vtpm.log
      
      [root@localhost 485d0004-a48f-436a-8457-8a3b73e28567]# ps auxZ | grep swtpm | grep ctrl | grep -v grep
      system_u:system_r:svirt_t:s0:c254,c932 tss 25664 0.0  0.0 28172  3892 ?        Ss   16:57   0:00 /usr/bin/swtpm socket --daemon --ctrl type=unixio,path=/var/run/libvirt/qemu/swtpm/testvm-swtpm.sock,mode=0660 --tpmstate dir=/var/lib/libvirt/swtpm/testvm/tpm1.2 --log file=/var/log/swtpm/libvirt/qemu/testvm-swtpm.log
      
      [root@localhost 485d0004-a48f-436a-8457-8a3b73e28567]# ps auxZ | grep qemu | grep tpm | grep -v grep
      system_u:system_r:svirt_t:s0:c254,c932 qemu 25669 99.0  0.0 3096704 48500 ?    Sl   16:57   3:28 /bin/qemu-system-x86_64 [..]
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      2fc665bb
    • S
      security: Add DAC and SELinux security for tpm-emulator · a21c45c4
      Stefan Berger 提交于
      Extend the DAC and SELinux modules with support for the tpm-emulator.
      We label the Unix socket that QEMU connects to after starting swtmp
      with DAC and SELinux labels. We do not have to restore the labels in
      this case since the tpm-emulator will remove the Unix socket when it
      terminates.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      a21c45c4
    • S
      conf: Add support for external swtpm TPM emulator to domain XML · 33af0b2b
      Stefan Berger 提交于
      This patch adds support for an external swtpm TPM emulator. The XML for
      this type of TPM looks as follows:
      
       <tpm model='tpm-tis'>
         <backend type='emulator'/>
       </tpm>
      
      The XML will currently only define a TPM 1.2.
      
      Extend the documentation.
      
      Add a test case testing the XML parser and formatter.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      33af0b2b
  2. 04 5月, 2018 1 次提交
  3. 10 1月, 2018 1 次提交
    • C
      security: full path option for DomainSetPathLabel · a5486e57
      Christian Ehrhardt 提交于
      virSecurityManagerDomainSetPathLabel is used to make a path known
      to the security modules, but today is used interchangably for
       - paths to files/dirs to be accessed directly
       - paths to a dir, but the access will actually be to files therein
      
      Depending on the security module it is important to know which of
      these types it will be.
      
      The argument allowSubtree augments the call to the implementations of
      DomainSetPathLabel that can - per security module - decide if extra
      actions shall be taken.
      
      For now dac/selinux handle this as before, but apparmor will make
      use of it to add a wildcard to the path that was passed.
      Signed-off-by: NChristian Ehrhardt <christian.ehrhardt@canonical.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      a5486e57
  4. 05 12月, 2017 1 次提交
  5. 25 11月, 2017 1 次提交
  6. 03 11月, 2017 2 次提交
    • P
      security: selinux: Take parent security label into account · cc16fa2a
      Peter Krempa 提交于
      Until now we ignored user-provided backing chains and while detecting
      the code inherited labels of the parent device. With user provided
      chains we should keep this functionality, so label of the parent image
      in the backing chain will be applied if an image-specific label is not
      present.
      cc16fa2a
    • P
      security: selinux: Pass parent storage source into image labeling helper · 023da7dd
      Peter Krempa 提交于
      virSecuritySELinuxSetImageLabelInternal assigns different labels to
      backing chain members than to the parent image. This was done via the
      'first' flag. Convert it to passing in pointer to the parent
      virStorageSource. This will allow us to use the parent virStorageSource
      in further changes.
      023da7dd
  7. 17 10月, 2017 1 次提交
    • P
      util: storagefile: Add helpers to check presence of backing store · 0a294a8e
      Peter Krempa 提交于
      Add helpers that will simplify checking if a backing file is valid or
      whether it has backing store. The helper virStorageSourceIsBacking
      returns true if the given virStorageSource is a valid backing store
      member. virStorageSourceHasBacking returns true if the virStorageSource
      has a backing store child.
      
      Adding these functions creates a central points for further refactors.
      0a294a8e
  8. 22 6月, 2017 1 次提交
    • M
      security: Don't skip relabel for all chardevs · e0d1a378
      Michal Privoznik 提交于
      Our commit e13e8808 was way too generic. Currently, virtlogd is
      used only for chardevs type of file and nothing else. True, we
      must not relabel the path in this case, but we have to in all
      other cases. For instance, if you want to have a physical console
      attached to your guest:
      
          <console type='dev'>
            <source path='/dev/ttyS0'/>
            <target type='virtio' port='1'/>
          </console>
      
      Starting such domain fails because qemu doesn't have access to
      /dev/ttyS0 because we haven't relabelled the path.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      e0d1a378
  9. 16 6月, 2017 2 次提交
  10. 24 5月, 2017 1 次提交
  11. 18 5月, 2017 1 次提交
  12. 27 3月, 2017 2 次提交
    • E
      security: Enable labeling of vfio mediated devices · 606afafb
      Erik Skultety 提交于
      This patch updates all of our security driver to start labeling the
      VFIO IOMMU devices under /dev/vfio/ as well.
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      606afafb
    • E
      conf: Introduce new hostdev device type mdev · ec783d7c
      Erik Skultety 提交于
      A mediated device will be identified by a UUID (with 'model' now being
      a mandatory <hostdev> attribute to represent the mediated device API) of
      the user pre-created mediated device. We also need to make sure that if
      user explicitly provides a guest address for a mdev device, the address
      type will be matching the device API supported on that specific mediated
      device and error out with an incorrect XML message.
      
      The resulting device XML:
      <devices>
        <hostdev mode='subsystem' type='mdev' model='vfio-pci'>
          <source>
            <address uuid='c2177883-f1bb-47f0-914d-32a22e3a8804'>
          </source>
        </hostdev>
      </devices>
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      ec783d7c
  13. 15 3月, 2017 2 次提交
  14. 17 1月, 2017 1 次提交
  15. 11 1月, 2017 1 次提交
  16. 10 1月, 2017 1 次提交
  17. 09 1月, 2017 1 次提交
  18. 25 11月, 2016 2 次提交
  19. 12 11月, 2016 1 次提交
  20. 24 10月, 2016 1 次提交
  21. 22 10月, 2016 1 次提交
  22. 12 7月, 2016 1 次提交
  23. 25 5月, 2016 1 次提交
  24. 19 4月, 2016 1 次提交
  25. 11 4月, 2016 1 次提交
  26. 20 2月, 2016 1 次提交
  27. 03 2月, 2016 1 次提交
  28. 15 1月, 2016 2 次提交
  29. 15 12月, 2015 1 次提交
  30. 09 12月, 2015 1 次提交
  31. 30 11月, 2015 1 次提交
  32. 21 10月, 2015 1 次提交