Наличие собственного почтового сервера — это способ получить полный контроль над почтовой инфраструктурой. Один из самых популярных вариантов этого достичь — это использовать Postfix с хранением учетных данных в локальном файле вместо базы данных.

В этой статье мы разберемся с тем, как устанавливать и настраивать почтовый сервер.

 

Архитектура почтового сервера на базе Postfix с файловой аутентификацией

Для установки надежного почтового сервера на базе Postfix с файловой аутентификацией важно понимать как взаимодействуют между собой разные компоненты системы. В такой архитектуре Postfix обычно выполняет функцию приема, отправки и маршрутизации писем, как MTA (Mail Transfer Agent), а Dovecot или Cyrus SASL отвечают за проверку прав доступа, то есть аутентификацию.

Архитектура строиться по принципу отдельных ролей для каждого сервиса:

  1. Postfix (MTA) — это ядро системы. Он принимает почту, проверяет ее и решает доставлять ли ее локально или пересылать дальше.
  2. Dovecot (Mail Delivery Agent) — забирает почту у Postfix и раскладывает ее по папкам пользователей. Дополнительно, предоставляет доступ к письмам по протоколам IMAP/POP3.
  3. SASL (Simple Authentication and Security Layer) — позволяет Postfix «уточнять» у Dovecot есть ли у пользователя права отправить письмо. Реализуется через Dovecot.
  4. Хранилище учетных записей — место, где хранятся локальные файлы.

Подготовка окружения: требования к системе и сетевой инфраструктуре

Перед установкой важно подготовить сервер и сеть, так как почтовая инфраструктура чувствительна к настройкам DNS и изменениям IP-адреса.

 

Минимальные ресурсы сервера и поддерживаемые ОС

Для базового почтового сервера достаточно:

  • 1–2 CPU
  • 1–2 GB RAM
  • 10–20 GB дискового пространства

Поддерживаются популярные Linux-дистрибутивы, такие, как Ubuntu, Debian, CentOS, AlmaLinux.

 

Настройка DNS, PTR, SPF и базовых почтовых записей

Важно корректно настроить DNS-записи:

  • MX-запись — ваш почтовый сервер;
  • A-запись — связывает домен с IP;
  • PTR-запись (reverse DNS) — должна соответствовать домену;
  • SPF-запись — разрешает серверу отправлять почту от имени домена;

Без этих записей письма будут попадать в спам или не отправляться.

Установка Postfix на Linux-сервер

Инсталляция пакетов через apt / yum

Для Debian/Ubuntu:

apt update apt install postfix

Для CentOS/AlmaLinux:

yum install postfix

При установке выберите тип конфигурации “Internet Site” и укажите основной домен.

 

Организация хранения учетных данных в файле

Вместо хранения данных в базе, можно использовать файл. Например:

user@example.com:{PLAIN}password

Файл необходимо защитить правами доступа, и, при необходимости, конвертировать в формат, который поддерживается SASL.

 

Читайте также: Создание сайта в ISPmanager 6 Lite

Настройка SMTP-аутентификации (SASL) через файловую базу

Подключение Dovecot или Cyrus SASL

Аутентификация выполняется путем взаимодействия Postfix с SASL-демоном. На практике чаще использует Dovecot благодаря более простой настройке.

 

Конфигурация main.cf и master.cf

Включите SASL-аутентификацию в файле main.cf:

smtpd_sasl_auth_enable = yes 

smtpd_sasl_type = dovecot 

smtpd_sasl_path = private/auth

Также важно разрешить аутентифицированным пользователям отправку почты:

smtpd_recipient_restrictions = 

permit_sasl_authenticated, 

reject_unauth_destination

В последствии master.cf активируется порт 587 для отправки почты с авторизацией.

Настройка TLS и шифрования соединений

Для того чтобы данные были защищенные, необходимо включить TLS:

smtpd_tls_cert_file=/etc/ssl/certs/your_cert.pem

smtpd_tls_key_file=/etc/ssl/private/your_key.pem 

smtpd_use_tls=yes

Мы рекомендуем использовать сертификаты от Let’s Encrypt.

 

Часто спрашивают: Выделенный IP-адрес: нужен ли он вашему сайту и какие преимущества дает

Конфигурация приема и отправки почты

Настройка myhostname, mydomain и mydestination

Вам нужно указать базовые параметры (имя хоста, домен, и путь) в файле main.cf:

myhostname = mail.example.com 

mydomain = example.com 

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

 

Ограничения на relay и защита от open relay

Также важно запретить неавторизованную пересылку почты:

smtpd_relay_restrictions = permit_sasl_authenticated, reject_unauth_destination

Это предотвращает доступ злоумышленников к серверу.

Защита сервера от спама и злоупотреблений

Для повышения безопасности можно:

  • Подключить RBL (черные списки IP).
  • Ограничить количество соединений.
  • Использовать фильтры такие как SpamAssassin или Amavis.
  • Настроить DKIM и DMARC

Эти меры помогают сохранить целостность сервера.

 

Читайте также: Оптимизация скорости загрузки: настройка кэширования и сжатия в .htaccess

Тестирование работоспособности почтового сервера

После настройки необходимо проверить насколько корректно работает:

  • Отправка писем (SMTP);
  • Получение писем (IMAP/POP3);
  • TLS;
  • Попадание писем в inbox, а не в spam;

Для тестов можно использовать telnet, swaks или почтовые клиенты.