使用Set-Cookies Secure标志保护Tomcat
防止 Apache Tomcat 遭受 XSS(跨站脚本攻击)
根据 Microsoft Developer Network,HttpOnly 和 Secure 是包含在 Set-Cookie HTTP 响应头中的附加标志。
在 Set-Cookie 中使用 HttpOnly 有助于减轻最常见的 XSS attack 风险。
这可以在应用程序内由开发人员进行,或在 Tomcat 中实施以下操作。
作为最佳实践,在修改之前备份配置文件,并在非生产环境中进行可能的测试,以确保不会破坏应用程序。
让我们看看如何实现这一点。
在 Tomcat 6.x 中实现 HttpOnly 和 Secure 标志
- 登录到 Tomcat 服务器
- 进入 Tomcat 安装路径,然后进入 conf 文件夹
- 使用 vi 编辑器打开
context.xml
并将Context
部分更新如下
useHttpOnly="true"
例如:
接下来,添加一个 secure 标志。
- 打开
server.xml
并在Connector port
部分添加以下内容
secure="true"
- 重新启动 Tomcat 服务器以测试应用程序
在 Tomcat 7.x/8.x/9.x 中实现
- 进入 Tomcat >> conf 文件夹
- 打开 web.xml 并在
session-config
部分添加以下内容
true
true
例如:
- 保存文件并重新启动 Tomcat 以进行测试。
验证
有多种方法。
如果您正在测试内部应用程序,可以使用浏览器内置的开发人员工具,如 Chrome、IE 或 Firefox。
但是,如果面向互联网或希望在外部进行测试,则可以使用 HTTP Header Checker 在线工具。
我希望这样可以增加一层 Tomcat security。了解更多关于 Tomcat 管理的信息,请参阅 here。