Как настроить собственный почтовый сервер Docker шаг за шагом

Всего за несколько шагов вы можете настроить выделенный почтовый сервер и тем самым получить максимальный контроль над трафиком цифровых сообщений. Большой популярностью пользуется настройка с помощью Docker и его готового к использованию стека «почтовый сервер Docker». Каковы требования? И как именно можно настроить почтовый сервер?

Какое оборудование необходимо для вашего почтового сервера Docker?

Для работы собственного почтового сервера вам потребуется соответствующее оборудование. Размеры будут определяться требуемой производительностью, например, сколько сообщений отправляется в день и сколько человек одновременно пользуются сервером. Средний размер обмениваемых сообщений также имеет значение. Следует предусмотреть дополнительную мощность для дополнительных услуг, таких как система резервного копирования или сканер содержимого (защита от спама, фишинга и т.д.). Вам также понадобится статический IP-адрес для обеспечения бесперебойного взаимодействия с другими почтовыми серверами.

Совет

Хотите придать своему почтовому серверу индивидуальный и профессиональный характер? Для этого необходим персональный адрес. Зарегистрируйте свой личный домен в IONOS сегодня и получите SSL/TLS сертификат для вашего почтового сервера в придачу!

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

Примечание

Не забудьте запланировать ресурсы для базовой операционной системы, будь то Windows или Linux.

Мы обобщили три сценария работы почтового сервера и для каждого из них назначили подходящий план сервера IONOS.

Сценарий почтового сервера

Оборудование

Подходящий план IONOS

Простой домашний сервер с небольшим трафиком

2 vCore, 4 ГБ оперативной памяти, 60 ГБ места на жестком диске

VPS L

Почтовый сервер для небольшой компании с ежедневной рассылкой до 1 000 писем

4 vCores, 8 ГБ RAM, 100 ГБ места на жестком диске

VPS XL

Почтовый сервер для предприятия с более чем 50 000 ежедневных писем

8 vCores, 16 GB RAM, 500 GB места на жестком диске

ТВЕРДОТЕЛЬНЫЙ НАКОПИТЕЛЬ AR6-32

Примечание

Выделенный сервер от IONOS дает вам доступ к корпоративному оборудованию, которое зарезервировано исключительно для вас. В отличие от этого, модели «vServer» и «Cloud Server» основаны на виртуализированных ресурсах, которые используются совместно с другими клиентами — без потери производительности.

Пошаговое руководство: Настройка почтового сервера с помощью Docker

Существуют различные варианты настройки почтового сервера. В следующем руководстве мы выбрали сервер на основе контейнера Docker «Почтовый сервер Docker». Этот оптимизированный контейнер с открытым исходным кодом (лицензия MIT) предоставляет готовый к использованию стек для создания собственного почтового сервера. В него включены все важные компоненты, такие как SMTP-сервер, IMAP или POP3-сервер, антиспам и антивирусное программное обеспечение или служба реестра LDAP.

Примечание

Если вы хотите работать с образом Docker типа «Почтовый сервер Docker», вам необходимо сначала установить контейнерную платформу. Подробнее об этом вы можете узнать из нашего обширного руководства по Docker.

Продолжайте читать следующие разделы, чтобы узнать, как именно работает установка «почтового сервера Docker».

Шаг 1: Получение образа Docker

Вы можете получить последний образ «почтового сервера Docker» из официального реестра стека на DockerHub или из официального репозитория GitHub коллекции инструментов.

Если вы решили использовать реестр DockerHub, получите образ с помощью следующего ввода командной строки:

docker pull mailserver/docker-mailserver

Введите следующую команду для установки из реестра GitHub:

docker pull ghcr.io/docker-mailserver/docker-mailserver:edge

Шаг 2: Настройка docker-compose.yml

Следующий шаг — подготовка контейнера «почтовый сервер Docker» к запуску. Для этого необходимо создать реестр для почтового сервера, например, «mail server Docker». Затем в этом реестре следует создать новый YAML-файл с именем docker-compose.yml и добавить в него следующее содержимое для базовой конфигурации почтового сервера:

version: '3.8'

services:
  mailserver:
    image: docker.io/mailserver/docker-mailserver:latest
    container_name: mailserver
    hostname: mail-server
    # example.com should be replaced with the own domain for the mail server:
    domain name: example.com
    ports:
      - "25:25"
      - "587:587"
      - "465:465"
    volumes:
      - ./docker-data/dms/mail-data/:/var/mail/
      - ./docker-data/dms/mail-state/:/var/mail-state/
      - ./docker-data/dms/mail-logs/:/var/log/mail/
      - ./docker-data/dms/config/:/tmp/docker-mailserver/
      # Path should be adjusted accordingly:
      - ./docker-data/nginx-proxy/certs/:/etc/letsencrypt/
      - /etc/localtime:/etc/localtime:ro
    environment:
      - ENABLE_FAIL2BAN=1
      # If letsencrypt for SSL/TLS certificate is used (otherwise adapt)
      - SSL_TYPE=letsencrypt
      - PERMIT_DOCKER=network
      - ONE_DIR=1
      - ENABLE_POSTGREY=0
      - ENABLE_CLAMAV=0
      - ENABLE_SPAMASSASSIN=0
      - SPOOF_PROTECTION=0
    cap_add:
      - NET_ADMIN # For Fail2Ban to work
      - SYS_PTRACE
Примечание

Подробный список возможных настроек почтового сервера см. в официальном руководстве почтового сервера Docker на GitHub.

Шаг 3: Освободить порты

В YAML-файл вводятся три порта 25, 465 и 587. Это классические порты SMTP-сервера, которые также должны быть освобождены в настройках брандмауэра сервера для бесперебойной работы. Точная процедура зависит от системы и провайдера — клиенты IONOS (vServer, Cloud Server, Dedicated Server) могут удобно выполнить проброс портов с помощью Cloud Panel. Необходимые шаги следующие:

  1. Войдите на страницу входа в Cloud Panel, используя свои личные данные клиента.
  2. Перейдите в раздел «Сервер & Облако».
  3. Выберите арендованное серверное оборудование, на котором вы хотите установить почтовый сервер.
  4. Нажмите «Сеть», а затем «Политики брандмауэра» в левом боковом меню.
  5. Добавьте три TCP-порта «25», «465» и «587» один за другим, используя «Add Rule».

Шаг 4: Примените имя хоста к настройкам DNS

На следующем этапе убедитесь, что служба DNS сервера использует запись MX для имени хоста, настроенного в Шаге 2 (здесь: «почтовый сервер»). Добавьте запись SPF TXT с именем хоста и значением «v=spf1 mx ~all».

Как клиент IONOS, вы также можете изменить настройки DNS вашего сервера с помощью Cloud Panel следующим образом:

  1. Войдите на страницу входа в Cloud Panel, если вы там больше не зарегистрированы.
  2. Нажмите на запись «Domains & SSL».
  3. Нажмите на значок шестеренки рядом с записью домена, где вы настроили свой почтовый сервер, и выберите «DNS».
  4. Теперь вы можете использовать кнопку «Добавить запись», чтобы добавить две записи для MX и SPF TXT.

Наконец, нажмите «Сбросить домен» в верхнем меню, чтобы применить изменения. Подтвердите внесенные корректировки и нажмите «Сбросить сейчас».

Совет

У вас еще нет собственного веб-адреса для почтового сервера? Начните уже сегодня, зарегистрировав свой домен в IONOS!

Шаг 5: Создайте DKIM-ключи

Создайте DKIM-запись, чтобы повысить уровень безопасности почтового сервера. Этот метод шифрования в дальнейшем может быть использован для цифровой подписи сообщений. Для генерации пары ключей используйте файл сценария setup.sh, расположенный в реестре почтового сервера Docker. Выполните в нем следующую команду:

./setup.sh config dkim

Добавьте сгенерированную запись — найденную в файле docker-data/dms/config/opendkim/keys/example.com/mail.txt — в записи DNS как еще одну запись TXT, чтобы принимающие почтовые серверы могли получить открытый ключ. Результат выглядит следующим образом:

mail._domainkey IN  TXT     ( "v=DKIM1; h=sha256; k=rsa; "
        "p=MIIBIjANBgkqhkiG9w0BAQEFACAQ8AMIIBCgKCAQEAaH5KuPYPSF3Ppkt466BDMAFGOA4mgqn4oPjZ5BbFlYA9l5jU3bgzRj3l6/Q1n5a9lQs5fNZ7A/HtY0aMvs3nGE4oi+LTejt1jblMhV/OfJyRCunQBIGp0s8G9kIUBzyKJpDayk2+KJSJt/lxL9Iiy0DE5hIv62ZPP6AaTdHBAsJosLFeAzuLFHQ6USyQRojefqFQtgYqWQ2JiZQ3"
        "iqq3bD/BVlwKRp5gH6TEYEmx8EBJUuDxrJhkWRUk2VDl1fqhVBy8A9O7Ah+85nMrlOHIFsTaYo9o6+cDJ6t1i6G1gu+bZD0d3/3bqGLPBQV9LyEL1Rona5V7TJBGg099NQkTz1IwIDAQAB" ) ; ----- DKIM key mail for example.com
Примечание

Шифрование почтовой связи с помощью SSL/TLS так же важно, как и записи DKIM. Разработчики почтового сервера Docker рекомендуют использовать letsencrypt для активации, но вы также можете использовать уже приобретенные сертификаты. Подробные инструкции по настройке можно найти в официальной документации почтового сервера на GitHub.

Шаг 6: Запуск сервера и создание первого адреса

Запустите настроенный почтовый сервер прямо из реестра с помощью следующей команды:

docker-compose up

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

./setup.sh email add user@domain password

Дополнительные профили могут быть созданы в любое время, что позволит вам настроить почтовый сервер именно так, как вы хотите.

Совет

Вы хотите хранить свои электронные сообщения, иметь юридическую безопасность и соответствовать требованиям GoBD? Используйте архивацию электронной почты от IONOS для легального архивирования выбранных почтовых ящиков и предотвращения возможного несанкционированного доступа!

Оцените статью
cdelat.ru
Добавить комментарий