gpt4 book ai didi

email - 后缀 SMTP 中继 : client does not offer TLS client certificate to the server?

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:33 24 4
gpt4 key购买 nike

我有两台机器,一台运行 Ubuntu,一台运行 Debian,都运行 Postfix。目的是让 machine#2 成为 machine#1 的 SMTP 中继/智能主机。我已经为两台机器创建了一个 CA 并颁发了证书:#2 的服务器证书和#1 的客户端证书。

当从 #1 发送电子邮件时(通过让 MUA 与 localhost:25 上的 Postfix 对话,目的是将电子邮件中继到 #2),基本的事情工作正常:机器可以相互交谈并且实际进行了中继尝试。这个想法是,如果从 #1 提供了有效的客户端 SSL/TLS 证书,则允许在 #2 上进行中继。

#2 的相关配置是:

smtpd_tls_received_header = yes
smtpd_tls_loglevel = 2
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/ssl/private/cert2.pem
smtpd_tls_key_file = /etc/ssl/private/key2-d.pem
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_auth_only = yes
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination permit_tls_all_clientcerts

#1 上的配置是:

smtp_tls_CAfile = /etc/ssl/certs/cacert.pem
smtp_tls_cert_file = /etc/ssl/private/cert1.pem
smtp_tls_key_file = /etc/ssl/private/key1-d.pem
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = verify
smtp_tls_loglevel = 2

Machine#1 连接到 #2,启用 STARTTLS,日志文件显示它成功验证了来自 #2 的证书,并尝试中继消息。 但是,它似乎没有将客户端证书发送给#2,并且#2 拒绝中继消息。

来自 #1 的日志条目:

Apr 17 01:18:14 mail1 postfix/smtp[30250]: Verified TLS connection established to mail2[x.x.x.x]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Apr 17 01:18:14 mail1 postfix/smtp[30244]: 8A2328BDB4: to=<addr@gmail.com>, relay=mail2[x.x.x.x]:25, delay=3488, delays=3486/0.41/0.85/0.19, dsn=4.7.1, status=deferred (host mail2[x.x.x.x] said: 454 4.7.1 <addr@gmail.com>: Relay access denied (in reply to RCPT TO command))

来自 #2 的日志条目:

Apr 17 01:18:13 mail2 postfix/smtpd[28798]: Anonymous TLS connection established from unknown[y.y.y.y]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Apr 17 01:18:13 mail2 postfix/smtpd[28798]: NOQUEUE: reject: RCPT from unknown[y.y.y.y]: 454 4.7.1 <addr@gmail.com>: Relay access denied; from=<addr@mail1> to=<addr@gmail.com> proto=ESMTP helo=<mail1>

有什么想法吗?我的假设是 #1 没有在来自 mail2 的日志中的“匿名 TLS 连接建立”部分发送其客户端证书。

最佳答案

TLS服务器必须向客户端申请证书,客户端不会自行发送。尝试添加

smtpd_tls_ask_ccert=yes

在服务器端

关于email - 后缀 SMTP 中继 : client does not offer TLS client certificate to the server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com