OwnCloud 为我提供了:
HTTP
X-XSS-Protection
标头未配置为等于"1; mode=block"
。这是一个潜在的安全或隐私风险,我们建议调整此设置。HTTP
X-Content-Type-Options
标头未配置为等于nosniff
。
这是一个潜在的安全或隐私风险,我们建议调整此设置。HTTP
X-Frame-Options
标头未配置为等于SAMEORIGIN
。
这是一个潜在的安全或隐私风险,我们建议调整此设置。
我该如何保护它?
答案1
安全测试仅供参考。让我们首先看看这些选项是什么,以了解它们到底起什么作用以及它们有多必要。
这
HTTP X-XSS-Protection
XSS 过滤器默认情况下处于激活状态(1
),因此您可以通过设置将其禁用0
,或者 OwnCloud 建议您设置X-XSS-Protection: 1; mode=block
,这将导致不仅仅是清理:浏览器根本不会呈现页面,而只显示#
。这
HTTP X-XSS-Protection
响应标头是 Internet Explorer、Chrome 和 Safari 的一项功能,当检测到反射式跨站点脚本 (XSS) 攻击时,它会阻止页面加载。虽然在现代浏览器中,当网站实施强大的内容安全政策尽管禁用了内联 JavaScript('unsafe-inline'
),它们仍然可以为尚不支持 CSP 的旧版 Web 浏览器用户提供保护。尽管测试建议,但您可能对默认设置就足够了。
IE8
X-Content-Type-Options: nosniff
style
如果 MIME 类型与/中请求的类型不匹配,则阻止请求script
。目前除 Safari 外,所有主流浏览器均支持该功能。这
X-Content-Type-Options
响应 HTTP 标头是服务器用来指示MIME 类型在Content-Type
标题不应更改,并应遵循。这允许选择退出MIME 类型嗅探,或者换句话说,这是一种表明网站管理员知道他们在做什么的方式。X-Frame-Options: SAMEORIGIN
允许浏览器在 中呈现页面<frame>
,<iframe>
或者<object>
仅当它与页面本身来自同一来源时才呈现。这是针对 XSS 的一个很好的衡量标准,但这意味着你不能嵌入任何带有这些标签的外部内容,即使来源合法,例如 YouTube 视频。在这种情况下,设置
X-Frame-Options: ALLOW-FROM http://www.youtube.com/
可以保护您免受其他来源的侵害,但您仍然会收到此测试的错误。
当您了解这些标头的用途时,您可以正确设置它们以提高安全性,而不会丢失站点所需的任何功能。所有 XSS 预防方法都很好,尤其是对于用户或员工创建内容的站点。在静态站点上,您知道自己在做什么,并且可以控制每个页面,因此它们有时可能会不必要地受到限制。
有了这些信息,在 Nginx 中设置这些标头并不困难add_header
:
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
这些可以在上下文中全局设置http
,也可以特定于server
、location
或if
进行设置location
。