Настройка политик безопасности SELinux |
Если используемый вами дистрибутив GNU/Linux оснащен подсистемой безопасности SELinux (Security-Enhanced Linux — Linux с улучшенной безопасностью), то для того, чтобы служебные компоненты Dr.Web для почтовых серверов UNIX (такие как сканирующее ядро) работали корректно после установки компонентов, вам, возможно, потребуется внести изменения в политики безопасности, используемые SELinux. Проблемы при установке универсального пакета При включенном SELinux установка Dr.Web для почтовых серверов UNIX в виде универсального пакета из установочного файла (.run) может окончиться неудачей, поскольку будет заблокирована попытка создания в системе специального пользователя drweb, с полномочиями которого работают компоненты Dr.Web для почтовых серверов UNIX. Если попытка установки Dr.Web для почтовых серверов UNIX из установочного файла была прервана из-за невозможности создания пользователя drweb, проверьте режим работы SELinux, для чего выполните команду getenforce. Эта команда выводит на экран текущий режим защиты: •Permissive — защита активна, но используется разрешающая стратегия: действия, нарушающие политики безопасности, не запрещаются, а только фиксируются в журнале аудита; •Enforced — защита активна, используется запрещающая стратегия: действия, нарушающие политики безопасности, регистрируются в журнале аудита и блокируются; •Disabled — SELinux установлен, но неактивен. Если SELinux работает в режиме Enforced, следует временно (на период установки Dr.Web для почтовых серверов UNIX) перевести ее в режим Permissive. Для этого выполните команду:
Указанная команда временно (до первой перезагрузки системы) переведет SELinux в режим Permissive.
После успешной установки Dr.Web для почтовых серверов UNIX из установочного файла, но до его запуска и активации верните режим Enforced, для чего выполните команду:
Проблемы функционирования Dr.Web для почтовых серверов UNIX В некоторых случаях при работающем SELinux отдельные компоненты Dr.Web для почтовых серверов UNIX (такие, как drweb-se и drweb-filecheck) не смогут запуститься, вследствие чего сканирование объектов и мониторинг файловой системы станут невозможны. Признаком того, что эти компоненты не могут быть запущены, является появление сообщений об ошибках 119 и 120 в системном журнале, который ведет служба syslog (обычно этот журнал расположен в каталоге /var/log/). В случае срабатывания системы безопасности SELinux информация об отказах фиксируется также в системном журнале аудита. В общем случае, при использовании в системе демона audit, журнал аудита располагается в файле /var/log/audit/audit.log. В противном случае сообщения о запрете операции записываются в общий файл журнала (/var/log/messages или /var/log/syslog). Если установлено, что компоненты сканирования не функционируют из-за того, что они блокируются SELinux, необходимо скомпилировать для них специальные политики безопасности.
Чтобы настроить политики безопасности SELinux 1.Создайте новый файл с исходным кодом политики SELinux (файл с расширением .te). Данный файл определяет ограничения, относящиеся к описываемому модулю. Исходный файл политики может быть создан двумя способами. 1)С помощью утилиты audit2allow. Это наиболее простой способ, поскольку данная утилита генерирует разрешающие правила на основе сообщений об отказе в доступе в файлах системных журналов. Возможно задать автоматический поиск сообщений в файлах журналов или указать путь к файлу журнала вручную.
Пример использования audit2allow:
В данном примере утилита audit2allow производит поиск в файле /var/log/audit/audit.log сообщений об отказе в доступе для компонента drweb-se. В результате работы утилиты создаются два файла: исходный файл политики drweb-se.te и готовый к установке модуль политики drweb-se.pp. Если подходящих инцидентов в системном журнале не обнаружено, утилита вернет сообщение об ошибке. В большинстве случаев вам не потребуется вносить изменения в файл политики, созданный утилитой audit2allow. Поэтому рекомендуется сразу переходить к пункту 4 для установки полученного модуля политики drweb-se.pp.
2)С помощью утилиты policygentool. Для этого укажите в качестве параметров имя компонента, работу с которым вы хотите настроить, и полный путь к его исполняемому файлу.
Пример создания политик при помощи policygentool: •для компонента drweb-se:
•для компонента drweb-filecheck:
Вам будет предложено указать несколько общих характеристик домена, после чего для каждого компонента будут созданы три файла, определяющих политику: <module_name>.te, <module_name>.fc и <module_name>.if. 2.При необходимости отредактируйте сгенерированный исходный файл политики <module_name>.te, а затем, используя утилиту checkmodule, создайте бинарное представление (файл с расширением .mod) исходного файла локальной политики.
Пример использования:
3.Создайте устанавливаемый модуль политики (файл с расширением .pp) с помощью утилиты semodule_package. Пример:
4.Для установки созданного модуля политики воспользуйтесь утилитой semodule. Пример:
Для получения дополнительной информации о принципах работы и настройки SELinux обратитесь к документации по используемому вами дистрибутиву Linux. |