Оглавление:
~~~~~~~~~~~
0) Зачем надо переходить на новую версию? У меня и старая прекрасно работает.

1) Не ловится вирус Х. В чем проблема?

2) Проблема - при запуске update.pl из командной строки все обновляется,
   при запуске же из cron - ничего, хотя cron по логам отрабатывает
   свои задания нормально...

3) Что кладется в UpdatePath? 

4) Версия ниже 4.30. Сообщение в логе:
   Jul 3 13:50:18 mail drweb-smf: dwlib: scan: message sent by <alex@gamma> is passed
   Jul 3 13:50:18 mail drweb-smf: [g639oGJI030655]: processing message from <alex@gamma> completed (exit code 3)
   Что означает (exit code 3)? 

5) С одним (только одним) клиентом происходит следующее:
   стопорится отправка почты и сколько ни жмет он в Outlook
   "Подождать" - не продолжается.
   В maillog сендмыл при этом пишет следующее:
   drweb-smf: message from <адрес@клиента> is aborted
   Подскажите, плз, "кто виноват" - сендмейл, доктор или руки?

6) Поставил drweb к qmail. Все бы хорошо, но посылатель вируса
   получает два письма - одно о вирусе в сообщении, а другое о том,
   что сообщение не может быть доставлено: Remote host said: 554
   mail server permanently rejected message (#5.3.0).
   Как-нибудь можно сделать, чтобы это сообщение не приходило? А то
   пользователь будет вводиться в заблуждение, что какая-то там на
   сервере ошибка..

7) Что в drweb-smf.log означают знаки вопроса?
   Nov 26 14:36:13 proba drweb-smf: [???]: ...

8) Скажите, что означают поля Expires= и SubscriptionExpires=
   в файле ключа (например drwebd.key)?

9) Базы от версии 4.31 подходят к версии 4.30?

10) drweb.tmp.60gkxo/$ARCHIVE_NAME/$FILE_IN_ARCHIVE - compression ratio is too high (2770944 : 35154)
    ...
    Статистика сканирования Dr.Web:
    Evaluation key used !
    Archive restriction : 21
    ...
    Что бы это значило? И как с этим можно бороться?

11) Попытался настроить связку Dr.Web + Postfix. Почта перестала ходить вообще. 
    Посмотрел логи, меня насторожила строка:
    Jul 17 12:55:01 mailhub sendmail[29437]: h6H9t0sh029437: Authentication-Warning: host.domain.tld: drweb set sender
    или такая:
    Apr 20 17:32:31 mailhub sendmail[33617]: h3KDWVlV033617: from=name@example.com, size=38592, class=0, nrcpts=1, msgid=<msg-id4358035@example.com>, relay=drweb@localhost                                       
    Что бы это могло быть?

12) Стоит drweb-sendmail-4.30, время от времени выскакивает такая ошибка:
    Nov 9 22:55:49 mail drweb-smf: drweb_smf.c(667) - FATAL ERROR: cannot extract private data from context

13) Когда отправляю письмо с приаттаченным файлом, демон проверят все
    нормально, кусочек лога:
    Nov 5 14:59:27 relay sendmail[22756]: hA5CxRIm022756: from=<foo@example.com>, size=15600, class=0, nrcpts=1, msgid=<msg-id#@example.com>, proto=ESMTP, daemon=MTA, relay=domain.tld [10.0.0.1]

    Но когда отправляю то же самое письмо, и включена проверка почты
    NAV-ом исходящих сообщений (на клиенте, откуда посылаю письмо), получаем следующее:

    Nov 5 14:58:48 relay sendmail[22751]: hA5CwlIm022751:from=<foo@example.com>, size=0, class=0, nrcpts=1,proto=ESMTP, daemon=MTA, relay=domain.tld [10.0.0.2]
    Nov 5 14:58:48 relay drweb-smf: [hA5CwlIm022751]: message from foo@example.com is aborted

14) Стоит drweb-4.29.5. Странная вещь творится: вдруг ко мне пришло письмо 
    с вирусом Gibe.2:

    Wed Nov 12 08:56:20 2003 [1459] /var/spool/filter/drweb.tmp.HM5dmX/[text:html] - Ok                        
    Wed Nov 12 08:56:20 2003 [1459] >>/var/spool/filter/drweb.tmp.HM5dmX/cgmgf.exe - Ok   

    В тоже время на онлайновой проверке (http://online.drweb.com):
    ...
    cgmgf.exe packed by UPX
    >cgmgf.exe infected with Win32.HLLM.Gibe.2

15) У меня работает связка Dr.Web daemon + Dr.Web for 1, и включена 
    фильтрация по заговолкам (RuleFilter = on + RuleFitlerAlert = reject),
    однако для некоторых заблокированных таким образом писем уведомление
    отправителю не приходит, зато приходят два письма администратору.

16) У меня установлен Dr.Web for Sendmail (версия ниже 4.30.1 или собран
    из поставляемых исходных текстов), и иногда фильтр прекращает свою работу 
    без каких-либо видимых причин. Что это может быть?

17) У меня установлен почтовый фильтр Dr.Web, и для инфицированных объектов
    выставлено действие discard (Infected = discard), однако уведомления все 
    равно продолжают приходить. Почему? Я не хочу, чтобы они отправлялись.

18) Я установил ваш почтовый фильтр и отправил письмо с вирусом (вирус я взял
    у друга, с инфицированной и т.п.), вирус был найден, однако уведомление 
    получил только администратор, хотя у меня включены уведомления для всех. 
    Почему?

19) Установил Dr.Web Daemon & Dr.Web for Sendmail, но не работает проверка писем 
    на вирусы, в почтовом логе такие записи:
    ...
    Nov 24 19:11:48 vulture sendmail[878]: hAO9Bmvr000878: milter_read(drweb-filter): cmd read returned 4, expecting 5
    

20) Вот такой интересный файлик прислали 
    ...
    Может кинуть его кому?

21) Поставил фильтр на почту, а уведомления приходят только администратору.
    ...
    В чем дело?
        
22) Я запутался в программах и лицензиях, которые вы предлагаете. Что для чего нужно?

23) Система FreeBSD 4.x (x =< 7). Поставил версию 4.31. При попытке запустить фильтр
    выдается сообщение: /usr/libexec/ld-elf.so.1: Undefined symbol "__stdoutp"
    referenced from COPY relocation in /usr/local/drweb/drweb-smf.

24) Установил Dr.Web Sendmail, но проверка почты не работает. В логе демона:
    ===
    Демон загружен, активные интерфейсы:  127.0.0.1:3000
    Получена неизвестная команда: 13
    ===
    либо
    ===
    Daemon is installed, active interfaces:  127.0.0.1:3000
    Unknown command received: 13!
    ===
    Что делать?

25) Система FreeBSD. Не работает фильтр правил (RejectCondition) в демоне, если
    в правилах используется русский язык. Что делать?

26) На сайте http://www.testvirus.org решил проверить работу фильтра Dr.Web, но
    из 25 тестов Dr.Web пропустил некоторые варианты. Как вы это прокомментируете?

27) После очередного обновления версия 4.29.2 (или 4.29.5) стала "падать" на большом
    кол-ве сообщений. Как объясните?

28) Я установил Dr.Web Daemon & Dr.Web Filter for Sendmail, вроде все настроил правильно
    однако фильтр не стартует, а в /var/log/messages следующие сообщения:
    Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to bind to port 3000@localhost: Address already in use
    Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to create listening socket on conn 3000@localhost
    или
    Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to bind to port local:/var/drweb/run/.daemon: Address already in use
    Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to create listening socket on conn local:/var/drweb/run/.daemon

29) У меня установлен демон Dr.Web и почтовый фильтр, иногда я получаю на адрес администратора
    сообщения, что какое-то сообщение не было проверно по причине:
    The filter cannot connect to the DrWEB daemon
    Как этого можно избежать в дальнейшем ?
    

Содержание:
~~~~~~~~~~~
0) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Зачем надо переходить на новую версию? У меня и старая прекрасно работает.

Ответ: Это до поры до времени. Причин перехода несколько:
- в новых версиях используется новый поисковый модуль (drweb32.dll), в котором
могут быть добавлены: новые упаковщики (пример: 4.30 - упаковщик FSG), новые 
архиваторы (пример: 4.30 - LHA), новые процедуры лечения вирусов (более актуально
для Windows версий), из-за чего старая версия уже может не обнаруживать новые
вирусы (пример: 4.29 не обнаруживает Win32.HLLM.Dumaru, т.к. он упакован FSG).
- хотя дополнения внутри главной версии (4.29 и 4.30 имеют общую главную версию 
4.хх) совместимы, однако проверка работоспособности и способности к обнаружению 
вирусов для старых версий с новыми обновлениями не производится.


1) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Не ловится вирус Х. В чем проблема?

Ответ: Первое, что можно сделать: воспользоваться online-проверкой по адресу
http://online.drweb.com
Если вирус не обнаруживается, то отослать разработчикам.
Если вирус обнаруживается, то убедиться что:
а) у вас подключены все базы (наиболее часто ошибаются с 
основой базой drwebase.vdb).
---
Fri Feb  1 14:45:26 2002 Key file: /etc/drweb/drwebd.key
Fri Feb  1 14:45:26 2002 Registration info:
Fri Feb  1 14:45:26 2002 0100000002
Fri Feb  1 14:45:26 2002 Evaluation Key (ID Anti-Virus Lab. Ltd, St.Petersburg)
Fri Feb  1 14:45:26 2002 This is an EVALUATION version with limited functionality!
Fri Feb  1 14:45:26 2002 To get your registration key, call regional dealer.
Fri Feb  1 14:45:26 2002 Loading /var/drweb/bases/drwtoday.vdb - Ok, virus records: 56
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drw42702.vdb - Ok, virus records: 116
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drw42701.vdb - Ok, virus records: 90
Fri Feb  1 14:45:28 2002 Daemon is installed, TCP socket created on port 3000

б) загружен правильный ключ (хотя бы демо-ключ из дистрибутива)
Замечание: начиная с версии 4.30 демон не будет загружаться, если не найдет
правильный ключ. 
Примеры, когда ключ не загружен:
--- вообще нет ключа, например, указан неверный путь
Fri Feb  1 14:43:33 2002 This is an EVALUATION version with limited functionality!
Fri Feb  1 14:43:33 2002 To get your registration key, call regional dealer.
Fri Feb  1 14:43:33 2002 Loading /var/drweb/bases/drwtoday.vdb - Ok, virus records: 56
Fri Feb  1 14:43:34 2002 Loading /var/drweb/bases/drw42702.vdb - Ok, virus records: 116
--- ключ неправильный (например, опечатка в drweb32.ini)
Fri Feb  1 14:45:26 2002 Key file: /etc/drweb/drweb.key
Fri Feb  1 14:45:26 2002 Registration info:
Fri Feb  1 14:45:26 2002 0100000002
Fri Feb  1 14:45:26 2002 Evaluation Key (ID Anti-Virus Lab. Ltd, St.Petersburg)
Fri Feb  1 14:43:33 2002 Registration key mismatches application!
Fri Feb  1 14:45:26 2002 This is an EVALUATION version with limited functionality!
Fri Feb  1 14:45:26 2002 To get your registration key, call regional dealer.
Fri Feb  1 14:45:26 2002 Loading /var/drweb/bases/drwtoday.vdb - Ok, virus records: 56
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drw42702.vdb - Ok, virus records: 116
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drw42701.vdb - Ok, virus records: 90
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drwebase.vdb - Ok, virus records: 27860
Fri Feb  1 14:45:28 2002 Daemon is installed, TCP socket created on port 3000

Загрузка демона с правильным ключом выглядит так:
---
Fri Feb  1 14:45:26 2002 Key file: /etc/drweb/drwebd.key
Fri Feb  1 14:45:26 2002 Registration info:
Fri Feb  1 14:45:26 2002 0100000002
Fri Feb  1 14:45:26 2002 Evaluation Key (ID Anti-Virus Lab. Ltd, St.Petersburg)
Fri Feb  1 14:45:26 2002 This is an EVALUATION version with limited functionality!
Fri Feb  1 14:45:26 2002 To get your registration key, call regional dealer.
Fri Feb  1 14:45:26 2002 Loading /var/drweb/bases/drwtoday.vdb - Ok, virus records: 56
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drw42702.vdb - Ok, virus records: 116
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drw42701.vdb - Ok, virus records: 90
Fri Feb  1 14:45:27 2002 Loading /var/drweb/bases/drwebase.vdb - Ok, virus records: 27860
Fri Feb  1 14:45:28 2002 Daemon is installed, TCP socket created on port 3000

2) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Проблема - при запуске update.pl из командной строки все обновляется,
   при запуске же из cron - ничего, хотя cron по логам отрабатывает
   свои задания нормально...

Ответ: Переменные окружения у крона иные, указывайте полностью путь к wget,
например, /usr/bin/wget 

3) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Что кладется в UpdatePath? 

Ответ: То, куда будут складываться новые компоненты, которые нельзя заменить 
автоматически, или расположение для них неизвестно (например, новые файлы
документации).

4) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Версия ниже 4.30. Сообщение в логе:
   Jul 3 13:50:18 mail drweb-smf: dwlib: scan: message sent by <alex@gamma> is passed
   Jul 3 13:50:18 mail drweb-smf: [g639oGJI030655]: processing message from <alex@gamma> completed (exit code 3)
   Что означает (exit code 3)? 

Ответ: exit code 3 - обозначает ответ фильтра sendmail-у, что письмо должно быть 
пропущено (PASS) дальше. Код внутренний, скоро будет убран из сообщения.

5) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: С одним (только одним) клиентом происходит следующее:-
   стопорится отправка почты и сколько ни жмет он в Outlook
   "Подождать" - не продолжается.
   В maillog сендмыл при этом пишет следующее:
   drweb-smf: message from <адрес@клиента> is aborted
   Подскажите, плз, "кто виноват" - сендмейл, доктор или руки?

Ответ: Могу точно сказать, что не фильтр (сам по себе) - это сообщение означает, 
что sendmail сказал фильтру, что все данные, ассоциированные с этим письмом, 
могут быть освобождены - обработка письма прервана. Кем - клиентом ли или 
самим sendmail - фильтру неизвестно.
{sendmail}/libmilter/docs/xxfi_abort.html
        ...
	xxfi_abort is only called if the message is aborted OUTSIDE the
	filter's control and the filter has not completed its
	message-oriented processing. ...

Hint: Также очень вероятно, что у клиента установлен Norton Personal Firewall
или Norton Information Security (NIS), который каждую почтовую сессию
начинает с пустого сообщения, которые sendmail-ом не принимаются.

Вопрос: Вчера вечером, ради эксперемента, отключил drweb на MTA.
   Результат неутешительный, ни одного "aborted" нет по настоящее время!

Естественно, т.к. эта диагностика находится в фильтре. Еще раз объясняю, 
is aborted фильтр пишет, когда Sendmail "сказал" фильтру прервать обработку 
(например, из-за разрыва соединения). 
Посмотрите логи непосредственно перед is aborted и, скорее всего, вы сами 
увидите истинную причину.


6) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Поставил drweb к qmail. Все бы хорошо, но посылатель вируса
   получает два письма - одно о вирусе в сообщении, а другое о том,
   что сообщение не может быть доставлено: Remote host said: 554
   mail server permanently rejected message (#5.3.0).
   Как-нибудь можно сделать, чтобы это сообщение не приходило? А то
   пользователь будет вводиться в заблуждение, что какая-то там на
   сервере ошибка..

Ответ: Это проблема (или не проблема) для всех фильтров. Так, как сейчас, 
сделано по одной причине - письмо НЕ ДОЛЖНО бесследно пропасть. Если 
же сделать discard (то, что вы предлагаете - т.е. принять вирус, никуда 
его не класть, написать уведомление и сказать все ОК), то письмо пропадает.

7) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Что в drweb-smf.log означают знаки вопроса?
   Nov 26 14:36:13 proba drweb-smf: [???]: ...

Ответ: Это означает, что фильтр не смог определить message-id (это внутренний ID
для sendmail) этого сообщения. В версиях sendmail-8.11 этого не избежать, а 
в sendmail-8.12 для того, чтобы фильтр мог в логе при выводе сообщений 
указывать sendmails message-id, необходимо, чтобы в sendmail.cf присутствовала 
следующая строка:

------------------- cut ---------------------
O Milter.macros.envfrom=i, ...
------------------- cut ---------------------

(многоточие означает другие параметры - их значение не важно).

8) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Скажите, что означают поля Expires= и SubscriptionExpires=
    в файле ключа (например drwebd.key)?

Ответ: 1. Ключ будет работать со всеми версиями, вышедшими до даты SubscriptionExpires,
и в течение этого времени есть возможность обновляться с коммерческой области
обновлений (подробности выясните у дистрибьютора).
2. Ключ перестанет работать после даты Expires, начиная с версии 4.30 демон
просто не загрузится, а более ранние версии переходили в режим "без ключа" (в 
котором почта не проверялась).

9) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Базы от версии 4.31 подходят к версии 4.30?

Ответ: Лучше всего обновить версию, почему это лучше - вопрос #0 этого FAQ.
Cовместимы только дополнения, основные базы НЕ совместимы,
таким образом, набор загружаемых баз для версии 4.30 должен быть такой:
+ drwebase.vdb от 4.30
+ все дополнения от 4.30 (drw430xx.vdb xx=01..26)
+ все дополнения от 4.31,(drw430yy.vdb yy=02..текущее) 
  !внимание drw43101.vdb не нужно в версии 4.30
+ drwtoday.vdb

Стандартный скрипт обновления update.pl именно такую
конфигурацию баз и создает...
 
10) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Обозначение в вопросе:
$MTA - название почтовой системы (1, Sendmail, Postfix и т.д.)
$ARCHIVE_NAME - название архива в письме (например, docs.zip, demo.ppt и т.д.)
$FILE_IN_ARCHIVE - название файла в архиве (например, otchet.doc, Storage0 и т.д.)

Вопрос: У меня на сервере стоит $MTA и фильтр почты. 
Сегодня получаю письмо следующего содержания:
--- cut ---
Следующее сообщение не доставлено, потому что найден объект, 
который нарушает ограничения, установленые для архивов.

Оправитель = sender@domain.com
Получатели = receiver@domain.com
Тема =  Subject
Идентификатор =  msg-id-NNNN@domain.com

--- Dr.Web report ---
Детализированный отчет Dr.Web:
...
drweb.tmp.60gkxo/$ARCHIVE_NAME/$FILE_IN_ARCHIVE - compression ratio is too high (2770944 : 35154)
...

Статистика сканирования Dr.Web:
Evaluation key used !
Archive restriction : 21
--- cut ---

Что бы это значило? И как с этим можно бороться?

Ответ:
Это значит, что в drweb_$MTA.conf:
[Actions]
ArchiveRestriction = reject или quarantine

и в drweb32.ini:

[Daemon]
...
MaxCompressionRatio меньше, чем 78 (2770944 поделить на 35154)

Теперь, как с этим бороться.
Есть 2 варианта.
а) Увеличить этот самый MaxCompressionRatio (скажем до 200-500) 
и перезапустить демона. Либо вообще закомментировать параметр (что
означает, выставить его в бесконечность). Но надо понимать, что в
таком случае возможна атака на вашу почтовую систему с целью временно
вывести ее из нормального режима, когда злоумылшеник будет слать
так называемые "почтовые" бомбы, проверка которых займет много времени
и много - все? - дисковое пространство.

б) Поставить ArchiveRestriction = pass 
В этом случае возможна пересылка вируса в архиве, если его удастся сжать 
более MaxCompressionRatio (например, скриптовый вирус).

11) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Попытался настроить связку Dr.Web + Postfix. Почта перестала ходить вообще. 
Посмотрел логи, меня насторожила строка:
Jul 17 12:55:01 mailhub sendmail[29437]: h6H9t0sh029437: Authentication-Warning: host.domain.tld: drweb set sender
или такая:
Apr 20 17:32:31 mailhub sendmail[33617]: h3KDWVlV033617: from=name@example.com, size=38592, class=0, nrcpts=1, msgid=<msg-id4358035@example.com>, relay=drweb@localhost                                       
Что бы это могло быть?

Ответ: Это означает неправильную настройку почтовой системы:
sendmail[....]: .... - это лог sendmail (www.sendmail.org), а не postfix-сового
заменителя sendmail (поставляется в составе postfix).
Поэтому в drweb_postfix.conf:
[Mailer]
Sendmail = ...
Укажите путь до postfix-сового заменителя sendmail.
Например, при установке из исходников он находится где-то в 
/usr/libexec/postfix/sendmail

PS: И вообще странно, почему у вас postfix, а в /usr/sbin лежит настоящий
sendmail.

12) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Стоит drweb-sendmail-4.30, время от времени выскакивает такая ошибка:
Nov 9 22:55:49 mail drweb-smf: drweb_smf.c(667) - FATAL ERROR: cannot extract private data from context
Разъясните!

Ответ: Это ошибка. Что бы ее устранить, можно:
1) либо поставить в drweb_smf.conf:
HeloInReceived = no

2) либо взять более свежую версию.

13) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Когда отправляю письмо с приаттаченным файлом, демон проверяет все
нормально, кусочек лога:
Nov 5 14:59:27 relay sendmail[22756]: hA5CxRIm022756: from=<foo@example.com>, size=15600, class=0, nrcpts=1, msgid=<msg-id#@example.com>, proto=ESMTP, daemon=MTA, relay=domain.tld [10.0.0.1]

Но когда отправляю то же самое письмо, и включена проверка почты
NAV-ом исходящих сообщений (на клиенте, откуда посылаю письмо), получаем следующее:

Nov 5 14:58:48 relay sendmail[22751]: hA5CwlIm022751:from=<foo@example.com>, size=0, class=0, nrcpts=1,proto=ESMTP, daemon=MTA, relay=domain.tld [10.0.0.2]
Nov 5 14:58:48 relay drweb-smf: [hA5CwlIm022751]: message from foo@example.com is aborted

Ответ: NAV пытается зачем-то (не знаю, правда, зачем это нужно) отправить пустое 
письмо,  т.е. совсем пустое, даже заголовков нет. Sendmail-у это не нравится, 
и он обрывает прием этого письма, о чем сообщает фильтру. Фильтр просто 
констатирует этот факт. См. так же вопрос #5

14) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Стоит drweb-4.29.5: Странная вещь творится: вдруг ко мне пришло письмо 
с вирусом Gibe.2:

Wed Nov 12 08:56:20 2003 [1459] /var/spool/filter/drweb.tmp.HM5dmX/[text:html] - Ok                        
Wed Nov 12 08:56:20 2003 [1459] >>/var/spool/filter/drweb.tmp.HM5dmX/cgmgf.exe - Ok   

В тоже время на онлайновой проверке (http://online.drweb.com):
...
cgmgf.exe packed by UPX
>cgmgf.exe infected with Win32.HLLM.Gibe.2
Scan report for "cgmgf.exe":
Scanned : 1 Cured : 0 
Infected : 1 Deleted : 0 
...

Вот лог загрузки демона:

Wed Nov 12 04:02:07 2003 SIGHUP received, reloading...                                                     
Wed Nov 12 04:02:07 2003 Dr.Web (R) daemon for Linux, version 4.29.5 (January 6, 2003)                     
...
Wed Nov 12 04:02:08 2003 Key file: /opt/drweb/drwebd.key                                                   
Wed Nov 12 04:02:08 2003 Registration info:                                                                
Wed Nov 12 04:02:08 2003 0100000003                                                                        
Wed Nov 12 04:02:08 2003 Evaluation key ID Anti-virus Lab St.Petersburg                                    
Wed Nov 12 04:02:08 2003 Your registration key has expired!
...
Wed Nov 12 04:02:08 2003 This is an EVALUATION version with limited 
...

Ответ: Демо-ключи выпускаются:
а) для конкретной версии, т.е. ключ от другой версии не будет валидным;
б) действуют ограниченный период (на 01.02.2004 это срок составляет 1 год), 
после чего ключ также перестает быть валидным.
Указанное сообщение об ошибке и говорит, что демон будет работать без ключа, 
т.е. находятся только те вирусы, которые ничем не упакованы.
Кстати, с версии 4.30 демон не будет загружаться, если действующий ключ не
загружен.

Объясняю, почему ловятся некоторые вирусы - первый уровень MIME 
распаковывается без ключа (это ошибка в 4.29.х), но все остальные проверки идут 
по ключу, соответствено все архивы (RAR, ZIP etc), упаковщики (UPX, DIET etc) и
вложенные MIME не проверяются.

15) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: У меня работает связка Dr.Web daemon + Dr.Web for CommuniGatePro, и включена 
фильтрация по заговолкам (RuleFilter = on + RuleFitlerAlert = reject),
однако, для некоторых заблокированных таким образом писем уведомление
отправителю не приходит, зато приходят два письма администратору:

Subject: Rule rejected message
Date: Thu, 13 Nov 2003 17:18:02 +0300
From: DrWeb-DAEMON <DrWEB-DAEMON@example.com>
To: System Administrator <postmaster@example.com>

Sender = <> (may be forged)
Recipients = postmaster@example.com
...

Ответ: Это происходит, если у вас среди правил есть правила, касающиеся заголовка
Subject:, т. к. CommuniGatePro в уведомлении отправителю (и администратору) использует 
старый заголовок, то уведомления тоже были заблокированы фильтром.

16) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: У меня установлен Dr.Web for Sendmail (версия ниже 4.30.1 или собран
из поставляемых исходных текстов), и иногда фильтр прекращает свою работу без 
каких-либо видимых причин. Что это может быть?

Ответ: Да, такое может быть. Причина может быть в libmilter (написанной авторами
sendmail). Обычно это происходит в момент, когда сервер начинает испытывать
нагрузки, тогда в системных логах могут появляться сообщения вида:
Nov 20 19:54:09 name drweb-smf: Dr.WEB Sendmail filter VER: malloc(ctx) failed (12), abort
или 
Nov 20 19:54:09 name drweb-smf: Dr.WEB Sendmail filter VER: thread_create() failed: 11, abort

Начиная с версии 4.30.1 мы используем модифицированную версию libmilter, а 
также поставляем патч для оригинальной версии sendmail-8.12.9. По-другому 
эту проблему, к сожалению, решить никак нельзя.

Если вы считаете, что "падения" фильтра не связаны с этой причиной, то пишите -
будем выяснять.

17) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: У меня установлен почтовый фильтр Dr.Web, и для инфицированных объектов
выставлено действие discard (Infected = discard), однако, уведомления все равно
продолжают приходить. Почему? Я не хочу, чтобы они отправлялись.

Ответ: Действия, задаваемые в секции [Actions], и уведомления, задаваемые в секции 
[...Notifications], действуют независимо: действие нужно для того, чтобы фильтр
знал, что надо ответить вашему почтовому серверу, а уведомления могут быть
отосланы вне зависимости от указанного действия. (Исключение: действие pass -
уведомления не высылаются). Таким образом, если вы не хотите получать 
уведомлений, то в соответствующей секции отключите их. Для вашего случая:
[VirusNotifications]
SenderNotify = no
AdminNotify = no
RcptsNotify = no
...

18) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Я установил ваш почтовый фильтр и отправил письмо с вирусом (вирус я взял
у друга, с инфицированной и т.п.), вирус был найден, однако уведомление получил
только администратор, хотя у меня включены уведомления для всех. Почему?

Ответ: Скорее всего, для вируса, который вы послали, политика отсылки уведомлений
изменена с помощью конфигурационного файла /etc/drweb/viruses.conf (точнее, с 
помощью конфигурационного файла, указаного в параметре UnnotificableVirusesList 
в основном конфигурационном файле).

19) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Установил Dr.Web Daemon & Dr.Web for Sendmail, но не работает проверка писем 
на вирусы, в почтовом логе такие записи:
...
Nov 24 19:11:20 vulture sendmail[873]: /etc/mail/aliases: 37 aliases, longest 12 bytes, 423 bytes total
Nov 24 19:11:48 vulture sendmail[878]: hAO9Bmvr000878: milter_read(drweb-filter): cmd read returned 4, expecting 5
Nov 24 19:11:48 vulture sendmail[878]: hAO9Bmvr000878: Milter (drweb-filter): to error state
Nov 24 19:11:48 vulture sendmail[878]: hAO9Bmvr000878: Milter (drweb-filter): init failed to open
Nov 24 19:11:48 vulture sendmail[878]: hAO9Bmvr000878: Milter (drweb-filter): to error state
Nov 24 19:11:48 vulture sendmail[878]: hAO9Bmvr000878: from=<adm@test.ru>, size=803, class=0, nrcpts=1, msgid=<60270330044.20031124191101@100h.ru>, proto=ESMTP, daemon=MTA, relay=[192.168.*.**]
Nov 24 19:11:48 vulture sendmail[880]: hAO9Bmvr000878: to=<shest@test.ru>, ctladdr=<adm@test.ru> (1012/6), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31026, relay=local, dsn=2.0.0, stat=Sent

Ответ:
Вы неправильно подключили фильтр. В sendmail.cf (.mc) вы указали адрес демона
(drwebd), а надо прописать адрес, на котором фильтр (drweb-smf) будет ожидать 
запросов от sendmail - этот же адрес указывается в параметре MilterAddress в 
секции [Mailer] файла drweb_smf.conf. Адрес демона указывается в drweb32.ini
в параметре Socket и в параметре Address в секции [DaemonCommunication] 
файла drweb_smf.conf.
Кроме всего прочего, для генерации правильного добавления в sendmail.cf (.mc)
и скрипта для автоматического старта фильтра можно воспользоваться утилитой
{drweb}/doc/sendmail/configure.

20) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Вот такой интересный файлик прислали "something.jpg.exe",
и онлайновая проверка говорит что чистый. Может кинуть его кому?

Ответ: Есть специальный адрес для подозрительных файлов, вложений:
newvirus@drweb.com
Подозрительный файл лучше всего упаковать в архив с паролем.
В письме сообщить пароль и дать краткую информацию о ваших подозрениях.

21) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Поставил фильтр на почту, а уведомления приходят только администратору,
хотя в drweb_{mta}.conf:
...
[VirusNotification]
SenderNotify = yes
RcptsNotify = yes
AdminNotify = yes
...
шаблоны указаны и доступны. В чем дело?

Ответ: Дело скорее всего в том, что большинство вирусов, приходящих по почте, это
так называемые "черви", в файле viruses.conf (или в файле, указанном в 
drweb_{mta}.conf->[Actions]->UnnotificableVirusesList) для таких вирусов
изменена политика уведомлений (запись Win32.HLLM). Связано это с тем, что
"черви" обычно подделывают адреса отправителя, и адрес получателя выбирается
случайным образом (обычно из адресной книги жертвы), поэтому уведомление
отправителю в этом случае можно считать "спамом".

22) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Я запутался в программах и лицензиях, которые вы предлагаете. Что для чего нужно?

Ответ: На данный момент у нас есть 3 типа программ:
- сканер (drweb)
- демон (drwebd)
- фильтры почтовые (drweb-smf, drweb-postfix, ...) 
  и файловые (smb_spider, drweb-icapd)

Сканер нужен для проверки файлов на диске, список проверяемых файлов либо задается в 
параметрах, либо читается со стандартного потока ввода. Для сканера нужна отдельная 
лицензия. 

Фильтры ничего не проверяют сами, только "умеют перехватывать" почту 
(CommuniGate, Sendmail, ... ) и файлы (Samba, Squid) из соответствующих программ. 
Для них лицензия не нужна, и даже исходные тексты некоторых из них доступны на сайте.
Таким образом, без работающего демона фильтры совершенно бесполезны.


Демон - это проверка файлов на диске и данных полученных им через сетевые соединения
от фильтров или других программ по специальному протоколу. Для демона существует два 
вида лицензий, "почтовая (по адресам, по трафику)" и "файловая". 
"Почтовая" лицензия нужна, если демон будет использоваться в паре с почтовыми 
фильтрами.
"Файловая" лицензия нужна, если демон будет работать в паре с файловыми
фильтрами (Samba, Squid). 

PS: Если куплена "файловая" лицензия, то демон НЕ будет проверять почту,
и наоборот. Можно купить обе лицензии сразу в одном ключе.

23) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Система FreeBSD 4.x (x =< 7). Поставил версию 4.31. Получаю:
/usr/local/drweb > ./drweb-smf.sh start
/usr/libexec/ld-elf.so.1: Undefined symbol "__stdoutp"
    referenced from COPY relocation in /usr/local/drweb/drweb-smf
Что делать?

Ответ: Использовать drweb-smf.static, этот же совет касается всех остальных
фильтров. 

24) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Установил Dr.Web Sendmail, но проверка почты не работает. В логе демона:
===
Daemon is installed, active interfaces:  127.0.0.1:3000
Unknown command received: 13!
===
(asv: либо, если включено использование russian.dwl)
===
Демон загружен, активные интерфейсы:  127.0.0.1:3000
Получена неизвестная команда: 13
===
Что делать?

Ответ: Прочитайте ответ на вопрос #19, у вас та же самая проблема.

25) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Система FreeBSD. Не работает фильтр правил (RejectCondition) в демоне, если
в правилах используется русский язык? Что делать?

Ответ:  Во-первых, правила надо задавать только в кодировке KOI8-R. 
Во-вторых, следует понимать, что если заголовок (например Subject:), который вы 
хотите фильтровать, идет в 8bit (т.е. в нарушение стандарта на почту, т.к. должен 
быть закодированы =?koi8-r?B?..?= или =?cp1251?Q?..?=, т.е. с указанием кодировки), 
то он будет сравниваться без учета кодировки. Такие сообщения (идущие в 8bit) так же 
могут быть заблокированы фильтром:
RejectCondition Subject = "8bit"
Ну и наконец, для пользователя, с правами которого работает демон, должна быть правильно
настроена локаль на KOI8-R:

1. В файл /etc/login.conf добавить (хотя обычно уже есть):
#
# Russian Users Accounts. Setup proper environment variables.
#
russian:Russian Users Accounts:\
        :charset=KOI8-R:\
        :lang=ru_RU.KOI8-R:\
        :tc=default:

Для обновления /etc/login.conf.db:
# cap_mkdb /etc/login.conf

2. Теперь пользователю drweb надо указать, что он относится к классу russian:
# pw usermod drweb -L russian

3. Иногда надо в скрипте запуска демона добавить перед строкой "case "$1" in"

LC_ALL=ru_RU.KOI8-R
export LC_ALL

4. Перезапустить демона ...

26) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: На сайте http://www.testvirus.org решил проверить работу фильтра Dr.Web, но
из 25 тестов Dr.Web пропустил некоторые варианты. Как вы это прокомментируете?

Ответ: Ответ по состоянию сайта на 19 мая 2004 года, т.к. сайт мог измениться и тесты тоже, 
у нас были пропущены следующие тесты:

Test #12: Eicar virus within a password protected ZIP file
Test #24: Test for the "Partial (Fragmented) Vulnerability". This does not include Eicar virus, 
          but your mail server still must block this since it can break a virus into multiple 
          emails and reassemble it in your inbox.

- Может быть заблокировано, если опцию SkipObject переключить с pass на 
любое другое действие.

Test #14: Eicar virus sent in a Microsoft TNEF file (winmail.dat)

- Формат TNEF на данный момент не разбирается.

Test #25: Attachment with a CLSID extension which may hide the real file extension. This does not 
          include Eicar virus, but your mail server still must block this since it can hide the 
          true extension of a file

- Сообщение не содержит вредоносного кода.

Test #16: Eicar string in HTML, to ensure that your mail server scans HTML segments
Test #19: Eicar virus within zip file hidden using the "Blank Folding Vulnerability"
Test #21: Eicar virus within zip file hidden using the "Long MIME Boundary Vulnerability"
Test #23: Eicar virus within zip file hidden using the "Empty MIME Boundary Vulnerability"

- В таком виде вирус не опасен и распространяться не будет, можно сказать, что просто мусор. 
Кстати, сканер таки определяет вирус в #16 и #21, но в демоне более быстрый и простой разбор почты.

27) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: После очередного обновления версия 4.29.2 (или 4.29.5) стала "падать" на большом
кол-ве сообщений. Как объясните?

Ответ: Проблема не в базах (это легко проверить, если загрузить демона только с основной базой и 
"проблемным" обновлением) - это ошибка в 4.29 (точнее в drweb32.dll версии 4.29). Таким образом, 
единственным решением может быть обновление на более свежую версию, т.к. фиксов для старых версий 
мы не выпускаем. Почему мы так делаем, читайте ответ на вопрос #0.

28) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: Я установил Dr.Web Daemon & Dr.Web Filter for Sendmail, вроде все настроил правильно
однако фильтр не стартует, а в /var/log/messages следующие сообщения:

Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to bind to port 3000@localhost: Address already in use
Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to create listening socket on conn 3000@localhost

или

Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to bind to port local:/var/drweb/run/.daemon: Address already in use
Jun 10 13:24:04 host drweb-smf: Dr.Web (R) Filter for sendmail ver.4.32: Unable to create listening socket on conn local:/var/drweb/run/.daemon

Ответ: Вы указали в параметре MilterAddress секции [Mailer] файла drweb_smf.conf параметры 
соединения с демоном, тогда как должно быть указано соединения для взаимодействия с
sendmail, это же соединение описывается в sendmail.cf. Т.е. должно быть так:
в drweb32.ini
Socket = 3000 localhost

в drweb_smf.conf:
[DaemonCommunication]
Address = inet:3000@localhost
...
[Mailer]
...
MilterAddress = inet:3001@localhost

и в sendmail.cf:
Xdrweb-filter,  S=inet:3001@localhost, F=T, T=C:1m;S:5m;R:5m;E:1h

29) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Вопрос: У меня установлен демон Dr.Web и почтовый фильтр, иногда я получаю на адрес администратора
сообщения, что какое-то сообщение не было проверно по причине:
The filter cannot connect to the DrWEB daemon
Как этого можно избежать в дальнейшем ?

Ответ: Есть две причины, по которым это могло произойти.
а) Резко скакнула нагрузка и просто переполнилась очередь соединений к демону.
б) Демон, по каким-то причинам был не доступен.
Есть два способа избежать этих проблем. Второй способ наиболее универсален (подойдет для обоих случаев).
i) Использовать несколько сокетов между демоном и фильтром. Пример конфигурации:
drweb32.ini:
Socket = /var/drweb/run/.drwebd
Socket = 3000 localhost

drweb_{mta}.conf:  ({mta} = smf, cgp, postfix, exim, qmail, zmailer, courier or mio)
[DaemonCommunication]
Address = local:/var/drweb/run/.drwebd, inet:3000@localhost

Тем самым мы получим такой эффект: если к первому сокету коннект не прошел (там очередь переполнена), 
то фильтр будет пытаться присоединиться ко второму.

ii) Намного более надежный и универсальный способ - использовать второго запущеного демона
(можно на этом же хосте, но лучше на другом), который и будет сглаживать пики нагрузки или недоступность
основного демона. Пример
drweb_{mta}.conf:  ({mta} = smf, cgp, postfix, exim, qmail, zmailer, courier or mio)
[DaemonCommunication]
Address = local:/var/drweb/run/.drwebd, inet:3000@another.myhost.example.com

Замечание: Режим локального сканирования (LocalScan = yes) не будет работать в фильтре для второго
сокета даже если этот сокет обслуживается демоном установленным на этом же хосте.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Автор: Сергей Ахапкин <asv@drweb.com>

$Revision: 1.3 $ 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
