Victor Ustugov wrote:
> реализован новый механизм работы с антивирусами. для использования надо:
>> 1. пересобрать exim 4.41 с exiscan-acl 4.41-25 без патча
> patch-src::malware.c
>> 2. отключить все ранее используемые способы взаимодействия с антивирусами:
> define(`confUSE_CLAMAV', `NO')dnl
> define(`confUSE_DRWEB', `NO')dnl
> define(`confUSE_ANTIVIRUSES', `NO')dnl
>> 3. указать в site/conf перечень антивирусов и их настроек. вот пример:
>> define(`confANTIVIRUS0_NAME', `ClamAV')
> define(`confANTIVIRUS0_ACT', `REJECT')
> define(`confANTIVIRUS0_SCAN', `clamd:/var/run/clamav/clamd')
> define(`confANTIVIRUS0_OPT', `defer_ok')
>> define(`confANTIVIRUS1_NAME', `DrWeb')
> define(`confANTIVIRUS1_ACT', `REJECT')
> define(`confANTIVIRUS1_SCAN', `drweb:/usr/local/drweb/run/drwebd.sock')
> define(`confANTIVIRUS1_OPT', `')
>> переменные имеют в своих названиях номера от нуля и выше.
> переменные заполняются последовательно, от группы с номером 0, потом
> номер 1, потом номер 2, и т. д.
> каждая группа переменных состоит из 4-х переменных:
> 1. NAME - название антивируса (будет фигурировать в логах и в ответе
> smtp клиенту)
> 2. ACT - действие при нахождении вируса (REJECT или WARN)
> 3. SCAN - параметры сканера (раньше это значение надо было указывать в
> переменной confAV_SCANNER), примеры:
> clamd:/var/run/clamav/clamd
> drweb:/usr/local/drweb/run/drwebd.sock
> 4. OPT - дополнительные параметры сканирования (пока поддерживается
> толкьо defer_ok, означающий, что нет необходимости прерывать обработку
> письма при невозможности проверить его данным антивирусным демоном)
вчера я возился с патчем для exiscan для передачи доп. параметров для
drwebd. для тестов надо было отключить clamd, который у меня был первым
по счету (с номером 0), а drwebd, который был вторым по счету (с номером
1) сделать первым. в общем, пришлось все строки для drwebd скопировать,
все 8 старых строк переменных закомментарить, потом в новых 4 строках
заменить номера переменных для drwebd с "1" на "0". в общем, хлопотно
все это
посему, сегодня создана конструкция ANTIVIRUS для указания параметров
работы с антивирусами. таким образом, 8 строк
define(`confANTIVIRUS0_NAME', `ClamAV')
define(`confANTIVIRUS0_ACT', `REJECT')
define(`confANTIVIRUS0_SCAN', `clamd:/var/run/clamav/clamd')
define(`confANTIVIRUS0_OPT', `defer_ok')
define(`confANTIVIRUS1_NAME', `DrWeb')
define(`confANTIVIRUS1_ACT', `REJECT')
define(`confANTIVIRUS1_SCAN', `drweb:/usr/local/drweb/run/drwebd.sock')
define(`confANTIVIRUS1_OPT', `')
заменяются на 2 строки
ANTIVIRUS(`ClamAV', `REJECT', `clamd:/var/run/clamav/clamd', `defer_ok')
ANTIVIRUS(`DrWeb', `REJECT', `drweb:/usr/local/drweb/run/drwebd.sock', `')
теперь их легче закомментировать/раскомментировать, легче менять порядок
антивирусов для проверки писем
p. s. смешивать описнаие антивирусов по четыре переменных и
конструкциями ANTIVIRUS нельзя
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694 CRV2-RIPE, CRV-UANIC