重定向http到https是一个坏主意?

sam*_*ami 58 security ssl https

我正在阅读此页面,它说如果网站是SSL并且用户尝试通过常规http访问它,则应用程序不应将用户重定向到https.它应该阻止他.有人可以验证这个的有效性吗?这听起来不是一个好主意,我想知道将用户转发到https的真正风险是什么.它似乎背后没有任何技术原因,只是它是一种教育用户的好方法.

禁用对域的HTTP访问,甚至不重定向或将其链接到SSL.只是告知用户这个网站无法通过HTTP访问,他们必须通过SSL访问它.

这是针对MITM和网络钓鱼攻击的最佳做法.通过这种方式,您的用户将接受教育,即应用程序永远无法通过HTTP访问,当他们遇到网络钓鱼或MITM攻击时,他们会知道出现了问题.

保护您的应用程序免受MITM攻击和网络钓鱼攻击的最佳方法之一是教育您的用户.

csp*_*ton 41

包含会话ID cookie的HTTP请求受到会话劫持攻击.重要的是,如果您允许HTTP并重定向到HTTPS,那么cookie将被标记为安全.

我无法看到为什么HTTP需要被完全阻止的任何技术原因,并且许多站点都将HTTP转发到HTTPS.执行此操作时,强烈建议实施HTTP严格传输安全性(HSTS),这是一种Web安全机制,声明浏览器仅使用HTTPS连接.

通过指定响应头来实现HSTS Strict-Transport-Security: max-age=31536000.符合用户代理会自动将不安全的链接转换为安全链接,从而降低中间人攻击的风险.此外,如果存在证书不安全的风险,例如无法识别根权限,则会显示错误消息并且不显示响应.

  • +1.可以认为在重定向中持续存在的会话cookie可被视为已泄露.通常,站点使原始cookie无效,并创建一个用于HTTPS流量的新cookie(好站点也会启用安全cookie标记). (7认同)
  • 如果您提供"安全"服务,请始终使用会话cookie中的"安全"标志! (3认同)
  • 尽管您可能不需要使用HTTP严格传输安全性等最新协议增强功能完全阻止HTTP,但由于像Moxie Marlinspikes sslstrip这样的SSL剥离攻击,将HTTP转发到HTTPS并不安全.由于同样的原因,甚至不能在HTTP页面上保存HTTPS链接.http://www.thoughtcrime.org/software/sslstrip/ (2认同)

Luc*_*zzi 22

从HTTP到HTTPS实际上是一个不太好的主意.例如,攻击者可以使用像ssl strip这样的工具进行中间人攻击.要解决此问题,您应该使用HSTS协议.它受到所有主流浏览器的支持(Internet Explorer,它是最新的采用者,从IE12开始支持它),并且被许多顶级站点(例如,Paypal,Google)使用.

  • 绝对可以参考sslstrip.如果客户端通过HTTP启动到服务器的连接,则MITM可以劫持会话,以明文形式保持客户端和攻击者之间的连接,即使攻击者在其与服务器的连接上遵循HTTPS重定向也是如此.服务器认为客户端通过HTTPS连接,客户端认为该站点在HTTP上运行. (5认同)
  • 但是,对于仅拒绝HTTP的网站,同样的MITM攻击不会同样有效吗?HSTS仅在至少一个干净连接(无论是HTTPS还是未受到攻击的HTTP)之后起作用. (5认同)
  • 那是对的.这就是为什么有些浏览器会分发预先加载的域名列表,这些域名应该通过HSTS(http://dev.chromium.org/sts)联系.这可以缓解您描述的攻击. (4认同)

Flo*_*scu 5

在从HTTP重定向到HTTPS时,我没有看到任何技术风险(除了我的答案结尾更新中的那个).例如,gmail和yahoo邮件正在这样做.您可以使用HTTP调试工具(如Fiddler)进行检查,您可以在其中清楚地显示服务器返回的302重定向响应.

从可用性的角度来看,我认为阻塞是一个坏主意.很多时候用户在浏览器中输入地址而没有指定HTTP或HTTPS.例如,我通过输入"mail.google.com"来访问gmail,默认为"http://mail.google.com",并自动重定向到"https://mail.google.com".没有自动重定向,我将始终键入完整的地址.

我同意所引用的文章,即HTTPS是针对MITM攻击的最佳方法,但我不同意这是针对网络钓鱼的最佳做法.用户教育确实是防止网络钓鱼攻击的关键因素(用户必须检查他们是否从正确的域访问网站),但绝不通过阻止HTTP重定向到HTTPS来进行教育.

更新 @Pedro和@Spolto是对的.必须特别注意敏感cookie(如会话或身份验证cookie),这些cookie确实应标记为安全,以便它们只能通过HTTPS传输.我错过了那一个.给你们两个+1.

  • 如果应用程序未使用带有安全标志的cookie,攻击者可以捕获不安全请求中的cookie,则不应该进行重定向. (2认同)