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

В этом разделе:

Общие сведения.

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

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

Общие сведения

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

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

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

 

Для архитектур ARM64, E2K и IBM POWER (ppc64el) работа с LKM не поддерживается.

Архив с исходным кодом загружаемого модуля ядра располагается в каталоге основных файлов Dr.Web Security Space (по умолчанию — /opt/drweb.com), в подкаталоге share/drweb-spider-kmod/src, и имеет имя вида drweb-spider-kmod-<версия>-<дата>.tar.bz2. Также в каталоге drweb-spider-kmod имеется скрипт проверки check-kmod-install.sh, запустив который, вы получите информацию, поддерживает ли используемая вами операционная система предварительно скомпилированные версии модулей ядра, уже включенные в состав Dr.Web Security Space. Если нет, то на экран будет выведена рекомендация выполнить ручную сборку.

Если указанный каталог drweb-spider-kmod отсутствует, установите пакет drweb-spider-kmod.

Для выполнения ручной сборки LKM-модуля из исходного кода требуются права суперпользователя. Для получения прав суперпользователя при сборке воспользуйтесь командой смены пользователя 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 1 drweb-spider

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

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

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

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

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

Версия ядра, выдаваемая командой uname -r, может не совпадать с именем каталога <версия ядра>.