Установка и настройка 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:

Переходим к языковым настройкам Proxmox Mail Gateway

Откроется окно с выбором языка. Выбираем тот, с которым нам удобно работать:

Выбираем язык, с которым нам удобно работать

Настройка входящих писем

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

  • Указать IP-адрес внутреннего почтового сервера.
  • Добавить домены, на которые должны приходить письма.

Для этого переходим в пункт меню Конфигурация - Почтовый прокси:

Переходим в настройка почтового прокси

На вкладке Ретрансляция в поле «Транслятор по умолчанию» вводим IP-адрес почтового сервера, куда будут перенаправляться письма:

Настройка почтового транслятора в Proxmox Mail Gateway

Переходим на вкладку Домены ретрансляции и добавляем обслуживаемые почтовые домены:

Добавляем домены, для которых будут разрешены входящие в Proxmox Mail Gateway

Для первых тестов рекомендуется на вкладке Параметры отключить серые списки:

Отключаем использование серых списков

* серые списки позволяют эффективно бороться со СПАМом, но замедляют работы почты. Это сильно будет мешать при первичном тестировании системы.

Также сразу зададим объем почтовых сообщений, которые могут проходить через Proxmox Mail Gateway. Для этого переходим на вкладку Параметры и меняем значение для опции «Размер письма»:

Указываем значение для максимального размера письма

* в данном примере установлено значение 31457280, что равно 30 * 1024 * 1024 или 30 Мб.

Готово. Проверить прием почтовых сообщений можно с помощью онлайн сервиса smtper.net.

Настройка исходящих

В рамках данного раздела рассмотрим настройку Proxmox Mail Gateway для его использования как сервера отправки. Мы настроим сам Proxmox для его использования как ретранслятора исходящих сообщений и выполним рекомендации для того, чтобы наши сообщения не попадали в СПАМ.

Отправка сообщений

Снова заходим в Конфигурация - Почтовый прокси:

Переходим в настройка почтового прокси

Во вкладке Сети необходимо указать IP-адреса или подсети, с которых будет разрешена пересылка писем:

Добавляем адреса, с которых будет разрешена пересылка писем через Proxmox Mail Gateway

* в моем примере для адреса 192.168.0.15 будет разрешена пересылка писем через Proxmox Mail Gateway.

Теперь переходим на вкладку Порты. Тут ничего менять не обязательно — просто смотрим номера:

Смотрим порты для ретрансляции сообщений в 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

Добавляем наши домены:

Создаем настройку для домена в Proxmox Mail Gateway

Выше на той же вкладке включаем подписывание DKIM:

Настраиваем DKIM подпись в Proxmox Mail Gateway

Кликаем по кнопке Просмотр DNS-записи:

Смотрим 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/):

Смена сервера обновления для ClamAV

Планировщик отправки отчетов о СПАМе

Системой предусмотрена отправка отчетов о письмах, которые были отправлены в СПАМ. По умолчанию, это делается один раз в день, в 00:05.

Чтобы это изменить, открываем файл:

vi /lib/systemd/system/pmgspamreport.timer

Редактируем опцию OnCalendar:

OnCalendar=08-19/01:00:00

* в данном примере мы будем выполнять отправку отчета каждый час с 8 до 19.

Для применения настройки выполняем:

systemctl daemon-reload

Читайте также

Дополнительная информацию по работе с почтовыми системами:

1. Полноценный почтовый сервер с iRedMail на Ubuntu или Debian.

2. Почтовый сервер на CentOS 8 с виртуальными доменами, системой управления, веб-доступом и другими возможностями.

3. Большой почтовый сервер на Debian.

4. Полноценный почтовый сервер на Ubuntu Server.

5. Настройка почтового сервера для массовой рассылки сообщений.

# Linux # Безопасность # Почта # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет