我需要在 Tomcat 应用服务器和后端系统之间建立 https 通信。Web 服务器托管一个公共网站,因此位于 DMZ 中。
我的问题是,在这种情况下(机器对机器通信)使用官方 CA 证书是否比使用自签名证书有任何优势?
我一直听说不应在生产系统上使用自签名证书,但我不确定我理解为什么(用于机器对机器通信)。
我需要在 Tomcat 应用服务器和后端系统之间建立 https 通信。Web 服务器托管一个公共网站,因此位于 DMZ 中。
我的问题是,在这种情况下(机器对机器通信)使用官方 CA 证书是否比使用自签名证书有任何优势?
我一直听说不应在生产系统上使用自签名证书,但我不确定我理解为什么(用于机器对机器通信)。
风险在于保护相关主机的防御措施的有效性,包括它们之间的网络连接。鉴于一直在发现弱点和漏洞,有理由说生产环境中使用的自签名证书可能存在问题 - 其中包括 DMZ 中的主机。
原因如下:中间人。简而言之,如果任一主机(或它们之间的网络)受到威胁,那么它们之间的流量仍将被加密,但由于证书是自签名的,中间人(又名“MITM”)将能够使用自签名证书引入透明代理,双方都信任该证书。
如果您的主机改为使用公共 CA,则 MITM 方法无法工作。
如果每台主机每年 15 到 50 美元的投资比它们之间和它们之间的信息成本更高——包括它们可能存在的信息(例如,被入侵、提供恶意软件),那么选择很简单:不要担心购买证书。否则,调查它们很重要。
Adam Hupp 在此网页上的评论提供了一个很好的简单场景:
以下是对风险的更详细描述:http: //blog.ivanristic.com/2008/07/vast-numbers-of.html
最后对这两种情况进行平衡观察,尽管本文仅在安装了功能齐全、受到适当保护和实施的证书颁发机构服务器时才考虑自签名:http: //www.networkworld.com/news/tech/ 2012/021512-ssl-certificates-256189.html
我认为在这项任务中使用官方证书没有任何优势——除了你的营销部门。可以声称您的基础设施是“100% 由 $CA 认证的”。加密算法/强度和证书持续时间可以相同,具体取决于您的配置方式。
您听到的建议可能集中在更常见的 HTTPS 与浏览器通信的用法上,现在浏览器抱怨自签名证书。对于服务器之间的数据传输,我认为按照您计划的方式加密流量是一种很好的做法!