Средства межсетевого экранирования стали де-факто атрибутом любой сетевой инфраструктуры. Почтовому трафику тоже необходимы средства фильтрации. Поэтому в современных релеях реалях тяжело представить почтовую инфраструктуру организации без почтовых шлюзов (mail gateways).
Зачем нужен почтовый шлюз и как его выбрать
Электронная почта (ЭП) является одним из векторов атак, как средство для доставки ВПО клиентам с целью проникновения в корпоративную сеть организации. Но у ЭП есть и еще один враг - спам, мешающий работе и заполняющий полезное дисковое пространство на почтовых серверах. Для решения данных проблем, уже разработаны решения: коммерческие и распространяемых под свободными лицензиями. Из коммерческих наибольшей популярностью пользуется продукт Cisco Email Security Appliance (ESA). Но все мы знаем про проблемы "окирпичивания" и отзывов окончания лицензий вендоров в текущих условиях, поэтому попробуем посмотреть в сторону свободно распространяемых продуктов.
Свободные решения считаются более сложными в настройке и требуют опыта настройки и администрирования. Конечно, можно накатить CentOS и поставить туда Postfix с использованием SpamAssassin, ClamAV, OpenDKIM, SPF и DMARC. Однако, если вам, как и мне, хотелось бы раскатать одну виртуалку (в которой уже из коробки есть все необходимое), зайти на вебку и все там настроить - тогда ваш выбор - Proxmox Mail Gateway (PMG).
Proxmox Mail Gateway
Многие слышали о Proxmox благодаря решению для виртуализации - Proxmox VE (PVE), как замену ESXi от VMWare. Поэтому людям, знакомых с PVE, PMG не покажется чем-то новым в установке и администрировании, так как это тот же Debian с тем же Web-интерфейсом, только заточен под ЭП.
Кто использует Proxmox Mail Gateway
Честно сказать, я думал, что мало кто использует данный программный продукт и скептически относился к нему, как замена для ESA. Однако, информация с shodan меня удивила и придала мне уверенности, что я не один такой.
Где ставить
Как говорилось выше, почтовый шлюз является аналогией межсетевого экранирования для почты. Поэтому ставить PMG, как и любой другой шлюз, нужно вразрез (на границе попадания почтового трафика извне) прохождения почтового трафика. Таким образом, между SMTP-сервером отправителя (или спамера) и SMTP-сервером получателя есть барьер в виде почтового шлюза.
На чем ставить
PMG поставляется в виде ISO-инсталлятора. Поэтому на чем его устанавливать - решение на вкус и цвет каждого. Хоть на старый ПК, хоть на сервак, хоть использованием виртуализации.
Установка
Установка предельно простая, описана в официальной документации и мало чем отличается от установки типичной ОС из ISO-инсталлятора. Пользователи PVE вообще не заметят существенной разницы.
Как зайти
После успешной установки, для управления PMG необходимо перейти в браузере по адресу: https://{ip_or_domain_name_pmg}:8006
и ввести учетные данные, указанные при установке.
Настройка Proxmox Mail Gateway
Если описывать настройку всех возможностей, то статья превратится в документацию сайта разработчика, поэтому опишу кратко основные (необходимые) параметры.
Для настройки (администрирования) механизмов почтового шлюза представлены следующие разделы:
Mail Filter - настройка цепочек правил контентной фильтрации писем (аналог Content Filters у ESA). Касается обработки писем и действий над ними;
Configuration - настройка основных параметров самого шлюза. Включение/отключение механизмов защиты, настройки сети, ретрансляции, антивирусного и спам движков, управление пользователями, настройка кластера, бекапирования, сертификатов;
Administration - управление почтовыми очередями, карантинами, настройка Black/White листов, просмотр трекинга сообщений;
Mail Filter
PMG из коробки уже наделен цепочками правил в Mail Filter, готовыми к работе на страже вашего почтового трафика. Подробно останавливаться на этом не вижу смысла, кто работал с ESA - поймет, и допилит под себя, кто впервые на это смотрит - необходимо понять суть. Суть в том, что для построений цепочек правил (Rules) существуют следующие объекты:
Action Objects - действия, применяемые при попадании в правило (Rule). Например, доставить письмо пользователю, дропнуть письмо, поместить в карантин, удалить вложения, оповестить администратора и т.д.;
Who Objects - сгруппированные по какому-либо признаку списки объектов, относящихся к отправителю или получателю (конкретные адреса, домены, IP-адреса, регулярные выражения и т.д.);
What Objects - сгруппированные по какому-либо признаку списки объектов, относящихся к содержимому электронного письма (картинки, ссылки, вложения, офисные файлы и т.д.);
When Objects - сгруппированные по какому-либо признаку списки объектов, относящихся к временному интервалу, например, нерабочее время или ночь;
Соответственно, подобно составлению ACL, комбинирование данных объектов в цепочку - это и есть правила. Образно работает это так:
Если мне прислали письмо от spammer@spam.ru (адрес из Blacklist в Who Objects), в письме офисный документ .docx (файл из What Objects) - заблокировать письмо или отправить в карантин (действие из Action Objects).
Configuration
Основной раздел для настройки работы почтового шлюза. В этом разделе первым делом нужно настроить Mail Proxy.
Mail Proxy
В разделе Relaying в поле Default Relay указываем IP-адрес или доменное имя SMTP-сервера, на который нужно отправлять письма дальше (сервер, обслуживающий ваш домен).
В разделе Relay Domains необходимо добавить домены, обслуживаемые вашим SMTP-сервером. Делается это для того, чтобы PMG понимал, какие письма ему обрабатывать и отправлять дальше.
В разделе Ports вы можете изменить какие порты PMG должен слушать. По-умолчанию 25 порт (External) служит для приема писем снаружи (из Интернета). Порт 26 (Internal) является релеем для получения писем от вашего почтового сервера и отправки их затем наружу (на другие почтовые домены).
В разделе Transports необходимо указать какому домену какой SMTP-сервер использовать для пересылки. У вас может быть несколько обслуживаемых доменов и на каждый из этих доменов может быть свой SMTP-сервер.
В разделе Networks необходимо указать доверенные сети - сети с которых будет разрешен прием для пересылки на другие домены. Делается это для того, чтобы письма пересылались наружу только с ваших доверенных SMTP-серверов.
В разделе TLS можно включить TLS при отправки и получении сообщений. Это означает, что при включенном TLS PMG будет пытаться отправлять письма наружу с использованием расширения ESMTP - STARTTLS, а так же сможет такие такие письма принять.
В разделе DKIM можно включить подпись исходящих сообщений. О том как добавить в PMG свой ключ подписи - написано в документации.
В разделе Whitelist можете указать те адреса и домены, которые не будут проходить проверки, включенные в разделе Options.
В разделе Options настраивайте механизмы проверок в зависимости от политики вашей организации. От себя хочу посоветовать изменять стандартный баннер и не показывать всем, что вы используете.
На этом основное конфигурирование почтового шлюза заканчивается. Все остальные настройки корректируются в зависимости от ваших личных предпочтений и требований безопасности.
Spam Detector
В качестве антиспам-решения PMG использует под капотом SpamAssassin. По-умолчанию включен и готов к работе из коробки. Для изменения параметров антиспама используются разделы:Options, Quarantine, Status, Custom Scores
Virus Detector
В качестве АВЗ PMG использует движок ClamAV. По-умолчанию включен и готов к работе из коробки. Для изменения параметров антивирусного движка используются разделы:Options, ClamAV, Quarantine
Cluster
Cisco ESA позволяет работать в режиме кластера. Это означает, что у вас может быть 2 почтовых шлюза (для балансировки нагрузки или отказоустойчивости). При этом режиме работы, настройки и политики применяемые на одном шлюзе синхронизируются с другим и наоборот (аналог стека у коммутаторов).
Proxmox Mail Gateway так же из коробки позволяет сделать вам кластер из нескольких нод. Аналогией является кластер в PVE, где несколько физических гипервизоров можно объединить в кластер.
Настройка банально проста и происходит в разделе Cluster. Для настройки объединения нод PMG в кластер необходимо:
На мастер ноде создать кластер (нажать кнопку Create) и подождать завершения операции;
На мастер ноде нажать на кнопку Add и скопировать себе IP Address и Fingerprint;
На ноде, которую хотите добавить в кластер нажать кнопку Join и ввести IP Address, Пароль и Fingerprint, скопированного с мастер-ноды.
Кластер готов. Теперь настройки применяемые на одной из нод будут применены и на другой. Все просто, не так ли?
Итог
И это все? Конечно, да нет. Данная статья рассчитана на то, чтобы познакомить вас с таким замечательным, на мой взгляд, решением, как Proxmox Mail Gateway. Конечно до Cisco ESA ему еще далеко, но из того, что предлагает OpenSource - это топ. Настройки, приведеные в статье позволяют лишь подготовить PMG для пересылки писем от внешнего отправителя на внутренний почтовый сервер и наоборот. Как я говорил в самом начале, прелесть данного решения в готовности к бою со спамом из коробки, при минимальных затратах на его настройку. Главная задача настройки сводится к "направлению" почтового трафика через почтовый шлюз. Прелесть данного решения еще и в том, что под капотом Debian с Postfix, SpamAssassin, ClamAV, OpenDKIM и т.д., которые уже взаимодействуют между собой. Все, что вам остается - тюнить правила и политики. Если не хватает возможностей с вебки - лезем по SSH на PMG, устанавливаем пакеты, конфигурируем файлы, танцуем с бубном - все в ваших руках, все как мы любим. Ну и, конечно же - чтение документации. У PMG есть свои утилиты для управления политиками, а так же Rest API.
Не забудьте указать на вашем SMTP-сервере (MTA) в качестве релея - PMG с портом 26, для отправки всех писем наружу через шлюз. Так же не забудьте настроить NAT на вашем пограничном оборудовании, чтобы внешний IP с портом 25 указывал на 25 порт PMG. Дерзайте!
Комментарии (9)
avelor
24.04.2022 22:40При учёте что кламав немношк не обновляется в РФ и вообще циско - pmg не научился ещё удобно прикручивать другие антивирусные движки?
13werwolf13
25.04.2022 06:21+1это конечно костыль а не решение, но ничего не мешает завернуть маршруты до серверов откуда clamav берёт обновления в vpn до каких нибудь нидерландов
да и в общем-то держать сервера в россии нынче могут позволить себе только те кого это обязывает закон, остальным это скорее выстрел себе в ногу
toxella Автор
25.04.2022 06:56Из коробки он работает с одним кламав. Можете прикрутить свой антивирус, это же дебиан. Но я больше сторонник обновления с использованием tor или vpn. Просто ставите себе torsocks + proxychains и обновляетесь.
Godless
25.04.2022 09:58боюсь, что clamav несколько проседает по эффективности по сравнению с решениями drweb и kaspersky. не реклама. А так решение интересное
13werwolf13
25.04.2022 13:23drweb не щупал, а от кошмарского только негативные впечатления. А вот реально радовали решения от eset.. но было это давненько может сейчас что и поменялось
Qwertqwerty
25.04.2022 14:38Был ли опыт отправки событий в siem? Насколько подробное логирование, можем ли понять почему письмо попало(не попало в спам), логируется ли помещение письма в карантины?
Adjuster2004
Как он работает с архивами rar?
toxella Автор
В старых версиях наблюдались проблемы извлечения из-за отсутствия в дистрибутиве необходимых библиотек. Решается довольно просто:
https://www.k7d.ru/it/proxmox-mail-gateway-ne-vidit-rar-arhivy/