在Apache Web服务器中设置内容安全策略

nvbavucw  于 2023-02-09  发布在  Apache
关注(0)|答案(2)|浏览(288)

我们进行了渗透测试,其中一个发现是:

  • “缺少内容安全策略HTTP响应标头”*

我们做了一些研究,发现了如何在web服务器的httpd.conf文件中设置这个。问题是我们不知道该包含什么。我们的web应用程序并不依赖于像googleapis这样的外部网站,也不依赖于任何CDN或网络上的外部图片。所以,我们不确定该放什么。
下面是一个示例,但它依赖于一些谷歌链接。

<Location "/CompanyXYZ/">
Header always append X-Frame-Options deny
Header always set Content-Security-Policy "default-src 'self' data: blob: *.google.com *.gstatic.com; style-src 'self' 'unsafe-inline' *.google.com *.googleapis.com; script-src 'self' 'unsafe-inline' *.googleapis.com *.google.com;"
</Location>

如果我们没有这些依赖项呢?我们应该如何设置我们的依赖项呢?

jpfvwuh4

jpfvwuh41#

这里需要澄清的一点是,该策略并不“依赖”谷歌链接,而是允许用户的网络浏览器在加载你的应用时加载这些域名的内容,而CSP策略则是“拒绝”用户的浏览器加载其他内容的权限。
缺乏CSP策略不应被视为漏洞。我希望这被评为“注意”或非常低风险的问题。实现CSP是你确实需要测试的事情,因为你可以很容易地破坏你的网站/应用程序的功能。我只是想确定你不会急于满足供应商。
CSP应该比这更谨慎地执行,您需要仔细评估应用加载/包含的所有内容。* 然后 * 在仅报告模式下实施策略将是谨慎的做法,在该模式下您可以看到 * 可能 * 违反策略的违规行为。这样,您可以发现问题,而不会有中断用户功能的风险。
这是它自己的蠕虫,因为您需要一个报告侦听器(有一些在线平台可以用于此)。

如果你选择即兴发挥,只是执行政策

如果你不依赖这些域名的资源,你可以安全地忽略它们。它们是作为例子留在这里的,因为很多网站都包含来自这些CDN的内容。
最后一个选择是只包含一个非常小的策略,基本上什么也不做。大多数pentest供应商只是勾选一个框,看看是否存在。
您可以尝试以下操作来选中该框(警告:此操作无效):

Content-Security-Policy: "default-src *"
628mspwn

628mspwn2#

缺乏CSP策略不应被视为漏洞。我希望这被评为"注意"或非常低风险的问题。实现CSP是你确实需要测试的事情,因为你可以很容易地破坏你的网站/应用程序的功能。我只是想确定你不会急于满足供应商。
正确配置的内容安全策略(CSP)可以通过限制JavaScript、CSS和其他潜在危险资源的来源来帮助防止跨站点脚本(XSS)攻击。@ebuntu是什么让您相信这不是一个漏洞?

相关问题