Centos

客戶未出示證書(後綴)

  • May 5, 2018

我有配置了 TLS 選項的後綴 SMTP 中繼。現在剛剛意識到使用 Microsoft Outlook 向 gmail(例如)發送電子郵件時,在收件人的郵件標題上發現這個“客戶端沒有提供證書”

收到:來自 MYCOMPUTER(未知

$$ 100.200.100.150 $$)(使用帶有密碼(256/256 位)的 TLSv1.2)(客戶端未提供證書),由 smtpserver.domain.com(後綴)與 user@gmail.com 的 ESMTPSA id ABCDE12345

我使用從購買的萬用字元 SSL 證書科莫多。

我可以知道為什麼嗎?我是不是配置錯了?

請幫忙

smtpd_tls_security_level = may

smtp_tls_security_level = may

smtpd_use_tls = yes smtp_use_tls

= yes

smtp_tls_note_starttls_offer = yes

smtpd_tls_auth_only = yes

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 = 3600s

smtpd_tls_ask_ccert = 是

tls_random_source = dev:/dev/urandom

smtpd_tls_session_cache_database = btree: $ {data_directory}/smtpd_scache smtp_tls_session_cache_database = btree: $ {data_directory}/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

using TLSv1.2 with cipher (256/256 bits)

伺服器支持 TLS,客戶端選擇協商一個安全的 TLS 連接,一切都很好。

(Client did not present a certificate)

客戶端沒有使用 TLS 客戶端證書向伺服器驗證自身以進行雙向TLS這很常見,無需擔心,除非您想要/需要進行雙向 TLS

您只在伺服器角色(即接收郵件)中配置了 Postfix 證書的使用。這些是smtpd_*設置。

但是您所指的消息不是關於由您的伺服器接收郵件,而是關於將郵件從您的伺服器發送到另一台伺服器,即由另一台伺服器接收。在這種情況下,發送系統(即您的 Postfix)通常只檢查接收郵件伺服器的證書(即另一個證書),如果涉及到 TLS(您的設置認為這是可選的,即smtp_tls_security_level = may)。

一些郵件伺服器被配置為不僅提供它們自己的證書供發件人(即您的 Postfix)進行身份驗證,而且還向發件人請求證書。這通常是可選的,即即使發送者沒有提供這樣的證書來驗證自己,TLS 連接也會被接受。這就是導致消息*“客戶端沒有提供證書”的*原因。

如果你真的想提供一個客戶端證書,你需要在 Postfix 中明確配置相關smtp_*設置(不是smtpd_*),即smtp_tls_cert_file等。有關詳細資訊,請參閱文件

引用自:https://serverfault.com/questions/910882