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

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


postfix._pochtovyj_server_dlja_neskolkix_domenov

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

postfix._pochtovyj_server_dlja_neskolkix_domenov [2018/08/28 03:48] (текущий)
Строка 1: Строка 1:
 +====== Postfix: Почтовый сервер для нескольких доменов. ======
 +
 +~~Title: Сервер Postfix для нескольких доменов ~~
 +{{htmlmetatags>​
 +metatag-description=(Пример настройки почтового сервера postfix для нескольких доменов (postfix multiple domains), а так же dkim, dmark и spf.)
 +}}
 +
 +{{ ::​postfix-mail-server-01.png?​nolink&​400 |}}
 +
 +**Окружение**:​ [[Ubuntu]] 14.04.1 LTS, [[Postfix]] 2.11
 +
 +**Задача.** Настроить почтовый сервер для нескольких доменов с виртуальными пользователями,​ используя связку Postfix, [[Dovecot]],​ [[MySQL]] для управления пользователями почтового сервера.
 +
 +===== Подготовка окружения =====
 +
 +  * Нам могут потребоваться различные утилиты. Установим их: **aptitude install** dnsutils bind9utils [[etckeeper]] bsdutils
 +
 +  * Настройка DNS для правильной работы почтового сервера. Должны быть настроены записи:​ A, PTR, МХ, SPF.
 +       * DNS: запись PTR [[hostname, reverse DNS]]
 +       * DNS: запись [[SPF]]
 +       * [[Dnsmasq]] - простой в настройке кеширующий DNS транслятор и DHCP сервер.
 +  * [[NTP]] настройка системного времени.
 +  * [[ustanovka_mysql_server#​ubuntu|MySQL]]
 +  * [[apache#​ubuntu|Apache]] + PHP + [[ssl#​quick_apache2_ssl_sertifikat|SSL сертификат]] + [[mod_rewrite]](чтобы все [[HTTP]] перенаправлялись на 443 порт)
 +  * [[phpMyAdmin]]
 +  * [[PostfixAdmin]] - Веб-интерфейс для администрирования доменов,​ ящиков,​ алиасов и т.д.
 +
 +===== Установка Postfix =====
 +  * **Установка Postfix.**<​file>​
 +# aptitude install postfix postfix-doc postfix-mysql postfix-pcre
 +</​file>​
 +  * Установщик спросит о типе настраиваемого сервера,​ в нашем случае нужно выбрать "​Интернет-сайт:​ Почта отправляется и принимается напрямую с использованием SMTP." На следующем шаге нужно ввести системное почтовое имя, обычно оно соответствует FQDN- имени вашего сервера (см. DNS: [[hostname, reverse DNS]]).
 +  * [[newaliases]] - перенаправление сообщений для root в другой почтовый ящик
 +<​note>​На этом этапе у нас получился рабочий [[SMTP]] сервер. По большому счету в такой настройки только два неудобства:​ первое каждый почтовый пользователь должен быть создан в операционной системе,​ например при помощи утилиты [[useradd]] и пересылка настраивается при помощи [[newaliases]];​ второе email можно прочитать/​получить/​отправить только через консоль при помощи,​ например утилиты [[mailx]].</​note>​
 +
 +==== Postfix и Submission ====
 +
 +  * Postfix и **Submission** ([[RFC]] 4409, RFC 2476). Включить дополнительно к SMTP (порт 25) Submission (порт 587), который предназначен согласно RFC 2476 для приёма новых писем от клиентов (например [[Thunderbird]]),​ чтобы не перегружать данной работой основной,​ 25-й порт, служащий для пересылки сообщений между серверами.<​file>​
 +# 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
 +</​file>​
 +
 +==== Пользователь vmail ====
 +  * **Создадим нового пользователя vmail**, от имени которого будут производится операции с файлами в директории /var/vmail, в которой будут храниться письма:<​file>​
 +# mkdir /var/vmail
 +# groupadd ​ -g 1001 vmail
 +# useradd -d /var/vmail/ -g 1001 -u 1001 vmail
 +# chown vmail:vmail /var/vmail
 +</​file>​В main.cf добавляем строки<​file>​
 +virtual_mailbox_base = /var/vmail
 +virtual_minimum_uid = 1001
 +virtual_uid_maps = static:1001
 +virtual_gid_maps = static:1001
 +virtual_transport = virtual
 +</​file>​
 +  * Генерация сертификата [[ssl#​quick_postfix_smtp_ssl_tsl_sertifikat|Quick Postfix SMTP SSL/TSL сертификат]] и включение,​ если необходимо,​ специального порта 465/SMTPS.
 +==== Postfix и MySQL ====
 +
 +  * Свяжем [[Postfix и MySQL]].
 +
 +<​note>​На этом этапе у нас получился **рабочий** SMTP сервер не требующий заведения пользователя в ОС.</​note>​
 +
 +==== SMTP аутентификация ====
 +
 +  * **SMTP аутентификация** ([[smtp#​komanda_auth|SMTP AUTH]]) позволяет авторизованным почтовым клиентам с динамическими IP адресами пересылать сообщения через ваш сервер,​ не превращая его в открытый ретранслятор. Чтобы узнать какие библиотеки SASL поддерживает Postfix используйте ключ -а<​file>​
 +# postconf -a
 +cyrus
 +dovecot
 +</​file>​
 +  - Включим поддержку SMTP AUTH в Postfix, для этого в main.cf добавим строки<​file>​
 +# 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
 +</​file>​
 +  - Настроим SMTP AUTH в Postfix при помощи [[dovecot?&#​dovecot_i_mysql|Dovecot]] SASL.<​file>​
 +# aptitude install dovecot-core dovecot-imapd dovecot-mysql
 +# service postfix restart
 +# service dovecot restart
 +</​file>​
 +  - [[mta?&#​testy|Тесты для почтового сервера]].
 +<​note>​На этом этапе у нас получился рабочий SMTP сервер с поддержкой SMTP AUTH и SSL/​TLS.</​note>​
 +===== Дополнительно =====
 +
 +  * [[Postfix backup MX]]
 +  * [[postfix?&#​restrictions_postfix|Restrictions Postfix]]
 +  * [[Fail2ban]] v0.8.11 поддерживает Postfix и Dovecot, нужно их просто включить
 +  * [[http://​postgrey.schweikert.ch|Postgrey]]. [[wpru>​Серый список]]. [[http://​help.ubuntu.ru/​wiki/​postgrey|Грейлистинг с помощью postgrey]]. На мой взгляд неприменимо в бизнес решении,​ только усложнит работу сотрудников. Любые задержки в получении писем недопустимы.
 +  * [[SPF]] фильтрация встроена [[SpamAssassin]]. Можно использовать [[postfix-policyd-spf-python]] или [[postfix-policyd-spf-perl]].
 +  * [[Postscreen]] анализирует поведение SMTP- клиента и блокирует его при необходимости.
 +  * [[amavisd-new]] интеграция с Postfix, ClamAV, SpamAssassin
 +  * [[ClamAV]] антивирус
 +  * [[analiz_log_fajlov|Анализ лог файлов]]
 +  * [[SpamAssassin]]
 +
 +  * [[DKIM]] - DomainKeys Identified Mail
 +
 +Как эти части работают вместе:​
 +  - Почтовое сообщение принимается Postfix.
 +  - Это сообщение проходит через некоторые внешние фильтры,​ в том числе opendkim и postfix-policyd-spf-python.
 +  - Затем сообщение обрабатывается Amavisd-new.
 +  - ClamAV используется для проверки сообщения. Если сообщение содержит вирус, Postfix сбросит сообщение.
 +  - Чистые сообщения затем будут проверены Spamassassin на принадлежность к спаму. Spamassassin затем добавит строки X-Header, позволяющие в дальнейшем Amavisd-new управлять сообщением.
 +
 +  * [[RoundCube]] - веб- интерфейс для работы с электронной почтой.
 +  * Mailman - приложение для создания почтовых рассылок.
  
загрузка...
postfix._pochtovyj_server_dlja_neskolkix_domenov.txt · Последние изменения: 2018/08/28 03:48 (внешнее изменение)