суббота, июня 27, 2009

SELinux Lockdown, 2: PAM SEPermit

оригинал - SELinux Lockdown Part Two: PAM SEPermit

Продолжаю выкладывать перевод цикла статей по использованию SELinux. Оригинал на английском языке опубликован в блоге Доминика Грифта (Dominick Grift).


В предыдущей статье я обсуждал преимущества сопоставления Linux-пользователей ограниченным SELinux-пользователям. Возможно Вам когда-нибудь понадобится устранить проблемы в системе или решить какие-то вопросы, которые требуют работы SELinux в разрешающем режиме (Permissive Mode).

Разрешающий режим SELinux это состояние, в котором ограничения SELinux не осуществляются. Однако, SELinux регистрирует нарушения политики SELinux, которые бы в нормальном состоянии предотвращались. Воспринимайте разрешающий режим как систему обнаружения вторжений (Intrusion Detection System), тогда как принудительный режим (Enforcing Mode) можно рассматривать как систему предотвращения вторжений (Intrusion Prevention System).

В большинстве случаев система на время работы в разрешающем режиме будет выведена из эксплуатации. В некоторых ситуациях это может быть не так просто сделать.

Существуют способы минимизировать риски, связанные с разрешающим режимом. Предпочтительным способом является недавно представленная возможность с названием разрешающие домены SELinux (SELinux Permissive Domains). Разрешающие домены будут обсуждаться позже.

Подключаемый модуль аутентификации (Pluggable Authentication Module) с названием SEPermit может также помочь минимизировать незащищенность разрешающего режима.

PAM SEPermit может заблокировать вход Linux-пользователю, когда система работает в разрешающем режиме. Рассмотрим систему, в которой Linux-пользователи ограничены SELinux. Разрешающий режим фактически снимает эти ограничения. Linux-пользователи могут воспользоваться этими преимуществами и получить доступ к ресурсам, которые в ином случае были бы для них не доступны.

PAM SEPermit включен по умолчанию в Fedora 11 в различных файлах в /etc/pam.d/, например, в /etc/pam.d/sshd. Чтобы заблокировать возможность входа Linux-пользователя в разрешающем режиме достаточно в конфигурацию SEPermit, расположенную в /etc/security/sepermit.conf, добавить Linux- или SELinux- пользователей.

Например, при добавлении %user_u в файл sepermit.conf в /etc/security, блокируется вход SELinux-пользователю user_u, при работе системы в разрешающем режиме.

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

В большинстве случаев рекомендуется перенести вашу систему из демилитаризованной зоны на время работ по устранению проблем в разрешающем режиме. Хотя PAM SEPermit может быть полезен в некоторых случаях.

Побробуйте!

Вывод:
Отдавайте предпочтение разрешающим доменам (Permissive Domains) SELinux, а не разрешающему режиму работы SELinux (Permissive Mode).
Если разрешающий режим требуется в промышленной среде на системе с Linux-пользователями, ограниченными с использованием SELinux, поощряется блокировка входа Linux-пользователей с использованием подключаемого модуля аутентификации SEPermit.
Учитывайте, что это окажет влияние только на Linux-пользователей, системные службы не будут защищаться SELinux в разрешающем режиме.

Справка: man pam_sepermit, man setenforce, man getenforce

Комментариев нет: