14 октября 2009

Работа с образами дисков виртуальных машин через libguestfs

В Fedora 11 включен ряд инструментов, значительно упрощающих работу с образами дисков виртуальных машин из операционной системы хоста. Утилиты, разработанные в рамках libguestfs, используют код ядра Linux и qemu и, соответственно, позволяют получить доступ к файловым системам, с которыми умеют работать Linux и qemu, включая ext2/3/4, btrfs, FAT, NTFS, тома LVM и различные варианты схем хранения разделов Virtual Machine DisK format (vmdk) и qcow1/2. Также библиотека корректно работает с метками SELinux.

Для установки в Fedora 11, Rawhide или RHEL, использующем репозиторий EPEL, необходимо набрать команду:

yum install '*guestfs*' guestfish

Библиотека и утилиты распространяются по лицензии GNU GPL. Есть сборки и для других дистрибутивов, включая Debian.

guestfish - интерактивный командный интерпретатор, работающий с гостевой файловой системой. Включает в себя более двух сотен команд для работы с файлами, каталогами и файловой системой. Полностью задействует всю функциональность guestfs API.

virt-cat - Просмотр файла внутри ФС гостя

virt-edit - Редактирование файла внутри ФС гостя

virt-rescue - Аналог rescue mode при загрузке с установочного диска Fedora/RHEL. Во время использования гостевая ВМ должна быть выключена.

virt-inspector - Отображает версию ОС, ядра, драйвера, точки монтирования, приложения и другую информацию о виртуальной машине. Для доступа к информации ВМ Windows используется reged.

virt-df - Отображает объем свободного места на ФС ВМ

В разработке находятся и другие утилиты, например, v2v-snapshot - создает snapshot дисков ВМ или virt-v2v для конвертации ВМ из других гипервизоров в KVM c libvirt.

На страничке приведен ряд примеров скриптов, использующих libguestfs, например: клонирования виртуальных машин, экспорта домашнего каталога пользователя ВМ в архив tar, список RPM-пакетов внутри ВМ, список устройств, разделов и слоев абстракции LVM, и другие.

06 октября 2009

Нужен ли Red Hat Password Sync?

Проверял синхронизацию пользователей, паролей и групп между тестовым доменом AD и RHDS 8 при помощи службы Red Hat Password Sync. На обоих серверах необходимо получить сертификаты и включить LDAPS. На контроллере домена AD устанавливается служба Password Sync, а со стороны RHDS - Windows Sync Agreement, примерно так же, как настраивается репликация между двумя серверами каталогов RHDS. Настройка и отладка достаточно трудоемка. Для пользователя синхронизируется порядка четырех десятков атрибутов, из которых большая часть одинакова в схемах обоих серверов каталогов. Для гетерогенной среды, где сохраняется AD, и необходимо осуществлять аутентификацию как Linux, так и Windows систем, особых преимуществ Password Sync по сравнению с единственным каталогом AD + Services for Unix мне в голову не приходит. Если же отказываться от AD совсем, то проще использовать IPA, который изначально "заточен" под аутентификацию. В случае использования Kerberos, смысла в Password Sync еще меньше.

Намного больше пользы от Password Sync будет, когда IPA "научится" применять политики Sudo, SELinux и т.д. Однако, пока это - дело будущего.

Про настройку можно почитать тут. Более подробно - в документации RHDS.


28 сентября 2009

Упрощенная настройка iSCSI target при помощи targets.conf

Около года назад я писал в блоге про настройку iSCSI target и initiator в RHEL5. Начиная с версии 5.3 настройка target значительно упростилась. Теперь не нужно прописывать несколько команд tgtadm в /etc/rc.local, а достаточно создать файл /etc/tgt/targets.conf вида:

<target iqn.2003-12.net.markelov:disk1>
backing-store /dev/xvda5
</target>

и запустить tgtd. Подробнее — в man tgt-admin.

03 сентября 2009

Вышли RHEL 5.4 и RHN Satellite 5.3

Вчера одновременно вышли очередные релизы операционной системы Red Hat Enterprise Linux 5.4 и платформы управления Linux-инфраструктурой Red Hat Network Satellite 5.3. Про основные новшества RHEL 5.4 я уже писал. Повторюсь лишь, что помимо Xen, в дистрибутив добавлена поддержка гипервизора KVM. Что касается Satellite, то там "море" нового. Основное: поддержка сервера автоматизированной установки cobbler, синхронизация каналов с мастер-сервером, модуль политики SELinux для Satellite, поддержка клиентов Solaris на архитектурах UltraSPARC T1 (sun4v) и X86_64. Про все остальные новшества и изменения как всегда можно прочесть в release notes.

01 сентября 2009

Развитие проекта sVirt в Fedora 11/RHEL

Я уже рассказывал в своем блоге о проекте sVirt, позволяющем изолировать при помощи мандатного контроля доступа гипервизор и отдельные виртуальные машины друг от друга. Если вы еще не знакомы с концепцией MAC, MLS и MSC, то вы можете почитать соответствующие записи в моем блоге с меткой SELinux. Не буду повторяться, а просто скажу, что уникальные преимущества в плане защищенности, доступные в операционных системах общего назначения с открытым исходным кодом уже можно живьем "пощупать" и в системах виртуализации (Fedora 11), а с выходом RHEL 5.4 и внедрить на предприятии.

В изначально реализованной политике для RHEL5, xend_t - домен в котором работает процесс Xen, не мог обойтись без права писать/читать не только в файлы xen_image_t, но и в физические устройства fixed_disk_device_t, поскольку в промышленной среде использование образов дисков вместо отдельных разделов, например на LVM, имеет ряд недостатков. Таким образом, злоумышленник из процесса xend_t в случае компрометации одной из виртуальных машин в принципе мог бы получить доступ как к самому хосту, так и к другим виртуальным машинам.

Данная проблема в целом распространяется и на другие системы виртуализации - от Microsoft, VMware и других вендоров. От "zero-day" уязвимости в ОС виртуальной машины и гипервизора одновременно не застрахован никто. Однако в случае Fedora (и в будующем RHEL) решениеп такой проблемы теперь есть. Одной частью решения в Fedora 11 стал появившийся в libvirt механизм подключаемых модулей. Теперь специальный plug-in динамически присваивает метки файлам\устройствам "на лету" и стартует виртуальные машины в соответствующем домене SELinux. По умолчанию в Fedora процессы виртуальных машин работают в доменах svirt_t, а фалы/устройства имеют тип svirt_image_t.

Описанное выше позволит защитить только операционную систему хоста (гипервизор) от атаки осуществляемой изнутри скомпрометированной виртуальной машины. Для изоляции же виртуальных машин друг от друга разработчики используют поддержку мультикатигорийной безопасности (подмножество реализации многоуровневой безопасности с одним и тем-же уровнем безопасности s0). За подробностями опять-же отправляю к предыдущим постам в блоге. Соответствующие друг-другу контексты и домены виртуальных машин с совпадающими категориями (как я уже сказал уровень безопасности при этом используется один и тот же) присваиваются libvirt случайным образом. Однако, при необходимости, администратор может задать их и статически. Подробнее почитать про sVirt можно в блоге Дэна Уолша, отвечающего в Red Hat за разработку SELinux.

20 августа 2009

MCT... "I live again..." :)

Наверное первый раз за последние полтора-два года "достал с полки" свой подзаржавевший MCT :) На этой неделе дочитываю в Инвенте 2282 Designing a Microsoft Windows Server 2003 Network and Active Directory Infrastructure. По уровню сложности - 100 level. И правда, по сравнению с тем-же 400-очковым 423 Red Hat Enterprise Directory Services and Authentication просто курорт, хотя мне всегда курсы Microsoft давались тяжелее :)

-- Post From My iPhone

09 августа 2009

Spacewalk 0.6



В эту пятницу была анонсирована версия 0.6 платформы управления жизненным циклом Linux-инфраструктуры Spacewalk. Spacewalk под именем Red Hat Network Satellite Server имеет давнюю, с 2001 года, историю разработки. В настоящее время - это open source продукт, открытый по лицензии GPL2. Начиная с версии 0.6 Spacewalk поддерживает актуальную версию Fedora 11 и работу с виртуальными машинами KVM в дополнение к Xen. В текущей версии сделан еще один шаг в сторону поддержки помимо Oracle открытой СУБД PostgreSQL. Соответствующий код для поддержки инфраструктуры PostgreSQL уже присутствует, а окончательная интеграция ожидается в начале 2010 года. Другие новшества и исправления в Spacewalk 0.6:
  • Поддержка SHA256 в rpm-пакетах
  • Поддержка rpm-пакетов более 2Гб (требуется rpm 4.6)
  • Возможность импортировать в канал ПО yum-репозиторий (как через GUI так spacewalk-repo-sync)
  • Новая утилита spacewalk-report, позволяющая получать отчеты в виде CSV вывода для использования в скриптах
  • Починили jabberd
  • Ряд новых функций API
  • Исправлено примерно сотня ошибок предыдущей версии