Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #91, ИЮЛЬ 2006 г.

Тотальный контроль над пингвином

Денис Колисниченко

Хакер, номер #091, стр. 091-112-4


* enforcing - применить политику безопасности SELinux

* permissive - режим отладки (вместо запрета тех или иных операций SELinux будет просто выводить предупреждения)

* disabled - SELinux отключена

Для второй директивы возможны два значения:

* targeted - будут защищены только целевые сетевые демоны (которые будут явно указаны)

* strict - полная защита

Если тебе нужна полная защита, установи пакет selinux-policy-strict. Данный пакет находится на первом CD ASPLinux 11. Со второго компакта я бы посоветовал установить пакет selinux-doc. Дополнительная документация никогда не помешает.

Для аудита политик SELinux используется программа seaudit, но при запуске мы получаем сообщение, что не установлена политика по умолчанию. Интересно то, что на дистрибутивных дисках я так и не нашел пакет policy, содержащий эту дефолтную политику. Пришлось качнуть его из интернета: ftp://rpmfind.net/linux/ASPLinux/i386/RPMS.10/policy-1.11.3-3.noarch.rpm.

Выбор роли

Роль имеет большое значение, ведь у каждой роли свои полномочия. Например, sysadm_r полномочий намного больше, чем у user_r, поэтому нужно знать, как можно изменить роль. Хотя, с другой стороны, у targeted, в которой мы сейчас работаем, роли пользователей особого интереса не представляют, поскольку осуществляется защита только выбранных сетевых демонов. Но о команде newrole сказать все-таки нужно. Ее синтаксис следующий: «newrole -r роль». Например:

# newrole -r sysadm_r

После этого нужно будет ввести пароль для сущности (пароль пользователя). Если нет прав доступа к указанной роли, ты увидишь сообщение:

den:sysadm_r:sysadm_t is not a valid context

В этом случае указывается, что сущность den не имеет права доступа к роли sysadm_r.

Псевдофайловая система /selinux

При запуске системы с поддержкой SELinux в корне появится каталог /selinux - это псевдофайловая система SELinux (наподобие /proc). С помощью этой ФС можно изменять некоторые параметры SELinux, например режим работы. Как уже было отмечено, есть два режима работы: разрешающий (permissive) и принудительный (enforcing). В первом режиме SELinux только ругается, и ОС работает так же, как и обычная Linux-система, без SELinux, а во втором случае применяются все настроенные политики. Отладочные сообщения в разрешающем режиме протоколируются в файл /var/log/messages. Для переключения в принудительный режим используется команда:

# echo "1" > /etc/selinux/enforce

Для перехода в разрешающий режим используется команда:

# echo "0" > /etc/selinux/enforce

Разборки с пользователями

Лучше добавить всех необходимых пользователей в систему до включения SELinux, но бывают такие случаи, когда сделать это просто невозможно (например, система работает продолжительное время, и все пользователи давно заведены). Если SELinux уже активна, то для добавления нового пользователя нужно выполнить следующий набор команд.

Становимся администратором:

$ su

Входим в роль sysadm_r:

# newrole -r sysadm_r

Добавляем нового пользователя:

Назад на стр. 091-112-3  Содержание  Вперед на стр. 091-112-5