Опубликовано: 07.05.2023
Proxmox Mail Gateway представляет из себя почтовый шлюз с возможностями проверки писем на наличие нежелательного контента. С его помощью можно легко обеспечить надежную маршрутизацию почтовой системы и повысить безопасность работы. Большая часть настроек может быть выполнена из графического веб-интерфейса.
Установка Proxmox Mail Gateway
Настройка входящих
Настройка исходящих
Дополнительные настройки
Установка
Proxmox Mail Gateway поставляется как готовый образ операционной системы Debian с установленными и преднастроенными пакетами. Для установки системы нам необходимо скачать файл ISO на странице официального сайта, после создаем загрузочную флешку с помощью rufus или WinSetupFromUsb. Если мы устанавливаем Mail Gateway на виртуальную машину, то без создания загрузочной флешки можно монтировать образ iso к самой виртуальной машине.
После загрузки сервера с образа ISO запустится мастер установки. В нем нет сложных нюансов — просто идем по шагам, отвечая на несложные вопросы. Сама установка занимает, в среднем, от 5 до 15 минут.
После мы можем перейти в веб-интерфейс для управления по адресу https://<IP-адрес сервера Proxmox>:8006. В качестве логина вводим root и пароль, который указали во время установки системы.
После кликаем по учетной записи в правом верхнем углу и выбираем Language:
Откроется окно с выбором языка. Выбираем тот, с которым нам удобно работать:
Настройка входящих писем
Для настройки маршрутизации входящих писем необходимо:
- Указать IP-адрес внутреннего почтового сервера.
- Добавить домены, на которые должны приходить письма.
Для этого переходим в пункт меню Конфигурация — Почтовый прокси:
На вкладке Ретрансляция в поле «Транслятор по умолчанию» вводим IP-адрес почтового сервера, куда будут перенаправляться письма:
Переходим на вкладку Домены ретрансляции и добавляем обслуживаемые почтовые домены:
Для первых тестов рекомендуется на вкладке Параметры отключить серые списки:
* серые списки позволяют эффективно бороться со СПАМом, но замедляют работы почты. Это сильно будет мешать при первичном тестировании системы.
Также сразу зададим объем почтовых сообщений, которые могут проходить через Proxmox Mail Gateway. Для этого переходим на вкладку Параметры и меняем значение для опции «Размер письма»:
* в данном примере установлено значение 31457280, что равно 30 * 1024 * 1024 или 30 Мб.
Готово. Проверить прием почтовых сообщений можно с помощью онлайн сервиса smtper.net.
Настройка исходящих
В рамках данного раздела рассмотрим настройку Proxmox Mail Gateway для его использования как сервера отправки. Мы настроим сам Proxmox для его использования как ретранслятора исходящих сообщений и выполним рекомендации для того, чтобы наши сообщения не попадали в СПАМ.
Отправка сообщений
Снова заходим в Конфигурация — Почтовый прокси:
Во вкладке Сети необходимо указать IP-адреса или подсети, с которых будет разрешена пересылка писем:
* в моем примере для адреса 192.168.0.15 будет разрешена пересылка писем через Proxmox Mail Gateway.
Теперь переходим на вкладку Порты. Тут ничего менять не обязательно — просто смотрим номера:
* в данном примере перед нами порты 25 и 26. Это значит, что Proxmox Mail Gateway принимает входящие на порт 25, а сообщения для отправки на порт 26. Таким образом, наш внутренний почтовый сервер должен для отправки наружу писем через Proxmox использовать адрес ретранслятора и 26-й порт.
Теперь переходим к настройкам почтового сервера. Рассмотрим пример с конфигурированием postfix.
Открываем конфигурационный файл mail.cf:
vi /etc/postfix/main.cf
Находим и редактируем relayhost:
relayhost = [192.168.0.25]:26
* в данном примере отправка идет через хост с адресом 192.168.0.25, который слушает запросы smtp на порту 26.
Перезапускаем postfix, чтобы настройки применились:
systemctl restart postfix
Готово — можно проверить исходящие.
Защита от попадания в СПАМ
Чтобы исходящие письма доходили до адресата, необходимо выполнить ряд действий.
1. Настройка DKIM
Заходим в настройка почтового прокси:
Переходим на вкладку DKIM:
Добавляем наши домены:
Выше на той же вкладке включаем подписывание DKIM:
Кликаем по кнопке Просмотр DNS-записи:
Во всплывающем окне мы увидим запись, которую нужно добавить в DNS. Создаем соответствующую TXT-запись и ждем 15 минут. После проверяем DKIM.
2. Запись SPF
Для валидации каждого домена, от которого будут отправляться письма нужно создать запись SPF в DNS. Пример записи:
domain.ru. IN TXT «v=spf1 ip4:93.93.93.93 include:_spf.mailsystem.net -all»
Подробнее про SPF читайте на странице Что такое SPF-запись.
3. DMARC
Политика DMARC позволяет для каждого домена указать чужой почтовой системе, что делать с письмами, если они не проходят проверку домена по SPF и DKIM.
Пример записи:
v=DMARC1; p=quarantine; sp=none; pct=100; fo=0; rua=mailto:postmaster@dmosk.ru
Подробнее про DMARC читайте на странице Что такое DMARC.
4. PTR
Также антиспам системы используют проверку записи в обратной зоне. Смысл в том, что имя сервера, которым представляется почтовая система должен совпадать со значением записи PTR.
Данную запись должен создать Интернет-провайдер или хостер арендованной виртуальной машины. Подробнее про PTR читайте на странице Что такое PTR-запись.
Сама почтовая система представляется именем, которое указано в опции myhostname конфигурационного файла postfix. По умолчанию, она соответствуем имени сервера. Задать его можно командой:
hostnamectl set-hostname relay.dmosk.ru
Но Proxmox из коробки настроен так, что myhostname определяется автоматически опросом DNS. Проверить, каким именем он представляется можно из командной строки с помощью утилиты telnet:
apt install telnet
telnet 127.0.0.1 25
Мы должны увидеть что-то на подобие:
Connected to 127.0.0.1.
Escape character is ‘^]’.
220 mail.dmosk.ru ESMTP Proxmox
* в нашем примере почтовая система будет представляться именем сервера mail.dmosk.ru.
Если же Proxmox неправильно определяет имя и нужно его поменять, то создаем каталог:
mkdir /etc/pmg/templates
Копируем в него шаблон main.cf.in:
cp /var/lib/pmg/templates/main.cf.in /etc/pmg/templates/main.cf.in
Открываем его на редактирование:
vi /etc/pmg/templates/main.cf.in
Меняем значения для директив mydomain и myhostname:
mydomain = dmosk.ru
myhostname = mail.dmosk.ru
Применяем настройки:
pmgconfig sync —restart 1
Готово.
Дополнительные настройки
Рассмотрим некоторые дополнительные настройки, которые упростят работу с Proxmox Mail Gateway.
Репозиторий
По умолчанию система использует корпоративный репозиторий, для работы которого нужна платная подписка. Необходимо его отключить:
vi /etc/apt/sources.list.d/pmg-enterprise.list
#deb https://enterprise.proxmox.com/debian/pmg bullseye pmg-enterprise
И добавить репозиторий для бесплатного использования:
vi /etc/apt/sources.list.d/pmg-no-sub.list
deb http://download.proxmox.com/debian/pmg bullseye pmg-no-subscription
После обновляем список пакетов командой:
apt update
Обновление антивируса
В связи с блокировки российских IP-адресов, обновления антивируса ClamAV выполняются с ошибкой. Для решения проблемы подключаемся с серверу по SSH и открываем файл:
vi /etc/clamav/freshclam.conf
Комментируем строки, которые начинаются на DNSDatabaseInfo и DatabaseMirror:
##DatabaseMirror database.clamav.net
…
##DNSDatabaseInfo current.cvd.clamav.net
Добавляем строку:
PrivateMirror https://packages.microsoft.com/clamav/
Останавливаем службу clamav-freshclam:
systemctl stop clamav-freshclam
Удаляем старую информацию об обновлениях:
rm -f /var/lib/clamav/freshclam.dat
Запускаем обновление:
freshclam
Ждем обновления, после запускаем службу clamav-freshclam и перезапускаем clamav-daemon:
systemctl start clamav-freshclam
systemctl restart clamav-daemon
Теперь переходим в веб-интерфейс и заходим в раздел Конфигурация — Детектор вирусов:
Кликаем по вкладке ClamAV и также меняем зеркало базы данных на новое значение (на https://packages.microsoft.com/clamav/):
Время на прочтение
6 мин
Количество просмотров 19K
Средства межсетевого экранирования стали де-факто атрибутом любой сетевой инфраструктуры. Почтовому трафику тоже необходимы средства фильтрации. Поэтому в современных релеях реалях тяжело представить почтовую инфраструктуру организации без почтовых шлюзов (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. Дерзайте!
Proxmox Mail Gateway — продвинутая система фильтрации спама и вирусов. Позволяет создавать собственные правила фильтрации и отслеживать почту в режиме реального времени. В данной статье мы рассмотрим установку и настройку образа Proxmox Mail Gateway на сервер.
Установка Proxmox Mail Gateway
После загрузки с образа появится графический интерфейс мастера установки. Для начала согласимся с лицензионным соглашением. Proxmox Mail Gateway распространяется как свободное программное обеспечение, но есть и платная подписка. Далее выбираем диск, на который хотим установить систему. По нажатию на кнопку Options можно вручную разметить диск или создать RAID-массив. На следующих страницах выбираем страну, временную зону, раскладку клавиатуры, устанавливаем пароль супер-пользователя (root) и вводим свой email-адрес. После этого появятся настройки сети. После настроек сети начнётся установка.
Первоначальная настройка
Когда мастер завершит установку, можно переходить к настройке. Первым делом зайдем в web-интерфейс Proxmox Mail Gateway по IP-адресу, который ввели на странице настроек сети + порт 8006. Очень важно, чтобы протокол был именно https, а не http. На странице входа вводим имя root пользователя и пароль, который вводили в мастере установки. Также можно выбрать русский язык для удобства. Попадаем на главную страницу управления Proxmox Mail Gateway.
Рисунок 1 — Главная страница Proxmox Mail Gateway
Первым делом нам нужно указать IP-адрес нашего почтового сервера, добавить обслуживающие домены и добавить IP-адреса, с которых будет разрешена пересылка писем. Для этого переходим в пункт меню Конфигурация — Почтовый прокси.
В поле Транслятор по умолчанию вводится IP-адрес почтового сервера. Теперь переходим во вкладку Домены ретрансляции и добавляем обслуживаемые почтовые домены.
Во вкладке Сеть необходимо указать IP-адреса, с которых будет разрешена пересылка писем. Можно указывать подсетью.
Теперь наш почтовый шлюз готов. Но для длительной работы лучше сделать ещё несколько настроек.
Вторичные настройки
Теперь поменяем репозиторий. По умолчанию в Proxmox Mail Gateway прописаны только репозитории для платных подписчиков. Чтобы получать обновления, необходимо вписать репозитории для пользователей без подписки. Для этого перейдём в Управление, вкладка Repositories. Там нажмем Добавить, выберем из списка No-Subscription и нажмем кнопку Добавить. После этого может появиться сообщение о новых обновлениях.
Рисунок 2 — Уведомление об обновлениях
После того, как полностью настроите Proxmox Mail Gateway под свои нужды, не забудьте сделать резервную копию настроек в Конфигурация — Backup/Restore.
Дополнительные настройки компонентов
Spam Detector
В данной вкладке содержаться различные настройки по сортировке и выявлению спама. Почтовый шлюз Proxmox анализирует все входящие сообщения электронной почты и решает для каждого письма, является ли он спамом или же (вирусом), в соответствие с его решением письмо отправляется в карантин либо же в папку Входящие.
Virus Detector
Все письма автоматически передаются входящему в комплект детектору вирусов (ClamAV), настройки по умолчанию считаются безопасными, поэтому их обычно не требуется изменять. Выявленные вирусные письма автоматически перемещаются в вирусный карантин, администратор может просматривать эти письма из графического интерфейса пользователя и разрешать их доставку в случае ложных срабатываний.
Черный и Белый список
Почтовый шлюз Proxmox имеет несколько белых и черных списков. Он различает белый список SMTP, белый список на основе правил и белый список пользователей. В дополнение к белым спискам существуют два отдельных черных списка: черный список на основе правил и черный список пользователей.
Черный и Белый список на основе правил
Белый и черный списки на основе правил являются предопределенными правилами. Они работают, проверяя на соответствие прикрепленные объекты Who, содержащие, например, домен или адрес электронной почты. Если оно совпадает, используется назначенное действие, которое по умолчанию принимается для правила белого списка и блокируется для правила черного списка. При настройке по умолчанию правило черного списка имеет приоритет над правилом белого списка и проверками на спам.
Черный и Белый список пользователя
Белый список и черный список пользователей зависят от конкретного пользователя. Каждый пользователь может добавлять почтовые адреса в свой белый список и черный список. Когда пользователь добавляет почтовый адрес в белый список, результат анализа нежелательной почты для этого получателя будет удален.
Proxmox Mail Gateway — безусловно мощный инструмент, хоть и далек от идеала. Одной статьи будет мало чтобы рассказать о всех его настройках. Более того, если настроек в web-интерфейсе не хватает для достижения желаемого результата, или хочется, например, подключить другой Spam/Virus Detector, то всегда можно зайти на PMG-сервер и настроить все вручную, это уже зависит от вашего воображения и опыта работы.
Борьба со спамом — серьезная проблема с которой сталкивается каждый администратор почтового сервера. К сожалению, популярные почтовые сервера в базовой конфигурации не имеют эффективных инструментов для фильтрации нежелательной почты, а их тонкая настройка порою достаточно сложна и нетривиальна. К тому же направлять весь поток входящей почты на основной почтовый сервер не самая лучшая идея, хорошей практикой является использование пограничных почтовых шлюзов, основная задача которых фильтрация проходящих через них сообщений.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Чтобы понять место шлюза в вашей почтовой системе рассмотрим простую схему. Без шлюза весь поток входящей почты попадает прямо на основной сервер, который затем в меру своих сил будет пытаться ее фильтровать. Обычно это получается плохо, и большая часть нежелательной почты попадет в ящики получателей, вызывая, самое меньшее, их недовольство. Но с почтой могут быть связаны и более серьезные угрозы, такие как фишинг и вредоносное ПО, и не всегда эти угрозы удается блокировать на самом последнем этапе — чаще всего слабым звеном оказывается сам пользователь.
При появлении пограничного шлюза вся входящая почта будет направлена на него, а основному серверу будет передана только чистая, прошедшая через фильтры почта. Конечно всегда существует риск ложного срабатывания или пропуска нежелательной почты, но следует помнить, что шлюз является специализированной системой, задачей которой является именно борьба со спамом и вредоносным ПО в письмах и его эффективность будет гораздо выше, чем у фильтров вашего основного сервера.
Исходящая почта как передавалась вашим основным сервером, так и будет передаваться. Технически, конечно, возможно и ее пропустить через шлюз, но на практике такое решение вызывает больше проблем, чем предоставляет преимуществ. Такая схема потребует внесения существенных изменений в почтовую инфраструктуру: изменение DNS-записей, правильная настройка заголовков и т.д. В случае неверных настроек вреда будет больше, чем пользы, ваша почта начнет выглядеть подозрительно и будет иметь гораздо более высокие шансы попасть в спам у получателя.
Тем более, что отправку с собственного сервера администратор вполне может контролировать, а если спам вдруг начнет отправлять вредоносное ПО, то оно вряд ли будет это делать через шлюз.
В качестве пограничного почтового шлюза мы будем использовать Proxmox Mail Gateway, бесплатное решение с открытым исходным кодом. Несмотря на то, что к продукту предлагается платная подписка, даже в бесплатной версии Proxmox Mail Gateway представляет собой достаточно эффективный и удобный инструмент для зашиты вашей почтовой системы. Продукт базируется на базе Debian, либо может быть установлен на эту систему как сервис. Но мы рекомендуем разворачивать его на выделенном сервере (можно виртуальном) из официального образа, который доступен на сайте разработчика.
Установка системы производится в графическом режиме и не должна вызвать сложностей, если у вас есть опыт установки Linux. Первым шагом нам предлагают настроить конфигурацию дисков, в качестве целей вам будут доступны одиночные диски, для того чтобы получить больше возможностей нажмите Options и появившееся окно даст вам настроить требуемую конфигурацию, например, создать RAID-массив.
В нашем случае было выбрано простое зеркало (RAID 1), настроек — необходимый минимум, запутаться решительно негде.
Затем потребуется указать регион и часовой пояс, задать пароль суперпользователя и сетевые настройки, после чего будет проведена установка системы.
После установки нас встретит консоль с предложением подключиться к системе через браузер, но не будем спешить. Войдем в систему под суперпользователем root.
Сразу напомним, внутри обычный Debian, поэтому можем делать все, что сочтем нужным, например, доустановить для удобства администрирования Midnight Commander и любые иные утилиты. Но прежде всего следует отключить корпоративный репозиторий Proxmox, который доступен только по подписке:
rm /etc/apt/sources.list.d/pmg-enterprise.list
А затем создадим собственный лист:
touch /etc/apt/sources.list.d/pmg-no-subscription.list
И внесем в него следующее содержимое:
deb http://download.proxmox.com/debian/pmg stretch pmg-no-subscription
Теперь можно перейти в веб-интерфейс, в котором и будет происходить вся работа с почтовым шлюзом. Наберем в браузере указанный адрес, обязательно с указанием защищенного протокола HTTPS, для аутентификации используем пользователя root и указанный при установке пароль. Первоначально админка способна сбить с толку обилием разнообразных пунктов и опций, но сейчас нас интересует окончательная настройка шлюза.
Для этого перейдем в раздел Configuration, на верхнем уровне располагаются настройки сети и времени, некоторые дополнительные опции, такие как почта администратора, настройки статистики и ежедневной рассылки отчетов, а также резервное копирование и восстановление настроек. На данный момент ничего интересного для нас здесь нет, поэтому переходим уровнем ниже Configuration — Mail Proxy. Первый пункт Relaying содержит очень важную настройку пересылки почты, в пункте Default Relay следует указать ваш основной почтовый сервер.
В следующем пункте Relay Domain следует указать все обслуживаемые вашим почтовым сервером домены, в противном случае почта будет отклонена как как нежелательная.
На закладке Options обратите внимание на пункт Message Size — это предельный размер письма, который будет пропущен шлюзом, письма большего размера будут отброшены. Остальные опции мы пока трогать не рекомендуем, настройки Proxmox Mail Gateway достаточно эффективны и крутить настройки вручную следует уже с учетом фактического результата работы продукта.
Теперь можно вводить наш шлюз в эксплуатацию, для этого достаточно перенаправить поток почты с порта 25 основного сервера на порт 25 шлюза, обычно для этого достаточно изменить настройку проброса портов на роутере. Точно также все можно быстро вернуть обратно, если вдруг что-то пойдет не так.
А мы пока перейдем в раздел Spam Detector, в этом качестве используется SpamAssassin, из настроек следует также обратить внимание на размер письма и время нахождения спама в карантине, на закладке Update можно вручную обновить набор правил, хотя эта задача выполняется автоматически, по расписанию.
В разделе Virus Detector находятся настройки антивируса ClamAV, здесь также можно запустить его обновление вручную. Однако в этом процессе вы можете получить похожую «ошибку»:
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.100.0 Recommended version: 0.101.1
Но повода для беспокойства здесь нет, система обновляет пакеты ClamAV из репозиториев Debian, где последняя версия на момент написания статьи была 0.100.0, а с серверов ClamAV антивирус получил данные о наличии более новой версии 0.101.1. Однако на безопасность это влияет слабо, гораздо более важно своевременное обновление баз, а с этим у нас все в порядке.
Раздел User Management ожидаемо содержит настройки пользователей. Здесь же можно добавить дополнительных пользователей, например, менеджера карантина, которому будет доступно только просмотр и управление письмами в карантине, без возможности изменять настройки сервера. Это позволяет дать определенным пользователям возможность самим проверять попадание нужных писем в карантин, не тревожа лишний раз администраторов, но и не боясь, что они что нибудь сломают по неосторожности.
Но гораздо интереснее иной пункт — Fetchmail — это консольный почтовый клиент, который позволяет получать и перенаправлять на нужные адреса почту с внешних аккаунтов, например, с публичных почтовых служб. Мы рассказывали про него в статье Zimbra. Сбор почты с внешних аккаунтов, но если вы решили использовать почтовый шлюз, то лучше возложить эту функцию на него с одновременной фильтрацией такой почты.
Создание внешнего почтового аккаунта особой сложности не представляет и ничем не отличается от настройки почтового клиента, единственное отличие — вы дополнительно должны указать внутренний ящик, на который следует отправлять полученную почту.
Также ненадолго заглянем в раздел Administration, на верхнем уровне которого собраны инструменты управления сервером, их немного, но для повседневной работы вполне достаточно. На первом экране собраны графики загрузки сервера, а также кнопки вызова консоли, перезагрузки и выключения.
На других вкладках можно посмотреть состояние служб сервера и статус задач, вывод сообщений syslog в режиме реального времени и проверить наличие обновлений. Там же можно их установить. При этом в отдельном окне открывается консоль и дальнейшее управление процессом обновления производится в нем.
Теперь покинем этот раздел и перейдем на самый верх, в Mail Filter, который содержит настройки фильтрации почты. На верхнем уровне расположены правила, указан их приоритет и направление действия, если выделить любое из них, то справа можно увидеть логику его действия.
Правила применяются в порядке убывания приоритета, при срабатывании правила дальнейшее прохождение зависит от применяемого в нем действия, если действие окончательное, то обработка письма на нем прекращается, если нет — письмо идет дальше по списку.
Для построения правил используются несколько типов объектов:
- Action Objects — действия, которые могут быть применены к письму. Могут быть окончательными или нет. К окончательным относятся три действия: Accept, Block и Quarantine, остальные действия не прерывают прохождение письма по цепочке правил.
- Who Objects — субъекты, т.е. отправители или получатели почты, это могут быть почтовые адреса, домены, IP-адреса и подсети, пользователи и группы пользователей. Допустимо использование регулярных выражений. По умолчанию создано два объекта: глобальные белый и черный списки.
- What Objects — свойства письма, это могут быть факты срабатывания спам и антивирусного фильтра, совпадение заголовков с заданным шаблоном, тип вложения, тип содержимого архива.
- When Objects — временной промежуток, скажем рабочее время офиса.
Чтобы не быть голословными, составим собственное правило. В качестве вводной примем следующие условия: есть некоторые контрагенты, и их весьма много, которые посылают нам в рабочее время документы в формате PDF или XSL/XSLX с пустым телом письма и возможно даже без темы, документы могут быть в архиве.
Прежде всего перейдем в раздел What Objects и создадим новый объект, назовем его PDF & Excel, в который добавим четыре типа Content Type Filter, в которых укажем документы PDF, ХLS, XLSX и ODS (так как документ Excel давно стал понятием собирательным и нам вполне могут прислать таблицу в формате Open/LibreOffice). Затем добавим четыре типа Archive Filter с тем же самым содержимым, если документ придет запакованным в архив.
Следующим условием задачи у нас стоит время отправки подобной документации, условно примем его с 8:00 до 20:00, перейдем в раздел When Objects и создадим временной промежуток Work Time.
Теперь составим собственное правило, укажем его имя, приоритет и поставим флаг активности. Мы решили разместить его ниже проверок на черные/белые списки и вредоносное/опасное содержимое, но перед проверкой на спам.
Выберем созданное правило и в правой части экрана добавим What — PDF & Excel, Action — Accept. Данное действие является окончательным и дальше по цепочке такое письмо не пойдет.
И снова перейдем в раздел Administration, теперь нас будет интересовать управление карантином, для начала перейдем в Spam Quarantine. Здесь можно просмотреть письма, попавшие в карантин для каждого почтового ящика. Выбираем период времени и почтовый ящик, и получаем полный список попавших в карантин сообщений.
Для каждого сообщения доступен ряд действий, во первых добавление в персональный черный/белый список, но это действие не изменяет состояние письма, оно остается в карантине, при необходимости мы можем доставить его получателю (Deliver) или удалить (Delete), если не предпринять никаких действий, то такое письмо будет удалено по истечению срока хранения (по умолчанию 7 дней). Аналогичным образом работает и антивирусный карантин.
Здесь же доступно управление персональными черными/белыми списками пользователей, однако следует четко понимать, что использование персональных списков не должно подменять использования списков глобальных. Если прошедшее через фильтры письмо явный спам — то его следует добавить в глобальный список. Персональные списки следует использовать в тех случаях, когда требуется обойти глобальные правила. Скажем у вас глобально запрещены рассылки от различных интернет-магазинов, но отдел закупок наоборот хочет их получать — не вопрос, на помощь придут персональные списки.
Tracking Center позволяет быстро найти письмо по ряду признаков, таких как период времени, отправитель, получатель. Это позволяет быстро ответить на вопросы пользователей, оперативно выяснив статус ожидаемого ими письма, либо убедиться, что искомое сообщение в вашу почтовую систему не поступало.
Раздела Statistics мы подробно касаться не будем, там и так все понятно, статистика в различных ее видах.
В заключение хочется сказать, что Proxmox Mail Gateway показал себя как гибкое и эффективное средство борьбы со спамом, поэтому мы можем смело рекомендовать его к внедрению и надеемся, что данная статья окажется вам полезной.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Сейчас уже сложно представить себе компанию, которая не использовала бы электронную почту. К счастью, решений для обеспечения работы с электронной почтой предостаточно – есть как бесплатные решения, так и коммерческие. Более того, решение по работе с электронной почтой может быть как облачное, так и наземное. Наиболее известные почтовые сервера и сервисы – это Microsoft Exchange, Яндекс почта, GMail, почта mail.ru, Zimbra, Postfix, CommuniGate Pro и т.д. Но, к сожалению, одна из первых проблем, с которой вы столкнетесь при использовании электронной почты – это спам. Если вы выбрали облачный сервис электронной почты, то фильтрация спама ложится в подавляющем большинстве случаев на сервис провайдера. При использовании наземного решения вам нужно будет как то бороться со спамом самостоятельно. Одно из решений для борьбы со спамом электронной почты – Proxmox Mail Gateway. В этой публикации я покажу, как выполняется установка Proxmox Mail Gateway, а также минимальная настройка.
Proxmox Mail Gateway – это open-source решение по борьбе со спамом в потоке электронной почты. Более того, Proxmox Mail Gateway может также сканировать электронную почту на наличие фишинговых писем, вирусов и троянов. Довольно комплексная защита для open-source решения.
Решение Proxmox Mail Gateway пропускает через себя весь почтовый трафик в вашей компании и отсеивает подозрительные письма, тем самым обеспечивает то, что до ваших пользователей будут доходить только действительно нужные электронные письма.
т.е. в самом простом варианте схема решения будет примерно следующая:
Вся входящая почта на схеме выше сначала принимается и обрабатывается сервером Proxmox Mail Gateway. Вся подозрительная почта отфильтровывается и на ваш почтовый сервер доставляет уже только проверенные электронные письма.
Для удобства настройки, администрирования и управления Proxmox Mail Gateway предоставляется веб интерфейс администрирования.
Решение может быть установлено как на физический сервер, так и на виртуальную машину. В качестве операционной системы решение использует Debian Linux.
Предварительные требования
Полные системные требования приведены в разделе официальной документации. В таблице ниже я приведу основные параметры минимальные и рекомендуемых системных требований.
Параметр | Минимальные требования | Рекомендуемые требования |
ЦПУ | одноядерный 64-х разрядный процессор (Intel EMT64 или AMD64) | многоядерный 64-х разрядный процессор (Intel EMT64 или AMD64) |
Объем оперативной памяти | 2 ГБ | 4 ГБ |
Объем жесткого диска | 8 ГБ | 20 ГБ |
Если вы решите использовать виртуальное решение, то Proxmox Mail Gateway поддерживает установку на следующие гипервизоры:
- Proxmox VE
- Vmware vSphere
- Hyper-V
- KVM
- Virtual box
- Citrix Hypervisor
А также любые другие гипервизоры, которые поддерживают установку Debian Linux в качестве гостевой операционной системы.
Установка Proxmox Mail Gateway
Загрузить дистрибутив с Proxmox Mail Gateway можно на сайте вендора в разделе загрузок.
Я буду выполнять установку Proxmox Mail Gateway в качестве виртуального решения.
Процесс установки не должен вызывать каких-то особых трудностей:
1. Выполняем загрузку с ISO образа.
2. На первом шаге мастера установки выбираем пункт “Install Proxmox Mail Gateway”.
3. Принимаем лицензионное соглашение – нажимаем кнопку “I Agree”.
4. Указываем диски, на который необходимо выполнить установку Proxmox Mail Gateway. Если у вас есть несколько дисков, то на это этапе вы можете собрать RAID, нажав кнопку “Options”. Я не буду собирать зеркало, а просто укажу диск для установки и нажму кнопку “Next”.
5. На следующем шаге мастер установки предлагает выбрать страну, часовой пояс и локаль для клавиатуры. После указания всех параметров нажимаем кнопку “Next”.
6. Далее очень важный шаг – нужно указать пароля для пользователя root и адрес электронной почты для отправки почтовых уведомлений. Далее нажимаю “Next”.
7. Теперь нужно указать параметры статической адресации и DNS-имя, по которому мы будем подключаться к веб-панели управления Proxmox Mail Gateway. По завершении указания параметров нажмите кнопку “Next”.
8. В завершении мастер установки представит нам таблицу со сводными параметрами установки, которые мы выбрали. Для запуска процесса установки нажмите кнопку “Install”.
9. Дождитесь окончания процесса установки.
После завершения установки вы можете перейти в веб интерфейс управления Proxmox Mail Gateway по следующему адресу:
https://pmg.itproblog.ru:8006/
Если вы не регистрирования DNS имя, то можете выполнить подключение непосредственно по IP-адресу.
В качестве логина указывает пользователя root, а в качестве пароля тот пароль, который вы указали на этапе установки системы.
Пример стартового экрана Proxmox Mail Gateway приведен на скриншоте ниже.
Установка Proxmox Mail Gateway завершена. Теперь нужно настроить прием почтового трафика из вне, а затем передачу отфильтрованного почтового трафика на внутренний сервер электронной почты.
Настройка репозиториев обновлений
В завершении установки я бы рекомендовал включить репозиторий с бесплатными обновлениями. Для этого отредактируйте файл sources.list:
nano /etc/apt/sources.list
Отредактируйте содержимое файла и включите туда бесплатные репозитории:
deb http://ftp.debian.org/debian bullseye main contrib
deb http://ftp.debian.org/debian bullseye-updates main contrib
# security updates
deb http://security.debian.org/debian-security bullseye-security main contrib
# PMG pmg-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pmg bullseye pmg-no-subscription
Сохраните внесенные изменения. Запустите процедуру обновления:
apt update
apt upgrade
Пример настройки маршрутизации электронной почты
Я покажу вариант с базовой настройкой. Я бы даже сказал вариант с минимальной достаточностью. Материал статьи более нацелен на процедуру установки, а не на разбор все возможных вариантов настройки маршрутизации почты. Причем я сейчас говорю только о входящей почте. Исходящая почта будет отправляться непосредственно с сервера CommuniGate. Хотя ничего не мешает вам даже отправлять почту через PMG.
В моем самом простом варианте есть следующие вводные:
- Во внутреннем периметре есть почтовый сервер CommuniGate Pro.
- Почтовый домен один – itproblog.ru.
- Вся поступающая почта из внешней сети будет перенаправляться на сервер Proxmox Mail Gateway.
- Сервер Proxmox Mail Gateway всю почту для домена itproblog.ru будет перенаправлять на сервер CommuniGate.
Итак, приступим к процедуре настройки потока почтового трафика:
1. Переходим в веб интерфейс администрирования PMG:
https://pmg.itproblog.ru:8006/
2. Переходим в раздел “Configuration” – “Mail Proxy” – “Relay Domains”.
3. Нажимаем кнопку “Create” и добавляем наш домен в список обслуживаемых доменов.
4. Теперь переходим на вкладку “Transport”.
5. Здесь тоже нажимаем кнопку “Create” и указываем, что всю почту для домена itproblog.ru нужно отправлять на сервер CommuniGate.
Теперь можете попробовать отправить тестовое письмо. Если все настройки были выполнены корректно, то вы должны увидеть почтовый трафик, например, на дашборде:
Также вы сможете отслеживать поток писем через Tracjking Center. На этом я завершая описание типового примера маршрутизации входящей электронной почты.