У меня есть ретранслятор SMTP postfix, который был настроен с опцией TLS. Теперь только что реализовано при отправке электронной почты в Gmail (например) с использованием Microsoft Outlook, обнаружено, что этот «Клиент не представил сертификат» в заголовке почты получателя
Получено: от MYCOMPUTER (неизвестно [100.200.100.150]) (с использованием TLSv1.2 с шифром (256/256 бит)) (клиент не представил сертификат) от smtpserver.domain.com (Postfix) с идентификатором ESMTPSA ABCDE12345 для пользователя @ gmail.com
Я использую приобретенный подстановочный сертификат SSL от Comodo.
Могу я узнать почему? Я неправильно настроил?
Пожалуйста помоги
smtpd_tls_security_level = май
smtp_tls_security_level = май
smtpd_use_tls = да
smtp_use_tls = да
smtp_tls_note_starttls_offer = да
smtpd_tls_auth_only = да
smtpd_tls_key_file = /etc/postfix/certs/key.key
smtpd_tls_cert_file = /etc/postfix/certs/crt.crt
smtpd_tls_CAfile = /etc/postfix/certs/cabundle.ca-bundle
smtpd_tls_loglevel = 1
smtpd_tls_received_header = да
smtpd_tls_session_cache_timeout = 3600 с
smtpd_tls_ask_ccert = да
tls_random_source = dev: / dev / urandom
smtpd_tls_session_cache_database = btree: $ {каталог_данных} / smtpd_scache
smtp_tls_session_cache_database = btree: $ {каталог_данных} / smtp_scache
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
Вы только настроили использование сертификата для Postfix в роли сервера (т.е. получения почты). Эти smtpd_*
настройки.
Но сообщение, на которое вы ссылаетесь, не о получении почты вашим сервером, а об отправке почты с вашего сервера на другой сервер, то есть о получении другим сервером. В этом случае обычно только сертификат принимающего почтового сервера (то есть другого) проверяется отправляющей системой (то есть вашим Postfix), если TLS вообще задействован (ваши настройки считают это необязательным, т.е. smtp_tls_security_level = may
).
Некоторые почтовые серверы настроены не только на предоставление собственного сертификата для аутентификации отправителем (например, ваш Postfix), но и на запрос сертификата у отправителя. Обычно это необязательно, т.е. соединение TLS будет принято, даже если отправитель не предоставит такой сертификат для аутентификации. И это стало причиной сообщения «Клиент не предъявил сертификат».
Если вы действительно хотите предоставить сертификат клиента, вам необходимо явно настроить в Postfix с соответствующими smtp_*
настройки (не smtpd_*
), т.е. smtp_tls_cert_file
и т. д. См. документация для подробностей.
using TLSv1.2 with cipher (256/256 bits)
Сервер поддерживает TLS, и клиент решил согласовать безопасное соединение TLS, там все хорошо.
(Client did not present a certificate)
Клиент не использовал сертификат клиента TLS для аутентификации на сервере для взаимный TLS что очень часто и не повод для беспокойства, если только вы не хотите / не нуждаетесь в взаимном TLS
Вы настроили Postfix, чтобы запрашивать у подключающихся клиентов SMTP сертификат клиента.
smtpd_tls_ask_ccert = yes
Непонятно, зачем вы это сделали, поскольку вы сказали, что хотите не этого. Возможно, это произошло из-за ошибочного Интернет-руководства?
В любом случае вы можете удалить эту строку, чтобы предупреждение исчезло.