www.eserv.ru // Docs/Eserv/MailServer/AntiVirus

oldwiki /2003-09-16 13:41/ (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
News
15.05.2012
Eserv504
15.05.2012
ActiveSync
01.04.2012
Eproxy508
25.03.2012
Eserv503
26.02.2012
Eserv502
08.02.2012
UMI.CMS
22.12.2011
Eserv431
20.12.2011
Eproxy507
15.11.2011
Eproxy506
19.09.2011
Eproxy505
08.09.2011
Eserv430
07.09.2011
Lightning
19.07.2011
PoweredBy
16.07.2011
IPv6
08.07.2011
Eproxy5beta1
17.06.2011
IPv6DNS
13.06.2011
IPv6Mail
21.03.2011
Eserv428
22.10.2010
Eserv426
22.10.2010
SSL
22.04.2010
Eserv423
20.04.2010
Eserv4WhatsNew
19.04.2010
EservLDAP
19.04.2010
EservDHCP
19.04.2010
EservRubricator
08.04.2010
EservDNS
08.04.2010
NSСI
08.04.2010
WPAD
27.03.2010
Eserv422
27.03.2010
Eserv4Docs
26.03.2010
Eserv4FAQ
21.03.2010
EservIrc
05.03.2010
Eserv421
05.03.2010
HttpProxy
02.03.2010
EservVideo
02.12.2009
Eserv4Wiki
02.12.2009
Eserv4acWEB
02.12.2009
PopPull
22.11.2009
PigMailPigProxy2/WhatsNew
22.11.2009
PigMail/WhatsNew
23.09.2009
FossilEservHowTo
22.09.2009
SourceCodeManagement
22.09.2009
FossilScm
16.09.2009
SendEmail
08.09.2009
RoundCube
07.05.2009
GitScm
07.05.2009
GitEservHowTo
06.05.2009
SunBird

Антивирусная защита

Поскольку электронная почта — самый распространённый на сегодня способ размножения вирусов, всякий уважающий себя почтовый сервер предлагает средства для анализа и блокировки вредоносных программ. Почтовый сервер Eserv предоставляет две возможности — подключение антивирусной проверки в качестве внешней процедуры через универсальный обработчик tossspool.bat либо проверку почты с помощью интегрированного в Eserv антивирусного ядра.

Подключение внешнего антивируса

Предупреждаю сразу: это решение "для бедных" или на случай каких-либо экзотических ситуаций — например, сугубой необходимости применения антивируса, не поддерживаемого Eserv. Во-первых, его использование приводит к повышенному расходу ресурсов компьютера, что отрицательно сказывается на обработке больших потоков почты. Во-вторых, некоторые версии некоторых антивирусов по этой схеме не заработают вообще просто в силу особенностей своего устройства. Наконец, этот вариант, мягко говоря, не приветствуется антивирусными компаниями. Формально они правы — при оплаченной клиентской лицензии программа нашла серверное применение, каковое ("согласно закону и обычаю", как любят выражаться в гражданских обществах Дикого Запада) оценивается существенно дороже — как минимум, раз в десять. Поэтому, во избежание всех перечисленных неприятностей, рекомендуется загодя приобрести лицензию на использование интегрированного антивируса (который, впрочем, вполне можно использовать и в демонстрационном режиме при условии грамотного учёта возникающих при этом ограничений).
Рассмотрим типовое готовое решение, которое в виде архива antivirus_avp.zip можно загрузить с сервера ftp.eserv.ru. Оно ориентировано на применение антивирусного сканера Лаборатории Касперского, хотя это и не важно — "главная задача наших дней" состоит в том, чтобы понять сам принцип обработки писем с помощью командного файла tossspool.bat. По этой же причине опущено рассмотрение разного рода тонкостей и подводных камней — их Вы найдёте в главе Готовые решения. Естественно, применять необходимо полнофункциональные версии антивирусных сканеров, поскольку в демонстрационном режиме большинство антивирусов имеют жёсткие ограничения в работе — так, например, Dr.Web производства Санкт-Петербургской антивирусной лаборатории Данилова не проверяет почтовые форматы (так что применять его по описываемой схеме при отсутствии лицензии вообще не имеет смысла), архивы и упакованные файлы.
Сначала создаётся необходимая структура каталогов. Помимо обязательного mail\spool\to_check в каталоге установки Eserv создаётся каталог check и в нём подкаталог vir. Далее раскладываются необходимые файлы — это обязательный tossspool.bat в каталоге agents и testvir.bat, который помещается в каталог check. Tossspool.bat имеет следующее содержание:
for %^^^^%f in (mail\spool\to_check\*.*) do call check\testvir.bat %^^^^%f то есть, вся его функция сводится к вызову файла testvir.bat с передачей ему в качестве аргумента имени очередного обнаруженного в проверяемом каталоге файла. Сделано так потому, что большинство антивирусов никаких действий с заражёнными письмами не производят — они только проверяют файл и устанавливают код завершения, на основании которого командный файл может предпринимать различные действия. Dr.Web начиная с версии 4.28 может самостоятельно перемещать заражённые письма и архивы — пример эффективного использования этой его способности приведён в главе Готовые решения. В большинстве же случаев приходится проверять каждый файл отдельно, что приводит к существенному замедлению работы, поскольку запуск антивирусного сканера выполняется столько раз, сколько файлов приходится проверять.
Командный файл testvir.bat имеет следующее содержание:
echo "c:\eserv2\%1" >> testvir.log---"C:\Program Files\Kaspersky Lab\AVP Pro\~Avp32.exe" "c:\eserv2\%1" /S /N /Q---if ERRORLEVEL 2 goto virus---if ERRORLEVEL 3 goto virus---if ERRORLEVEL 4 goto virus---goto endtest---:virus---move %1 CHECK\VIR\---:endtest---move %1 mail\spool\
Здесь предполагается, что Eserv установлен в каталог C:\eserv2, а антивирусный сканер — в каталог C:\Program Files\Kaspersky Lab\AVP Pro (в исходном файле путь несколько другой, очень уж длинный) под именем ~Avp32.exe. Если пути отличаются, их необходимо поправить. Первой строкой в файл протокола testvir.log, который создаётся прямо в каталоге установки Eserv, записывается имя проверяемого файла. Далее файл предъявляется для проверки антивирусному сканеру. По результатам этой проверки файл письма перемещается либо в каталог карантина check\vir, где и будет храниться, пока у администратора не дойдут до него руки, либо для дальнейшей обработки в mail\spool.
Несложно, зная возможности почтового агента smtpsend и формат письма, добавить сюда отправку извещения о поимке вируса администратору. Начиная с версии 2.98 в поставку Eserv также входят шаблоны и конфигурационные файлы для агента erobot, предназначенные для работы с интегрированным антивирусом, их можно приспособить и для рассматриваемой схемы. Например, так:
agents\erobot.exe -c agents\av.cfg -p1 "Name not available" -p2 domain.ru -i "%1"
В качестве параметра ключа -p2 указывается Ваш почтовый домен, ключ -p1 предназначен для передачи имени обнаруженного вируса, которое в данной ситуации действительно недоступно. Стандартный вариант конфигурационного файла av.cfg и набор шаблонов обеспечивают отсылку извещений отправителю и получателю, извещение же администратора придётся подключать самостоятельно.

Проверка интегрированным антивирусом

При большом потоке писем регулярные запуски антивирусного сканера существенно загружают систему — настолько, что почтовый сервер может захлебнуться проходящей почтой. Поэтому начиная с версии 2.98 в Eserv введена возможность проверять почту интегрированным антивирусом, что заметно снижает нагрузку на систему. На сегодняшний день поддерживаются ядра KAV от Лаборатории Касперского, Dr.Web от Санкт-Петербургской антивирусной лаборатории Данилова, Stop! от украинской Proantivirus Lab и Украинский Национальный Антивирус (UNA) от Украинского Антивирусного Центра, причём поддержка двух последних появилась уже в версии 2.99. Подключаемые библиотеки антивирусных ядер располагаются в строго определённом месте — каталоге antivirus, каждому антивирусу отведён свой подкаталог — соответственно, kav, drweb, stop и una. Eserv позволяет без перезапуска выбирать используемый антивирус или вообще отключать проверку.
Параметры антивирусной проверки настраиваются в специальной секции интерфейса, так и называемой — Антивирус. Непосредственно в этой секции присутствует один параметр.

ИспользоватьАнтивирус


Это список-переключатель, на данный момент состоящий из пяти строк. Строки KAV, DrWEB, Stop и UNA задают использование соответствующего антивируса, выбор не переведённой пока на русский язык строки Disabled отключает встроенную антивирусную проверку. Выбрав антивирус, необходимо перейти в соответствующую подсекцию и задать ещё один параметр.

AntivirusDatabasePath

В грядущем переводе на русский язык имя параметра означает путь к вирусным базам. По умолчанию Eserv предполагает, что вирусные базы KAV располагаются в подкаталоге antivirus\kav\data, а вирусные базы Dr.Web — в том же каталоге, что и библиотека, antivirus\drweb. Для антивирусов Stop! и UNA параметр не предусмотрен — подключаемые библиотеки сами найдут все необходимые компоненты антивируса при условии, что он установлен в системе стандартным образом из соответствующего установочного пакета.

Для эффективной защиты вирусные базы следует регулярно обновлять. Это можно делать как вручную, загружая обновления с сайтов разработчиков программ, так и с помощью программ-агентов, которые могут запускаться посредством Планировщика и делать то же самое автоматически. Такие программы имеются сейчас у каждого уважающего себя антивируса. Однако загрузки обновлений на диск недостаточно, необходимо ещё, чтобы Eserv загрузил обновлённые в базы в оперативную память. Для этого существует специальная команда (Форт-слово) AVreload_db, которую проще всего вызывать с помощью того же Планировщика.
В работе интегрированного антивируса участвует ещё один подкаталог каталога mailinfected. В этот каталог Тоссер перемещает все письма, в которых будет обнаружен вирус или хотя бы подозрение на вирус. При этом и предполагаемому отправителю, и получателю такого письма будет отправлено извещение — за это отвечают специальный конфигурационный файл для почтового агента erobot и сопутствующие шаблоны писем-извещений — av.cfg, sent_virus.pat и recv_virus.pat, все они располагаются в каталоге agents. Правда, работает такая схема только при покупке специальной лицензии на антивирус для почтового сервера Eserv. Если такой лицензии нет, проверка работает в демонстрационном режиме — при этом не проверяются вложенные в письма архивы и упакованные исполняемые файлы, а заражённые письма не перемещаются в подкаталог mail\infected, а доставляются получателю в виде вложения в письмо-извещение. При этом используется другой конфигурационный файл erobot и другие шаблоны писем — av_demo.cfg, sent_vurus_demo.pat и recv_virus_demo.pat.
В соответствии с общепринятой практикой лицензия на антивирус приобретается на ограниченный срок, обычно на год. За две недели до окончании лицензии Eserv начинает напоминать администратору о необходимости продления лицензии — для этого он отправляет специальное письмо по адресу postmaster@local. Содержимое письма определяется шаблоном av_expire.pat, также находящимся в каталоге agents. Письмо отсылается при смене даты и при каждом запуске Eserv. Эта возможность появилась в Eserv начиная с версии 2.99, шаблон письма включён в соответствующий установочный пакет.
Следует учесть, что Eserv сборки 3315, входящий в поставку версии 2.98, поддерживает работу с ядром антивируса Dr.Web версии 4.27c — библиотека именно этой версии включена в установочный пакет. Для работы с более свежими версиями следует установить Eserv с номером сборки 3320 или выше.

Вернуться к описанию почтового сервера
Вернуться к содержанию
Работает на Eserv/7.0.beta1/Linux/arm64 (Dec 25 2023)