在tomcat中配置Content-Security-Policy

时间:2016-08-31 06:54:44

标签: security tomcat content-security-policy clickjacking

我读到了有关配置/实现Content-Security-Policy标头的内容,我有两种方式:

  1. 使用自定义过滤器,按照this链接
  2. 中的说明实现过滤器
  3. 使用元标记
  4. 请注意,此问题与this不重复,Iam正在寻找比this链接更好的解决方案

    我看到(1)中的缺点是它是通过代码驱动的,而不是通过配置文件,选项(2)的缺点是如果我说100个html文件,我需要在每个HTML中放置这个标签吗? (如我错了请纠正我) 我正在寻找的解决方案是我可以在web.xml中配置的,并适用于所有的html文件。如果在web.xml中配置X-Frame-Options(如给定的here),我们采取的方式是不是我们在web.xml中配置Content-Security-Policy的方式不同?

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用https://github.com/sourceclear/headlines(死链接,这是我能找到的全部内容:https://github.com/stevespringett/headlines)?它的目标是使与安全相关的头文件成为配置问题,而不是像你问的代码。

{
  "XContentTypeConfig": {
    "enabled": true
  },

  "XFrameOptionsConfig": {
    "enabled": true,
    "value":"DENY"
  },

  "XssProtectionConfig": {
    "enabled": true
  },

  "HstsConfig": {
    "enabled": true,
    "includeSubdomains":true,
    "maxAge":31536000
  },

  "CspConfig": {
    "csp": {
      "default-src":["'self'"]
    },
    "cspReportOnly":{}
  },

  ... snip
}

答案 1 :(得分:0)

在web.xml中配置内容安全策略

您可以在链接https://svn.cesecore.eu/svn/ejbca/trunk/ejbca/modules/ejbca-common-web/src/org/owasp/filters/ContentSecurityPolicyFilter.java中使用OWASP提供的建议。它是一个Web过滤器,您可以在后端中实现。

然后必须在web.xml文件中定义以下过滤器。在应用程序中的每个请求上都会调用此方法。在Java中,您可以通过创建适当的类来做到这一点。

<filter>
    <filter-name>ContentSecurityPolicy</filter-name>
    <filter-class>YourPackagePath.ContentSecurityPolicyFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>ContentSecurityPolicy</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

以上内容将在HTTP标头中实现content-security-policy的以下值

default-src'none'; style-src'self''unsafe-inline'; script-src'self''unsafe-inline''unsafe-eval'; img-src'self'; frame-src'self'; connect-src'自我';形式动作“自我”;反射xss块