Как настроить Amanda Enterprise на SELinux

Проверка режима SELinux

Вы можете получить текущую конфигурацию режима SELinux, запустив getenforce или sestatus от имени пользователя root. Первый просто выводит на стандартный вывод либо «Принудительное», либо «Разрешающее». Последний предоставляет дополнительные сведения, включая точку монтирования SELinuxfs, текущий режим, режим, который отображается в файле конфигурации SELinux и т. Д.

Режим SLELinux может быть изменен пользователем root во время выполнения с помощью приложения setenforce.

Применение:

setenforce [Принуждение | Разрешительный | 1 | 0]

Важно помнить, что изменения, внесенные с помощью sentenforce, не сохраняются при перезагрузке системы.

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

Значение режима по умолчанию при загрузке системы определяется в файле / etc / selinux / config параметром SELINUX. Параметр SELINUX принимает принудительное, разрешающее или отключенное значение.

Например:

root> # cat / etc / selinux / config # Этот файл управляет состоянием SELinux в системе. # SELINUX = может принимать одно из трех значений: # enforcing - применяется политика безопасности SELinux. # permissive - SELinux печатает предупреждения вместо принудительного выполнения. # disabled - политика SELinux не загружается. SELINUX = enforcing # SELINUXTYPE = может принимать одно из трех двух значений: # target - целевые процессы защищены, # минимум - изменение целевой политики. Защищены только выбранные процессы. # mls - многоуровневая защита. SELINUXTYPE = целевой корень> #

Если вам когда-либо потребуется устранить проблему, при которой режим SELinux постоянно переключается в неожиданный режим во время загрузки, стоит отметить, что SELinux также можно настроить в grub.conf, установив для параметра enforcing значение 0 или 1 (разрешающий или принудительное исполнение, соответственно).

Настройка SELinux для правильной работы с Амандой

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

Современные версии Zmanda (Amanda Enterprise Edition) будут пытаться автоматически установить SELinux в разрешающий режим во время установки.

root> # ./amanda-enterprise-3.4-linux-x64.run Для установки Zmanda необходимо переключить SELinux в разрешенное состояние. Программа установки сама сделает это и восстановит исходное состояние после завершения установки. Вы хотите продолжить? [Д / Н]:

Установщик Zmanda использует для этого приложение semanage, поэтому убедитесь, что semanage установлен, проверив, например, какой semanage перед запуском установщика. Если semanage еще не установлен, вы можете получить приложение с помощью:

root> # yum предоставляет * / semanage {дополнительный вывод не отображается} root> # yum install

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

Если невозможно запустить SELinux в разрешающем режиме из-за вашей политики безопасности, есть некоторые индикаторы того, что SELinux мешает нормальной работе Аманды. Вы можете проверить журналы аудита на наличие записей, связанных с amanda и / или zmanda:

корень> # ausearch -m avc -c amanda

Если вы не можете найти записи в журнале о том, что SELinux запрещает Amanda, но при работе в разрешающем режиме проблем нет, то это может быть результатом правил dontaudit. Чтобы временно отключить правила dontaudit, вы можете запустить:

корень> # semodule -DB

Как только это будет выполнено, попробуйте снова запустить установку, резервное копирование или восстановление и проверьте журнал аудита. После того, как SELinux зарегистрирует соответствующие отказы, обязательно снова включите не проверять правила:

корень> # semodule -B

Некоторые операционные системы поставляются с предустановленными модулями политик для Аманды, которые могут не отражать правильные контексты для вашей версии Аманды. Вы можете проверить, какой модуль в настоящее время включен, используя:

root> # semodule -l | grep amanda

Чтобы перечислить все установленные модули, может потребоваться некоторое время, и, конечно, если нет модуля, соответствующего «amanda», то выход не будет. Если вы обнаружите, что используете старый или поврежденный модуль политики Amanda, вы можете удалить его, используя:

корень> # semodule -r 

Все контексты SELinux можно настроить вручную, но это выходит за рамки данной документации. Если вас интересует полностью ручное решение, вам следует обратиться к man-страницам chcon и restorecon для получения подробной информации.

Создание пакетов настраиваемых политик с помощью audit2allow

В большинстве сред имеется несколько клиентских машин Amanda, на которых работают аналогичные операционные системы, и иногда необходимо развертывать дополнительные серверы Amanda. В этих сценариях неэффективно вручную устранять неполадки и изменять контексты безопасности на каждой отдельной машине. Здесь инструмент под названием audit2allow может быть полезен для создания пакетов настраиваемых политик, которые можно развернуть на нескольких машинах в сети.

Во-первых, запустите свои задачи в разрешающем режиме и создайте файл принуждения типа:

root> # grep -E 'amanda | zmanda' /var/log/audit/audit.log | audit2allow -m myamanda> myamanda.te

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

При проверке файла принуждения типа помните: многие приложения предоставляют контекст безопасности SELinux с помощью ключа -Z. Например, ls, -Z, ps axZ и т. Д.

После проверки того, что файл принудительного применения типа соответствует требованиям вашей политики безопасности, он должен быть преобразован в пакет политик для включения в качестве активного модуля политики. Для этого вы можете выполнить следующие команды:

root> # checkmodule -mo myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

Чтобы загрузить модуль политики, вы должны запустить:

корень> # semodule -i myamanda.pp

Если вы получите сообщение об ошибке «Пытался связать модуль без MLS с базой MLS» вам нужно будет вместо этого преобразовать файл принудительного применения типа как Multi-Layer Security и включить полученный пакет политики следующим образом:

root> # checkmodule -M -m -o myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

Затем включите пакет политики с помощью semodule -i, как описано выше. Теперь вы должны быть настроены для запуска резервных копий и восстановления с помощью SELinux в принудительном режиме.