[exim-conf] drwebd support in exiscan

Victor Ustugov victor на corvax.kiev.ua
Ср Авг 18 11:44:31 EEST 2004


Pavel Prikhodko wrote:

> VU> если планируется прикрутить к exim'у второй антивирус, то надо 
> VU> пересобрать exim с патчем:
> VU> http://bsd.falbi.kiev.ua/exim-patches/exiscan-acl-4.32-17-malware/patch-src::malware.c
> 
> VU> в противном случае второй антивирус работать не будет.
> VU> порядок подключения антивирусов необходимо выбирать исходя из факта, что
> VU> при невозможности работы с _непоследним_ анитвирусным демоном (при 
> VU> defer'е) дальнейшая обработка сообщения будет продолжена, а при 
> VU> невозможности работы с _последним_ анитвирусным демоном smtp клиент 
> VU> получит defer.
> 
> Боюсь что тут проблема несколько больше
> 
> # grep clamav ../site/conf
> define(`confAV_SCANNER', `drweb:/usr/local/drweb/run/drwebd.sock : clamd:/var/run/clamav/clamd')dnl
> 
> # ( echo "helo relay.ferko.com.ua" ; echo "mail from:<>" ; echo "rcpt to:<pavel на olimpex.od.ua>" ; echo "data" ; cat Win32.HLLM.MyDoom.54464_1 ; echo "." ; echo "quit" ) | nc -i 1 relay 25
> 220 relay.ferko.com.ua ESMTP daemon
> 250 relay.ferko.com.ua Hello relay.ferko.com.ua [212.42.83.98]
> 250 OK
> 250 Accepted
> 354 Enter message, ending with "." on a line by itself
> 250 OK id=1BxLCW-000J36-UL
> 221 relay.ferko.com.ua closing connection
> 
> # grep 1BxLCW-000J36-UL /usr/local/drweb/log/drwebd.log
> [73390] /var/spool/exim/scan/1BxLCW-000J36-UL/1BxLCW-000J36-UL.eml - archive MAIL
> [73390] >/var/spool/exim/scan/1BxLCW-000J36-UL/1BxLCW-000J36-UL.eml/text.zip - Ok
> [73390] /var/spool/exim/scan/1BxLCW-000J36-UL/1BxLCW-000J36-UL.eml - Ok
> 
> В логе clamd - пусто
> и письмо проходит  :(

1. возможно, ты не пересобирал exim с патчем patch-src::malware.c?
2. также нужно кроме установки confAV_SCANNER устанавливать в YES 
переменную confUSE_ANTIVIRUSES. это описано в m4/README:

~~~~~~~~~~~~~~~~~~~~~~~~
использование антивируса DrWEB с отверганием всех вирусов (550):

define(`confUSE_DRWEB',                 `REJECT')dnl
define(`confAV_SCANNER', 
`drweb:/var/drweb/run/drwebd.socket')dnl

использование антивируса ClamAV с сохранением зараженных писем в карантине:

define(`confUSE_CLAMAV',                `WARN')dnl
define(`confAV_SCANNER', 
`clamd:/var/run/clamav/clamd.sock')dnl
define(`confQUARANTINE_DIR',            `/usr/local/viruses')dnl

использование нескольких антивирусов с сохранением зараженных писем в 
карантине:

define(`confUSE_ANTIVIRUSES',           `WARN')dnl
define(`confAV_SCANNER', 
`clamd:/var/run/clamav/clamd.sock : drweb:/var/drweb/run/drwebd.socket')dnl
define(`confQUARANTINE_DIR',            `/usr/local/viruses')dnl
~~~~~~~~~~~~~~~~~~~~~~~~

при использовании confUSE_ANTIVIRUSES лучше всего значения 
confUSE_CLAMAV и confUSE_DRWEB сделать равными NO, хотя я это могу и 
автоматизировать

и последнее - есть альтернативный способ тестирования зараженных писем.
nc localhost 25 неудобен тем, что из-за проверки синхронизации 
приходится перед каждой отсылаемой строкой зараженного письма делать 
задержку с помощью -i 1. а задержки эти AFAIK указываются только 
натуральными числами, так что по одной секунде на каждую строку 
гарантировано.

так вот, можно вливать зараженное письмо не демону, а exim -bhL:

( \
echo "helo localhost" ; \
echo "mail from:<postmaster на local.domain>" ; \
echo "rcpt to:<postmaster на local.domain>" ; \
echo "data" ; \
cat файл_с_зараженным_письмом ; \
echo "." ; \
echo "quit" \
) | exim -bh 127.0.0.1

при этом просто надо будет или глазами просмотреть возвращаемые 
значения, или отгрепать их. ну и надо заменить local.domain в адресах 
envelope sender и envelope recipient на один из локальных доменов.
дополнительным плюсом такой проверки может служить возможность проверки 
вирусов на тестовых конфигах exim'а, в то время, как демон будет 
работать со старым рабочим конфигом
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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




Подробная информация о списке рассылки exim-conf