Интеграция с файловым сервером Samba

Монитор SpIDer Guard для SMB, входящий в состав Dr.Web для файловых серверов UNIX, использует для интеграции с Samba специальный модуль VFS SMB. Совместно со SpIDer Guard для SMB поставляется несколько версий модуля VFS SMB, собранных для различных версий Samba, однако они могут оказаться несовместимы с версией Samba, установленной на вашем файловом сервере, например, если установленный у вас сервер Samba использует опцию CLUSTER_SUPPORT.

В случае несовместимости поставляемых модулей VFS SMB с вашим сервером Samba, в процессе установки продукта на экран будет выдано соответствующее сообщение. В этом случае перед интеграцией необходимо выполнить процедуру сборки модуля VFS SMB для вашего сервера Sambа, включая поддержку опции CLUSTER_SUPPORT, если это требуется.

Процедура сборки модуля VFS SMB из исходных кодов описана в Приложении Ж настоящего Руководства.

Для интеграции Dr.Web для файловых серверов UNIX с файловым сервером Samba необходимо выполнить следующее:

1.В каталоге VFS-модулей сервера Samba (по умолчанию для Linux/usr/lib/samba/vfs) создать символическую ссылку smb_spider.so, указывающую на модуль VFS SMB Dr.Web, соответствующий используемой версии сервера Samba.

Модули VFS SMB, поставляемые Dr.Web, расположены в каталоге с библиотеками продукта:

<opt_dir>/lib/samba – для 32-битной платформы;

<opt_dir>/lib64/samba – для 64-битной платформы.

Файлы модулей имеют имя вида libsmb_spider.so.<ver>, где <ver> – версия сервера Sambа, с которой работает данный модуль.

Например: /opt/drweb.com/lib/samba/libsmb_spider.so.3.6.0 – модуль VFS SMB для сервера Samba версии 3.6.0, работающего на 32-битной платформе в среде ОС Linux.

Об условных обозначениях путей <opt_dir>, <etc_dir> и <var_dir> см. во Введении.

2.В файле конфигурации сервера Samba smb.conf (по умолчанию для Linux – в каталоге /etc/samba) создать секции для разделяемых каталогов. Секция разделяемого каталога должна иметь вид:

[<share_name>]
comment = <any_comment>
path = </каталог/который/нужно/защитить/>
vfs objects = smb_spider
writeable = yes
browseable = yes
guest ok = yes
public = yes

где <share_name> - любое имя разделяемого ресурса, а <any_comment> - произвольная строка-комментарий (не обязательно). Имя объекта, указанное в vfs objects, должно совпадать с именем файла символической ссылки (smb_spider в данном случае).

После этого данный каталог будет находиться под наблюдением монитора SpIDer Guard для SMB. При этом взаимодействие SpIDer Guard для SMB с модулем VFS SMB будет производиться через UNIX-сокет /<samba_chroot_path>/var/run/.com.drweb.smb_spider_vfs. Путь к этому UNIX-сокету по умолчанию задан в настройках SpIDer Guard для SMB, а также модуля VFS SMB.

3.Если требуется изменить путь к сокету, то его необходимо задать не только в настройках SpIDer Guard для SMB (параметр SmbSocketPath), но и в файле конфигурации Samba smb.conf. Для этого в секцию [<share_name>] необходимо добавить строку:

smb_spider:socket = <path_to_socket>

где <path_to_socket> должен быть абсолютным путем к UNIX-сокету, относительно корня, заданного для сервера Samba через chroot.

4.При необходимости, задавая значения параметров ExcludedPath и IncludedPath, определите пути к объектам, находящимся в защищаемых разделяемых каталоге, и которые должны быть исключены из проверки и наоборот, проверяться монитором SpIDer Guard для SMB. Допускается указание путей как к каталогам, так и к конкретным файлам. Если указан каталог, то будет пропускаться или проверяться всё содержимое этого каталога. Обратите внимание, что параметр IncludedPath имеет приоритет над параметром ExcludedPath, т.е. если один и тот же объект (файл или каталог) включен в оба параметра, то он будет проверен.

5.Если требуется задать персональные настройки проверки для данного разделяемого каталога, отличные от настроек по умолчанию (для всех модулей), то необходимо задать тег-идентификатор для модуля VFS SMB, контролирующего этот каталог:

smb_spider:tag = <share_name>

Далее индивидуальные настройки контроля этого разделяемого каталога задаются в настройках SpIDer Guard для SMB в виде отдельной секции [SMBSpider.Share.<share_name>].

Чтобы добавить новую секцию параметров с тегом <share_name> при помощи утилиты управления продуктом Dr.Web для файловых серверов UNIX из командной строки Dr.Web Ctl, достаточно использовать команду drweb-ctl cfset SmbSpider.Share.<share_name>.<параметр> <значение>.

Пример:

# drweb-ctl cfset SmbSpider.Share.BuhFiles.OnAdware Quarantine

Данная команда добавит в файл конфигурации секцию [SMBSpider.Share.BuhFiles]. Эта секция будет содержать все параметры проверки каталога, причем значения всех параметров, кроме параметра OnAdware, указанного в команде, будут совпадать со значениями параметров из общей секции [SMBSpider].

После внесения изменений в настройки следует перезапустить как сервер Samba, так и SpIDer Guard для SMB. Для перезапуска SpIDer Guard для SMB рекомендуется выполнить перезапуск всего программного комплекса Dr.Web для файловых серверов UNIX, выполнив перезапуск демона управления конфигурацией Dr.Web ConfigD.

Для предотвращения возможных конфликтов между SpIDer Guard для SMB и SpIDer Guard при проверке файлов в разделяемых каталогах Samba, рекомендуется дополнительно настроить SpIDer Guard, выполнив одно из следующих действий:

добавить разделяемые каталоги Samba в область исключения (перечислить эти каталоги в параметре ExcludedPath);

добавить процесс Samba (smbd) в список игнорируемых процессов (указать smbd в параметре ExcludedProc).

 

Скрипты поддержки интеграции

Для удобства настройки интеграции Dr.Web для файловых серверов UNIX с файловым сервером Samba в составе продукта поставляются специальные скрипты настройки. Они расположены в каталоге <opt_dir>/share/drweb-smbspider-modules:

Файл скрипта

Назначение

drweb_smbspider_configure.sh

Интерактивный скрипт, вносящий в диалоговом режиме изменения в файл конфигурации сервера Samba smb.conf (подключающий для наблюдения разделяемые каталоги, описанные в файле).

update-links.sh

Скрипт, создающий/обновляющий ссылку на модуль VFS SMB Dr.Web в каталоге сервера Samba

vfs-versions.sh

Вспомогательный скрипт, определяющий требуемую версию модуля VFS SMB Dr.Web, используется скриптом update-links.sh

Скрипт update-links.sh автоматически запускается сразу при установке продукта Dr.Web для файловых серверов UNIX. При необходимости вы можете запускать его в дальнейшем также вручную. Скрипт drweb_smbspider_configure.sh запускается автоматически в случае установки продукта из универсального пакета, его рекомендуется запустить вручную после установки продукта, если продукт был установлен из репозитория, или если вы отказались от его запуска при установке. Он может быть запущен неоднократно, по мере необходимости добавления и удаления каталогов из-под наблюдения. Этот скрипт сохраняет оригинальную (не измененную) копию файла конфигурации сервера Samba smb.conf, добавляя к его имени расширение .drwebsave.