Можно подумать что это бесплатный антивирус для сервера 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 возвращает коды проверки (для разных антивирусов разные).
- Если с письмом все OK: ORF пропускает его дальше.
- Если с письмом не все OK: то ORF делает с этим письмом заранее запрограммированную акцию (например удалить и вернуть код ответа отправителю).
Как понимаете для такой проверки достаточно вообще любого антивируса с поддержкой командной строки.
Установка агента.
Для этого на сервер Exchange скачаем и устанавливаем специальный агент (ORF external agents):
https://vamsoft.com/support/docs/external-agents
Агенты по это ссылке все старые. Но это не должно вас смущать. Агенты для ORF – просто удобные окна с настройками. В качестве антивируса подойдут многие продукты, главное чтобы они были совместимы с Exchange и серверной операционной системой. Подойдет практически любой файловый антивирус с поддержкой командной строки интерфейса, только не забудьте потом добавить ваши папки с Exchange и папки с почтовыми базами в исключение путей мониторинга антивируса.
Ну раз у меня NOD, то я по ссылке скачал NOD32 агент. После чего импортируем агента в ORF согласно инструкции (инструкция с ошибкой, нужно загрузить nod32.xml а не avg.xml):
1 2 3 4 5 6 7 8 9 10 |
INSTALLATION ------------------------------------------------------------------------------- After installing Eset NOD32 and importing the definition, the definition has to be personalized to your system and subscription. Importing agent definitions 1) Start the ORF Administration Tool. 2) Select File | Import | External Agent Definition... from the menu. 3) Select the avg.xml agent definition file in the file dialog and click Open. 4) Click the Ok button in the Import External Agent Definitions dialog. |
Переходим к настройке:
1. Создаем папку TEMP по пути
1 |
"C:\Program Files (x86)\ORF Fusion\TEMP\". |
2. На папку отключаем наследования прав NTFS и назначаем полные права всем.
3. Прописываем эту папку в ORF / External Agents (обратите внимание что агент “ON” и работает “On Arrival”):
4. Открываем в ORF настройки агента NOD32
5. Так как у меня “Eset NOD for Exchange Server v7” то прописываем путь до cli сканера
1 |
"C:\Program Files\ESET\ESET Security\ecls.exe" |
(что это за сканер будет рассказано далее)
6. Добавляем магическую строку с параметрами сканирования (у вас возможно строка будет другая. формат команд актуален для “NOD for file server v7.0”. Вы используете другую версию NOD можете проверить какие команды он использует вызвав “ecls.exe –help” или другой cli сканнер).
1 |
/heur /adv-heur /ads /sfx /mail /rtp /arch /max-obj-size=20 /max-sfx-size=20 /max-arch-level=5 /scan-timeout=15 /no-boots /no-adware /no-unsafe /no-unwanted /clean-mode=strict {EMAILFILESPEC} |
Обращаю на опцию “/adv-heur” – это улучшенная эвристика обнаружения вирусов.
7. Обязательно указываем роль “Anti-virus or Other Email Security Role”
9. Так как мы качали “ORF external agents” / “Eset NOD32” дремучего выпуска 2006 года логично что произошли за это время изменения. По умолчанию отсутствуют определения “Exit Codes and Actions”. Добавляем Коды для 1=Hit, 100=Error, и обязательно 50=Hit (коды выдает cli сканнер, у меня эти коды были определены при вызова сканера “ecls.exe –help”. У вас возможно будут другие).
10. Заходим в “Actions” и указываем что код ответа “511”, и текстом отправителю говорить
1 |
5.1.1 mailbox not found |
(по умолчанию говорит Virus found. Мы не будем информировать отправителя вируса о том что мы его успешно обнаружили. Пусть думает что такого почтового ящика у нас нет).
11. Заходим в настройки антивируса и добавляем этот путь в исключения сканера:
1 |
"C:\Program Files (x86)\ORF Fusion\TEMP\*.*" |
Это нужно для того что по указанному пути будут появляться файлы формата *****.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”.
Это все. ))
Теперь немного про сканер. Опции сканера можно посмотреть вызвав его через командную строку:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
C:\Windows\system32 "c:\Program Files\ESET\ESET Security\ecls.exe" --help WARNING! The scanner was run in the account of a limited user! ESET Security on-demand scanner Usage: ecls [OPTIONS..] FILES.. Options: /base-dir=FOLDER load modules from FOLDER /quar-dir=FOLDER quarantine FOLDER /exclude=MASK exclude files matching MASK from scanning /subdir scan subfolders (default) /no-subdir do not scan subfolders /max-subdir-level=LEVEL maximum sub-level of folders within folders t scan /symlink follow symbolic links (default) /no-symlink skip symbolic links /ads scan ADS (default) /no-ads do not scan ADS /log-file=FILE log output to FILE /log-rewrite overwrite output file (default - append) /log-console log output to console (default) /no-log-console do not log output to console /log-all also log clean files /no-log-all do not log clean files (default) /aind show activity indicator /auto scan and automatically clean all local disks Scanner options: /files scan files (default) /no-files do not scan files /memory scan memory. /boots scan boot sectors /no-boots do not scan boot sectors (default) /arch scan archives (default) /no-arch do not scan archives /max-obj-size=SIZE only scan files smaller than SIZE megabytes (default 0 = unlimited) /max-arch-level=LEVEL maximum sub-level of archives within archives (nested archives) to scan /scan-timeout=LIMIT scan archives for LIMIT seconds at maximum /max-arch-size=SIZE only scan the files in an archive if they are smaller than SIZE (default 0 = unlimited) /max-sfx-size=SIZE only scan the files in a self-extracting archive if they are smaller than SIZE megabytes (default 0 = unlimited) /mail scan email files (default) /no-mail do not scan email files /mailbox scan mailboxes /no-mailbox do not scan mailboxes (default) scan self-extracting archives (default) /no-sfx do not scan self-extracting archives /rtp scan runtime packers (default) /no-rtp do not scan runtime packers /unsafe scan for potentially unsafe applications /no-unsafe do not scan for potentially unsafe applications (default) /unwanted scan for potentially unwanted applications /no-unwanted do not scan for potentially unwanted applications (default) /suspicious scan for suspicious applications (default) /no-suspicious do not scan for suspicious applications /heur enable heuristics (default) /no-heur disable heuristics /adv-heur enable Advanced heuristics (default) /no-adv-heur disable Advanced heuristics /ext-exclude=EXTENSIONS exclude EXTENSIONS delimited by colon from scanning /clean-mode=MODE use cleaning MODE for infected objects. Available options: none (default), standard, strict, rigorous, delete /quarantine copy infected files (if cleaned) to Quarantin (supplements ACTION) /no-quarantine do not copy infected files to Quarantine General options: /help show help and quit /version show version information and quit /preserve-time preserve last access timestamp Exit codes: 0 no threat found 1 threat found and cleaned 10 some files could not be scanned (may be threats) 50 threat found 100 error C:\Windows\system32 |
Что касается других антивирусов. Из нормальных антивирусов кажется есть cli сканеры у McAfee, KAV. Я пробовал бесплатный ClamAV – он почти ничего не ловит.
Если вам пригодилась моя небольшая заметка, просьба поделится комментариями.
Удачи!
Антивирус Dr.Web для интернет-шлюзов UNIX предназначен для антивирусной проверки HTTP и FTP-трафика, проходящего через корпоративный интернет-шлюз – прокси-cервер, стандартно используемый при организации доступа пользователей внутренней интранет-сети к ресурсам сети Интернет. Dr.Web для Kerio WinRoute обеспечивает надежную защиту доступа в Интернет как для частных пользователей, так и для компаний любого размера и рода деятельности.