Используем файловый антивирус на Exchange Server для антивирусной проверки входящей почты.

Можно подумать что это бесплатный антивирус для сервера Exchange Server. Ну практически бесплатное решение )

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

Все началось с того что в почтовый ящик свалилось письмо от GFI Mail Security:

The number of users for which GFI MailSecurity is licensed has been exceeded. The product will continue working until 13.03.2019. Should you wish to continue using GFI MailSecurity following that, please contact sales@gfi.com for more information on how to update your license.

«Какая прелесть!», подумал я. Ведь только в январе оплатили годовую подписку на GFI, и вот подъехали новые проблемы.

Итак, поехали …

Проблема заключается прежде всего в том что зараженное письмо может попасть в почтовый ящик, и пользователь может даже увидеть зараженный файл в письме. Это небезопасно. Антивирус на рабочих станциях у пользователей (то же NOD) удалит зараженное вложение при попытке сохранить или открыть вложение. А идеально было бы чтобы такие письма вообще не попадали в ящики пользователей. Если удалением таких писем раньше занимался GFI, то теперь для антивирусной защиты нужно ставить специальный антивирус на почтовый сервер.

Раньше этим у меня занимался GFI. надежды на то что встроенный в Exchange антивирус будет фильтровать такие письма не оправдались. Встроенный в Exchange «фильтр нежелательной почты» дырявый и пропускает все. По этому было решено сделать все своими руками (впрочем ничего нового).

Так как параллельно у меня идут работы по миграции Exchange Server на новую платформу, было решено обойтись без GFI. У нас на серверах используется файловый антивирус «Eset NOD for File Server v7». Его конечно можно установить на Exchange Server, установится он корректно, все будет работать. Но этот антивирус для файловых серверов, а это значит что проходящую почту через сервер он никак не будет проверять.  Для этого нужно установить специальный «Eset NOD for Exchange Server v7», а это другая лицензия которая у нас не куплена. В дальнейшем мы скорее всего купим какой нибудь другой антивирус для этой цели, чтобы в сети организации прогонять письма через несколько разных антивирусных сканеров. Но пока можно обойтись и одним решением. Основная идея  этого решения такая: зараженные письма не должны вообще попадать к пользователю в почтовый ящик.

В нашей организации почтовая система устроена таким образом, что только один из транспортных серверов Exchange смотрит в интернет на порту 25 принимая и отправляя почту (роль транспорта). То есть весь внешний почтовый трафик так или иначе проходит только через него. На сервере установлен ORF 5 (open relay filter) который занимается фильтрацией спама. Вот на этот PRF и было решено повесить обязанность антивирусной проверки почты.

Как происходит проверка.

ORF выкладывает во временную папку проверяемое письмо в формате *.eml в виде файла. Файл *.eml проверяется установленным антивирусом. Для этого command line antivirus (cli) скармливается этот файл в виде параметров +параметры сканирования. По результату проверки cli возвращает коды проверки (для разных антивирусов разные).

  1. Если с письмом все OK:        ORF пропускает его дальше.
  2. Если с письмом не все OK:  то ORF делает с этим письмом заранее запрограммированную акцию (например удалить и вернуть код ответа отправителю).

Как понимаете для такой проверки достаточно вообще любого антивируса с поддержкой командной строки.

Установка агента.

Для этого на сервер Exchange скачаем и устанавливаем специальный агент (ORF external agents):
https://vamsoft.com/support/docs/external-agents

Агенты по это ссылке все старые. Но это не должно вас смущать. Агенты для ORF — просто удобные окна с настройками. В качестве антивируса подойдут многие продукты, главное чтобы они были совместимы с Exchange и серверной операционной системой. Подойдет практически любой файловый антивирус с поддержкой командной строки интерфейса, только не забудьте потом добавить ваши папки с Exchange и папки с почтовыми базами в исключение путей мониторинга антивируса.

Ну раз у меня NOD, то я по ссылке скачал NOD32 агент. После чего импортируем агента в ORF согласно инструкции (инструкция с ошибкой, нужно загрузить nod32.xml а не avg.xml):

Переходим к настройке:

1. Создаем папку TEMP по пути

2. На папку отключаем наследования прав NTFS и назначаем полные права всем.
3. Прописываем эту папку в ORF / External Agents (обратите внимание что агент «ON» и работает «On Arrival»):

4. Открываем в ORF настройки агента NOD32
5. Так как у меня «Eset NOD for Exchange Server v7» то прописываем путь до cli сканера

(что это за сканер будет рассказано далее)


6. Добавляем магическую строку с параметрами сканирования (у вас возможно строка будет другая. формат команд актуален для «NOD for file server v7.0». Вы используете другую версию NOD можете проверить какие команды он использует вызвав «ecls.exe —help» или другой cli сканнер).

Обращаю на опцию «/adv-heur» — это улучшенная эвристика обнаружения вирусов.

7. Обязательно указываем роль «Anti-virus or Other Email Security Role»


8. Включаем логирование.


9. Так как мы качали «ORF external agents» / «Eset NOD32» дремучего выпуска 2006 года логично что произошли за это время изменения. По умолчанию отсутствуют определения «Exit Codes and Actions». Добавляем Коды для 1=Hit, 100=Error, и обязательно 50=Hit (коды выдает cli сканнер, у меня эти коды были определены при вызова сканера «ecls.exe —help». У вас возможно будут другие).


10. Заходим в «Actions» и указываем что код ответа «511», и текстом отправителю говорить

(по умолчанию говорит Virus found. Мы не будем информировать отправителя вируса о том что мы его успешно обнаружили. Пусть думает что такого почтового ящика у нас нет).


11. Заходим в настройки антивируса и добавляем этот путь в исключения сканера:

Это нужно для того что по указанному пути будут появляться файлы формата *****.eml которые при работающем антивирусе так же будут сканироваться его включенным Realtime сканером на сервере. Возможно детектирование вирусов и удаление файла. Это приведет к ошибке работы ORF. Волноваться не стоит, мы эти файлы и так проверяем агентом «ecls.exe».

Как то так:


12. Собственно на этом все. Сохраняем настройки, и делаем перезапуск службы ORF.

ПРОВЕРКА.

Вот тут нужно быть поаккуратнее. Очень нежно берем и качаем файл из вот этого архива:

*

АРХИВ С ВИРУСОМ:       VIRUS !!! (пароль на архив 123)

*

 

 

"VIRUS !!! (пароль на архив 123).7z"
Пароль как вы поняли на архив «123». Внутри архива PDF файл — это самый настоящий отловленный вирус. Детектируется как «PDF/Phishing.A.Gen троянская программа» (что он делает я не знаю). ClamAV к слову его иногда не отлавливает.

Пытаемся переслать его себе через наш почтовый сервер. Обращаю внимание что файл открывать не стоит! Это самый настоящий вирус. При отправке через какой нибудь бесплатный сервер этот файл скорее всего удалится на стороне сервера. Если вы попытаетесь распаковать файл на вашем компьютере — то скорее всего включенный антивирус удалит или очистит его. Для проверки  можно скачать «mozilla thunderbird» и настроить эту программу для тестовой учетной записи на получение почты с нашего сервера. Для отправки указать SMTP нашего сервера. В этом случае при отправке письмо пройдет через ORF и наш антивирус можно будет проверить.

ЕЩЕ РАЗ: ФАЙЛ НЕ ОТКРЫВАТЬ! ПЕРЕСЫЛАТЬ ТОЛЬКО КАК ВЛОЖЕНИЕ К ПИСЬМУ!

Наблюдаем в логах ORF срабатывание антивируса. Отправителю должно прийти письмо c кодом «5.1.1 mailbox not found».

 

 

Это все. ))

Теперь немного про сканер. Опции сканера можно посмотреть вызвав его через командную строку:

Что касается других антивирусов. Из нормальных антивирусов кажется есть cli сканеры у McAfee, KAV. Я пробовал бесплатный ClamAV — он почти ничего не ловит.

Если вам пригодилась моя небольшая заметка, просьба поделится комментариями.

Удачи!

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *