Postfix Сравнение версий

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:почтовые_сервисы:postfix [2012/08/02 21:46]
[Базовая настройка]
wiki:руководство_по_ubuntu_server:почтовые_сервисы:postfix [2019/04/07 12:41] (текущий)
Строка 29: Строка 29:
   -- **//​%%mail.example.com%%//​**%%,​ localhost.localdomain,​ localhost%%   -- **//​%%mail.example.com%%//​**%%,​ localhost.localdomain,​ localhost%%
   -- %%No%%   -- %%No%%
-  -- %%127.0.0.0/​8 [::​ffff:​127.0.0.0]/​104 [::1]/128 %%**//​%%192.168.0.0/​24%%//**+  -- %%127.0.0.0/​8 [::​ffff:​127.0.0.0]/​104 [::1]/128 %%**//​%%192.168.0.0/​16%%//**
   -- %%0%%   -- %%0%%
   -- %%+%%   -- %%+%%
Строка 36: Строка 36:
 <​note>​Замените **//​%%mail.example.com%%//​** на домен, для которого вы настраиваете email, **//​%%192.168.0.0/​24%%//​** на актуальную подсеть и маску для вашего почтового сервера и **//​%%steve%%//​** на соответствующее имя пользователя.</​note>​ <​note>​Замените **//​%%mail.example.com%%//​** на домен, для которого вы настраиваете email, **//​%%192.168.0.0/​24%%//​** на актуальную подсеть и маску для вашего почтового сервера и **//​%%steve%%//​** на соответствующее имя пользователя.</​note>​
  
-Теперь самое время решить какой формат почтового ящика вы хотите использовать. По умолчанию postfix использует ​**mbox** в качестве ​формата. Вместо непосредственного редактирования файла конфигурации вы можете использовать команду **postconf** для настройки параметров postfix. Параметры будут сохранены в файле /​etc/​postfix/​main.cf. В дальнейшем если вы решите переконфигурировать отдельные параметры вы можете как запустить команду,​ так и вручную поправить файл.+Теперь самое время решить какой формат почтового ящика вы хотите использовать. По умолчанию postfix использует формат ​**mbox**. Вместо непосредственного редактирования файла конфигурации вы можете использовать команду **postconf** для настройки параметров postfix. Параметры будут сохранены в файле /​etc/​postfix/​main.cf. В дальнейшем если вы решите переконфигурировать отдельные параметры вы можете как запустить команду,​ так и вручную поправить файл.
  
 Для настройки формата почтового ящика для **Maildir**:​ Для настройки формата почтового ящика для **Maildir**:​
Строка 45: Строка 45:
 ====Аутентификация SMTP==== ====Аутентификация SMTP====
  
-SMTP-AUTH ​allows a client to identify itself through an authentication mechanism ​(SASL). ​Transport Layer Security ​(TLS) should be used to encrypt the authentication processOnce authenticated the SMTP server will allow the client to relay mail.+SMTP-AUTH ​позволяет клиенту идентифицировать себя через механизм аутентификации ​(SASL). ​Транспортный уровень безопасности ​(TLS) будет использоваться для шифрования процесса аутентификацииПосле аутентификации ​SMTP сервер позволит клиенту передавать почту.
  
-    Configure ​Postfix ​for SMTP-AUTH ​using SASL (Dovecot SASL):+ 1. Настройте ​Postfix ​на SMTP-AUTH ​с использованием ​SASL (Dovecot SASL): 
 +<​code>​ 
 +sudo postconf -e '​smtpd_sasl_type = dovecot'​ 
 +sudo postconf -e '​smtpd_sasl_path = private/​auth-client'​ 
 +sudo postconf -e '​smtpd_sasl_local_domain =' 
 +sudo postconf -e '​smtpd_sasl_security_options = noanonymous'​ 
 +sudo postconf -e '​broken_sasl_auth_clients = yes' 
 +sudo postconf -e '​smtpd_sasl_auth_enable = yes' 
 +sudo postconf -e '​smtpd_recipient_restrictions = \ 
 +permit_sasl_authenticated,​permit_mynetworks,​reject_unauth_destination'​ 
 +</​code>​ 
 +<​note>​Настройка **//​smtpd_sasl_path//​** является путем, относительным к каталогу запросов Postfix.</​note>​
  
-    sudo postconf -e '​smtpd_sasl_type = dovecot'​ + 2. Далее создайте или получите цифровой сертификат для TLS. Смотрите подробности в разделе [[wiki:​руководство_по_ubuntu_server:​безопасность:​certificates|Сертификаты]]. Этот пример также использует Центр сертификации (CA). Для информации по созданию сертификатов CA смотрите раздел [[wiki:​руководство_по_ubuntu_server:​безопасность:​certificates#​центр_сертификации|Центр сертификации]]. 
-    sudo postconf -e '​smtpd_sasl_path = private/​auth-client'​ +<​note>​Почтовым агентам пользователей (MUA)подключающимся к вашему почтовому серверу через TLSпотребуется распознать сертификат,​ используемый для TLS. Это может быть сделано либо с использованием сертификата от коммерческого центра сертификации,​ либо с самоподписанным сертификатом,​ который пользователи вручную установили. Для TLS между MTA (почтовыми агентами передачи) сертификаты никогда не подтверждаются без дополнительного соглашения с контролирующими организациями. Поэтому для таких соединений,​ если локальные политики этого не требуют,​ нет резона не использовать самоподписанные сертификаты. Смотрите подробности в разделе [[wiki:​руководство_по_ubuntu_server:​безопасность:​certificates#​создание_самоподписанного_сертификата|Создание самоподписанного сертификата]].</​note>​
-    sudo postconf -e '​smtpd_sasl_local_domain =' +
-    sudo postconf -e '​smtpd_sasl_security_options = noanonymous'​ +
-    sudo postconf -e '​broken_sasl_auth_clients = yes' +
-    sudo postconf -e '​smtpd_sasl_auth_enable = yes' +
-    sudo postconf -e '​smtpd_recipient_restrictions = \ +
-    permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'​+
  
-    The smtpd_sasl_path configuration is a path relative to the Postfix ​queue directory.+ 3. Как только у вас появился сертификат,​ настройте ​Postfix ​на использование TLS шифрования как для входящей,​ так и для исходящей почты:​ 
 +<​code>​ 
 +sudo postconf -e '​smtp_tls_security_level = may' 
 +sudo postconf -e '​smtpd_tls_security_level = may' 
 +sudo postconf -e '​smtp_tls_note_starttls_offer = yes' 
 +sudo postconf -e '​smtpd_tls_key_file = /​etc/​ssl/​private/​server.key'​ 
 +sudo postconf -e '​smtpd_tls_cert_file = /​etc/​ssl/​certs/​server.crt'​ 
 +sudo postconf -e '​smtpd_tls_loglevel = 1' 
 +sudo postconf -e '​smtpd_tls_received_header = yes' 
 +sudo postconf -e '​myhostname = mail.example.com' 
 +</​code>​
  
-    Nextgenerate or obtain a digital certificate for TLSSee Certificates for details. This example also uses a Certificate Authority (CA). For information on generating a CA certificate see Certification Authority.+ 4. Если вы используете **//​собственный Центр сертификации//​**для подписи сертификата введите:​ 
 +<​code>​sudo postconf -e '​smtpd_tls_CAfile = /​etc/​ssl/​certs/​cacert.pem'</​code>​ 
 +Опять же, для подробностей смотрите раздел [[wiki:​руководство_по_ubuntu_server:​безопасность:​certificates|Сертификаты]].
  
-    MUAs connecting to your mail server via TLS will need to recognize the certificate used for TLS. This can either be done using a certificate from a commercial CA or with a self-signed certificate that users manually install/​accept. For MTA to MTA TLS certficates are never validated without advance agreement from the affected organizations. For MTA to MTA TLS, unless local policy requires it, there is no reason not to use a self-signed certificate. Refer to Creating a Self-Signed Certificate for more details.+После выполнения всех команд Postfix настроен на SMTP-AUTH и самоподписанный сертификат создан для ​TLS шифрования.
  
-    Once you have a certificate,​ configure Postfix to provide TLS encryption for both incoming and outgoing mail:+Начальная настройка postfix закончена. Выполните следующую команду для перезапуска сервиса postfix: 
 +<​code>​sudo /​etc/​init.d/​postfix restart</​code>​
  
-    sudo postconf ​-e '​smtp_tls_security_level = may' +Postfix поддерживает SMTP-AUTH как описано в [[http://www.ietf.org/rfc/rfc2554.txt|RFC2554]]Он основан на [[http://www.ietf.org/rfc/rfc2222.txt|SASL]]Однако все-таки необходимо настроить аутентификацию перед тем, как вы сможете использовать ​SMTP-AUTH.
-    sudo postconf -e '​smtpd_tls_security_level = may' +
-    sudo postconf -e '​smtp_tls_note_starttls_offer = yes' +
-    sudo postconf -e '​smtpd_tls_key_file = /etc/ssl/​private/​server.key' +
-    sudo postconf -e '​smtpd_tls_cert_file = /etc/ssl/​certs/​server.crt' +
-    sudo postconf -e '​smtpd_tls_loglevel = 1' +
-    sudo postconf -e '​smtpd_tls_received_header = yes' +
-    sudo postconf -e '​myhostname = mail.example.com'​ +
- +
-    If you are using your own Certificate Authority to sign the certificate enter: +
- +
-    sudo postconf -e '​smtpd_tls_CAfile = /etc/ssl/​certs/​cacert.pem' +
- +
-    Again, for more details about certificates see Certificates. +
- +
-After running all the commands, Postfix is configured for SMTP-AUTH and a self-signed certificate has been created for TLS encryption. +
- +
-Now, the file /etc/postfix/​main.cf should look like this. +
- +
-The postfix initial configuration is complete. Run the following command to restart the postfix daemon: +
- +
-sudo /​etc/​init.d/​postfix restart +
- +
-Postfix supports SMTP-AUTH as defined in RFC2554. It is based on SASL. However it is still necessary to set up SASL authentication before you can use SMTP-AUTH.+
  
 ====Настройка SASL==== ====Настройка SASL====
  
-Postfix ​supports two SASL implementations ​Cyrus SASL and Dovecot SASL. To enable ​Dovecot SASL the dovecot-common ​package will need to be installedFrom a terminal prompt enter the following+Postfix ​поддерживает две реализации ​SASL: **//Cyrus SASL//** и **//Dovecot SASL//**Чтобы разрешить **Dovecot SASL**, требуется установить пакет **dovecot-common**Для этого из терминала введите следующее
- +<​code>​sudo apt-get install dovecot-common</​code>​ 
-sudo apt-get install dovecot-common +Далее вам потребуется отредактировать ​/​etc/​dovecot/​dovecot.conf. ​В секции **auth default** снимите комментарий с опции **socket listen** и измените ее следующим образом
- +<​code>​
-Next you will need to edit /​etc/​dovecot/​dovecot.conf. ​In the auth default ​section uncomment the socket listen ​option and change the following+
   socket listen {   socket listen {
     #master {     #master {
Строка 120: Строка 113:
     }     }
   }   }
 +</​code>​
  
-In order to let Outlook clients use SMTP-AUTH, ​in the auth default ​section of /​etc/​dovecot/​dovecot.conf ​add "​login":​+Чтобы позволить использовать ​SMTP-AUTH ​клиентам Outlookв секции **auth default** файла ​/​etc/​dovecot/​dovecot.conf ​добавьте %%"​login"​%%: 
 +<​code> ​ mechanisms = plain login</​code>​
  
-  mechanisms = plain login +После того, как ​Dovecot ​настроен,​ перезапустите его
- +<​code>​sudo /​etc/​init.d/​dovecot restart</​code>​
-Once you have Dovecot ​configured restart it with+
- +
-sudo /​etc/​init.d/​dovecot restart+
  
 ====Почтовый стек доставки==== ====Почтовый стек доставки====
  
-Another option for configuring ​Postfix ​for SMTP-AUTH ​is using the mail-stack-delivery ​package ​(previously packaged as dovecot-postfix). ​This package will install ​Dovecot ​and configure ​Postfix ​to use it for both SASL authentication and as a Mail Delivery Agent (MDA). ​The package also configures ​Dovecot ​for IMAP, IMAPS, POP3, and POP3S.+Другой опцией настройки ​Postfix ​для ​SMTP-AUTH ​является использование пакета **mail-stack-delivery** (ранее он назывался ​dovecot-postfix). ​Этот пакет установит ​Dovecot ​и настроит ​Postfix ​для его использования совместно с SASL аутентификацией и как агента доставки почты ​(MDA). ​Пакет также настроит ​Dovecot ​для ​IMAP, IMAPS, POP3 и POP3S.
  
-You may or may not want to run IMAP, IMAPS, POP3, or POP3S on your mail serverFor exampleif you are configuring your server to be a mail gatewayspam/virus filter, etcIf this is the case it may be easier to use the above commands to configure ​Postfix ​for SMTP-AUTH.+<​note>​Вы можете захотеть или не захотеть использовать ​IMAP, IMAPS, POP3, или ​POP3S на вашем почтовом сервереНапримересли вы настраиваете свой сервер в качестве почтового шлюзафильтра спама и вирусов и т.п. В этом случае возможно будет проще использовать вышеприведенные команды для настройки ​Postfix ​на SMTP_AUTH.</​note>​
  
-To install the packagefrom a terminal prompt enter+Чтобы установить пакетвведите в терминале
- +<​code>​sudo apt-get install mail-stack-delivery</​code>​ 
-sudo apt-get install mail-stack-delivery +У вас теперь рабочий почтовый серверно существует несколько опций, которые вы, возможно,​ захотите изменить в дальнейшемНапримерпакет использует сертификат и ключ от ssl-cert ​пакетаи в рабочей средевы должны использовать сертификат и ключ, сгенерированный для хостаСмотрите радел [[wiki:руководство_по_ubuntu_server:​безопасность:​certificates|Сертификаты]] для дополнительных деталей.
- +
-You should now have a working mail serverbut there are a few options that you may wish to further customizeFor examplethe package uses the certificate and key from the ssl-cert ​packageand in a production environment you should use a certificate and key generated for the host. See Certificates for more details. +
- +
-Once you have a customized certificate and key for the hostchange the following options in /​etc/​postfix/​main.cf:+
  
 +После того, как вы получили заказанный сертификат для сервера,​ замените следующую опцию в /​etc/​postfix/​main.cf:​
 +<​code>​
 smtpd_tls_cert_file = /​etc/​ssl/​certs/​ssl-mail.pem smtpd_tls_cert_file = /​etc/​ssl/​certs/​ssl-mail.pem
 smtpd_tls_key_file = /​etc/​ssl/​private/​ssl-mail.key smtpd_tls_key_file = /​etc/​ssl/​private/​ssl-mail.key
- +</​code>​ 
-Then restart ​Postfix: +Перезапустите ​Postfix: 
- +<​code>​sudo /​etc/​init.d/​postfix restart</​code>​
-sudo /​etc/​init.d/​postfix restart +
 ====Тестирование==== ====Тестирование====
  
-SMTP-AUTH ​configuration is completeNow it is time to test the setup. +Настройка ​SMTP-AUTH ​завершенаТеперь самое время проверить настройки.
- +
-To see if SMTP-AUTH and TLS work properly, run the following command: +
- +
-telnet mail.example.com 25 +
- +
-After you have established the connection to the postfix mail server, type: +
- +
-ehlo mail.example.com +
- +
-If you see the following lines among others, then everything is working perfectly. Type quit to exit.+
  
 +Чтобы убедиться,​ что SMTP-AUTH и TLS работают правильно,​ выполните следующую команду:​
 +<​code>​telnet mail.example.com 25</​code>​
 +После установления соединения с почтовым сервером postfix введите:​
 +<​code>​ehlo mail.example.com</​code>​
 +Если среди прочего вы увидите следующие строки,​ все работает замечательно. Введите **quit** для выхода.
 +<​code>​
 250-STARTTLS 250-STARTTLS
 250-AUTH LOGIN PLAIN 250-AUTH LOGIN PLAIN
 250-AUTH=LOGIN PLAIN 250-AUTH=LOGIN PLAIN
 250 8BITMIME 250 8BITMIME
 +</​code>​
  
 ====Решение проблем==== ====Решение проблем====
  
-This section introduces some common ways to determine the cause if problems arise.+Эта секция описывает несколько общих способов определения причин возникающих проблем.
  
 ===Отказ от режима chroot=== ===Отказ от режима chroot===
  
-The Ubuntu ​postfix ​package will by default install into a chroot ​environment for security reasonsThis can add greater complexity when troubleshooting problems.+Пакет **postfix** в Ubuntu по умолчанию устанавливается в окружении **chroot** из соображений безопасностиЭто может дополнительно усложнить процесс поиска решения проблем.
  
-To turn off the chroot ​operation locate for the following line in the /​etc/​postfix/​master.cf ​configuration file+Для отключения функционирования ​chroot, найдите следующую строку в файле настроек ​/​etc/​postfix/​master.cf:​ 
- +<​code>​smtp      inet  n       ​- ​      ​- ​      ​- ​      ​- ​      smtpd</​code>​ 
-smtp      inet  n       ​- ​      ​- ​      ​- ​      ​- ​      ​smtpd +И замените на следующее
- +<​code>​smtp      inet  n       ​- ​      ​n ​      ​- ​      ​- ​      smtpd</​code>​ 
-and modify it as follows+После этого вам придется перезапустить ​Postfix ​для использования новых настроекИз терминал введите следующее
- +<​code>​sudo /​etc/​init.d/​postfix restart</​code>​
-smtp      inet  n       ​- ​      ​n ​      ​- ​      ​- ​      ​smtpd +
- +
-You will then need to restart ​Postfix ​to use the new configurationFrom a terminal prompt enter+
- +
-sudo /​etc/​init.d/​postfix restart+
  
 ===Файлы журналов=== ===Файлы журналов===
  
-Postfix ​sends all log messages to /​var/​log/​mail.log. ​However error and warning messages can sometimes get lost in the normal log output so they are also logged to /​var/​log/​mail.err ​and /​var/​log/​mail.warn ​respectively. +Postfix ​посылает все сообщения в журнал ​/​var/​log/​mail.log. ​Однако сообщения об ошибках и предупреждения могут иногда теряться в нормальном журнале,​ поэтому они отдельно сохраняются в /​var/​log/​mail.err ​и /​var/​log/​mail.warn ​соответственно.
- +
-To see messages entered into the logs in real time you can use the tail -f command: +
- +
-tail -f /​var/​log/​mail.err +
- +
-The amount of detail that is recorded in the logs can be increased. Below are some configuration options for increasing the log level for some of the areas covered above. +
- +
-    To increase TLS activity logging set the smtpd_tls_loglevel option to a value from 1 to 4. +
- +
-    sudo postconf -e '​smtpd_tls_loglevel = 4' +
- +
-    If you are having trouble sending or receiving mail from a specific domain you can add the domain to the debug_peer_list parameter. +
- +
-    sudo postconf -e '​debug_peer_list = problem.domain'​ +
- +
-    You can increase the verbosity of any Postfix daemon process by editing the /​etc/​postfix/​master.cf and adding a -v after the entryFor example edit the smtp entry: +
- +
-    smtp      unix  -       ​- ​      ​- ​      ​- ​      ​- ​      smtp -v+
  
-It is important to note that after making one of the logging changes above the Postfix process will need to be reloaded in order to recognize the new configurationsudo /etc/init.d/postfix reload+Для просмотра сообщений журнала в режиме реального времени вы можете использовать команду **tail -f**: 
 +<​code>​tail -f /var/log/mail.err</code> 
 +Количество деталей,​ записываемых в журнал,​ может быть увеличено. Ниже приведено несколько опций настройки для увеличения уровня детализации некоторых областей,​ описанных выше.
  
-    To increase the amount of information logged when troubleshooting SASL issues you can set the following options in /etc/​dovecot/​dovecot.conf+ 1. Для увеличения **TLS** активности журнала,​ установите опции **smtpd_tls_loglevel** значение от 1 до 4. 
 +<​code>​sudo postconf -e '​smtpd_tls_loglevel = 4'</code>
  
-    auth_debug=yes + 2. Если вы испытываете трудности с отправкой или приемом почты отдельного домена,​ вы можете включить его в параметр **debug_peer_list**. 
-    ​auth_debug_passwords=yes+<​code>​sudo postconf -e '​debug_peer_list ​problem.domain'</​code>​
  
-Just like Postfix ​if you change a Dovecot configuration the process will need to be reloaded: sudo /​etc/​init.d/​dovecot ​reload.+ 3. Вы можете увеличить детализацию любого сервиса ​Postfix ​редактированием /​etc/​postfix/​master.cf,​ добавив **-v** после соответствующей записи. Для примера изменим запись **smtp**: 
 +<​code>​smtp ​     unix  -       ​- ​      ​- ​      ​- ​      ​- ​      smtp -v</​code>​ 
 +<​note>​Важно помнить,​ что после внесения изменений настроек журналирования процессов,​ Postfix требуется перезапустить для восприятия новой конфигурации:​ 
 +<​code>​sudo /​etc/​init.d/​postfix ​reload</​code></​note>​
  
-Some of the options above can drastically increase the amount of information sent to the log filesRemember to return the log level back to normal after you have corrected the problemThen reload ​the appropriate daemon for the new configuration to take affect.+ 4Для увеличения количества информации в журнале при поиске проблем с SASL, вы можете установить следующие опции в /​etc/​dovecot/​dovecot.conf: 
 +<​code>​ 
 +auth_debug=yes 
 +auth_debug_passwords=yes 
 +</​code>​ 
 +<​note>​Как и в случае с Postfix, если вы изменяете настройки Dovecot, процесс требуется перезапустить:​ <​code>​sudo /​etc/​init.d/​dovecot ​reload</​code></​note>​ 
 +<​note>​Некоторые опции выше могут серьезно увеличить объем информации,​ передаваемой в файлы журналов. Не забывайте возвращать уровень детализации журналов к нормальному значению после решения проблем. Затем перезапустите соответствующий сервис,​ чтобы изменения настройки вступили в силу.</​note>​
  
 ====Ссылки==== ====Ссылки====
  
-Administering a Postfix ​server can be a very complicated taskAt some point you may need to turn to the Ubuntu ​community for more experienced help.+Администрирование сервера ​Postfix ​может быть очень сложной задачейВ какой-то момент вам может потребоваться обратиться к сообществу ​Ubuntu ​для более квалифицированной помощи.
  
-A great place to ask for Postfix ​assistance, and get involved with the Ubuntu Server ​communityis the #​ubuntu-server ​IRC channel on freenode. ​You can also post a message to one of the Web Forums.+Хорошее место задать вопрос по сопровождению ​Postfix ​и влиться в сообщество ​Ubuntu Server, ​это IRC канал ​#​ubuntu-server ​на [[http://freenode.net/​|freenode]]. Вы также можете отправить сообщение на один из [[http://​www.ubuntu.com/​support/​community/​webforums|интернет форумов]].
  
-For in depth Postfix ​information Ubuntu developers highly recommend: The Book of Postfix.+Для погружения в информацию по Postfix ​очень рекомендуется прочитать [[http://​www.postfix-book.com|The Book of Postfix]].
  
-Finally, the Postfix website also has great documentation ​on all the different configuration options available.+Наконец [[http://​www.postfix.org/​documentation.html|сайт Postfix]] также содержит много информации по всем возможным опциям настройки.
  
-Also, the Ubuntu Wiki Postifx page has more information.+Кроме того страница [[https://​help.ubuntu.com/​community/​Postfix|Ubuntu Wiki Postfix]] содержит дополнительную информацию.
  
 ---- ----