我遇到了以下问题:设置内部网 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 的证书。