关注网络安全
和行业未来

为什么我们说关闭Port80不利于安全?

本文由Scott Helme发布在其个人博客。Scott Helme是一名计算机安全研究员和国际讲师。他同时也是securityheaders.io 和 report-uri.io的创始人, 为各种组织开发免费的安全部署工具。

近年来,我们在向更安全网络的转变过程中已经取得了很多巨大进步。但最近常有人问我是否有必要通过关闭80端口来提高安全性。因此我想通过这篇文章来表达一些看法。

我们现在所做的努力

    我们已在通往加密网络的道路上取得了非常显著的进步,这已经成为一项产业。我最近列举了一大堆理由说服你们转向对目前你们的安全和自身利益都没什么关系的HTTPS。你们可以在我的《你仍然认为你不需要HTTPS吗?》这篇文章中读到这些。包括这些在内的很多理由都给了网站采用HTTPS并逐渐全面转换的动力。一方面,我们努力让人们想用HTTPS,另一方面,我们努力减少使用HTTPS可能遇到的障碍。

我们目前的进展

我最近发表的研究显示,不止HTTPS一直在被持续应用,我们转向HTTPS的速度实际上也在迅速增加。你们可以看看这项研究,但关键点是下面这种图,它显示HTTPS在互联网上前100万家网站的使用情况。

根据Mozilla遥测显示,我们总算是把通过HTTP和HTTPS加载的页面数量对比的数据翻转过来了。在Firefox浏览器中,现在已有超过50%的页面通过HTTPS加载

完善你的部署

在我看来,最终确定要部署HTTPS之前你有两件事要做。第一,你需要使用HSTS,这是一个HTTP响应头,它会告知浏览器你的网站从现在起只想用HTTPS,取消默认HTTP。使用HSTS会取消这一不安全的默认选项并能降低受到可能由此产生的一种特定的攻击的危险。第二是HSTS预加载,你安装并测试好HSTS后需要注意它。它使你只能通过HTTPS将你的域名通过写入主流浏览器的源代码,此外它还单独为HSTS提供额外的保护层。HSTS和预加载都很有效,但这也是我们讨论是不是应该关闭80端口的开端。

我们真的需要80端口吗?

通常的建议是,一旦网站使用HSTS,浏览器就会默认使用HTTPS。特别是启用了预加载,当网站被硬编码到浏览器中时,看起来打开80端口是多余的,而且无疑会开放与不安全协议HTTP之间的通信。问题是关闭80端口可能会在几个方面使我们的系统变得更糟。

我们将失去重定向

保持80端口开放的主要原因之一是要继续将通信从HTTP重定向至HTTPS。即使是HSTS和预加载也有几个问题使得我们不能依赖于它们。首先,在另一端的浏览器可能并不执行预加载清单,这意味着浏览器仍会默认通过HTTP的80端口连接,并失去重定向。我们甚至不能确信连接的另一端是不是一个浏览器,又或者是不是最新版本的浏览器。它可能有一个旧版本的预加载清单,却不包括你的域名。不管出于什么理由,我们都不得不保持80端口开放来将任何可能试图首先通过80端口进行连接的通信重定向。

这并不会使我们更安全

另一个常被提及的原因是,如果我们关闭80端口,那么就不会有通过不安全的HTTP协议进行的通信,因此也不会有“中间人攻击”发生。不幸的是,情况并不是这样。如果我们关闭80端口,并不会使客户端停止尝试通过80端口进行首次连接,这就是问题所在。不论作为主机的我们是否打开80端口,攻击者仍可冒充我们应答客户端的首次询问,根本不需要理睬我们。现在保持80端口开放并不能直接解决这个问题,但如果我们能在上一次请求中捕获客户端,并将他们重定向至HTTPS的443端口,然后执行HSTS策略,那么我们就能防止他们将来再次使用80端口。最差他们也可能缓存HTTP和HTTPS之间的301端口一段时间,至少对安全性有一定的提升。

仍默认使用HTTP通过80端口进行连接的浏览器

这的确是个大问题。在浏览器改变它们使用HTTP作为默认协议进行连接的行为之前,在关闭80端口上,我们没什么能做或应该做的。Firefox和Chrome浏览器已经显示出,HTTPS正在迅速变为大多数页面加载的默认协议,但我担心这并不意味着我们已经像自己希望的那样把HTTPS变为默认协议。因为,在那些默认使用HTTPS的网站中,像社交媒体、购物和银行等类型的网站相比其他类型的网站占了很大一部分,我想这使人们曲解了统计结果。我们距离让50%的网站使用HTTPS绝对还有很大的差距。直到大多数网站能从默认使用HTTPS中获益而其他网站因为使用HTTP而更不安全的时候,我们才能向HTTPS前进一大步。

保持80端口开放

在可预见的将来,我认为,我们最好保持80端口开放,然后通过301端口将通信重定向至HTTPS,实行严格的HSTS策略,并通过HSTS预加载你的域名。在目前的形势下,这是我们的最佳选择!

 

稿源:scotthelme博客

相关阅读:

Mozilla:Firefox用户加载的HTTPS网页数超过了50%

Chrome:50%的页面加载使用HTTPS技术

 

评论 抢沙发