Устанавливаем бесплатный антивирус для Sendmail

В статье обсуждаются проблемы совместного применения Sendmail и бесплатного для некоммерческого использования антивируса AntiVir Milter

[Маркелов Андрей (amarkelov@yandex.ru)]

Устанавливаем бесплатный антивирус для Sendmail

Введение

После установки и настройки почтового сервера (в частности, я буду писать про Sendmail), сразу возникают несколько вопросов, из которых, несомненно важным является защита пользователей от вирусов. Первое, что приходит в голову из ПО для борьбы с вредоносными вложениями в ящики беспечных юзеров, админу c "dot-ru-менталитетом", это - AVP и Dr.Web. После нескольких минут, проведенных на сайтах этих двух уважаемых отечественных разработчиков антивирусного софта, мы убеждаемся, что не все в мире Linux бесплатно. Конечно, ничто не мешает продолжить изыскания, и сделать платное программное обеспечение бесплатным, но раз уж, после установки Linux+Sendmail, у нас получился лицензионно чистый продукт, попробуем защитить его от вирусов, не нарушая его чистоту и не вкладывая денег в покупку программного обеспечения.

Метод решения проблемы при помощи "халявы" обнаруживается в Германии. На сайте www.hbedv.com немецкий разработчик H+BEDV Datentechnik GMBH предоставляет для скачивания AntiVir Milter for Sendmail. В "подвале" прайса немцы заявляют, что данный продукт бесплатен для индивидуального некоммерческого использования, и после регистрации по адресу www.hbedv.com/private высылают вам ключ активации продукта - licence file. С его помощью Вы в течении 12 месяцев сможете использовать антивирус, ежедневно получая обновления через интернет. Я не утверждаю, что AntiVir - это лучший из вариантов. Это просто один из вариантов.

Антивирус достаточно функционален. Среди поддерживаемых функций: сканирование всех входящих и исходящих сообщений, поддержка 19 типов архивов (к сожалению rar версии от 3.0 и выше пока не поддерживается), настраиваемые уведомления по почте администратора и пользователей, обновления в автоматическом режиме.

Установка

Итак, получив по почте файл лицензии - hbedv.key, скачиваем с сайта www.hbedv.com/download/download.htm архив avlxmlt.tgz, объемом около 2,5 М.

Прежде чем продолжать, убедитесь, что у Вас установлен sendmail версии не ниже 8.11 с поддержкой интерфейса libmilter. Это требование выполняется по крайней мере на всех последних дистрибутивах Red Hat Linux, начиная с 7.3. Libmilter - библиотека, позволяющая вводить промежуточную обработку вашей корреспонденции. К примеру, на моем "боевом" сервере с ее помощью организованно копирование всей входящей и исходящей почты.

Дальнейшие действия в целом совпадают с порядком, описанном в документации к AntiVir, хотя кое-где приходилось вносить коррективы.

Создаем командой mkdir следующие директории:

/usr/lib/AntiVir
/var/spool/avmilter
/var/spool/avmilter/incoming
/var/spool/avmilter/outgoing
/var/spool/avmilter/rejected

Делаем командой chown их принадлежащими пользователю и группе uucp. Командой сhmod устанавливаем атрибуты созданных нами в /var каталогов в "700" (делаем их доступными только выбранному пользователю).

Разворачиваем дистрибутив avlxmlt.tgz, и копируем файлы по каталогам:

vdf/antivir.vdf в /usr/lib/AntiVir
bin/antivir в /usr/lib/AntiVir
etc/avmilter.conf и etc/antivir.conf в /etc
bin/avmilter в /usr/sbin
hbedv.key в /usr/lib/AntiVir под именем avmgate.key

Повторяем манипуляции chown над скопированными файлами. На avmgate.key устанавливаем атрибуты "440".

Теперь правим sendmail.mc, добавив в него строки:

Define(`_FFR_MILTER', `true') - для sendmail 8.11.x
INPUT_MAIL_FILTER(`avmilter',`S=inet:3333@localhost,F=T,T=S:10m;R:10m;E:5m')

Либо непосредственно sendmail.cf:

Xavmilter, S=inet:3333@localhost, F=R, T=S:10m;R:10m;E:10m
O InputMailFilters=avmilter

Само собой, если Вы правили не sendmail.cf, а sendmail.mc, его необходимо откомпилировать при помощи m4.

Пробуем запустить avmilter командой:

/usr/sbin/avmilter -p inet:3333@localhost

Убедитесь, что старт прошел без ошибок. Свои сообщения avmilter пишет в messages и в maillog. Если все нормально, то рестартуйте sendmail.

Настройка

Если у вас стоит Red Hat Linux, то Вы можете скопировать из дистрибутива файл /init/rc.avmilter.redhat в /etc/rc.d/init.d/avmilter и создать симлинки для запуска и останова на 2,3 и 5 уровнях:

ln -sf ../avmilter rc2.d/S20avmilter
ln -sf ../avmilter rc2.d/K20avmilter
ln -sf ../avmilter rc3.d/S20avmilter
ln -sf ../avmilter rc3.d/K20avmilter
ln -sf ../avmilter rc5.d/S20avmilter
ln -sf ../avmilter rc5.d/K20avmilter

Это позволит Вам управлять стандартным образом запуском и остановом сервиса. В каталоге /init дистрибутива имеются скрипты и для других дистрибутивов.

Попробуйте обновить антивирус командой:

/usr/lib/AntiVir/antivir -update

Если будут проблемы со связью, выставьте в /etc/antivir.conf правильные настройки Вашего прокси. В случае успешного обновления, антивирус заменит нужные файлы и рестартует. Вы можете добавить следующую строчку в crontab для ежедневной проверки и установки обновлений:

25 0 * * * root /usr/lib/AntiVir/antivir --update -q

Далее - можно отредактировать avmilter.conf, а можно и оставить все по умолчанию. Файл снабжен подробными комментариями, так что разобраться не составит труда. Можно запретить или разрешить какие-либо действия, например пересылку зашифрованных архивов или добавить в проверяемые письма сообщение подобное: "X-AntiVirus: checked by AntiVir Milter 1.0.5; AVE 6.23.0.1; VDF 6.23.0.9", которое будет сообщать всем корреспондентам, о том, что сисадмин не дремлит, и почта под контролем :)

Кроме того, можно изменить шаблоны оповещений о вирусах, создав каталог /usr/lib/AntiVir/templates/, и скопировав туда шаблоны из дистрибутива. Можно, например, перевести сообщения на русский язык, убрать или добавить какую-либо информацию о подозрительном письме (отправитель, получатель, название вируса:)

Вся конкретика доступна в документации, идущей с дистрибутивом в виде PDF-файла. И описана достаточно простым и понятным языком.

А. Маркелов.
24.12.2003

[ опубликовано 29/12/2003 ]

Маркелов Андрей (amarkelov@yandex.ru) - Устанавливаем бесплатный антивирус для Sendmail   Версия для печати