从提供Web应用程序的人的角度来看,当有人通过TLS(https)连接到我们的服务并提交正确的身份验证数据时,通过这条线路传输所有敏感数据是否安全,或者是否仍然存在窃听?
这个问题是本周的 IT 安全问题。
阅读 2011 年 7 月 29 日的博客文章了解更多详情或提交您自己的本周问题。
从提供Web应用程序的人的角度来看,当有人通过TLS(https)连接到我们的服务并提交正确的身份验证数据时,通过这条线路传输所有敏感数据是否安全,或者是否仍然存在窃听?
这个问题是本周的 IT 安全问题。
阅读 2011 年 7 月 29 日的博客文章了解更多详情或提交您自己的本周问题。
了解 SSL 做什么和不做什么很重要,尤其是因为这是一个非常常见的误解来源。
因此,快速回答应该是:“是的,它足够安全,可以传输敏感数据”。然而,事情并没有那么简单。
那么,简短的答案?是的,SSL可以足够安全,但是(与大多数事情一样)这取决于您如何使用它。:)
这里有一些问题,主要是身份验证。两端都需要确保他们正在与正确的人或机构交谈,以阻止中间人攻击。对于您而言,使用用户浏览器信任的 SSL 证书至关重要。通过这样做,用户的浏览器可以确定它确实在与正确的站点对话。建立连接后,您可以确保一直在与该用户交谈,并且连接已加密,即可以防止窃听。
另一个方向的身份验证(即确保您正在与真实用户交谈)通常在应用程序级别的 SSL 协议之外通过例如用户名/密码、openID 或某种其他形式的凭据来处理。
最后一点应该提到的是,在 SSL 连接握手期间,客户端和服务器就密码套件达成一致,并且客户端可以假装只进行“空加密”,即不加密任何数据。如果您的服务器同意该选项,则连接使用 SSL,但数据仍未加密。这在实践中不是问题,因为服务器实现通常不提供空密码作为选项。
除了 AviD 列出的内容之外,SSL 的安全性仅与将您定向到该服务器的 DNS 基础架构以及通信路径中的任何公司代理一样安全。
如果 DNS 基础设施被黑客入侵(缓存中毒等),那么攻击者可能会使您的用户遭受许多攻击。
此外,如果客户端正在使用Fiddler或公司代理等软件,该软件可以窃听您的 SSL 对话。
为了缓解这种情况,请查看 SSL 证书的“颁发者”。如果 SSL 连接通过代理,则颁发者将是代理的颁发者。如果您通过直接连接,那么您将看到相关的公共信任 CA。
[更多信息]
企业 HTTPS 代理是管理 Web 浏览器和代理(其 IP 地址出现在您的网络服务器日志中)之间的连接的东西。在这种情况下,Web 内容(也是 HTTPS 密码)被解密,然后在公司代理处重新加密并呈现给您的服务器。
根据谁在管理代理,以及它的日志是如何使用的,从您的角度来看,这可能是可以接受的,也可能是一件坏事。
有关如何完成 SSL 拦截的更多信息,请参阅此链接:
当 SSL 代理拦截 SSL 连接时,它会向客户端浏览器提供一个模拟的服务器证书。客户端浏览器向最终用户发出安全弹出窗口,因为浏览器不信任 ProxySG 使用的发布者。如果 SSL 代理使用的颁发者证书作为受信任的根导入客户端浏览器的证书存储区,则不会出现此弹出窗口。
ProxySG 可通过其管理控制台下载所有已配置的证书。您可以要求最终用户通过 Internet Explorer 或 Firefox 下载颁发者证书,并将其作为受信任的 CA 安装在他们选择的浏览器中。这消除了模拟证书的证书弹出窗口......
一些公司通过 GPO 将根证书(代理的)部署到每个工作站来解决上面提到的证书弹出问题。虽然这只会影响使用 Microsoft 证书存储的软件。Firefox 和 Chrome 等软件需要进行不同的更新。
由于 SSL 依赖于证书授权 (CA),而且基本上任何组织都可以成为 CA,因此使用伪造的 CA 签名证书进行中间人攻击总是可能的。因此,虽然 SSL 仍然比不加密有很大的改进,但由于 CA 系统的损坏,它的安全性被高估了。在这方面,自签名证书与任何 CA 签名证书一样安全,但浏览器会将其标记为可疑。