Приложение Д. Сборка модуля ядра для SpIDer Guard

Если операционная система не предоставляет механизм fanotify, используемый SpIDer Guard для мониторинга действий с объектами файловой системы, он может использовать специальный загружаемый модуль, работающий в пространстве ядра.

По умолчанию в составе SpIDer Guard поставляется скомпилированный модуль ядра для ОС CentOS и Red Hat Enterprise Linux версий 5.10 и 6.5, поскольку эти ОС не предоставляют fanotify. Также совместно со SpIDer Guard поставляется архив в формате tar.bz2, содержащий исходные файлы загружаемого модуля ядра, чтобы его можно было собрать вручную.

Загружаемый модуль ядра, используемый SpIDer Guard, предназначен для работы с ядрами Linux версий 2.6.* и новее.

Архив с исходными кодами загружаемого модуля ядра располагается в каталоге основных файлов Dr.Web для Linux (по умолчанию /opt/drweb.com) в подкаталоге share/drweb-spider-kmod/src, и имеет имя вида drweb-spider-kmod-<версия>-<дата>.tar.bz2.

Также в каталоге drweb-spider-kmod имеется проверочный скрипт check-kmod-install.sh, запустив который, вы получите информацию, поддерживает ли используемая вами операционная система предварительно скомпилированные версии ядра, уже включенные в состав продукта. В случае если нет, на экран будет выведена рекомендация выполнить ручную сборку.

Для выполнения ручной сборки загружаемого модуля ядра из исходных кодов необходимо обладать правами суперпользователя. Для получения прав суперпользователя при сборке воспользуйтесь командой смены пользователя su или командой выполнения от имени другого пользователя sudo.

Инструкция по сборке модуля ядра

1.Распакуйте архив с исходными кодами в любой каталог. Например, команда

# tar -xf drweb-spider-kmod-<версия>-<дата>.tar.bz2

распакует архив непосредственно в каталог, содержащий сам архив, создав в нем подкаталог с именем файла архива (обратите внимание, что для записи в каталог, содержащий архив, необходимы права суперпользователя).

2.Перейдите в созданный каталог с исходными кодами и выполните команду:

# make

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

3.После успешного окончания этапа make выполните следующие команды:

# make install
# depmod

4.После успешной сборки модуля ядра и его регистрации в системе, выполните дополнительно настройку SpIDer Guard, указав ему режим работы с модулем ядра, выполнив команду

# drweb-ctl cfset LinuxSpider.Mode LKM

Также допускается установка значения AUTO вместо значения LKM. В этом случае SpIDer Guard будет пробовать использовать не только модуль ядра, но и системный механизм fanotify. Для получения дополнительной информации используйте команду:

$ man drweb-spider

Возможные ошибки сборки

На этапе выполнения сборки make могут возникать ошибки. В случае возникновения ошибок проверьте следующее:

Для успешной сборки требуется наличие Perl и компилятора GCC. Если они отсутствуют, установите их.

В некоторых ОС может потребоваться предварительная установка пакета kernel-devel.

В некоторых OC сборка может завершиться ошибкой из-за неправильно определенного пути к каталогу исходных кодов ядра. В этом случае используйте команду make с параметром KDIR=/путь/к/исходным/кодам/ядра. Обычно они размещаются в каталоге /usr/src/kernels/<версия_ядра>. Обратите внимание, что версия ядра, выдаваемая командой uname -r, может не совпадать с именем каталога <версия_ядра>!