Ключевые слова:virus, sendmail, milter, mail, filter, (найти похожие документы)
From: А. Маркелов <http://www.markelov.net>
Newsgroups: email
Date: Mon, 16 Jan 2004 14:31:37 +0000 (UTC)
Subject: Установка бесплатного антивируса (H+BEDV) для Sendmail
Оригинал: http://www.markelov.net/antivir.html
Устанавливаем бесплатный антивирус для Sendmail
Введение
После установки и настройки почтового сервера (в частности, я буду
писать про Sendmail), сразу возникают несколько вопросов, из которых,
несомненно важным является защита пользователей от вирусов. Первое,
что приходит в голову из ПО для борьбы с вредоносными вложениями в
ящики беспечных юзеров, админу c "dot-ru-менталитетом", это - AVP и
Dr.Web. После нескольких минут, проведенных на сайтах этих двух
уважаемых отечественных разработчиков антивирусного софта, мы
убеждаемся, что не все в мире Linux бесплатно. Конечно, ничто не
мешает продолжить изыскания, и сделать платное программное обеспечение
бесплатным, но раз уж, после установки Linux+Sendmail, у нас получился
лицензионно чистый продукт, попробуем защитить его от вирусов, не
нарушая его чистоту и не вкладывая денег в покупку программного
обеспечения.
Метод решения проблемы при помощи "халявы" обнаруживается в Германии.
На сайте http://www.hbedv.com немецкий разработчик H+BEDV Datentechnik
GMBH предоставляет для скачивания AntiVir Milter for Sendmail. В
"подвале" прайса немцы заявляют, что данный продукт бесплатен для
индивидуального некоммерческого использования, и после регистрации по
адресу http://www.hbedv.com/private/ высылают вам ключ активации продукта -
licence file. С его помощью Вы в течении 12 месяцев сможете
использовать антивирус, ежедневно получая обновления через интернет. Я
не утверждаю, что AntiVir - это лучший из вариантов. Это просто один
из вариантов.
Антивирус достаточно функционален. Среди поддерживаемых функций:
сканирование всех входящих и исходящих сообщений, поддержка 19 типов
архивов (к сожалению rar версии от 3.0 и выше пока не поддерживается),
настраиваемые уведомления по почте администратора и пользователей,
обновления в автоматическом режиме.
Установка
Итак, получив по почте файл лицензии - hbedv.key, скачиваем с сайта
http://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