如果你有大量的Web应用,管理所有的SSL证书可能会很困难。与企业SSL证书管理的相关关键任务有许多,而忽视或错误地处理任何一个任务都会导致Web应用被利用。在本文中,我们将看到几个在实施和管理SSL证书方面最常见的错误,并讨论如何管理这些证书。
如今,许多大型公司发现自己管理着成千上万的证书,不犯错误而依靠人工管理好这些证书是不可能的。
对于刚开始涉足SSL证书管理的公司来说,其涉及的许多任务可能很惊人。例如,证书需要购买、部署、到期更新等。这些都要花费时间,当许多企业的几十或几百个应用或域中的证书成倍增加时,问题尤为严重。
这就涉及到一个问题:确保每一个证书都适合于与之配对的web应用。是否需要比较昂贵的扩展认证证书呢(因为这种证书是由可信的CA提供并审查的)?或者保险系数稍低但便宜的证书适合企业呢?比如,对于非面向公众的web应用是否合适?
证书厂商所提供的产品组件令人迷惑。目前,有几种不同的验证等级、不同的哈希类型、长度和保证(实际上是保护终端用户而不是证书所有者)。要知道某个特定应用需要哪类证书是很困难的。
更糟糕的是,研究人员已经发现,超过半数的公司在某点上会丢失数字证书,或者公司网络上证书的由来无从查起。这是因为,开发者或其它雇员创建了一个证书却没有告诉它人,以至于别人都不知道。
多数公司借助电子数据表人工管理大量的数字证书。这会导致错误,比如数字证书丢失、不匹配或标签错误等。证书有可能在不经意间就到期,这意味着CA不再考虑网站或web应用的安全性和可信性。如果受感染的Web应用是面向公众的,这有可能成为一个代价很高的错误,它还有可能导致企业的声誉受损,或者访问者的浏览器阻止访问整个网站。这是很多知名系统中断的原因,也常常是管理员调查的最终原因之一,从而导致更多的宕机时间。
如果发行企业证书的CA受到危害,就会导致另一个问题,比如2011年的DigiNotar和Comodo,以及今年初的TurkTrust,证书就会被其它CA废除,所以在一个客户端连接到被感染的服务器时,证书就不再合法。如果在整个企业水平上没有适当的SSL证书管理,要判断企业有多少证书(如果有的话)不合法就不可能了。
幸运的是,仍有方案可以解决企业的证书管理难题,其中之一就是自动化。自动化工具可以搜索网络,并记录所发现的证书。这种工具通常将证书分配给企业所有者,并管理证书(虽然多数证书并不支持通过不同CA进行更新)的自动更新。它还可以检查证书是否部署正确,用以避免错误地使用一个老证书。然而,自动化的工具并不完美,而且要求人工干预,因为扫描器有可能遗漏存放在它无法访问位置的证书。
在购买这些自动化工具时,要确保软件能够管理来自所有CA的证书。有些软件只能管理特定CA颁发的证书,而且容易遗漏企业域上的某些证书,即使你相信你仅使用一个供应商也是如此。
规划和管理某些事件的完善的企业证书极其重要。应当编写并交流管理过程,详述在CA遭到攻击后该做什么,以及如何替换企业网络中的证书。如果没有提前计划好,追查来自遭受损害CA的证书将会很费时间。
本文讨论了与人工管理数字证书相关的问题。如果您的企业是依靠人工管理SSL证书,现在也许正是投资购买自动化方案的时候,即使你认为你了解所有的证书,使用后你可能会大吃一惊。