Exchange Attachment Archive Parser: Транспортный агент Exchange 2007 для фильтрации содержимого архивов во вложениях

Очередной виток вирусной волны заставил взять в руки напильник. Повадились вирусописатели рассылать свои недоделанные вирусы в виде писем с темой «My new photo» и вложением в виде zip-архива типа photo.zip. А в архиве, как водится – файлик типа myphoto.jpg.exe. Увещевания юзеров не открывать неизвестные письма с вложениями успеха не принесли, один хрен открывают архив и кликают на заразе. Благо что права у всех обрезанные, но и под правами пользователя зловред запускается и бесчинствует.

Рассылка, на удивление, точечная, строго по существующим в организации адресам и спискам рассылки, из чего следует, что недоделанный вирусописатель когда-то таки слил у кого-то из моих подопечных ботанов адресную книгу.

А над бабами и брюквой гордо реет буревестник — антивирус Касперского, брючной молнии подобный – типа вложение чистое. На virustotal.com тоже красота – дай бог 2-3 антивиря обнаруживают, остальные молчат как рыба об лед. Каспер начинает опознавать вирусняк только на второй-третий день после рассылки, что уже поздно, естественно.

Существующие возможности Exchange Server не позволяют заблокировать письмо, содержащее архив с исполняемыми файлами. Пришлось взять в руки штопор Visual Studio и наваять транспортный агент, который бы тормозил письмо на приеме и проверял вложенные архивы на предмет возможной угрозы.

Этот самый агент и выкладываю. Авось кому пригодится. Написан под 2007 Exchange, под более новые не тестировал – нету их у меня.

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

Если архив нормальный – ничего не делаем и письмо идет дальше. Если опасный – есть несколько вариантов – либо удаляем архив из письма, а само письмо отправляем получателю, либо вообще не даем письму дойти до адресата. А отправителю можно ответить ошибкой SMTP «User unknown». Заодно, попутно, подозрительный архив можно отправить админу – на рассмотрение.

Вот скрины конфигурашки к фильтру, думаю, из них будет понятно, что он делает:

eaap1 eaap2

В общем, работает. Режет письма на ура. Юзеры у меня больше ничего не получают. Кстати, заметил, что после добавления функции «Отклонять сообщение с ответом „Получатель не найден“» поток таких писем значительно уменьшился. Было до 50 в день, стало 2-5.

Установка:

Распаковываем в папку на exchange-сервере, запускаем там EAAP_Config.exe и конфигурим фильтр.

Затем открываем power-shell командную консоль Exchange и хреначим:

Остановка службы Exchange:
net stop MSExchangeTransport

Инсталляция агента:

Install-TransportAgent -Name «EAAP» -TransportAgentFactory «EAAP.EAAPFactory» -AssemblyPath «ПУТЬ К eaap.dll»

где «ПУТЬ К eaap.dll» – путь к dll-ке eaap.dll транспортного агента

Включение:

Enable-TransportAgent -Identity «EAAP»

Запуск службы Exchange:

net start MSExchangeTransport

Наслаждаемся.

Скачать
Поделиться с друзьями:
  • Добавить ВКонтакте заметку об этой странице
  • Одноклассники
  • Facebook
  • В закладки Google
  • Мой Мир
  • Twitter
  • LiveJournal
  • Яндекс.Закладки
  • LinkedIn
  • Reddit
  • StumbleUpon
  • БобрДобр
  • Memori.ru
  • МоёМесто.ru

Comments

  1. Добрый день.

    Спасибо за проделанную работу. После тестирования обязательно отблагодарю Яндекс-фантиками.

    Не могли бы Вы выложить исходники данного агента?

  2. Добрый день!

    Установил по инструкции, служба транспорта останавливается при включенном агенте.

    Подскажите где копать, т.к. фишка реально полезная? Разрабу респект!

Добавить комментарий

Ваш e-mail не будет опубликован.