Как настроить Secure Email Gateway для домашней сети на open-source

Secure Email Gateway для дома — это не «коробка как в офисе», а небольшой почтовый фильтр, который принимает почту для вашего домена, проверяет спам, фишинг, вредоносные вложения и правила доставки, а потом отправляет письмо дальше: в домашний почтовый сервер, ящик на VPS или во внешний почтовый сервис. На open-source это обычно связка из Postfix или OpenSMTPD, Rspamd, ClamAV, OpenDKIM/OpenDMARC и, при необходимости, готового набора вроде Mailcow, Mailu или docker-mailserver.

Главная идея простая: не давать мусору и опасным письмам доходить до обычных пользователей. Для домашней сети это особенно полезно, если у семьи есть свой домен, дети получают почту на свои ящики, вы ведёте личную переписку через собственный домен или хотите контролировать исходящую почту с домашних устройств.

Что именно будет делать шлюз

В домашней схеме Secure Email Gateway обычно стоит между интернетом и почтовыми ящиками:

Интернет
  ↓
MX вашего домена → Secure Email Gateway → почтовые ящики / внешний SMTP-релей

На входе шлюз проверяет письмо: есть ли SPF/DKIM/DMARC, похож ли отправитель на мошенника, нет ли опасных ссылок, не пришёл ли файл с расширением вроде .exe, .scr, .js, .vbs. На выходе он подписывает почту DKIM, проверяет, не пытается ли заражённое устройство рассылать спам от вашего имени, и помогает не попасть в чёрные списки.

Но есть нюанс: если вы хотите принимать почту на свой домен, домашний сервер должен быть доступен из интернета по SMTP. У многих домашних провайдеров порт 25 закрыт, IP динамический, а обратная DNS-запись не настраивается. Из-за этого письма с домашнего IP могут не доходить до Gmail, Outlook, Mail.ru и других крупных сервисов. Поэтому на практике часто делают так: шлюз ставят на небольшой VPS, а домашний сервер используют для ящиков, архивов или панели управления через VPN.

Не стоит запускать полноценный почтовый сервер дома только потому, что «так дешевле». Почта любит стабильный IP, правильные DNS-записи, открытые SMTP-порты и аккуратную репутацию. Для домашнего эксперимента это нормально, для важной переписки лучше заранее проверить ограничения провайдера.

Какую схему выбрать для дома

Есть три рабочих варианта. Выбор зависит не от красоты решения, а от того, где уже лежат ваши ящики и готовы ли вы администрировать почту.

Решение Когда имеет смысл Что получаете Минусы
Mailcow Нужны свои ящики для домена и нормальная веб-панель Postfix, Dovecot, Rspamd, ClamAV, DKIM, веб-интерфейс, SOGo Требует больше ресурсов и аккуратного обновления
Mailu Хочется готовый почтовый стек, но легче, чем Mailcow Готовая связка MTA, IMAP, антиспам, антивирус Меньше «офисных» функций, всё равно нужна поддержка
docker-mailserver Есть опыт с Linux и Docker, веб-панель не нужна Конфигурация файлами, Postfix, Dovecot, Rspamd, ClamAV Меньше удобства для новичка
Postfix + Rspamd + ClamAV Есть внешние ящики, нужен именно шлюз-фильтр Гибкая фильтрация, DKIM, DMARC-проверки, релей наружу Нужно собирать и настраивать вручную
SpamAssassin + ClamAV + Amavis Есть старая инфраструктура или привычка к этой связке Зрелая схема с хорошей интеграцией Тяжелее и медленнее для новых домашних сборок

Если вы только начинаете и хотите не возиться с десятком конфигов, я бы смотрел в сторону Mailcow или Mailu. Если задача именно фильтровать почту перед существующими ящиками — лучше отдельный шлюз на Postfix и Rspamd. Если нужен минимальный контроль и вы спокойно работаете с конфигурационными файлами — docker-mailserver тоже нормальный вариант.

Сценарии выбора: что делать в вашей ситуации

  • Есть свой домен и вы хотите свои почтовые ящики. Ставьте Mailcow или Mailu. Это даст и шлюз, и хранение почты, и веб-доступ, и нормальную настройку DKIM.
  • Ящики уже в Gmail, Outlook, Proton или у хостинг-провайдера, но хочется фильтровать входящую почту. Можно направить MX на свой шлюз, а после проверки пересылать письма во внешние ящики по SMTP. Перед этим проверьте, разрешает ли ваш почтовый провайдер такой relay.
  • Домашний провайдер закрывает порт 25. Не тратьте время на борьбу с NAT. Поставьте шлюз на VPS, а домашний сервер подключайте через VPN или используйте внешний SMTP-релей для исходящей почты.
  • Нет статического IP. Dynamic DNS решает проблему доступа, но не решает репутацию IP. Для почты лучше стабильный адрес или VPS.
  • Нужно просто защитить семейную почту от фишинга. Если вы не хотите администрировать почту, проще оставить ящики у крупного провайдера. Самописный SEG дома нужен тем, кто готов поддерживать DNS, TLS, очереди, обновления и чёрные списки.

Подготовка перед установкой

До установки пакетов нужно подготовить домен и сервер. Без этого даже самый хороший Rspamd будет ловить не спам, а проблемы с доставкой.

  1. Выберите имя почтового сервера. Например, mail.example.com. Именно оно будет в MX, сертификате TLS и обратной DNS-записи.
  2. Настройте DNS. Для домена нужна MX-запись на почтовый сервер, A/AAAA-запись для mail.example.com, SPF, DKIM и DMARC.
  3. Проверьте PTR. Обратная DNS-запись IP-адреса должна указывать на имя почтового сервера. Это один из базовых признаков нормального MTA.
  4. Откройте нужные порты. Для приёма почты нужен TCP 25. Для отправки клиентами — 587. Если храните почту локально, понадобится 993 для IMAP over TLS. Админ-панели лучше не выставлять наружу без VPN.
  5. Подготовьте сервер. Для домашнего шлюза лучше маленький x86-сервер или VPS с SSD. На Raspberry Pi можно экспериментировать, но ClamAV и полноценный почтовый стек могут работать не так комфортно, как на более производительной машине.
  6. Сразу продумайте бэкапы. Резервируйте конфигурацию, DKIM-ключи, базу пользователей, почтовые ящики и DNS-записи. Потеря DKIM-ключа — это не катастрофа, но переделывать DNS и переподписывать почту придётся.

Базовая настройка DNS для почтового шлюза

Минимальный набор DNS-записей выглядит так:

    <li
Оцените статью
PEFile — Безопасность и технологии простым языком