您可能已经确保您的网站启用了SSL,并且浏览器中漂亮的安全挂锁是绿色的。然而,您可能已经忘记了HTTP的小安全人httpstrict Transport security(HSTS)。
什么是HSTS,它如何帮助您的网站保持安全?
超文本传输协议安全(HTTPS)是网站(HTTP)的安全版本。使用安全套接字层(SSL)协议启用加密,并使用SSL证书进行验证。当您连接到HTTPS网站时,网站和用户之间传输的信息是加密的。
此加密有助于防止通过中间人攻击(MITM)窃取数据。添加的安全层也有助于提高网站的声誉。事实上,添加SSL证书非常简单,许多web主机将默认情况下免费将其添加到您的站点!也就是说,HTTPS仍然有一些缺陷,HST可以帮助修复。
HSTS是一个响应头,通知浏览器,启用的网站只能通过HTTPS访问。这迫使浏览器只能访问网站的HTTPS版本及其上的任何资源。
您可能不知道,即使您已正确设置SSL证书并为网站启用HTTPS,HTTP版本仍然可用。即使您使用301永久重定向设置了转发,这也是正确的。
尽管HSTS政策已经存在了一段时间,但直到2016年7月谷歌才正式推出。这也许就是为什么你还没听说过很多。
启用HSTS将阻止SSL协议攻击和cookie劫持,这是启用SSL的网站中的另外两个漏洞。此外,除了使网站更安全,HSTS将通过删除加载过程中的一个步骤,使网站加载更快。
虽然HTTPS是HTTP的一个巨大改进,但它并不是不受黑客攻击的。SSL剥离是一种非常常见的MITM黑客攻击,用于使用重定向将用户从HTTP发送到其网站的HTTPS版本。
301(永久)和302(临时)重定向基本上是这样工作的:
通过SSL剥离,黑客可以利用第3步到第4步之间的时间阻止重定向请求,并阻止浏览器加载网站的安全(HTTPS)版本。当您访问未加密版本的网站时,您输入的任何数据都可能被窃取。
黑客还可以重定向到你试图访问的网站的副本,并在你****时捕获所有的数据,即使看起来很安全。
谷歌已经在Chrome中实施了一些步骤来阻止某些类型的重定向。但是,从现在起,启用HSTS应该是默认情况下为所有网站执行的操作。
启用HST将强制浏览器加载网站的安全版本,并忽略任何重定向和任何其他调用以打开HTTP连接。这将关闭301和302重定向存在的重定向漏洞。
HST也有负面的一面,也就是说用户的浏览器至少要查看一次HSTS头,才能利用它进行将来的访问。这意味着他们至少要经历一次HTTP>HTTPS进程,这使得他们第一次访问启用HSTS的网站时就容易受到攻击。
为了解决这个问题,Chrome会预先加载一个启用了HSTS的网站列表。如果符合要求(简单)的标准,用户可以将支持HSTS的网站提交到预加载列表中。
添加到此列表中的网站将被硬编码到Chrome更新的未来版本中。它确保所有访问你的HSTS网站的人都能在Chrome的更新版本中保持安全。
Firefox、Opera、Safari和internetexplorer都有自己的HSTS预加载列表,但它们是基于浏览器上的Chrome列表的hstspreload.org网站.
要在网站上启用HST,首先需要有有效的SSL证书。如果您启用HST而不启用HST,则您的网站将不适用于任何访问者,因此请确保您的网站和任何子域在继续之前都在HTTPS上工作。
启用HSTS相当容易。您只需要在站点上的.htaccess文件中添加一个头文件。需要添加的标题为:
Strict-Transport-Security: max-age=31536000; includeSubDomains这会添加一年最大年龄访问cookie(什么是cookie?),包括您的网站和任何子域。一旦浏览器访问了该网站,它将无法访问一年内该网站的不安全HTTP版本。确保此域上的所有子域都包含在SSL证书中,并且启用了HTTPS。如果忘记了这一点,则在保存.htaccess文件后,将无法访问子域。
缺少includeSubDomains选项的网站可以允许子域操纵cookies,从而使访问者暴露于隐私泄露。启用includeSubDomains后,这些与cookie相关的攻击将不可能发生。
注意:在添加一年最大年龄之前,请先使用:max age=300测试整个网站的5分钟最大年龄;
谷歌甚至建议你测试你的网站和它的性能(流量)一周,一个月的价值,以及之前实施两年的最大年龄。
Five minutes: Strict-Transport-Security: max-age=300; includeSubDomainsOne week: Strict-Transport-Security: max-age=604800; includeSubDomainsOne month: Strict-Transport-Security: max-age=2592000; includeSubDomains到现在为止,你应该熟悉的HST和为什么它是重要的,你的网站使用它。保持你的网站访问者安全在线应该是一个关键因素,你的网站计划。
要获得Chrome和其他浏览器使用的HSTS预加载列表的资格,您的网站必须满足以下要求:
如果要将网站添加到HSTS预加载列表中,请确保添加所需的预加载标记。“预加载”选项表示希望将网站添加到Chrome的HSTS预加载列表中。然后.htaccess中的响应标头应如下所示:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload我们建议您将网站添加到hstspreload.org网站. 这些要求很容易满足,这将有助于保护网站的访问者,并有可能提高网站的搜索引擎排名。
...。如果一款****要求你提供短信阅读权限,但没有解释为什么需要这些权限,请注意安全,不要让应用程序安装。永远不要安装来自第三方网站的应用程序,因为它们更有可能包含恶意软件。 ...
... 那么什么是数据泄露呢?这就是我们将在下面解释的内容,以及如何保护自己免受未来违规行为的建议。 ...
...”对您没有任何意义,那么您不必担心这一步。相反,为什么不看看为什么你需要一个VPN的一些原因,以及它意味着什么? ...
...的网络)安全的协议。以下是如何保护自己免受攻击。 什么是克拉克,我应该担心吗(krack, and should i be worried)? KRACK是密钥重新安装攻击的缩写。当您将新设备连接到Wi-Fi网络并键入密码时,会发生4向握手,以确保使用正确的...