一.简介
tomcat安全优化包括安全优化和性能优化。
1.tomcat安全优化
1版本信息隐藏 | 修改tomcat报错页面,报错不显示版本信息 |
2web服务隐藏/修改tomcat http响应头的内容 | connector 8080部分 增加Server信息 |
3禁用管理端 | 关闭管理端的功能并且清除相关文件和目录 |
4配置完整的访问日志格式 | 记录全面的访问日志内容 |
5脚本权限回收 | 700或750 |
6文件列表访问控制 | tomcat已默认关闭 |
7禁止root启动 (监牢模式keep in jail) | 普通用户运行与管理tomcat |
8shutdown端口及暗号的修改 | 8005 SHUTWODN(暗号) |
9访问限制 | allow deny |
10注释掉8009端口 | 8.5以后默认注释掉 |
(1)版本信息隐藏
conf/web.xml 修改错误页
(2)web服务隐藏/修改tomcat http响应头的内容
conf/server.xml 增加server="nginx/1.24",这样就对方可能认为是nginx中间件
(3)禁用管理端
(4)配置完整的访问日志格式
conf/server.xml
(5)脚本权限回收
(6)文件列表访问控制
conf/web.xml
(7)禁止root启动 (监牢模式keep in jail)
降权启动/监牢模式:让服务通过普通用户运行,普通用户管理维护tomcat。
(8)shutdown端口及暗号的修改
conf/server.xml
(9)访问限制
conf/server.xml allow="x.x.x.x,x.x.x.* 可以是IP,可以是网段
(10)注释掉8009端口
conf/server.xml
2.tomcat性能优化
参数数值调整方式:
参考值基准,不设置数值,通过压力测试软件观察tomcat性能
增加优化参数,通过压力测试软件观察tomcat性能
压力测试工具:
ab/webbench | http压力测试 |
stress | cpu内存测试 |
jmeter | java(tomcat)压力测试 |
dd/fio | 磁盘性能测试 |
mysqlslap | mysql压力测试 |
loadrunner | 专业测试工具 |
(1)java启动参数jvm优化
bin/catalina.sh
(2)tomcat配置参数优化
conf/server.xml
参数解释
(3)io模型优化
优化建议,默认异步非阻塞NIO即可,决定tomcat如何处理数据,类似nginx同步,异步模型
BIO | 同步模型,阻塞,老版本tomcat7及以前的版本 |
NIO(NIO1 NIO2) | 异步模型,非阻塞,tomcat8之后默认NIO |
APR | 高并发场景 |
/conf/server.xml