Proxmox Mail Gateway установка

Proxmox Mail Gateway установка с Microsoft Exchange

Выставлять в интернет корпоративный почтовый сервер плохая идея с точки зрения безопасности. Оптимальным вариантом является использование почтового шлюза, который будет проверять почту на спам и вирусы и уже пересылать ее внутреннему почтовому серверу. В Microsoft Exchange есть собственный вариант установки такого пограничного сервера, но из коробки, как правило, он не умеет ни проверять вирусы, ни фильтровать нормально спам. Приходится докупать решения сторонних разработчиков (например Касперского), чтобы закрыть почтовый траффик от интернет-угроз. Я же обычно использовал собранный вручную почтовый шлюз на Linux с использованием открытых технологий для фильтрации спама и вирусов. Но вот появилось красивое и бесплатное решение — Proxmox Mail Gateway установка которого с Microsoft Exchange не занимает и получаса.

Установка Proxmox Mail Gateway

Что из себя представляет сам продукт. Это сервер под управлением Debian с установленными и настроенными компонентами, а так же функциональным и удобным web-интерфейсом для настройки всего. До 2018 года продукт был закрытым, но с недавних пор разработчики открыли все компоненты под свободной лицензией и продают только поддержку продукта куда входят подписка на платные репозитории для обновления компонент. Но без подписки он тоже прекрасно работает, только для обновлений следует использовать бесплатные репозитории.

proxmox mail gateway подключение к exchange

Для установки предварительно скачиваем образ установщика на сайте:

https://www.proxmox.com/en/downloads/category/iso-images-pmg

А вот здесь вы можете скачать документацию на PMG.

https://www.proxmox.com/en/downloads/category/documentation-pmg

Открытая версия начинается с 5-го выпуска дистрибутива. Перед установкой убедитесь, что сервер соответствует минимальным системным требованиям. У меня установка завершалась ошибкой при нехватки оперативной памяти. Добавил до 4 Гб, пару ядер процессора и все прошло гладко.

В остальном установка весьма тривиальна:

  1. Грузимся с образа установщика. В моем случае это была виртуальная машина, поэтому я просто подключил iso-образ. Но в случае установки на аппаратный сервер легко делаем загрузочную usb-флэшку;
  2. Указываем диск на который установить. Объем зависит от ваших потребностей. Я выделил под весь шлюз 20 ГБ;
  3. Указываем страну и временную зону, а так же раскладку клавиатуры;
  4. Указываем пароль и e-mail администратора сервера. На этот адрес в дальнейшем будут поступать ежедневные отчеты и прочие сообщения сервера;
  5. Указываем ip адрес сервера, FQDN, прочие параметры IP. Если сетевых карт две, как в моем случае (внутренняя и внешняя), то настраивайте внутреннюю, а внешнюю можно настроить после установки;
Читайте так же:  Удаление Kaspersky вручную

После ввода этих данных начнется установка операционной системы.  По окончании вы должны получить возможность войти внутренний ip-адрес сервера по SSH и через веб-браузер по адресу https://ipadres:8006. В качестве логина используется root с паролем, который вы задали во время установки.

Настройка Proxmox Mail Gateway

Сразу после установки мне понадобилось настроить внешний интерфейс для приема почты из интернет. Настроить ip-адрес можно через веб-интерфейс, однако настраивать маршрутизацию все-равно придется редактируя файл описания интерфейсов /etc/network/interfces

настройка сети proxmox mail gateway

Пример отредактированного файла интерфейсов. После внесения всех правок рекомендуется перезагрузить сервер.

auto lo
iface lo inet loopback

auto ens32
iface ens32 inet static
 address 192.168.1.2
 netmask 255.255.255.0
up ip r add 192.168.0.0/16 via 192.168.1.1

auto ens33
iface ens33 inet static
 address X.X.X.X
 netmask 255.255.255.Z
 gateway Y.Y.Y.Y
#internet

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

Следующим шагом необходимо прописать бесплатный репозиторий для обновления компонентов PMG, а так же отключить платный репозиторий, который не будет работать без ключа платной подписки. Для этого необходимо отредактировать файл /etc/apt/sources.list.d/pmg-enterprise.list. Необходимо привести его к следующему виду:

#deb https://enterprise.proxmox.com/debian/pmg stretch pmg-enterprise
deb http://download.proxmox.com/debian/pmg stretch pmg-no-subscription

Теперь можно обновить систему:

apt update 

apt upgrade

При необходимости перезагрузить сервер.

Установка дополнительных компонент в Proxmox Mail Gateway

Из дополнительного программного обеспечения я установил лишь несколько утилит, к которым я привык и постоянно использую их в своей работе с Linux системами (в основном Ubuntu). Это Midnight Commander (mc), htop и ufw. Все это делается одной командой:

apt install mc ufw htop

Для непосвященных:

  • mc — аналог Norton Comander удобный файловый менеджер;
  • htop — удобный системный монитор показывает все процессы, загрузку процессора и т.п. в консоли;
  • ufw — надстройка к iptables для удобного управления локальным фаерволом.

После установки я включил ufw предварительно добавив в него примерно такие правила:

ufw allow from 192.168.0.0/16 to 192.168.1.2

ufw allow 25/tcp

ufw enable

Все! Снаружи на почтовом шлюзе будет открыт только 25 порт, а из локальной сети вы сможете подключится к серверу по любому порту.

Настройка почтового шлюза Proxmox Mail Gateway

Все остальные настройки делаются через веб интерфейс. Консоль вам понадобится только в случае если нужно будет что-то отладить и оперативно посмотреть логи. Смотреть их можно и в веб-админке, но мне в консоли привычнее.

Читайте так же:  MAPI 1.0 [000004C2] - ошибка при открытии Outlook и апплета Почта

Первым делом идем в раздел Configuration\Mail proxy. На вкладке Relay domains вбиваем домены на которые мы принимаем почту нашим почтовым шлюзом, т.е. например тот почтовый домен, который прописан у вас в Exchange.

почтовые домены proxmox mail gateway

Следующая интересующая нас вкладка Transport. Здесь мы прописываем соответствие домена и внутреннего адреса почтового сервера, например Exchange, куда почтовый шлюз будет пересылать всю чистую корреспонденцию.

транспорт почты proxmox mail gateway

И последняя вкладка  — это Networks, здесь необходимо прописать внутренние адреса серверов, клиентов, сегментов сети с которых почтовый шлюз будет принимать письма к пересылке. Обратите внимание, что пересылка с этих сетей разрешена только на внутреннем (internal) порту указанному на вкладке Ports. По умолчанию это 26 порт. Иными словами чтобы почта с вашего exchange уходила в интернет через шлюз вы должны прописать его адрес в Networks, а в Exchange указать адрес шлюза и задать ему 26 порт для работы (как это сделать написано ниже).

локальные сети proxmox mail gateway

После этого рекомендую зайти в раздел Spam Detector и Virus Detector и обновить их вручную. Остальные настройки в целом разумны по умолчанию, но вы вольны настраивать их как вам заблагорассудится. Для этого используйте документацию (ссылку я давал вверху).

Настройка коннектора Exchange на работу по нестандартному порту

Ну и напоследок необходимо настроить Send connector в MS Exchange на работу по нестандартному 26-му порту. Создайте коннектор для отправки как обычно, задайте ему осмысленное имя, например по имени хоста почтового шлюза. Затем запустите PowerShell консоль Exchange С помощью команды Get-SendConnector вы можете посмотреть в консоли коннекторы. Скопируйте имя вновь созданного коннектора. После чего введите команду:

Set-SendConnector -Identity "ConnectorName" -Port 26

Посмотреть, что порт изменился можно командой:

Get-SendConnector "ConnectorName"|fl Port

В обеих командах ConnectorName — заменить на имя вашего коннектора! Если все в порядке включайте коннектор и трафик пойдет через новый почтовый шлюз. Не забудьте настроить в DNS mx запись на новый почтовый шлюз, а так же соответствующий ей A и PTR записи.

статистика proxmox mail gateway

Замечания, критика, дополнения, опечатки? Прошу в комментарии!

Proxmox Mail Gateway установка с Microsoft Exchange: 23 комментария

  1. Помогите разобраться почему не пересылает.
    May 23 13:47:32 mail postfix/lmtp[2309]: 0B82916095B: to=, relay=127.0.0.1[127.0.0.1]:10024, delay=1.5, delays=0.24/0.01/0.04/1.2, dsn=2.5.0, status=sent (250 2.5.0 OK (1609635B0546C336DB7))
    May 23 13:47:32 mail postfix/qmgr[2053]: 0B82916095B: removed
    May 23 13:47:32 mail postfix/smtp[2314]: 5A5AD1609A1: to=, relay=192.168.34.10[192.168.34.10]:25, delay=0.07, delays=0.05/0.02/0.01/0, dsn=5.4.6, status=bounced (mail for [192.168.34.10]:25 loops back to myself)
    May 23 13:47:32 mail postfix/qmgr[2053]: 5A5AD1609A1: removed

    1. Слишком мало информации. Лог пишет что письмо зациклилось, а почему надо смотреть настройки всего в целом.

  2. Я чего то не допонял, как исходя из этой команды «Set-SendConnector -Identity «ConnectorName» -Port 26″ сервер exchange должен понять что слать письма надо через proxmox mail ведь его ip адрес тут не указан.

    1. Читаем внимательно!

      «Создайте коннектор для отправки как обычно, задайте ему осмысленное имя, например по имени хоста почтового шлюза.»

      При создании коннектора вы и укажете хост или ip proxmox

      А команда нужна, чтобы задать хосту в конекторе порт отличный от 25-го.

  3. день добрый! подскажите пожалуйста, в такой ситуации подойдет ли мне данное решение, описанное в Вашей статье? есть 4 разных почтовых домена, все на одном сервере exchange, нужно чтобы с разных доменов письма уходили через разные внешние ip-адреса. ь.е. я делаю на проксмокс 4 сетевые карты, на которые делаю проброс 4 внешних айпишников, далее делаю коннекторы и все должно бы взлететь…

    1. К сожалению, я не великий знаток postfix и такую изощренную конфигурацию никогда не рассматривал. Поэтому из опыта ничего не подскажу.

  4. Здравствуйте, поставил в тесте PMG, вопрос вот в чем:
    Сеть у меня с VLAN и попасть в вебморду PMG могу только с того vlan в котором он находится, по ssh попадаю с любого vlan. Перепробовал кучу всего. Есть такая особенность когда пробую зайти в вебмору не с того vlan — pmg на время блокирует к нему доступ для ип с которого пытаюсь зайти.

    1. У меня сеть тоже с vlan и все прекрасно работает. Сервер PMG находится в отдельном сегменте DMZ, компьютеры администраторов и пользователей в другом и все работает. Или вы имеете в виду виланы настроены на интерфейсе PMG?

      1. Проблема оказалась в моем ПК, странно но когда он пытается соединиться с PMG связь с ним пропадает. С других ПК все работает.
        Тогда еще вопрос: Использовали ли вы кластер?

  5. Так и не понял, зачем менять MX и PTR? ведь ведь у вас шлюз должен быть изначально идти через внешний IP того же почтового сервера, на шлюзе прописываем smtpd banner, иклудим в spf и всё, ведь смысл должен оставаться таким, что 25 порт будет закрыт для внешних подключаемых пользхователей и отправлять клиентов на 587 tls, а 25 остается для общения почтарей, и по идеи у нас только должен во внешку форвардится 25 порт от шлюза, остальное работает на почтовом сервере, IMAPS POPS MAPI, если я где то не прав, подправьте.

    1. Если вы меняете какой-то существующий mta на proxmox, то вы правы, но речь в статье идет об установке с нуля.

  6. Здравствуйте, помогите пожалуйста, не могу нигде найти информацию как сменить отправителя при восстановлении (отправке) письма из спама. По умолчанию стоит: Postmaster@domain

    1. При отправке письма из карантина отправитель не меняется, если только вы не делали какие-то настройки в разделе Mail Filter. Сообщения от postmaster приходят если вы включали отправку копий спам писем на какой-то ящик или уведомлений о спаме.

  7. при настройке второго сетевого интерфейса из Web отвалился доступ к нему по первой сетевой карточке. Где это настраивается? Как поменять привязки web сервера на первый адаптер?

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

You have to agree to the comment policy.

Внимание! Нажимая кнопку "Отправить комментарий" вы соглашаетесь с политикой конфиденциальности сайта.