FreeBSD: Интеграция Kaspersky Anti-Virus for Unix File Servers и Amavisd-New

Kaspersky Anti-Virus Обычно для антивирусной защиты почтовых систем средних офисов на базе Postfix используется антивирус ClamAV, привлекающий людей своей бесплатностью, но не «знающий» о многих вирусах. Как же повысить надежность защиты? Купить специальный антивирус для почтовых систем или обойтись более дешевым антивирусом для рабочих станций / файловых серверов? Ответ на этот вопрос зависит от бюджета и предполагаемой нагрузки. Например, для обслуживания нескольких десятков пользователей вполне подойдет второй вариант.

Почему Kaspersky Anti-Virus for Unix File Servers?

Во-первых, почему Антивирус Касперского? Потому, что в своей ценовой категории продукты Лаборатории Касперского являются одним из общепризнанных лидеров по количеству обнаруживаемых вирусов. Во-вторых, почему для файловых серверов? Потому, что под рукой оказалась запасная лицензия Kaspersky Business Space Security, позволяющая использовать продукты для защиты рабочих станций и файловых серверов. В связи с тем, что первая группа продуктов не имеет в своем составе антивирус для FreeBSD, я решил воспользоваться соответствующим представителем второй группы.

Исходные данные

Имеется сервер с FreeBSD, на котором кроме всего прочего развернута почтовая система с такой же подсистемой защиты от вирусов, как у Почтовой системы среднего офиса на базе Postfix. Для поиска вирусов будет использоваться антивирусный сканер kav4fs-kavscanner, для обновления антивирусных баз — утилита kav4fs-keepup2date, а для управления лицензионными ключами — утилита kav4fs-licensemanager. Дистрибутивный пакет Kaspersky Anti-Virus for Unix File Servers для FreeBSD 6.x (разработчики не торопятся выкладывать пакеты для последних версий FreeBSD) будет загружен с официального сайта. Библиотеки, необходимые для корректной работы приложений FreeBSD 6.x, будут устанавливаться из портов, поэтому я рекомендую Вам обновить их (я использовал FreeBSD 8.0 и последние на конец июня 2010 года версии портов для нее).

Обеспечение двоичной совместимости с FreeBSD 6.x

Если Вы используете стандартное ядро GENERIC, можно перейти к установке библиотек, которые нужны для корректной работы приложений FreeBSD 6.x, в противном случае придется пересобрать ядро, добавив в файл его конфигурации две строки (учтите, что без второй строки ядро не соберется):

options COMPAT_FREEBSD6
options COMPAT_FREEBSD7

Библиотеки, необходимые для корректной работы приложений FreeBSD 6.x, следует установить из порта misc/compat6x:

cd /usr/ports/misc/compat6x
make install clean

Установка Kaspersky Anti-Virus for Unix File Servers

Последней версией Kaspersky Anti-Virus for Unix File Servers на момент подготовки статьи была версия 5.5.27 (имя пакета — kav4fs-5.5.27.tgz). Установка антивируса проходит в интерактивном режиме (ответы на вопросы можно изменить позже), для ее запуска нужно выполнить команду:

pkg_add -f kav4fs-5.5.27.tgz

Программа установки предложит Вам:

  • задать имя папки, в которой находится лицензионный ключ (файл с расширением .key);
  • задать настройки прокси-сервера (если Вы не используете прокси-сервер, нажмите <Enter>);
  • загрузить последние версии антивирусных баз (для того, чтобы начать загрузку, нажмите <Enter>);
  • задать имя папки, содержащей файл конфигурации WebMin (если Вы не используете WebMin, нажмите <Enter>);
  • собрать kavmonitor module (нам не потребуется kavmonitor module, поэтому можно нажать <N>, а затем <Enter>).

После завершения установки можно протестировать необходимые компоненты командами kav4fs-keepup2date и kav4fs-kavscanner. В результате будут загружены последние версии антивирусных баз и проверены все файлы, находящиеся в текущей папке. При возникновении каких-либо проблем внимательно проанализируйте содержимое логов в папке /var/log/kaspersky/kav4fs. Детальность логов keepup2date.log и kavscanner.log определяется параметрами ReportLevel в секциях [updater.report] и [scanner.report] файла /usr/local/etc/kaspersky/kav4fs.conf.

Автоматическое обновление антивирусных баз

Для обеспечения ежечасного автоматического обновления антивирусных баз следует добавить в crontab пользователя root команду запуска утилиты kav4fs-keepup2date (ключ -k блокирует отправку уведомлений об обновлении антивирусных баз, предназначенных для kav4fs-kavmonitor):

0 */1 * * * /usr/local/bin/kav4fs-keepup2date -k

Для сохранения вменяемого размера лога keepup2date.log можно выполнять его ротацию с помощью newsyslog(8). Например, для ежесуточного усечения лога и сохранения семи предыдущих копий лога, сжатых архиватором bzip2(1), необходимо добавить в файл /etc/newsyslog.conf строку:

/var/log/kaspersky/kav4fs/keepup2date.log 640 7 * @T00 J

Настройка антивирусного сканера kav4fs-kavscanner

В рассматриваемом случае настройка антивирусного сканера kav4fs-kavscanner состоит из отключения технологии iChecker (очень заметно ускоряет проверку файловых систем, но «не работает» при проверке почтовых сообщений) и включения extended-набора антивирусных баз (дополняет список обнаруживаемых вирусов рекламными программами, backdoor-ами и прочей гадостью). Для внесения таких изменений в конфигурацию антивируса нужно подкорректировать значения соответствующих параметров в секции [scanner.options] файла /usr/local/etc/kaspersky/kav4fs.conf:

[scanner.options]
...
Ichecker=no
UseAVbasesSet=extended

По умолчанию антивирусный сканер kav4fs-kavscanner не может быть запущен пользователем vscan, от имени которого работает Amavisd-New. Для устранения этой проблемы следует изменить владельца файла конфигурации, а также папок, содержащих лицензионные данные и логи, на vscan:

chown -R vscan /usr/local/etc/kaspersky/kav4fs.conf /var/db/kaspersky/kav4fs/licenses /var/log/kaspersky/kav4fs 

Управление размером лога kavscanner.log может быть организовано уже рассмотренным способом, только в этот раз владельцем очищенного лога должен быть пользователь vscan. Для обеспечения описанных выше параметров ротации придется добавить в файл /etc/newsyslog.conf строку:

/var/log/kaspersky/kav4fs/kavscanner.log vscan: 640 7 * @T00 J

Подключение «нового» антивируса к Amavisd-New

Для того, чтобы Amavisd-New проверял почтовые сообщения на наличие вирусов с помощью антивирусного сканера kav4fs-kavscanner, необходимо, во-первых, закомментировать определения ставших лишними антивирусов в списках @av_scanners и @av_scanners_backup, находящихся в файле /usr/local/etc/amavisd.conf, а, во-вторых, добавить определение «нового» антивируса в список @av_scanners_backup:

@av_scanners_backup = (
  ### Kaspersky Anti-Virus for Unix File Servers ###
  [ 'kav4fs', 'kav4fs-kavscanner',
    ' {}/*', [0,10,15], [20,21,25],
    qr/(?:INFECTED|WARNING|SUSPICION|SUSPICIOUS) (.*)/m ],
);

Представленное определение содержит: имя, под которым антивирус будет отображаться в логе; имя исполняемого файла антивируса, ключи запуска антивируса (в рассматриваемом случае не требуются дополнительные ключи запуска, подстрока {} определяет папку, содержащую проверяемые объекты); список кодов возврата, свидетельствующих об отсутствии вирусов (0 — вирусы не найдены, 10 — обнаружены архивы, защищенные паролем, 15 — обнаружены поврежденные файлы), список кодов возврата, сигнализирующих о наличии известных вирусов или подозрении на присутствие неизвестных вирусов (20 — обнаружены подозрительные файлы, 21 — обнаружены файлы, содержимое которых похоже на код известных вирусов, 25 — обнаружены зараженные файлы), регулярное выражение, согласно которому анализируются сообщения, отображаемые антивирусом.

Для изменения стандартного заголовка, которым снабжаются обработанные сообщения, с X-Virus-Scanned: Amavisd-New at company.com на X-Virus-Scanned: Kaspersky Anti-Virus at mail.company.com, следует добавить в файл /usr/local/etc/amavisd.conf строку:

$X_HEADER_LINE = "Kaspersky Anti-Virus at mail.$mydomain";

Теперь можно перезапустить Amavisd-New командой amavisd reload и убедиться в работоспособности «нового» антивируса. Простой, но достаточно эффективный способ тестирования состоит в отправке сообщения, зараженного вирусом, в роли которого следует использовать один из вариантов EICAR-Test-File — специального файла, предназначенного для тестирования антивирусного программного обеспечения. Если Вы были внимательны, отправка зараженного сообщения приведет к его уничтожению с сохранением копии в карантинной папке Amavisd-New, отправке уведомления администратору и появлению подробного описания проблемы в логах /var/log/maillog и /var/log/kaspersky/kav4fs/kavscanner.log.

Добавление лицензионных ключей

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

kav4fs-licensemanager -a<Имя ключевого файла>
kav4fs-licensemanager -k<Имя ключевого файла>

Для просмотра информации обо всех установленных лицензионных ключах подойдет команда:

kav4fs-licensemanager -s

Заключение

Решение проблемы антивирусной защиты почтовой системы, описанное в этой статье, очень далеко от идеалов с точки зрения производительности, но вполне применимо на почтовых серверах средних офисов, особенно с учетом отличного соотношения цены и качества. Благодаря переходу на Kaspersky Anti-Virus for Unix File Servers, я смог «доверить» функцию антивирусной защиты почтовых сообщений серверу и отключить компонент Почтовый антивирус в групповой политике Kaspersky Anti-Virus for Windows Workstations, что, в свою очередь, заметно увеличило скорость работы почтовых клиентов пользователей.

Внимание!Обязательно учтите, что Kaspersky Anti-Virus for Unix File Server 4.x не поддерживает планировщик ULE, используемый в современных версиях FreeBSD по умолчанию, поэтому приведенные в статье рекомендации подойдут только для старых версий ОС с планировщиком 4BSD.

Понравилась статья?

Подпишитесь на RSS или почтовую рассылку;

Присоединяйтесь в Twitter, Facebook, Google+, VK;

Поделитесь ссылкой в социальной сети или блоге:

5 комментариев к “FreeBSD: Интеграция Kaspersky Anti-Virus for Unix File Servers и Amavisd-New

  1. После обновления FreeBSD до версии 8.1 Kaspersky Anti-Virus for Unix File Servers перестал работать. Для устранения неисправности пришлось пересобрать ядро с опцией options COMPAT_FREEBSD32.

  2. Жаль Каспер платный, я б его на роутер поставил в подмогу NOD-ам на десктопах. А ClamAV как-то руки не доходят поставить…

  3. Я бы иначе поставил вопрос: почему антивирус и зачем использовать системы, нуждающиеся в антивирусах?

Обсуждение закрыто.