[exim-conf] вылавливание архивов с исполняемыми файлами внутри

Victor Ustugov victor на corvax.kiev.ua
Чт Ноя 23 12:01:00 EET 2006


приветствую

вчера на двух хостах через clamd/drwebd/aveserver пролезло несколько
Worm.Stration.TI (по классификации clamav)

хотя непосредственного отношения к Worm.Stration.TI это не имеет (т. к.
он распространяется в виде exe файла), решил я поднять на двух хостах
некую тулзу asm'а, вылавливающую небольшие письма с одинокими архивами и
одинокими исполняемыми файлами внутри (набор расширений файлов задается
в виде регулярного выражения в конфигурационном файле seav'а).

саму тулзу брать здесь:
http://asm.kiev.ua/seav/files/seav-0.0.2.tar.gz

пользователи FreeBSD могут использовать порт:
http://asm.kiev.ua/seav/files/seav.tar.bz2

прикручивается к exim'у она как командострочный антивирус

в паровозе это будет выглядеть так (фрагмент site/conf):

ANTIVIRUS(`seav', `QUARANTINE_MAILLIST REJECT QUARANTINE',
        `cmdline:/usr/local/bin/seav \
        %s/${message_id}.eml : DANGER : DANGER \\((\\S+)\\)',
        `defer_ok'
        `',
        `')

действие выбирайте по вкусу
вам выбирать, отвергать ли письма на основании проверки seav'а (тогда в
случае false positive будет оповещен отправитель) или доставлять в
карантин (тогда нужно использовать оповещения получателей зараженных писем).

теперь по поводу оповещений. если в обслуживаемой системе не
используются оповещения получателей зараженных писем (в подавляющем
большинстве случае это не нужно), то в случае с seav может возникнуть
ситуация, когда отправитель будет думать, что письмо доставлено, а
получатель не будет знать, что в его адрес шло письмо. для этого в
паровозе 4.63 введена часть системного фильтра в файле site/
system_filter_top, которая выполняется еще до штатной обработки
зараженных писем.

пример файла можно посмотреть здесь:
http://mta.org.ua/exim-4.63-conf/site/system_filter_top

прошу обратить внимание, что в этом фрагменте выполняется только
оповещение получателей и postmaster'а, сохранение в карантине будет
произведено в системном фильтре позже штатным образом.

естественно, если в значении переменной confAV_NOTIFY в файле site/conf
присутствует ключевое слово POSTMASTER, то в system_filter_top лучше
убрать строку

cc "AntiVirus Admin <postmaster@${qualify_domain}>"

поскольку в противном случае postmaster будет получать по два оповещения
на каждое письмо, отловленное с помощью seav

если же в значении переменной confAV_NOTIFY присутствует ключевое слово
RCPT, то никаких оповещений самостоятельно реализовывать не нужно

шаблон файла для писем с оповещениями после gmake install появится в
/etc/exim или /usr/local/etc/exim в файле antivir_notification.txt

если для seav'а нужно использовать другой шаблон, необходимо в
вышеприведенном примере system_filter_top указать в строке

expand file ${extract{8}{|}{$acl_m7}}

вместо конструкции ${extract{8}{|}{$acl_m7}} полный путь к файлу шаблона


вроде все

думаю, что asm это все у себя проверить достаточно быстро. если будут
какие-то замечания, прошу писать сюда, поправлю

-- 
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