连接到 XMPP 服务器时主机名不匹配?

连接到 XMPP 服务器时主机名不匹配?

我遇到了以下问题:设置内部网 Jabber/XMPP 服务器后,我为服务器申请了 SSL 证书,以便人们可以使用有效证书安全地连接。

example.com 的 DNS 配置为重定向

root@dowa-01:/var/log/ejabberd# host -t SRV _xmpp-client._tcp.example.com
_xmpp-client._tcp.example.com has SRV record 5 0 5222 xmpp.example.net.
root@dowa-01:/var/log/ejabberd# host -t SRV _xmpp-client._tcp.example.com
_xmpp-client._tcp.example.com has SRV record 5 0 5222 xmpp.example.net.

问题是,当我尝试连接 XMPP 客户端时,发现 example.com 和 xmpp.example.net 之间的主机名不匹配?!

只要 DNS 重定向到另一个域,为什么客户端会询问原始域上的证书?

详细信息:example.net 是公司内部网使用的域名,大多数内部资料都在上面。显然,人们应该使用他们的电子邮件地址和域密码登录。

我该如何解决这个问题?我很确定安全部门不会给我公共域的根域证书。

我以为指向 DNS 会起作用,但似乎不行。

有什么解决方法吗?

答案1

是的,您需要一个证书example.com,但证书是否有效xmpp.example.net并不重要。这是因为 DNS 被视为不受信任:伪造您的 SRV 记录以指向恶意服务器非常容易,攻击者可能拥有该服务器有效且受信任的证书。

针对此问题提出了一些解决方案(包括 DANE 和 POSH),但目前这些解决方案均未得到客户端的支持。唯一的解决方案是:1) 让每个人都接受证书不匹配,2) 使用 xmpp.example.net 作为您的 XMPP 域,或 3) 让安全人员相信您需要 example.com 的证书。

相关内容