DBMail over PostgreSQL + Postfix + SASL on Debian. Part 1. Введение.

Базы данных плохи для хранения почты. Однако, иногда вам не нужен быстрый почтовый сервер и вы просто хотите бэкапировать почту, используя уже настроенную базу данных. В этом цикле статей мы настроим свой почтовый сервер, используя DBMail, Postfix и SASL.

  • DBMail это проект с открытым кодом, который может использовать реляционную базу данных в качестве бэкенда для хранения пользователей и писем. В него включены демоны IMAP и POP3 со встроенной поддержкой шифрования данных.
  • Postfix это почтовый сервер (MTA) с демоном SMTP, который используется для отправки и приёма писем.
  • SASL простой уровень аутентификации и безопасности, позволяет авторизовывать соединение до Postfix, используя ваши логин и пароль.

Part 1. Введение.
Part 2. DBMail.
Part 3. Postfix.
Part 4. SASL.
Part 5. SPF. DKIM. DMARC. Очистка заголовков. DNS PTR.

Домен, DNS

Для начала, вам необходимо зарегистрировать свой домен или использовать существующий. В этой статье я буду использовать домен somewhere-in-the.space зарегистрированный в NameCheap.

После этого, вам необходимо создать A, AAAA(если есть IPv6) и MX записи в вашем DNS, или в DNS регистратора.

mail.somewhere-in-the.space. IN    A       your-IPv4
mail.somewhere-in-the.space. IN    AAAA    your-IPv6
somewhere-in-the.space. IN      MX      1 mail.somewhere-in-the.space.

PostgreSQL

Добавьте репозиторий и установите PostgreSQL.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)"-pgdg main | tee  /etc/apt/sources.list.d/pgdg.list
apt update
apt install postgresql-11

Включите запуск PostgreSQL при старте системы.

update-rc.d postgresql enable

Проверьте, что PostgreSQL работает.

su - postgres -c "psql -c 'select version();'"

TLS Сертификаты

Чтобы сделать соединение до сервера безопасным, нам потребуются TLS сертификат.
Вы можете получить его бесплатно используя Let’s Encrypt.

Сначала установите certbot.

apt install certbot

Затем, отредактируйте конфиг certbot /etc/letsencrypt/cli.ini.

max-log-backups = 0
authenticator = standalone
preferred-challenges = http
#change address to your public one on gmail, aol, etc.
email = your@mail.com
agree-tos = True
no-eff-email = True
manual-public-ip-logging-ok = True
#change permissions to appropriate ones
post-hook = /bin/chmod -R 640 /etc/letsencrypt/archive/ > /dev/null 2>&1

Получите сертификат.

certbot certonly -d mail.somewhere-in-the.space

Добавьте задачу в cron, чтобы обновлять сертификат каждую неделю.

crontab -e
* * * * 0 /usr/bin/certbot renew --force-renew

Теперь приступим к настройке DBMail.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *