Encryption 默认情况下,所有站点都应该使用SSL吗?

Encryption 默认情况下,所有站点都应该使用SSL吗?,encryption,ssl,https,webserver,server-administration,Encryption,Ssl,Https,Webserver,Server Administration,我们正在将我们的web体系结构转移到一个新的环境中。包括几十个不同的站点,从几乎完全静态到需要身份验证并包含敏感内容的动态站点。我们的web服务器管理员(没有开发团队的任何输入)决定将其作为新环境中的标准,以强制所有内容使用SSL。我不同意这一决定,希望在我坐下来讨论这一决定时尽可能多地了解情况。以下是我目前掌握的情况: 对于每个站点,SSL证书都有直接成本。我们有一个dev、qa和prod环境,因此每个站点都需要三个证书 对于大多数页面,内容是不安全的,由于加密和解密,强制SSL将使页面请求

我们正在将我们的web体系结构转移到一个新的环境中。包括几十个不同的站点,从几乎完全静态到需要身份验证并包含敏感内容的动态站点。我们的web服务器管理员(没有开发团队的任何输入)决定将其作为新环境中的标准,以强制所有内容使用SSL。我不同意这一决定,希望在我坐下来讨论这一决定时尽可能多地了解情况。以下是我目前掌握的情况:

  • 对于每个站点,SSL证书都有直接成本。我们有一个dev、qa和prod环境,因此每个站点都需要三个证书
  • 对于大多数页面,内容是不安全的,由于加密和解密,强制SSL将使页面请求在服务器上花费更长的时间
  • 据我所知,大多数浏览器不缓存SSL加密的页面,因此页面请求将花费更长的时间
  • 较旧的浏览器在使用SSL时会遇到文件下载问题
当用户进行身份验证或请求敏感数据时,我没有强制SSL的问题。然而,我认为默认情况下在所有站点上强制使用SSL有点过分

答复:

对于每个站点,SSL证书都有直接成本。我们有一个dev、qa和prod环境,因此每个站点都需要三个证书

几乎不是真的。您不需要让每个开发人员和qa都使用有效的、当前的证书支持SSL。您可能需要一个具有有效证书的临时站点。但是除了Apache前端之外,您的后端不应该知道涉及SSL。购买开发人员证书并不是在测试任何独特或特殊的东西

而且,成本是名义上的。你在谈话上花的钱比证书实际花费的钱还多

对于大多数页面,内容是不安全的,由于加密和解密,强制SSL将使页面请求在服务器上花费更长的时间

有一点。你量过尺寸了吗?您可能会发现这很难衡量,因为互联网速度的可变性超过了SSL处理的成本

据我所知,大多数浏览器不缓存SSL加密的页面,因此页面请求将花费更长的时间

再说一次,你量过这个了吗

较旧的浏览器在使用SSL时会遇到文件下载问题

真的吗?您计划支持哪个存在此问题的特定“旧浏览器”?如果你找不到一个,并且认为某个人,某个地方可能有这个问题,你可能是过度工程。检查您的日志,查看您的客户实际使用的浏览器,然后确定您是否有问题


我同意“SSL无处不在”不是一个很好的方法。我认为您至少需要一个非SSL端口80“欢迎”页面。但我不确定你目前的一系列问题是否是可靠的原因。我认为您需要更多的度量来证明SSL实际上涉及实际成本或实际性能影响。

首先要问您自己,SSL给您带来了什么?它向您保证,没有人和任何应用程序可以“嗅探”流量,并查看web服务器和浏览器之间的情况。成本是购买SSL证书的实际成本,以及下载速度略微提高的持续成本。您提到旧浏览器在通过SSL通信下载文件时遇到问题。我不能这样说,我也不会太在意这件事。 从安全角度来看,您还有另一个问题。现代防火墙监控流量,寻找各种黑客企图。SSL阻止防火墙监视该通信,因此应用程序开发人员/web管理员需要更加关注保护其应用程序和站点免受各种黑客攻击。
长话短说,应该只加密真正需要的通信。

我不认为您应该对所有站点进行SSL加密,而且您肯定不需要为您的开发环境购买证书。如果您想要/需要一个用于dev的SSL证书,那么它可以很容易地生成,并且在大多数情况下,这对于该环境来说是足够的。另一种可能性是,您可以购买一个通配符证书,并在其中一个子域中设置开发服务器,这样您就可以在两个环境中拥有相同的证书,但同样:如果您购买通配符证书(更昂贵)只是为了让开发人员也使用它,这是一种浪费。如果prod上有多个子域需要SSLed,这是有意义的

至于速度:是的,这有点问题,但没有那么重要。SSL响应不会被缓存,因此使用它们会稍微增加服务器负载,但我认为这是管理员应该注意的部分。

SSL会禁止网络级缓存。有解决办法,但这可能意味着同一网络中的多台计算机必须重新下载页面资源。这会增加两端的网络负载。浏览器级缓存在现代浏览器中不是问题

SSL使所谓的“虚拟域”的使用复杂化。传统上,为了形成SSL连接,浏览器和服务器需要使用相同的域名。这使得无法在单个IP上承载多个SSL证书,因为服务器将使用错误的证书进行响应。(SSL使用的TLS协议的扩展)的实现修复了许多与此相关的问题

就纯性能而言,隧道数据的对称加密和完整性检查并不十分昂贵;如果您的服务器无法以网络速度进行加密和解密,那么要么您拥有上帝自己的光纤,要么您应该考虑更换那些i486。但是,SSL连接的启动(称为“握手”)是一个b