Product SiteDocumentation Site

Глава 7. Виртуализация и безопасность

7.1. Виртуализация и SELinux
7.2. Замечания о SELinux
При реализации технологии виртуализации в корпоративной инфраструктуре необходимо обеспечить безопасность размещающей системы. Домен 0 является привилегированным доменом, выполняющим функции управления системой и виртуальными машинами. Если он не защищен, все остальные домены в системе подвергаются риску. Существует несколько способов усиления защиты систем, утилизирующих виртуализацию. Сначала разработайте комплексный план по развертыванию, содержащий описание спецификаций и служб, обязательных для виртуальных машин и размещающих серверов, а также информацию о том, что необходимо для поддержки этих служб. Ниже перечислены наиболее важные принципы защиты, которые следует принять во внимание при разработке такого плана.

7.1. Виртуализация и SELinux

Security Enhanced Linux was developed by the NSA with assistance from the Linux community to provide stronger security for Linux. SELinux limits an attackers abilities and works to prevent many common security exploits such as buffer overflow attacks and privilege escalation. It is because of these benefits that Fedora recommends all Linux systems should run with SELinux enabled and in enforcing mode.
SELinux не позволит загрузить образы виртуальных машин, если они не расположены в каталоге /var/lib/libvirt/images.
Добавление хранилища LVM при включенном SELinux
Дальше будет рассмотрен пример добавления логического тома в виртуальную машину, где SELinux работает в строгом режиме. Приведенные инструкции также подходят для разделов жестких дисков.
Процедура 7.1. Создание и монтирование логического тома
  1. Создайте логический том. Команда создания тома размером 5 гигабайт в группе томов группа_томов будет выглядеть так:
    # lvcreate -n NewVolumeName -L 5G volumegroup
    
  2. Отформатируйте новый_том и создайте файловую систему, поддерживающую расширенные атрибуты, например, ext3.
    # mke2fs -j /dev/volumegroup/NewVolumeName
    
  3. Создайте новый каталог, куда будет смонтирован новый логический том. Этот каталог может расположен в любом месте, хотя не рекомендуется его размещать в системных каталогах (/etc, /var, /sys) и домашних каталогах (/home или /root).
    # mkdir /virtstorage
    
  4. Смонтируйте созданный том.
    # mount /dev/volumegroup/NewVolumeName /virtstorage
    
  5. Определите тип SELinux для каталога Xen:
    semanage fcontext -a -t xen_image_t "/virtualization(/.*)?"
    
    
    Или для каталога KVM:
    semanage fcontext -a -t virt_image_t "/virtualization(/.*)?"
    
    
    При использовании целевой политики (целевая политика используется по умолчанию) команда добавит дополнительную строку в файл /etc/selinux/targeted/contexts/files/file_contexts.local. Добавленное выражение обеспечит постоянство этих изменений.
    /virtstorage(/.*)?    system_u:object_r:xen_image_t:s0
    
    
  6. Измените тип точки монтирования (/virtstorage) и всех файлов в этом каталоге на xen_image_t (restorecon и setfiles позволяют обращаться к файлам в /etc/selinux/targeted/contexts/files/).
    # restorecon -R -v /virtualization