20 июня 2008

Основные анонсы Саммита Red Hat в Бостоне

  • Представлена новая система виртуализации http://www.ovirt.org/. Включает в себя управляющее ПО и 64Мб образ гипервизора на основе KVM. В настоящий момент проект находится в стадии бета-тестирования. Предполагается, что приблизительно к концу года проект будет готов к промышленному применению. В качестве гостевых операционных систем могут выступать как Red Hat Enterprise Linux так и Microsoft Windows. Постараюсь на следующих выходных развернуть это "безобразие" на парочке DL320. После - опишу в блоге.
  • Открыт исходный код проприетарного продукта Red Hat Network (RHN) Satellite Server. Проект которому было дано имя Spacewalk расположен на сайте http://www.redhat.com/spacewalk/. Основные функции продукта: инвентаризация систем (аппаратное и программное обеспечение); установка и обновление ПО и операционных систем на серверах и рабочих станциях; управление конфигурационными файлами; мониторинг серверов, рабочих станций и виртуальных машин. Это пожалуй сразу в "продакшен" для управления тестовыми серверами и виртуалками в лабе :) Заодно опыт для сдачи 401 экзамена накоплю :)
  • Анонсирован новый продукт под названием Red Hat Enterprise IPA, являющийся решением с открытым исходным кодом для управления доступом и учетными данными. Red Hat Enterprise IPA осуществляет централизованную аутентификацию, управление политиками доступа и аудита для компьютеров, пользователей и сервисов в Unix и Linux-окружениях. В состав решения входят ряд служб, в том числе: LDAP, Kerberos и RADIUS. Помимо этого существуют средства для интеграции с другими сервисами каталогов, включая Active Directory и утилиты для миграции с NIS. Для упрощения работы с Red Hat Enterprise IPA в состав решения входит консоль управления с web-интерфейсом. Про Red Hat Enterprise IPA я писал вчера.
  • Время полной поддержки дистрибутивов Red Hat Enterprise Linux версий 4 и 5 продлено на один год. Выпуск обновлений связанных с безопасностью продлен до 2012 и 2014 года соответственно.

19 июня 2008

Red Hat Enterprise IPA

Сегодня компания Red Hat анонсировала новый продукт под названием Red Hat Enterprise IPA, являющийся решением с открытым исходным кодом для управления доступом и учетными данными. Red Hat Enterprise IPA осуществляет централизованную аутентификацию, управление политиками доступа и аудита для компьютеров, пользователей и сервисов в Unix и Linux-окружениях. В состав решения входят ряд служб, в том числе: LDAP, Kerberos и RADIUS. Помимо этого существуют средства для интеграции с другими сервисами каталогов, включая Active Directory и утилиты для миграции с NIS. Для упрощения работы с Red Hat Enterprise IPA в состав решения входит консоль управления с web-интерфейсом.

Важным преимуществом решения является то, что оно основывается на полностью открытых стандартах и технологиях, что является отличной защитой инвестиций и позволяет избежать замыкания на продуктах конкретного вендора (vendor lock-in).

Основные особенности решения:
  • SSO при помощи единой учетной записи, используя Kerberos и LDAP (Red Hat Directory Server) для доступа к компьютерам и службам
  • Возможность использовать нескольких полностью равноправных мастер-серверов с автоматическим разрешением конфликтов
  • Синхронизация с уже существующими серверами каталогов, включая Active Directory. В следующих версиях помимо односторонней или двухсторонней синхронизации планируется возможность использовать выданные Active Directory билеты Kerberos в Kerberos-области Red Hat Enterprise IPA, а также интеграция с Red Hat Certificate System
  • Использование открытых стандартов
  • Простота установки и управления законченным решением
  • Расширение функционала за счет подключаемых модулей (plug-ins)
Функциональная схема первой версии Red Hat Enterprise IPA/Free IPA:


Требования к серверу:
  • Red Hat Enterprise Linux 5 (32 или 64-bit)
Требования к клиентам:
  • Red Hat Enterprise Linux версий 2.1, 3, 4, 5
  • HP-UX версий 11, 11i v.1 и 2
  • Sun Solaris 2.6, 7, 8, 9, 10
  • AIX 5.1, 5.2, 5.3
  • Mac OS X
  • Microsoft Windows XP/2000
В качестве основы Red Hat Enterprise IPA выступает спонсируемый компанией Red Hat проект FreeIPA. Фактически Red Hat Enterprise IPA - это FreeIPA с поддержкой от Red Hat.

Пара снимков с экрана web-интерфейса тестового сервера FreeIPA. Red Hat Enterprise IPA должен отличаться только логотипами:



FreeIPA включен в репозиторий Fedora 9. Все, что нужно для установки - это отдать команду:

yum install ipa-server

или

yum install ipa-client

При разработке версии 1 основное внимание было уделено централизованному управлению пользователями и аутентификацией. В следующих версиях будут добавлены функции централизованного управления сервисами, физическими и виртуальными машинами. Также будут реализованы централизованные политики управления sudoers и аудита.

Кроме того, Red Hat Enterprise IPA/Free IPA используется для аутентификации и авторизации в другом представленном на днях проекте Red Hat - решении для виртуализации на основе KVM - oVirt.

Ссылки:
http://www.redhat.com/promo/ipa/ - Страница Red Hat Enterprise IPA на сайте Red Hat
http://freeipa.org - Проект FreeIPA
http://www.markelov.net/articles.php?lng=ru&pg=2363 - мой обзор Fedora Directory Server, являющегося основой Red Hat Enterprise IPA и FreeIPA

17 июня 2008

Некоторые новшества в Fedora 9 с точки зрения SELinux

Месяц назад вышла девятая версия Linux-дистрибутива общего назначения Fedora. В этом посте я хотел бы продолжить разговор о системе мандатного контроля доступа SELinux и кратко рассмотреть, что же нового появилось в этой подсистеме c выходом Fedora 9. Для простоты давайте пройдемся по соответствующей секции Release Notes и разберем каждый из пунктов.

1) guest_t does not allow running setuid binaries, making network connections, or using a GUI.

Собственно, тип guest_t был добавлен еще в Fedora 8. Проведем эксперимент:

[root@fc9 ~]# semanage login -m -s guest_u andreym
[andrey@station20 ~]$ ssh andreym@fc9
[andreym@fc9 ~]$ id
uid=501(andreym) gid=501(andreym) группы=501(andreym) context=guest_u:guest_r:guest_t:s0

Отлично. Как мы видим контекст нашего пользователя - guest_u:guest_r:guest_t:s0. Теперь попробуем отдать команды:

[andreym@fc9 ~]$ ssh localhost
ssh: connect to host localhost port 22: Permission denied
[andreym@fc9 ~]$ links http://www.markelov.net

В это время в /var/log/audit/audit.log появятся примерно такие сообщения:

type=AVC msg=audit(1213692142.442:100268): avc: denied { name_connect } for pid=27564 comm="ssh" dest=22 scontext=guest_u:guest_r:guest_t:s0 tcontext=system_u:object_r:ssh_port_t:s0 tclass=tcp_socket

и

type=AVC msg=audit(1213692261.542:100271): avc: denied { name_connect } for pid=27570 comm="links" dest=80 scontext=guest_u:guest_r:guest_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket

No comments :)

Также помимо отсутствия взаимодействия по сети, у нас нет возможности запустить какие-либо исполнимые файлы из домашней директории, директории /tmp или любые исполнимые файлы с выставленным битом setuid. Пользователь andreym может зайти на хост fc9 c текстовой консоли, через ssh, rshd, rlogind или telnet. Однако, он не сможет использовать X-Window.

За guest_u у нас отвечает модуль:

[root@fc9 ~]# semodule -l | grep ^guest
guest 1.0.1

Для чего можно использовать такого пользователя? Например, хостинг-провайдер таким образом разрешает подключаться к web-серверу и править содержимое public_html. Или разумно задействовать guest_u, если вам необходимо предоставить доступ своим пользователям к какому-либо локальному приложению на сервере.

2) xguest_t disallows network access except for HTTP via a Web browser, and no setuid binaries.

С xguest_t мы также уже успели поэкспериментировать в Fedora 8. Dan Walsh в свое время подробно расписал использование этого типа SELinux в своем блоге http://danwalsh.livejournal.com/11913.html. Фактически, пользователь xguest идеален для создания «киоска» в общедоступном месте. Xguest может зайти локально в X-Window и запустить браузер. Никакие другие сетевые коммуникации ему не разрешены.
Если SELinux включен, то мы можем разрешить пользователю xguest вход без пароля. Для обеспечения этого был написан специальный модуль PAM - /lib/security/pam_selinux_permit.so. В свою очередь /lib/security/pam_namespace.so создает (и удаляет при выходе из системы) временные домашнюю директорию и директорию /tmp для пользователя xguest. Таким образом, между двумя сеансами работы xguest на машине ничего не сохраняется. Да, и пока мы работаем из-под xguest, никаких setuid-бинарников.
Попробовать работу с режимом «киоска» можно установив пакет:

[root@fc9 ~]# yum install xguest

Соответствующая документация находится в /usr/share/doc/xguest-*

3) user_t is ideal for office users: prevents becoming root via setuid applications.

User_t — тип SELinux, предназначенный для работы непривилегированных пользователей, выполняющих обычные «офисные» задачи. В отличие от xguest, этот тип используется для «нормальных» учетных записей и взаимодействие по сети для таких пользователей не ограниченно 80 портом.

[root@fc9 ~]# semanage login -m -s user_u andreym

Безусловно, можно воспользоваться и GUI-утилитой system-config-selinux:


Также разумным вариантом можно считать использование по умолчанию user_u вместо __default__:

[root@fc9 ~]# semanage login -m -s user_u __default__

Кроме того, пользователи не могут запускать исполнимые файлы с выставленным битом setuid и обращаться к ряду системных файлов, к которым традиционно предоставляются стандартные unix-права на чтение. По умолчанию разрешено запускать исполнимые файлы из /tmp и домашней директории:

[root@fc9 ~]# getsebool allow_user_exec_content
allow_user_exec_content --> on

Установив этот переключатель в 0, вы запретите исполнение этих файлов.

4) staff_t is same as user_t, except that root access via sudo is allowed.

Staff_t - то же самое что и user_t, однако, он может работать с правами root через sudo. Не забудьте поправить файлик sudoers. Как и многие другие базовые утилиты, sudo поддерживает работу с SELinux: man sudoers.

5) unconfined_t provides full access, the same as when not using SELinux.
Этот пункт, думаю, комментировать не нужно :)

Также обратите внимание на расширенный по сравнению с Fedora 8 список модулей SELinux:

[root@fc9 ~]# semodule -l

и включенную в Fedora среду разработки SELinux Policy IDE.

Ссылки:

1. http://docs.fedoraproject.org/release-notes/f9/en_US/sn-Security.html
2. http://www.redhatmagazine.com/2008/04/17/fedora-9-and-summit-preview-confining-the-user-with-selinux/
3. Также вы можете ознакомиться с другими статьями посвященными SELinux в моем блоге http://markelov.blogspot.com.