我需要在Tomcat应用服务器和后端系统之间建立https通信。 Web服务器托管公共网站,因此位于DMZ中。
我的问题是,在这种情况下使用自签名证书(机器对机器通信)是否有使用官方CA证书的优势?
我一直听说自签名证书不应该用在生产系统上,但我不确定我理解为什么(用于机器到机器的通信)。
答案 0 :(得分:1)
风险在于保护相关主机的防御措施的有效性,包括它们之间的网络连接。鉴于一直在寻找弱点和漏洞利用,可以合理地说生产环境中使用的自签名证书可能存在问题 - 包括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
答案 1 :(得分:0)
我认为使用官方证书完成此任务没有任何优势 - 除了您的营销部门这一事实。可以声称您的基础设施是由CA" 100%认证的。加密算法/强度和证书持续时间可以相同,具体取决于您的配置方式。
您听到的建议可能主要集中在用于与浏览器通信的HTTPS的更常见用法,现在这些用户抱怨自签名证书。对于服务器之间的数据传输,我认为按照您计划的方式加密流量是一种很好的做法!