如何在Apache Tomcat 8中启用安全的HTTP头?
使用安全头部来注入HTTP响应可以缓解大部分的web security vulnerabilities。
如果您正在管理生产环境或与支付相关的应用程序,则安全/渗透测试团队也会要求您实现必要的HTTP头部,以符合PCI-DSS安全标准。
具有安全头部可以指示浏览器执行或不执行某些操作,以防止某些安全攻击。
您可能正在使用像Apache、Nginx、IIS这样的Web服务器作为Tomcat的前端,所以您可以implement the headers directly in web server。
但是,如果您没有任何Web服务器,或者需要直接在Tomcat中实施,那么如果您正在使用Tomcat 8,则有一个好消息。
Tomcat 8添加了对以下HTTP响应头的支持。
- X-Frame-Options – 防止点击劫持攻击
- X-XSS-Protection – 避免跨站脚本攻击
- X-Content-Type-Options – 阻止内容类型嗅探
- HSTS – 添加严格传输安全性
我已经在Linux(CentOS发行版)服务器上的Apache Tomcat 8.5.15进行了测试。
注意:如果您正在寻找全面的加固和安全性,您可以refer this guide。
作为最佳实践,在进行更改或在非生产环境中进行测试之前,备份必要的配置文件。
- 登录到Tomcat服务器
- 转到Tomcat安装路径下的conf文件夹
- 取消注释以下过滤器(默认情况下被注释掉)
httpHeaderSecurity org.apache.catalina.filters.HttpHeaderSecurityFilter true
通过取消注释以上内容,您指示Tomcat支持HTTP头部安全过滤器。
- 在上述过滤器之后添加以下内容
httpHeaderSecurity /*
通过添加以上内容,您指示Tomcat在所有应用程序URL中注入HTTP头部。
- 重新启动Tomcat并访问应用程序以验证头部。
您可以使用链接_4>或在浏览器上按F12进行检查。
以下是从web.xml文件中摘取的快速过滤器参考。
在Tomcat 8中启用安全头很简单,作为管理员,您应该计划实施它们以提高安全性。
如果您是Tomcat的新用户,您可能有兴趣参加此 Apache Tomcat administration course。