приветствую
вчера на двух хостах через 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