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

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

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

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


role user_r types user_passwd_t

Из команды видно, что пользователь с ролью user_r может входить в домен user_passwd_t, то есть может выполнить команду passwd.

Контекст безопасности (security context) - это набор всех атрибутов, которые связаны с файлами, каталогами, процессами, TCP-сокетами. Контекст безопасности состоит из сущности, роли, домена (или типа вместо домена). Команда id выводит текущий контекст безопасности.

Решение о переходе (transition) определяется контекстом безопасности, который будет назначен выполняемой операцией. Существует два вида переходов:

* переход домена процесса - используется при выполнении процесса определенного типа

* переход типа файла - используется при создании файла в определенных каталогах

Наконец, рассмотрим понятие «политики». Политика - это набор правил, контролирующих списки ролей, к которым у пользователя есть доступ, доступ ролей к доменам, доступ доменов к типам.

Ты точно разобрался с доменами/типами/ролями? Смотри, например, выражение «доступ ролей к доменам» означает, какие пользователи имеют право запускать те или иные процессы. А выражение «доступ доменов к типу» - какие процессы имеют право доступа к тем или иным объектам (файлам, каталогам, сокетам). Редактируя файлы политики, ты можешь настроить свою систему так, как пожелаешь.

Первоначальная настройка SELinux

Зарегистрируйся в системе как пользователь root и введи команду:

# system-config-securitylevel

В окне «Настройка уровня безопасности» перейди в закладку «Настройка SELinux». По умолчанию SELinux обычно выключена. Для ее включения установи флажок «Включено». Сразу после этого ты увидишь предупреждение о необходимости перемаркировать файловую систему правильными контекстами безопасности. В этом же окне сообщается, что перемаркировка ( она будет выполнена после перезагрузки системы, кстати, это — аналог команды «make relabel») может занять довольно много времени (зависит от размера файловой системы).

После этого обрати внимание на окно «Настройка SELinux». В нем можно выбрать тип политики. Пока доступна только одна политика - targeted (целевая).

Теперь нажми кнопку «OK» и перезагрузи компьютер командой «reboot». В процессе старта системы появится сообщение:

Warning -- SELinux relabel is required ***

Что свидетельствует о том, что SELinux будет перемаркировывать файловую систему. После этого пойдет привычная для тебя загрузка. Однако при входе в X Window на первую консоль будет выведено несколько не совсем обычных сообщений. Здесь ничего страшного нет — их формат мы разберем чуть позже. Первое, что хочется сделать, - это ввести команду id, чтобы просмотреть свой контекст безопасности:

context=root:system_r:hotplug_t

Роль system_r - это роль системы, которая выше роли sysadm_r.

Теперь самое время обратиться к конфигурационным файлам SELinux. Открой файл /etc/selinux/config. В нем будут всего две директивы: SELINUX и SELINUXTYPE. Первая может принимать следующие значения:

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