Postfix
即使“smtp_tls_security_level =指紋”,Postfix仍然抱怨“證書驗證失敗”
我正在嘗試使用 Postfix(RHEL6 上的 2.6.6 版)通過我們內部網路上的郵件中繼連接並發送郵件。我想在埠 25 上連接 STARTTLS(此伺服器上沒有埠 465)。郵件中繼使用自簽名 SSL/TLS 證書,因此我需要使用證書頒發機構跳過證書驗證。我發現
smtp_tls_security_level = fingerprint
它不檢查信任鏈、到期日期等。相反,它使用證書指紋進行驗證。我認為這是一個完美的解決方案,但是當我嘗試發送電子郵件時,我仍然會收到
/var/log/maillog
那個說的錯誤postfix/smtp[15182]: certificate verification failed for xxxxxxxxxxxx[zz.zz.zz.zz]:25: untrusted issuer
。我認為
fingerprint
安全級別的重點是跳過證書驗證。我誤解了這個選項的意義嗎?還有什麼我需要配置的嗎?以下是來自的相關行
main.cf
:relayhost = [xxx.xxx.xxx] smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl-passwords smtp_sasl_security_options= smtp_generic_maps = hash:/etc/postfix/generic smtp_use_tls = yes smtp_tls_security_level = fingerprint smtp_tls_fingerprint_digest = sha1 # fingerprint changed for ServerFault. just an example. smtp_tls_fingerprint_cert_match = c1:d3:54:12:00:r0:ef:fa:42:48:10:ff:ac:1e:75:13:dd:ad:af:3e smtp_tls_note_starttls_offer = yes
編輯:添加粗體
會在這裡回答我自己的問題。我沒有設法讓
fingerprint
驗證工作,但我確實發現瞭如何在沒有證書驗證的情況下獲得 TLS。從手冊:可以通過設置“smtp_tls_security_level = encrypt”來配置強制 TLS 加密。即使始終使用 TLS 加密,即使伺服器證書不受信任或名稱錯誤,郵件傳遞也會繼續。
我曾經嘗試過這一點,但一定沒有啟用所有正確的選項。但是使用上面的設置,我只是更改
smtp_tls_security_level
為encrypt
,它工作正常。