Postfix: Полное руководство по настройке собственного почтового сервера с нуля

Postfix: Полное руководство по настройке собственного почтового сервера с нуля

Настройка собственного почтового сервера Postfix — это не просто техническая задача, а настоящее путешествие в мир цифровой независимости. Представьте: ваша почта, ваши правила, полный контроль над каждым байтом данных. Этот гид проведёт вас через все этапы — от базовой установки до тонкой настройки безопасности, превращая сложный процесс в понятную последовательность шагов.

Почему именно Postfix?

Postfix — это почтовый агент (MTA), созданный Витьем Венемой как безопасная альтернатива Sendmail. Его архитектура построена на принципах модульности и безопасности: каждый процесс работает с минимальными привилегиями, что значительно снижает риски эксплуатации уязвимостей. Он стабилен, эффективно использует ресурсы и имеет прекрасную документацию.

Важно: перед настройкой убедитесь, что у вас есть доменное имя с правильно настроенными DNS-записями (MX, A, PTR, SPF, DKIM, DMARC). Без этого письма будут попадать в спам или не доходить вовсе.

Установка и базовая конфигурация

Начнём с установки в Debian/Ubuntu:

  1. sudo apt update && sudo apt install postfix
  2. Во время установки выберите "Internet Site"
  3. Укажите полное доменное имя вашего сервера

Основные файлы конфигурации

  • /etc/postfix/main.cf — главный файл настроек
  • /etc/postfix/master.cf — настройка служб и процессов
  • /etc/aliases — псевдонимы почтовых ящиков

Ключевые параметры main.cf

Отредактируйте /etc/postfix/main.cf:

myhostname = mail.vash-domen.ru
mydomain = vash-domen.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
relay_domains = 
smtpd_banner = $myhostname ESMTP $mail_name

Параметр mynetworks определяет, с каких IP разрешена ретрансляция почты без аутентификации. Никогда не указывайте здесь широкие диапазоны!

Настройка безопасности и борьба со спамом

Обязательные меры:

  1. Включите TLS-шифрование
  2. Настройте аутентификацию SASL
  3. Добавьте проверку SPF и DKIM через Postfix-policyd или opendkim
  4. Настройте ограничение частоты отправки
# TLS настройки
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

# Борьба со спамом
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Интеграция с Dovecot для IMAP/POP3

Для доступа к почте через клиенты нужен IMAP-сервер. Dovecot отлично интегрируется с Postfix:

  1. Установите Dovecot: sudo apt install dovecot-imapd dovecot-pop3d
  2. Настройте аутентизацию через SASL в Postfix: smtpd_sasl_type = dovecot
  3. Настройте сокет аутентификации

Мониторинг и логирование

Postfix предоставляет мощные инструменты мониторинга:

  • postqueue -p — просмотр очереди писем
  • postsuper -d ALL — удаление всех писем из очереди (осторожно!)
  • Логи находятся в /var/log/mail.log
  • Используйте tail -f /var/log/mail.log для отслеживания в реальном времени

FAQ: Часто задаваемые вопросы

Почему мои письма попадают в спам?

Основные причины: отсутствие обратной DNS-записи (PTR), неправильно настроенные SPF/DKIM/DMARC, отправка с shared-хостинга без аутентификации.

Как ограничить размер вложений?

Добавьте в main.cf: message_size_limit = 10485760 (10 МБ)

Как настроить резервный MX-сервер?

Укажите в DNS несколько MX-записей с разными приоритетами. Сервер с меньшим значением приоритета будет основным.

Postfix vs Exim: что выбрать?

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

Как проверить конфигурацию на ошибки?

Используйте postfix check и postconf -n для просмотра изменённых параметров.