186 lines
14 KiB
Plaintext
186 lines
14 KiB
Plaintext
|
||
Антивирус Dr.Web для Linux
|
||
(Desktop Security Suite)
|
||
|
||
v. 6.0.2
|
||
|
||
Замечания по установке в операционных системах, оснащенных системой
|
||
безопасности SELinux
|
||
|
||
=============================================================================
|
||
Материалы, приведенные в данном документе, являются собственностью компании
|
||
<Доктор Веб> и могут быть использованы исключительно для личных целей
|
||
приобретателя продукта. Никакая часть данного документа не может быть
|
||
скопирована, размещена на сетевом ресурсе или передана по каналам связи и в
|
||
средствах массовой информации или использована любым другим образом, кроме
|
||
использования для личных целей, без ссылки на источник.
|
||
|
||
Dr.Web является зарегистрированным товарным знаком компании <Доктор Веб>.
|
||
Linux - зарегистрированный товарный знак Линуса Торвальдса на территории
|
||
Соединенных Штатов Америки и других стран.
|
||
|
||
Иные зарегистрированные товарные знаки, логотипы и наименования компаний,
|
||
упомянутые в данном документе, являются собственностью их владельцев.
|
||
|
||
В программное обеспечение могут вноситься изменения, не отраженные в
|
||
данной документации. Исправленные и дополненные редакции документа
|
||
оперативно размещаются на веб-сайте компании http://www.drweb.com.
|
||
=============================================================================
|
||
|
||
(C) ООО <Доктор Веб>, 1992-2013.
|
||
Россия, Москва - Санкт-Петербург.
|
||
http://www.drweb.com/
|
||
|
||
|
||
Если используемый вами дистрибутив Linux оснащен подсистемой безопасности
|
||
SELinux (Security-Enhanced Linux - Linux с улучшенной безопасностью), то для
|
||
того, чтобы антивирусные компоненты (сканирующий демон Dr.Web Daemon, консоль-
|
||
ный сканер Dr.Web Console Scanner и монитор Dr.Web SpIDer Guard) работали
|
||
корректно после установки компонентов приложения, вам потребуется внести измене-
|
||
ния в политики безопасности, используемые SELinux.
|
||
|
||
Обратите внимание, что в случае если после установки Антивируса Dr.Web для Linux
|
||
вы не выполните настройку политик безопасности SELinux, возможно возникновение
|
||
ситуации, когда будет заблокирована возможность аутентификации пользователей в
|
||
системе (включая суперпользователя root), а также удаленный доступ к ней по SSH.
|
||
|
||
Кроме того, при включенном SELinux установка продукта из универсальных пакетов
|
||
(.run) может окончиться неудачей, поскольку будет заблокирована попытка создания
|
||
пользователя drweb, от имени которого работают модули Антивируса Dr.Web для
|
||
Linux.
|
||
|
||
Перед началом установки рекомендуется проверить режим работы SELinux, для этого
|
||
выполните команду getenforce. Эта команда выводит на экран текщуий режим зашиты:
|
||
* Permissive - защита активна, но используется разрешающая стратегия: действия,
|
||
нарушающие политики безопасности, не запрещаются, а только фиксируются в
|
||
журнале аудита.
|
||
* Enforced - защита активна, используется запрещающая стратегия: действия,
|
||
нарушающие политики безопасности, регистрируются в журнале аудита и
|
||
блокируются.
|
||
* Disabled - SELinux установлен, но неактивен.
|
||
|
||
Если SELinux работает в режиме Enforced, следует временно (на период установки
|
||
продукта и последующей настройки политик безопасности) перевести ее в режим
|
||
Permissive. Для этого выполните команду setenforce 0, которая временно (до
|
||
первой перезагрузки системы) переведет SELinux в режим Permissive. Чтобы вернуть
|
||
систему в режим Enforced, следует выполнить команду setenforce 1.
|
||
Обратите внимание, что, какой бы режим защиты вы не установили при помощи
|
||
команды setenforce, после перезагрузки операционной системы SELinux вернется в
|
||
режим защиты, заданный в ее настройках (обычно файл настроек SELinux находится
|
||
в каталоге /etc/selinux).
|
||
|
||
В общем случае, при использовании в системе демона audit, файл журнала аудита
|
||
располагается в /var/log/audit/audit.log. В противном случае сообщения о запрете
|
||
операции записываются в общий файл журнала /var/log/messages.
|
||
|
||
Чтобы при работающем SELinux антивирусные компоненты могли успешно функциониро-
|
||
вать, необходимо скомпилировать специальные политики безопасности сразу после
|
||
установки программного продукта, по завершении работы инсталлятора или
|
||
установщика нативных пакетов.
|
||
|
||
Пожалуйста, обратите внимание, что в некоторых дистрибутивах Linux указанные
|
||
ниже утилиты могут быть по умолчанию не установлены. В этом случае вам возможно
|
||
потребуется дополнительно установить содержащие их пакеты.
|
||
|
||
Чтобы создать необходимые политики:
|
||
|
||
1. Создайте новый файл с исходным кодом политики SELinux (.te файл). Данный файл
|
||
определяет ограничения, относящиеся к описываемому модулю. Исходный файл
|
||
политики может быть создан двумя способами:
|
||
|
||
1) С помощью утилиты audit2allow. Это наиболее простой способ. Данная утили-
|
||
та генерирует разрешающие правила на основе сообщений об отказе в доступе
|
||
в файлах системных журналов. Возможно задать автоматический поиск сообще-
|
||
ний в файлах журналов или указать путь к файлу журнала вручную.
|
||
|
||
Утилита audit2allow находится в пакете policycoreutils-python или
|
||
policycoreutils-devel (для ОС RedHat Enterprise Linux, CentOS, Fedora, в
|
||
зависимости от версии) или в пакете python-sepolgen (для Debian, Ubuntu).
|
||
|
||
Пример использования:
|
||
|
||
# audit2allow -M drweb -i /var/log/audit/audit.log
|
||
ИЛИ
|
||
# cat /var/log/audit/audit.log | audit2allow -M drweb
|
||
|
||
В данном примере утилита audit2allow производит поиск сообщений об отказе
|
||
в доступе в файле audit.log.
|
||
|
||
# audit2allow -a -M drweb
|
||
|
||
В данном примере утилита audit2allow ищет сообщения об отказе в доступе в
|
||
файлах журналов автоматически.
|
||
|
||
В обоих случаях в результате работы утилиты создаются два файла: исходный
|
||
файл политики drweb.te и готовый к установке модуль политики drweb.pp.
|
||
В большинстве случаев вам не потребуется вносить изменения в созданный
|
||
утилитой файл политики. Поэтому рекомендуется сразу переходить к пункту 4
|
||
для установки полученного модуля политики drweb.pp.
|
||
Обратите внимание, что по умолчанию утилита audit2allow в качестве
|
||
результата своей работы выводит на экран готовый вызов команды semodule.
|
||
Скопировав его в командную строку и выполнив, вы выполните пункт 4.
|
||
|
||
Перейдите к пункту 2, только если вы хотите внести изменения в политики,
|
||
автоматически сформированные для компонентов Антивируса Dr.Web для Linux.
|
||
|
||
2) С помощью утилиты policygentool. Для этого укажите в качестве параметров
|
||
имя модуля, работу с которым вы хотите настроить, и полный путь к его
|
||
исполняемому файлу.
|
||
|
||
Обратите внимание, что утилита policygentool, входящая в состав пакета
|
||
selinux-policy для RedHat Enterprise Linux и CentOS Linux, может работать
|
||
некорректно. В таком случае воспользуйтесь утилитой audit2allow.
|
||
|
||
Пример создания политик при помощи policygentool:
|
||
|
||
- Для модуля Dr.Web Console Scanner:
|
||
# policygentool drweb-scanner /opt/drweb/drweb.real
|
||
|
||
- Для сканирующего демона Dr.Web Daemon:
|
||
# policygentool drweb-daemon /opt/drweb/drwebd.real
|
||
|
||
Вам будет предложено указать несколько общих характеристик домена, после
|
||
чего для каждого модуля будут созданы три файла, определяющих политику:
|
||
[module_name].te, [module_name].fc и [module_name].if.
|
||
|
||
2. При необходимости отредактируйте сгенерированный исходный файл политики
|
||
[module_name].te, а затем, используя утилиту checkmodule, создайте бинарное
|
||
представление (.mod файл) исходного файла локальной политики.
|
||
Обратите внимание, что для успешной работы этой команды в системе должен быть
|
||
установлен пакет checkpolicy.
|
||
|
||
Пример использования:
|
||
|
||
# checkmodule -M -m -o drweb.mod drweb.te
|
||
|
||
3. Создайте устанавливаемый модуль политики (.pp файл) с помощью утилиты
|
||
semodule_package.
|
||
|
||
Пример:
|
||
|
||
# semodule_package -o drweb.pp -m drweb.mod
|
||
|
||
4. Для установки созданного модуля политики воспользуйтесь утилитой semodule.
|
||
|
||
Пример:
|
||
|
||
# semodule -i drweb.pp
|
||
|
||
5. Для корректной работы монитор Dr.Web SpIDer Guard использует специальную
|
||
библиотеку libdw_notify.so. Во избежание ошибок работы этой библиотеке
|
||
требуется присвоить корректную файловую метку SELinux, для чего в качестве
|
||
последнего шага необходимо выполнить переиндексацию файловой системы с
|
||
автоматическим переназначением меток файлов.
|
||
Чтобы принудить SELinux выполнить переиндексацию меток, создайте в корневом
|
||
каталоге файловой системы специальный файл .autorelabel и выполните перезаг-
|
||
рузку операционной системы, например, выполнив подряд две следующие команды:
|
||
|
||
# touch /.autorelabel
|
||
# reboot
|
||
|
||
После перезагрузки операционной системы подсистема безопасности SELinux будет
|
||
настроена для корректной работы Антивируса Dr.Web для Linux.
|
||
|
||
|
||
Для получения дополнительной информации о принципах работы и настройки SELinux
|
||
обратитесь к документации по используемому вами дистрибутиву Linux. |