为什么不为所有东西使用HTTPS?

Mal*_*ist 125 security https

如果我正在设置服务器并拥有SSL证书,为什么我不会在整个网站上使用HTTPS而不仅仅是购买/登录?我认为加密整个网站并完全保护用户会更有意义.它可以防止诸如决定必须保护什么之类的问题,因为一切都会存在,这对用户来说并不是真正的不便.

如果我已经在网站的一部分使用HTTPS,为什么我不想在整个网站上使用它?

这是一个相关的问题:为什么https仅用于登录?,但答案并不令人满意.答案假设您无法将https应用于整个网站.

Ead*_*cer 25

除了其他原因(尤其是与性能相关),您在使用HTTPS时只能为每个IP地址*托管一个域.

单个服务器可以支持HTTP中的多个域,因为服务器 HTTP标头允许服务器知道要响应的域.

使用HTTPS,服务器必须在初始TLS握手期间(在HTTP启动之前)向客户端提供其证书.这意味着尚未发送服务器标头,因此服务器无法知道正在请求哪个域以及要响应的证书(www.foo.com或www.bar.com).


*脚注:从技术上讲,如果您在不同的端口上托管多个域,则可以托管多个域,但这通常不是一个选项.如果您的SSL证书具有通配符,您还可以托管多个域.例如,您可以使用证书*.example.com托管foo.example.com和bar.example.com

  • 服务器名称指示早已解决了这个问题,现在所有主流浏览器都支持这一问题.http://en.wikipedia.org/wiki/Server_Name_Indication (23认同)
  • 没有通配符SSL证书可以解决这个问题吗? (5认同)
  • @meffect ...但是很多,包括apache2,nginx,lighttpd和nodejs.除此之外,开发人员可以选择他们用于HTTPS隧道的反向代理.说"没有客户支持它"将是一个有效的点,如果它是真的,因为它是开发人员无法控制的东西,必须考虑到.然而,说"某些服务器不支持它"在很大程度上是无关紧要的,正是因为它不需要考虑.特别是当所有主流服务器**确实**支持. (2认同)

Whi*_*ind 16

我可以想到几个原因.

  • 某些浏览器可能不支持SSL.
  • SSL可能会稍微降低性能.如果用户正在下载大型公共文件,则每次加密这些文件可能会有系统负担.

  • 哪些浏览器不支持SSL? (135认同)
  • 我不买这个解释.1)不要使用2013年不支持SSL的浏览器.2)即使Google现在使用SSL 3)正确设置,您可以将http流量重定向到正确的https链接. (16认同)
  • lynx的一些编译将不支持它.如果您只支持较新的浏览器,那么您应该没问题. (6认同)
  • 你有性能指标的基准吗? (5认同)
  • 我正在查看这个:http://iweb.tntech.edu/hexb/publications/https-STAR-03122003.pdf"服务器饱和后,HTTPS的系统性能在吞吐量方面达到了约67%的HTTP. " (5认同)
  • 答案不好,为什么这么manu upvotes?什么浏览器不支持ssl,用户不必记住键入https,可以使用重定向处理 (4认同)
  • 像这样的答案让我得到了两张选票.这很糟糕! (4认同)
  • lynx和w3m可以在我的系统上使用ssl. (3认同)
  • 关于stackoverflow本身没有使用https的有趣文章http://nickcraver.com/blog/2013/04/23/stackoverflow-com-the-road-to-ssl/ (3认同)
  • @WhirlWind是的,我恭敬地不同意你所说的几乎所有内容.我主要担心的是,当你没有对某些页面使用https时,cookie值会泄露.请务必阅读owasp top 10中的A3:"破坏的身份验证和会话管理":http://www.owasp.org/index.php/Category%3aOWASP_Top_Ten_Project (2认同)
  • 重点是第三点.锄页合法吗?我输入gmail.com,它会自动转到https.什么浏览器不能这样做? (2认同)

roo*_*ook 13

SSL/TLS几乎没有经常使用.HTTPS必须用于整个会话,在任何时候都不能通过HTTP发送会话ID.如果您仅使用https进行登录,那么您明显违反2010年的 " OWASP前10 ""A3:破坏的身份验证和会话管理".


Dav*_*d M 12

为什么不通过挂号邮件将每个蜗牛邮件发送到防篡改的不透明信封中?来自邮局的人总是会对其进行个人保管,因此您可以非常确定没有人在窥探您的邮件.显然,答案是虽然有些邮件是值得的,但大多数邮件都不是.我不在乎是否有人读到我的"很高兴你从监狱出来!" 给乔叔叔的明信片.

加密不是免费的,并不总是有用.

如果会话(例如购物,银行等)将使用HTTPS结束,那么没有充分的理由不尽早使整个会话成为HTTPS.

我的观点是,只有在不可避免的必要时才应该使用HTTPS,因为需要保护请求或响应不受中间监听的影响.举个例子,去看看Yahoo! 主页.即使您已登录,您的大多数交互都将通过HTTP进行.您通过HTTPS进行身份验证并获取证明您身份的Cookie,因此您无需使用HTTPS来阅读新闻报道.

  • 如果注册邮件的成本增加1%而不是300%,我会将其用于所有内容. (19认同)
  • `您通过HTTPS进行身份验证并获取证明您身份的cookie,因此您不需要HTTPS来阅读新闻故事.这不是处理会话身份验证的正确方法.Cookie应使用SECURE标志设置.但是无视那些可怕的安全建议......你的邮件类比由于一些原因并不准确.一种情况是,您通常无法将漏洞利用注入回复邮件,或者冒充他人而不受惩罚,或者将"您的会话已过期"消息弹出到回复邮件中,以便他们重新输入他们用于Yahoo!的凭据.和他们的银行. (3认同)

Ada*_*ght 12

超出系统负载的最大原因是它打破了基于名称的虚拟主机.使用SSL,它是一个站点 - 一个IP地址.这非常昂贵,而且难以管理.

  • [根本不是真的.](https://en.wikipedia.org/wiki/Server_Name_Indication)(不管怎样,不管怎样.) (10认同)
  • Downvoting因为帖子中的信息已经过时.现在所有主流浏览器都支持SNI. (7认同)

Ein*_*ein 5

对于高延迟链路,初始TLS握手需要额外的往返来验证证书链(包括发送任何中间证书),同意密码套件并建立会话.一旦建立了会话,后续请求可以利用会话缓存来减少往返次数,但即使在这种最佳情况下,仍然存在比正常HTTP连接所需的更多往返.即使加密操作是免费的,往返也不是,并且在较慢的网络链接上可能非常明显,特别是如果该站点不利用http流水线.对于网络连接良好的网段内的宽带用户而言,这不是问题.如果您在国际上开展业务,请求https很容易造成明显的延迟.

还有其他注意事项,例如会话状态的服务器维护需要可能显着更多的内存,当然还有数据加密操作.任何小型站点实际上都不必担心给定的服务器功能与当今硬件的成本.任何大型站点都可以轻松地提供CPU/W AES卸载或附加卡以提供类似的功能.

随着时间的推移以及硬件和网络功能的改进,所有这些问题都变得越来越没有问题.在大多数情况下,我怀疑今天有任何明显的差异.

可能存在操作方面的考虑因素,例如对https流量的管理限制(认为中间内容过滤器等)可能是某些公司或政府法规.某些企业环境需要在周边进行数据解密,以防止信息泄露......干扰热点和类似的基于Web的访问系统,这些访问系统无法在https事务中注入消息.在我看来,在一天结束时,默认情况下不去https的原因很可能很小.