Назад | Перейти на главную страницу

Postfix / SMTP TLS отказывает в авторизации

Я настраиваю почтовый сервер на установке CentOS 7 на выделенном оборудовании, и у меня возникают проблемы с получением Postfix для аутентификации SMTP-соединений с Dovecot, установленным для SASL. Я следил за всеми руководствами по редактированию main.cf и master.cf а также Dovecot's .conf файлы.

Все остальное работает нормально. Я установил Dovecot, и он проходит безопасную аутентификацию без проблем. SMTP работает нормально, если я установил smtpd_tls_auth_only = no но тогда пароли явно отправляются в открытом виде.

Я бежал openssl s_client -connect sub.domain.com:25 -starttls smtp чтобы проверить, и он вернет сертификат правильно, и все в порядке. Бег ehlo sub.domain.com после этого возвращается:

250-sub.domain.com
250-PIPELINING
250-SIZE 20480000
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

что, как я предполагаю, будет ожидаемым после «рукопожатия» TLS.

Отслеживание журнала, когда я пытаюсь подключиться с помощью почтового клиента, дает мне следующее: См. Вставить

Почта в OS X сообщает мне следующее, когда я пытаюсь отправить:

Почте не удалось подключиться к серверу sub.domain.com с использованием SSL на портах по умолчанию. Убедитесь, что этот сервер поддерживает SSL и что настройки вашей учетной записи верны.

Я пробовал подключиться через все стандартные порты.

Roundcube дает мне код ошибки 250: Ошибка аутентификации.

РЕДАКТИРОВАТЬ: Ниже приведен вывод postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5
delay_warning_time = 4
disable_vrfy_command = yes
dovecot_destination_recipient_limit = 1
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 20480000
mydestination = localhost.$mydomain, localhost
mydomain = domain.com
myhostname = sub.domain.com
mynetworks = 127.0.0.1, xxx.xxx.xxx.xxx
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.2.2/README_FILES
recipient_delimiter = +
relay_domains = proxy:mysql:/etc/sentora/configs/postfix/mysql-relay_domains_maps.cf
sample_directory = /usr/share/doc/postfix-2.2.2/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_tls_loglevel = 4
smtp_tls_security_level = may
smtpd_banner = $myhostname ESMTP
smtpd_client_restrictions =
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_helo_required = yes
smtpd_helo_restrictions =
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_mynetworks, reject_unauth_destination, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_tls_received_header = yes
smtpd_use_tls = yes
soft_bounce = yes
unknown_local_recipient_reject_code = 550
virtual_alias_maps = proxy:mysql:/etc/sentora/configs/postfix/mysql-virtual_alias_maps.cf, regexp:/etc/sentora/configs/postfix/virtual_regexp
virtual_gid_maps = static:12
virtual_mailbox_base = /var/sentora/vmail
virtual_mailbox_domains = proxy:mysql:/etc/sentora/configs/postfix/mysql-virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/sentora/configs/postfix/mysql-virtual_mailbox_maps.cf
virtual_minimum_uid = 996
virtual_transport = dovecot
virtual_uid_maps = static:996

и postconf -M Я сидел: Эта вставка

Если мне нужно вставить сюда еще журналы или конфетки, спросите, и я с радостью предоставлю их. Все что угодно, чтобы эта чертова система безопасности работала! Ах!

Так что, как оказалось, я был немного глуп. Я попытался подключиться из сети, отличной от моей рабочей (через моего мобильного оператора), и соединение сработало!

Ошибка:

Почте не удалось подключиться к серверу sub.domain.com с использованием SSL на портах по умолчанию. Убедитесь, что этот сервер поддерживает SSL и что настройки вашей учетной записи верны.

отображается, когда вы используете STARTTLS, но выберите SSL вариант в OS X Mail. Поскольку вы не используете SSL, он не работает должным образом.

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

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