如何修复网站缺失的Referrer-Policy
Referrer-Policy是什么?
Referrer-Policy是一种安全头,可以(且应该)包含在网站服务器与客户端之间的通信中。该策略告诉Web浏览器在用户点击指向其他页面或网站的链接时,如何处理发送给网站的反引用信息。
Referrer-Policy可配置为让浏览器不向目标站点发送任何URL信息、部分信息或完整URL路径。设置策略是良好的安全实践。策略可通过多种方式设置,包括在网站代码中(PHP等)。下文我们将通过在Apache配置中设置Referrer-Policy头来实现。
检查Referrer-Policy是否启用
如果您之前未听说过这些头信息,很可能没有启用它们。它们不是自动启用的,尽管可能已包含在您安装的Web应用程序中(如WordPress、Joomla等)。快速检查的方法是访问www.securityheaders.io并扫描您的网站。您也可以在FireFox的开发者控制台中检查。
确定您的反引用需求
当用户通过指向其他地方的链接离开您的网站时,让目标服务器知道用户来自何处(您的网站)可能有用。也可能更合适不向他们透露任何关于您网站的信息。发送的反引用头通常是一个字符串,包含用户点击指向目标的链接所在页面的URL。有多种方式可以配置是否以及发送哪些信息,但需要注意的是,反引用可能对于正确配置网络广告、分析工具和一些认证平台是必要的。您还可以确保HTTPS URL不会泄漏到HTTP头中(从而避免未加密的网站路径信息在互联网上泄漏)。
在我们的案例中,我们发现“no-referrer-when-downgrade”策略符合我们的需求。这将确保如果用户点击指向HTTP网站(不安全)的链接,Web浏览器不会发布我们的HTTPS URL路径(这将是一个安全数据泄漏,因为它未加密地披露了我们的URL路径方案)。
具体的策略选项可以在本文底部的链接中找到。
在Apache中创建和配置Referrer-Policy
我们需要添加的头将在httpd.conf文件中添加(或者apache.conf等)。
在httpd.conf中,找到您的VirtualHost部分。
接下来,找到您的
|
|
重启Apache
|
|
测试更改
设置内容安全策略头
Scott Helme进行了大量研究,并帮助Web开发人员全面实施Referrer-Policy。以下是Scott整理的一些优秀内容,以协助正确实施。
新的安全头:Referrer Policy – 链接:https://scotthelme.co.uk/a-new-security-header-referrer-policy/ SecurityHeaders.io – 链接:https://www.securityheaders.io
相关阅读
参见第1部分:如何配置内容安全策略