Alex Miller wrote:
>> возникла идея отработать ситуацию, когда будут использоваться более
>> одного антивируса одного типа.
>>>> пример схемы, работающей ныне на большинстве хостов, использующих мой
>> паровоз конфигов:
>>>> deny set acl_m0 = clamd:/var/run/clamav/clamd
>> malware = */defer_ok
>> message = ClamAV found a virus: $malware_name
>>>> deny set acl_m0 = drweb:/usr/local/drweb/run/drwebd.sock
>> malware = *
>> message = DrWeb found a virus: $malware_name
>>>> так вот, если при этом clamd не ответит, а у drwebd в базе не будет
>> данного вируса, то зараженное письмо будет доставлено.
>>>> есть идея после первого deny вставить еще deny:
>>>> deny set acl_m0 = clamd:host.with.clamd 3310
>> malware = */defer_ok
>> message = ClamAV found a virus: $malware_name
>>>> задача состоит в том, чтобы выполнять этот deny только тогда, когда
>> результатом первого deny будет defer.
>>>> кому-то будет интересна такая схема?
>> или больше одного clamd ни у кого в сети нет?
>> Безусловно интересно! Причём можно было-бы держать clamav и clamav-devel
> на разных машинах или на одной машине но с разными
> конфигами/базами/etc...
я вчера ночью дома отработал вылавливание defer'а от антивируса
базировался я на письме из exim-users:
http://www.exim.org/mail-archives/exim-users/Week-of-Mon-20040913/msg00223.html
идея очень хорошая, чуть подрихтовав ее можно успешно использовать
но _до_ реализации дублирующих антивирусных демонов я решил изменить
немного поведение существующих проверок.
дополнен список возможных значений действий при настройке работы с
антивирусными демонами:
QUARANTINE - вывод в лог файл предупреждения и помещение
зараженного письма в карантин
DISCARD - удаление зараженного письма
DROP - синоним DISCARD
REJECT - отказ в приеме зараженного письма (возврат клиенту
кода 5xx)
WARN - устаревшее значение, эквивалентно `QUARANTINE DISCARD'
значение QUARANTINE можно указывать вместе с DISCARD, DROP или REJECT,
разделяя их пробелом.
для обеспечения работоспособности комбинации значений `QUARANTINE
REJECT' используется конструкция fakereject, то необходимо использовать
патч patch-src::reject_message:
http://bsd.falbi.kiev.ua/exim-patches/exiscan-acl-4.41-24-fakereject/patch-src::reject_message
сами антивирусные демоны настраиваются как и раньше:
http://www.mta.org.ua/pipermail/exim-conf/2004-August/000083.html
тестил пока я новый antivirus.m4 поверхностно. если кто пожелает
поучавствовать - welcome.
кстати, тем, кто давно не обновлялся - необходимо выполнить gmake sync
два раза, т. к. при выполнении первого sync обновится Makefile, в
котором будет уже настроено обновление подкаталога hacks, в котором и
расположен antivirus.m4
и еще - если ранее использовалось действие REJECT, а сейчас планируется
использовать действие QUARANTINE, то нужно:
1. пересобирать не только gmake configure, а и системный фильтр (gmake
system_filter или gmake all). это необходимо для того, чтобы системный
фильтр был пересобран с механизмом сохранения зараженных писем в
карантине без доставки пользователям. в противном случае зараженные
письма будут помечаться, но при этом доставляться пользователям.
2. пересобрать скрипты для планировщика задач:
gmake periodic install-periodic
при этом будет пересобран и установлен скрипт удаления старых зараженных
писем из карантина.
пользователям линукса предварительно нужно в site/conf изменить путь к
файлам планировщика:
define(`confPERIODIC', `/etc/cron.daily')
значение по умолчанию этой переменной расчитано на работу в FreeBSD:
define(`confPERIODIC', `/usr/local/etc/periodic/daily')
--
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