🙊
🙊
🙊
🙊
关于作者
搜索文档…
🙊
🙊
🙊
🙊
关于作者
个人简历
联系作者
运维面试必问
RAID 磁盘阵列
MBR 与 GPT 分区
Linux 内核优化
关系型数据库
关系型数据库基本原理
SQL 基本语法
Linux运维学习笔记
计算机网络基础知识
Linux 系统启动过程
Linux 命令基本格式
Linux 文件删除原理
Linux 命令行判断GPT和MBR分区
Linux 目录结构说明
Linux 查看命令帮助信息
Linux Yum 命令
Linux Apt 命令
Linux 运维管理
Linux 硬件管理
Linux 软件管理
Linux 磁盘管理
Linux 系统管理
Linux 网络管理
Linux 用户和组管理
Linux 文件与目录管理
Linux 文件压缩与解压缩管理
Linux SSL证书自动更新管理
系统安全加固
Linux 操作系统加固
Windows 操作系统安全加固
Password 安全加固
OpenSSL 安全加固
NFS 服务安全加固
Rsync 服务安全加固
IIS 服务安全加固
PHP 语言环境安全加固
Apache 服务安全加固
Nginx 服务安全加固
Tomcat 服务安全加固
MySQL 服务安全加固
PostgreSQL 服务安全加固
Redis 服务安全加固
MongoDB 服务安全加固
暴力破解攻击和防御
Linux 系统故障排查
Linux 系统重置密码方法
Linux 系统误操作修改目录权限为 777 修复方法
Windows 系统故障排查
Windows 和 Windows Server 中启用/禁用 SMBv1、SMBv2 和 SMBv3
Windows10建立映射网络驱动器报错,无法挂载共享文件系统,解决办法
运维工具使用
常用 Git 命令简介及使用
常用 SVN 命令简介及使用
常用 Vi / Vim 文本编辑工具简介及使用
国内常用加速源使用及配置
软碟通制作U启动和再生龙恢复Linux系统及备份
常用JetBrains系列IDE快捷键
运维环境搭建
CentOS 7 安装与优化
CentOS 安装高版本Node.js
CentOS 升级安装Python2.7.X
CentOS 安装 Python3.8.X
CentOS 安装 PHP7.4.X
CentOS 安装 Mysql 8.0
CentOS 安装 Zabbix 5.0
Windows Server 部署 IIS
Cronsun 任务管理器部署
Teltport 堡垒机部署
Jump Server 堡垒机搭建及使用
CI & CD 持续集成部署
ELK6.5.0+Filebeat 日志系统部署
中间件教程学习
Nginx 极简教程
Nginx 安装
Nginx 配置
Nginx 问题集
Mysql 教程
Mysql 运维
Mysql 原理
Redis 教程
Redis 持久化
Redis 复制
Redis 哨兵
Redis 集群
Redis 运维
PostgreSQL 教程
H2 教程
SqLite 教程
Linux 命令大全
Linux 运维教程
Shell 教程
Java 教程
Python 全栈教程
nftables 中文教程
Docker -入门到实践
Docker 入门教程
Prometheus 监控
Kubernetes中文指南/云原生应用架构实践手册
ELKstack 中文指南
Elasticsearch 权威指南
Python 入门指南
Nginx 入门教程
MySQL 入门教程
Go 语言高级编程
Python 爬虫教程
Github 漫游指南
Jenkins 中文教程
数据库中间件 flyway
Nosql 数据库
常用工具快捷键
Windows10常用快捷键大全
PyCharm 使用技巧
由
GitBook
提供支持
Tomcat 服务安全加固
博客作者:联系请
点击
,搬运不易,希望请作者喝咖啡,可以点击
联系博客作者
Tomcat服务默认启用了管理后台功能,使用该后台可直接上传 war 文件包对站点进行部署和管理。由于运维人员的疏忽,可能导致管理后台存在空口令或者弱口令的漏洞,使得黑客或者不法分子可以利用该漏洞直接上传 Webshell 脚本导致服务器沦陷。
通常 Tomcat 后台管理的 URL 地址为 http://iP:8080/manager/html/, 如下图所示:
Could not load image
黑客通过猜解到的口令登录 Tomcat 管理后台后,可以上传 Webshell 脚本导致服务器被入侵。
由于此类型漏洞可能对业务系统造成比较严重的危害,建议您针对 Tomcat 管理后台进行以下安全加固配置。
1. 网络访问控制
如果您的业务不需要使用 Tomcat 管理后台管理业务代码,建议您使用
安全组防火墙
功能对管理后台 URL 地址进行拦截,或直接将 Tomcat 部署目录中 webapps 文件夹中的 manager、host-manager 文件夹全部删除,并注释 Tomcat 目录中 conf 文件夹中的 tomcat-users.xml 文件中的所有代码。
如果您的业务系统确实需要使用 Tomcat 管理后台进行业务代码的发布和管理,建议为 Tomcat 管理后台配置强口令,并修改默认 admin 用户,且密码长度不低于10位,必须包含大写字母、特殊符号、数字组合。
2. 开启 Tomcat 的访问日志
修改 conf/server.xml 文件,将下列代码取消注释:
1
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
2
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
Copied!
启用访问日志功能,重启 Tomcat 服务后,在 tomcat_home/logs 文件夹中就可以看到访问日志。
3. Tomcat 默认帐号安全
修改 Tomcat 安装目录 conf 下的 tomcat-user.xml 文件,重新设置复杂口令并保存文件。重启 Tomcat 服务后,新口令即生效。
4. 修改默认访问端口
修改 conf/server.xml 文件把默认的 8080 访问端口改成其它端口。
5. 重定向错误页面
修改访问 Tomcat 错误页面的返回信息,在 webapps\manager 目录中创建相应的401.html、404.htm、500.htm 文件,然后在 conf/web.xml 文件的最后一行之前添加下列代码:
1
<error-page>
2
<error-code>401</error-code>
3
<location>/401.htm</location>
4
</error-page>
5
<error-page>
6
<error-code>404</error-code>
7
<location>/404.htm</location>
8
</error-page>
9
<error-page>
10
<error-code>500</error-code>
11
<location>/500.htm</location>
12
</error-page>
Copied!
6. 禁止列出目录
防止直接访问目录时由于找不到默认页面,而列出目录下的文件的情况。
在 web.xml 文件中,将
<param-name>listings</param-name>
改成
<param-name>false</param-name>
。
7. 删除文档和示例程序
删除 webapps 目录下的 docs、examples、manager、ROOT、host-manager 文件夹。
系统安全加固 - 以前
Nginx 服务安全加固
下一个 - 系统安全加固
MySQL 服务安全加固
最近更新
1yr ago
复制链接
内容
1. 网络访问控制
2. 开启 Tomcat 的访问日志
3. Tomcat 默认帐号安全
4. 修改默认访问端口
5. 重定向错误页面
6. 禁止列出目录
7. 删除文档和示例程序