ASPLinux Community
Сообщество пользователей Linux
FAQHCLФорум / ОбщийWikiLinuxStartОткрытки
Google

Kaspersky® Anti-Virus for mail servers 4.5 installation mini-HOWTO

Автор: Andrey Bondarenko
Версия: 2.0
Дата: 1 сентября 2003 г.
Последние изменения: 16 декабря 2003 г.

Содержание

1 Введение

Данный документ представляет собой изложение процесса интеграции антивируса Касперского для ОС Linux с описанием часто встречающихся ошибок. Его нельзя рассматривать как замену инструкции но, по нашеу мнению, он может быть дополнением к ней. Здесь будет рассмотрен самый простой случай интеграции, практика показывает, что он же самый распространенный. Этот материал написан для системных администраторов. Подразумевается, что вы знакомы с ОС Linux и Sendmail, а так же с инструкцией к продукту.

1.1 Что нам понадобится?

  1. Нам понадобится компьютер архитектуры x86, достаточно мощный для того, чтобы быть почтовым сервером. Здесь все очень индивидуально и зависит от Вашей нагрузки.
  2. На компьютере должна быть установлена ОС Linux: ASPLinux 7.3—9, RedHat 7.3—9, SuSe 8.x или Debian 3.
  3. У вас должна быть настроена сеть, ваш Sendmail должен быть настроен и корректно обрабатывать почту.
  4. Далее нам понадобится дистрибутив антивируса. Для того, чтобы получить последнюю версию продукта, надо написать письмо на адрес support@kaspersky.com и получить ссылку на продукт.
Схема работы KAV
Рис. 1. Схема работы KAV.

1.2 Ключ

Ключ — это вторая по важности компонента после дистрибутива. Собственно, именно ключ покупается в магазине, все остальное можно скачать бесплатно. Без ключа антивирус сможет проверять только обычные файлы и он не сможет пользоваться механизмами анализа почтовых баз и архивов, не сможет лечить файлы. Очевидно, что как почтовый фильтр он работать не сможет. Если вы еще не решились заплатить деньги, Вам может быть предоставлен trial-key, который будет работать 2 недели или месяц, а потом заблокируется. Нельзя два раза пользоваться trial-key.

2 Установка

Итак, все готово к установке. Вам нужно быть root'ом. Мы будем устанавливать антивирус из пакета rpm, так как это наиболее быстрый и удобный способ установки. Итак:

rpm -ivh kav4mailservers-linux-4.5.0-0.i386.rpm

Теперь нужно скачать и установить антивирусные базы. Для этого нужен настроенный wget, если это требование выполняется, запустите /opt/kav/4.5/bin/kavupdater. После того, как базы скачены, надо запустить антивирусный сервер:

service kavd start

Далее, нужно выполнить скрипт /opt/kav/contrib/config.pl, который выполнит начальную конфигурацию продукта. Он спросит, какой MTA мы используем (нужно ответить sendmail), где лежат конфигурационные файлы sendmail, сам sendmail и файлы ключей. Далее скрипт создает файл sendmail.cf.listen, который отличается от вашего наличием всего одного правила — правила 98, по которому все входящие сообщения будут переданы kavkeeper по протоколу LMTP:

SparseLocal=98
R$* $#smtpscanner $@ $1 $: $1

И собственно запуск smtpscanner:

Msmtpscan, P=/opt/kav/bin/smtpscanner, F=PCXmnz9, S=EnvFromSMTP, R=EnvToSMTP, E=\r\n, L=2040,
T=SMTP,
A=smtpscanner

В общем на этом конфигурирование sendmail закончено и можно его запускать.

sendmail -q1m -bd -C/etc/sendmail.cf.listen
sendmail -q1m -C/etc/sendmail.cf

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

Все остальные поддерживаемые MTA работают по точно такой же схеме. В случае с Postfix в main.cf добавляется директива

content_filter = lmtp:localhost:10025

по которой вся почте передается на 10025 порт по LMTP. Для ее обработки запускается smtpscanner с параметрами, указанными в master.cf:

localhost:10025 inet n n n 10 spawn
user=filter argv=/opt/kav/bin/smtpscanner
localhost:10026 inet n n 10 smtpd
-o content_filter= -o myhostname=localhost.ru

Как можно заметить, smtoscanner запускается из-под пользователя filter, так что инсталлятор добавляет его в систему.

Для qmail просто подменяется qmail-queue, который обрабатывает сообщение и передает ее оригинальному qmail-queue, переименованному в qmail-que для окончательной доставки.

В exim создается config.listen, который отличается от оригинального правилами RANSPORT CONFIGURATION:

kav_lmtp_transport:
driver = lmtp
command = /opt/kav/bin/smtpscanner

И ROUTERS CONFIGURATION

localuser:
driver=accept
transport=kav_lmtp_transport

lookuphost:
driver=dnslookup
transport=kav_lmtp_transport

Теперь антивирус готов к работе, но осталось настроить лицензирование и автоматическое обновление антивирусных баз.

3 Лицензирование

Существует 2 вида лицензирования — по трафику и по количеству защищаемых адресов e-mail. Ваш тип лицензии нужно прописать в конфигурационном файле /etc/kav/4.5/kav4mailservers.conf поле

LicenseType=Users

или 

LicenseType=Traffic

3.1 Лицензирование по e-mail адресам

В Web Tuner'e есть вкладка «users». Туда надо включать полные e-mail ваших пользователей. Точнее rcpt to: и from:. kavkeeper сначала смотрит from: и ищет его в базе. Если находит, то считает письмо лицензированным. Если не находит, он смотрит список rcpt to:. Если хотя бы один e-mail есть в базе, то письмо считается лицензированным. Нелицензированные письма только проверяются, но не лечатся и на каждое зараженное сообщение будет выдаваться оповещение о нарушении лицензии. Физически список хранится в виде базы /var/db/kav/4.5/kav4mailservers/keys/users. Это простой текстовый файл, в него нужно занести все e-mail, которые вы хотите защищать, разделяя их переводом строки. Если какие-то e-mail-псевдонимы, то их следует записывать через пробел от основного. Если у вас n лицензий, то в этой базе будут учитываться последние 3*n занесенных e-mail.

3.2 Лицензирование по трафику

При лицензировании по трафику число лицензий равно количеству мегабайт, прошедших по SMTP минус количество мегабайт, пришедшихся на зараженные сообщения. При этом Вам не нужно заполнять /var/db/kav/4.5/kav4mailservers/keys/users, а нужно изменить конфигурационный файл /etc/kav/4.5/kav4mailservers.conf: в поле LicenseType нужно занести Traffic.

4 Настройка автоматического обновления

Для того, что бы Ваш антивирус был всегда готов поймать свежий вирус, необходимо обновлять антивирусные базы не реже 1 раза в день. Для этого проще всего использовать cron. Откройте /etc/crontab и внесите в него команду

10 01 * * * root /opt/kav/bin/kavupdater

В файле /etc/kav/4.5/kav4mailservers.conf установите

ReloadApplication=yes

5 Приложения

5.1 Понятие групп

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

Принадлежность почтового сообщения конкретной группе определяется наличием в этой группе как адреса отправителя, так и адреса получателя. smtpscanner список адресов группы и ищет в нем тот и другой адрес. Как только smtpscanner обнаруживает в исследуемой группе комбинацию адресов «отправитель-получатель», к сообщению применяется правило обработки, определенные параметрами этой группы.

Проверка наличия строки с адресом сообщения в группе происходит в соответствии с POSIX regex (подробнее о стандарте см. man 7 regex).

Чтобы smtpscanner применял специальные настройки к сообщениям от некоторых отправителей к некоторым получателям, Вам следует объединить эти адреса в одну группу и расположить ее в конфигурационном файле первой в списке групп адресов (например, когда важно применить какую-либо настройку именно для сообщений с адресом отправителя from@localhost.ru и адресом получателя to@localhost2.ru).

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

Итак, существует следующая последовательность обработки smtpscanner почтового сообщения: smtpscanner проверяет наличие адресов сообщения в группах, введенных пользователем. Если адреса сообщения входят в какую-либо группу адресов пользователей, то к сообщению будут применены правила обработки, определенные параметрами данной группы. Причем если какие-либо параметры в описании группы не определены, то они берутся программой из группы default.

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

Если адреса не входят ни в одну из групп адресов, введенных пользователем, то к сообщению будут применены действия программы, описанные в группе default.

Графическое представление последовательности действий smtpscanner с полученным почтовым сообщением изображено на рис. 2.

Обработка почтового сообщения программой Keeper
Рис. 2. Обработка почтового сообщения программой Keeper.

Устанавливая значения параметров, вы можете задавать различные способы обработки сообщений от разных групп адресов. Каждая группа имеет свое название, и определяется списком входящих и/или исходящих адресов. Так, например, вы можете установить такой режим работы программы, при котором будут удаляться зараженные сообщения, адресованные пользователю user@domain.ru, и пропускаться зараженные сообщения, адресованные пользователю admin@domain.ru.

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

Программа может обрабатывать сообщения этих следующими способами:

  1. оповещать адресата о зараженном сообщении;
  2. блокировать доставку адресатам зараженных сообщений;
  3. доставлять адресатам вылеченные сообщения;
  4. доставлять адресатам зараженные сообщения.

Под адресатами понимаются отправитель, получатель и администратор.

5.2 Контентная фильтрация

Начиная с версии 4 введен важный для понимания механизм — контентная фильтрация. Этот механизм позволяет определить правила обработки сообщения с вложениями. Например для того, чтобы пользователи определенной группы не могли получать по почте вложения типа *.exe. Для того, чтобы задать такое правило, войдите во вкладку filter модуля WebMin'a. Здесь вы можете задать маску вложенного файла или маску MIME-типа этого файла или задать ограничения по размеру. Рядом вы можете задать типы файлов, которые вообще не будут проверяться. Заметим, что если в маску вложения занести что-то вроде *.*, то в это правило попадут все прикрепленные файлы, но если вы сделаете то же и для MIME, то под это правило попадут абсолютно все сообщения, даже пустые.