✉️ Мы на пути к установке почтового сервера и уже подошли к ключевым настройкам Dovecot!
В прошлой статье мы рассмотрели структуру конфигурационных файлов Dovecot. Теперь пришло время перейти к практике.

📌 Если вы еще не читали предыдущую статью, я рекомендую сделать это в первую очередь.
👉 Настройка почтового сервера на Linux #3: Структура конфигурационного файла Dovecot и способы его применения

В этой статье мы разобьем четыре необходимых файла конфигурации Dovecot по очереди, а также обобщим практические настройки с учетом среды виртуального пользователя и интеграции с Postfix.


🚀 Четыре необходимых файла конфигурации Dovecot

Существует множество конфигурационных файлов Dovecot, и у новичков это может вызывать головную боль. Но если вы правильно поймете лишь эти четыре файла конфигурации, вы сможете осуществлять базовые операции почтового сервиса.

Файл конфигурации Роль
10-auth.conf Настройки аутентификации пользователей
10-mail.conf Настройки почтового хранилища (почтового ящика)
10-master.conf Настройки процессов службы (IMAP, POP3, LMTP и др.)
10-ssl.conf Настройки шифрования TLS/SSL

Мы рассмотрим каждый файл конфигурации и применим настройки, учитывающие виртуальную среду пользователей и интеграцию с Postfix.


🛠️ Пользователь vmail, создаваемый при установке Dovecot

При первой установке Dovecot автоматически создается специальный пользователь и группа vmail (UID/GID 5000) в системе.
Этот пользователь отвечает за хранение и управление почтовыми данными, и он не является системным аккаунтом, а исключительно аккаунтом для работы с почтой.

🔍 Как проверить пользователя vmail

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

id vmail

Пример вывода:

uid=5000(vmail) gid=5000(vmail) groups=5000(vmail)

Также вы можете исследовать файл /etc/passwd для его поиска.

grep vmail /etc/passwd

Если пользователь vmail отсутствует, его нужно создать вручную с помощью следующей команды.

sudo groupadd -g 5000 vmail
sudo useradd -u 5000 -g vmail -s /sbin/nologin -d /var/mail vmail

Теперь вы можете использовать пользователя vmail для хранения почты в настройках Dovecot!


1️⃣ 10-auth.conf - Настройки аутентификации пользователей

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

📌 Ключевые точки настройки
- Использовать аутентификацию на основе виртуальных пользователей (с интеграцией с БД)
- Активация методов аутентификации PLAIN и LOGIN (для безопасного использования в SSL окружении)
- Аутентификация через БД, а не системные аккаунты (/etc/passwd)

🔹 Пример файла конфигурации (/etc/dovecot/conf.d/10-auth.conf)

disable_plaintext_auth = yes
auth_mechanisms = plain login

!include auth-sql.conf.ext

💡 Пояснение

  • disable_plaintext_auth = yes → Аутентификация в открытом виде разрешена только при использовании SSL
  • auth_mechanisms = plain login → Самые распространенные методы аутентификации в IMAP и POP3
  • !include auth-sql.conf.ext → Настроено получение данных аутентификации из базы данных

Таким образом, Dovecot настроен на использование аутентификации через БД, а не через системные аккаунты, такие как /etc/passwd.

В следующей статье мы рассмотрим файл auth-sql.conf.ext подробно!


2️⃣ 10-mail.conf - Настройки почтового хранилища

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

📌 Ключевые точки настройки
- Использовать формат Maildir
- Настройки пути хранения почты для виртуальных пользователей
- Настройки прав доступа к почте

Пример файла конфигурации (/etc/dovecot/conf.d/10-mail.conf)

mail_home = %h
mail_location = maildir:%h/Maildir

namespace inbox {
  inbox = yes
}

mail_uid = vmail
mail_gid = vmail
mail_privileged_group = mail

💡 Пояснение

  • mail_home = %h → Использует домашнюю директорию виртуального пользователя (путь будет указан непосредственно из БД)
  • mail_location = maildir:%h/Maildir → Сохраняет почту в формате Maildir
  • mail_uid, mail_gid → Использует выделенного пользователя (vmail) для хранения почты
  • namespace inbox { inbox = yes } → Назначает как основную почтовую папку (входящие)

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

Pigeon mail carrier on a gear representing mail storage


3️⃣ 10-master.conf - Настройки процессов службы

Этот файл настраивает службы, предоставляемые Dovecot (IMAP, POP3, LMTP и др.).
Особенно мы планируем использовать LMTP (протокол локальной передачи почты) с интеграцией Postfix, и его следует активировать.

📌 Ключевые точки настройки
- Активировать LMTP (интеграция с Postfix)
- Настройки сокетов аутентификации (настройка Postfix для использования аутентификации Dovecot)

🔹 Пример файла конфигурации (/etc/dovecot/conf.d/10-master.conf)

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

  unix_listener auth-userdb {
    mode = 0600
    user = vmail
    group = vmail
  }

  client {
    path = /run/dovecot/auth-client
  }
}

💡 Пояснение

  • Активировать LMTP (service lmtp)
  • Postfix использует сокет dovecot-lmtp для передачи почты Dovecot
  • Интеграция аутентификации Postfix и Dovecot (service auth)
  • Настроить Postfix для получения данных аутентификации из Dovecot через сокет /var/spool/postfix/private/auth

Таким образом, Postfix обрабатывает аутентификацию пользователей через Dovecot и предоставляет почту через LMTP.


4️⃣ 10-ssl.conf - Настройки шифрования TLS/SSL

Почтовый сервер обязательно должен быть зашифрован! В этом файле настраивается SSL/TLS для повышения безопасности.

📌 Ключевые точки настройки

  • Активировать шифрование SSL/TLS
  • Возможность использовать сертификаты Let's Encrypt или самоподписанные сертификаты

📌 ⚠️ В этой статье процесс получения SSL сертификата пропущен.

​​Предполагается, что сертификат уже выдан на домен, и вы можете использовать Let's Encrypt, самоподписанный сертификат или коммерческий сертификат.

Пример файла конфигурации (/etc/dovecot/conf.d/10-ssl.conf)

ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem

💡 Пояснение

  • ssl = required → SSL является обязательным
  • ssl_cert, ssl_key → Применение шифрования с сертификатами Let's Encrypt

Таким образом, клиентам запрещается доступ без шифрования, а безопасность увеличивается за счет TLS.


🏁 Заключение

В этой статье мы рассмотрели четыре необходимых файла конфигурации Dovecot
- 10-auth.conf → Метод аутентификации пользователей (применение среды виртуальных пользователей на основе БД)
- 10-mail.conf → Настройка путей хранения и прав почты (mail_home = %h)
- 10-master.conf → Настройки LMTP и службы аутентификации с интеграцией Postfix
- 10-ssl.conf → Настройки безопасности SSL/TLS (пропуск настройки Let's Encrypt)

Если вы точно поймете эти настройки, вы сможете создать условия для получения и отправки почты с интеграцией Postfix. В следующей статье мы планируем обсудить настройку базы данных для виртуальной среды пользователей (auth-sql.conf.ext)! 🚀

Не забудьте прочитать предыдущие статьи или другие материалы о создании почтового сервера! Запросите контент через раздел "Похожие посты" или через область поиска в правом верхнем углу, используя ключевые слова "dovecot", "mail"!