Инструменты пользователя

Инструменты сайта


postfix._pochtovyj_server_dlja_neskolkix_domenov

Postfix. Почтовый сервер для нескольких доменов.

Окружение: Ubuntu 14.04.1 LTS, Postfix 2.11

Задача. Настроить почтовый сервер для нескольких доменов с виртуальными пользователями, используя связку Postfix, Dovecot, MySQL для управления пользователями почтового сервера.

Подготовка окружения

  • Нам могут потребоваться различные утилиты. Установим их: aptitude install dnsutils bind9utils etckeeper bsdutils
  • Настройка DNS для правильной работы почтового сервера. Должны быть настроены записи: A, PTR, МХ, SPF.
    • DNS: запись PTR PTR
    • DNS: запись SPF
    • Dnsmasq - простой в настройке кеширующий DNS транслятор и DHCP сервер.
  • Настройка сервера времени настройка системного времени.
  • Apache + PHP + SSL сертификат + mod_rewrite(чтобы все HTTP перенаправлялись на 443 порт)
  • PostfixAdmin - Веб-интерфейс для администрирования доменов, ящиков, алиасов и т.д.

Установка Postfix

  • Установка Postfix.
    # aptitude install postfix postfix-doc postfix-mysql postfix-pcre
  • Установщик спросит о типе настраиваемого сервера, в нашем случае нужно выбрать "Интернет-сайт: Почта отправляется и принимается напрямую с использованием SMTP." На следующем шаге нужно ввести системное почтовое имя, обычно оно соответствует FQDN- имени вашего сервера (см. DNS: PTR).
  • newaliases - перенаправление сообщений для root в другой почтовый ящик
На этом этапе у нас получился рабочий SMTP сервер. По большому счету в такой настройки только два неудобства: первое каждый почтовый пользователь должен быть создан в операционной системе, например при помощи утилиты useradd и пересылка настраивается при помощи newaliases; второе email можно прочитать/получить/отправить только через консоль при помощи, например утилиты mailx.

Postfix и Submission

  • Postfix и Submission (RFC 4409, RFC 2476). Включить дополнительно к SMTP (порт 25) Submission (порт 587), который предназначен согласно RFC 2476 для приёма новых писем от клиентов (например Thunderbird), чтобы не перегружать данной работой основной, 25-й порт, служащий для пересылки сообщений между серверами.
    # nano /etc/postfix/master.cf
    submission inet n       -       -       -       -       smtpd
      -o syslog_name=postfix/submission
      -o smtpd_tls_security_level=encrypt
      -o smtpd_sasl_auth_enable=yes
      -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
      -o milter_macro_daemon_name=ORIGINATING

Пользователь vmail

  • Создадим нового пользователя vmail, от имени которого будут производится операции с файлами в директории /var/vmail, в которой будут храниться письма:
    # mkdir /var/vmail
    # groupadd  -g 1001 vmail
    # useradd -d /var/vmail/ -g 1001 -u 1001 vmail
    # chown vmail:vmail /var/vmail

    В main.cf добавляем строки

    virtual_mailbox_base = /var/vmail
    virtual_minimum_uid = 1001
    virtual_uid_maps = static:1001
    virtual_gid_maps = static:1001
    virtual_transport = virtual
  • Генерация сертификата Quick Postfix SMTP SSL/TSL сертификат и включение, если необходимо, специального порта 465/SMTPS.

Postfix и MySQL

На этом этапе у нас получился рабочий SMTP сервер не требующий заведения пользователя в ОС.

SMTP аутентификация

  • SMTP аутентификация (SMTP AUTH) позволяет авторизованным почтовым клиентам с динамическими IP адресами пересылать сообщения через ваш сервер, не превращая его в открытый ретранслятор. Чтобы узнать какие библиотеки SASL поддерживает Postfix используйте ключ -а
    # postconf -a
    cyrus
    dovecot
  1. Включим поддержку SMTP AUTH в Postfix, для этого в main.cf добавим строки
    # SMTP AUTH Dovecot
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    # Block old clients
    broken_sasl_auth_clients = no
  2. Настроим SMTP AUTH в Postfix при помощи Dovecot SASL.
    # aptitude install dovecot-core dovecot-imapd dovecot-mysql
    # service postfix restart
    # service dovecot restart
На этом этапе у нас получился рабочий SMTP сервер с поддержкой SMTP AUTH и SSL/TLS.

Дополнительно

  • DKIM - DomainKeys Identified Mail

Как эти части работают вместе:

  1. Почтовое сообщение принимается Postfix.
  2. Это сообщение проходит через некоторые внешние фильтры, в том числе opendkim и postfix-policyd-spf-python.
  3. Затем сообщение обрабатывается Amavisd-new.
  4. ClamAV используется для проверки сообщения. Если сообщение содержит вирус, Postfix сбросит сообщение.
  5. Чистые сообщения затем будут проверены Spamassassin на принадлежность к спаму. Spamassassin затем добавит строки X-Header, позволяющие в дальнейшем Amavisd-new управлять сообщением.
  • RoundCube - веб- интерфейс для работы с электронной почтой.
  • Mailman - приложение для создания почтовых рассылок.
postfix._pochtovyj_server_dlja_neskolkix_domenov.txt · Последние изменения: 2015/05/21 06:24 (внешнее изменение)

Яндекс.Метрика