在CentOS系统下对Tomcat进行安全扫描,可以采取以下几种方法:
安全配置
- 版本控制:避免使用旧版本的Tomcat,因为它们可能包含已知的安全漏洞。建议使用最新稳定版本的Tomcat。
- 关闭web管理页面:删除部署在Tomcat目录下的webapps目录中与业务代码无关的文件夹,例如docs、examples、host-manager、manager、ROOT等。
- 修改Tomcat默认账号:修改/Tomcat目录/conf中tomcat-users.xml文件中的默认用户,例如将Tomcat用户改成nginx,并设置一个复杂的密码。
- 不使用root用户启动:使用普通用户启动Tomcat,避免以root用户身份运行。
- 隐藏Tomcat版本号:通过修改/Tomcat目录/lib中的catalina.jar文件来隐藏Tomcat版本信息。
- 删除示例文档:删除webapps目录下的示例文档,减少潜在的攻击面。
- 禁止列出目录:在conf文件夹中的web.xml文件中,将listings设置为false。
- 设置安全cookie:编辑/Tomcat目录/conf/context.xml文件,新增配置。
- 禁用shutdown:编辑/Tomcat目录/conf/server.xml文件,将默认的shutdown端口改为“-1”或更改shutdown命令,防止被恶意远程重启。
- 禁用AJP端口:如果业务不使用AJP端口,编辑/Tomcat目录/conf/server.xml文件,将AJP端口改为“-1”。
- 关闭热部署:在server.xml中的host项中,修改autoDeploy=“false”。
- 禁用非法Http方法:在conf文件夹中的web.xml文件中,配置元素,禁用不安全的HTTP方法。
- 开启日志审核:检查/Tomcat目录/conf/server.xml文件中的配置,确保日志审核功能开启。
- 修改默认端口:编辑/Tomcat目录/conf/server.xml文件,将默认端口(如8080)修改为非标准端口。
安全扫描工具
- Apache Tomcat Scanner:一个开源的Python脚本,用于扫描Apache Tomcat服务器的安全漏洞。
- 弱口令扫描器:专门用于检测Tomcat管理页面的弱密码。
- TomcatWeakPassChecker:用于检查Tomcat管理页面的弱密码,并尝试通过上传自定义WAR包部署Webshell。
在进行安全扫描之前,请确保已经对系统业务运行的服务、端口等信息进行了摸查及评估,并在测试机先行测试。加固不规范可能会导致安全问题。