Tomcat安全优化(tomcat优化)
admin2024-08-14 10:13:34Linux运维
tomcat**安全优化指标** | |
---|
1. shutdown端口及暗号的修改 | 8005 SHUTDOWN(dangerous) |
2. 注释掉AJP 8009端口(从8.5开始已经注释) | 注释提升性能和安全 |
3. 禁用管理端 | 关闭管理端的功能并且清除相关文件和目录 |
4. 降权启动(强制)(监牢模式 keep in jail) | 普通用户运行与管理 tomcat |
5. 文件列表访问控制(强制) | 需要关闭,tomcat已经默认关闭 |
6. 版本信息隐藏(强制) | 修改tomcat报错页面 |
7. 修改Tomcat http响应头的内容 | |
8. 访问限制(可选) | allow deny |
9 . 脚本权限回收 | 700 或750 |
10. 配置完整访问日志格式 | 完整的日志 类似于nginx main格式 |
安全优化
1.telnet管理端口保护(强制) tomcat shutdown端口
2.ajp连接端口保护(推荐)
如果使用的apache+tomcat 修改端口
如果没有使用apache 则把这一行注释
116
3.禁用管理端(强制)
###0.管理端主要应用在 tomcat测试环境中
###1. 删除默认的{Tomcat安装目录}/conf/tomcat-users.xml文件,重启tomcat后将会自动生成新的文件;
###2. 删除{Tomcat安装目录}/webapps下默认的所有目录和文件;
###3. 将tomcat 应用根目录配置为tomcat安装目录以外的目录;
[root@tomcat webapps]# rm manager/ host-manager/ -fr
###4. 注释 conf/server.xml 部分
##4.降权启动(强制)(监牢模式 keep in jail)
在普通用户下面,运行维护tomcat
###1)添加用户 tomcat ###
2)修改 tomcat 所有者
###3)通过普通用户管理
useradd tomcat
chown -R tomcat.tomcat /app/tomcat/ /code/ /var/log/tomcat/
su - tomcat
/app/tomcat/bin/startup.sh
systemctl #需要sudo 授权
###1)添加用户 tomcat
useradd tomcat
###2)修改 tomcat 所有者
chwon -R tomcat.tomcat /app/tomcat/
###3)通过普通用户管理
su - tomcat
###4)开机自启动 通过tomcat 用户
su - tomcat -c "/app/tomcat/bin/startup.sh"
-c 执行命令 后面只接普通命令
####5)注意事项:
##1.如果给nginx配置 端口在1-1024之间 端口叫特权端口 只能root管理维护
##2.给nginx做 降权 需要修改端口
降权启动/监牢模式 让服务通过普通用户运行 普通用户管理.
作业. tomcat nginx 监牢模式 Linux 1-1024端口 特权端口 只能root使用.
web 8099
upstream web_pools {
server 10.0.0.7:8099;
server 10.0.0.8:8099;
}
##5.文件列表访问控制(强制)
####默认展示站点目录下所有的内容
nginx 网站文件列表功能 autoindex on;
tomcat 关闭
conf/web.xml
listings
false
##6.版本信息隐藏(强制)
###不同软件版本 会有些不同的故障(漏洞)
###把tomcat错误页面指定到新的页面
conf/web.xml
403
/forbidden.jsp
404
/notfound.jsp
500
/systembusy.jsp
##7.Server header重写(推荐)
###tomcat 想让用户发下 这是nginx
server.xml
[root@tomcat ~]# curl -I http://47.114.128.48:8080
HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 11 Feb 2020 02:43:19 GMT
Server: nginx/1.16.1
#8. 访问限制(可选)
#9.脚本权限回收
chmod -R 700 tomcat/bin/*
#10. 配置完整访问日志格式
%{Referer}i 用户从哪里跳转过来的
%{User-Agent}i 用户客户端(浏览器)
pattern="%h %l %u %t "%r" %s %b %D "%{Referer}i" "%{User-Agent}i""