控制台弱密码检查 | 身份鉴别
描述
tomcat-manger是Tomcat提供的web应用热部署功能,该功能具有较高权限,会直接控制Tomcat应用,应尽量避免使用此功能。如有特殊需求,请务必确保为该功能配置了强口令
加固建议
编辑Tomcat根目录下的配置文件conf/tomcat-user.xml
,修改user节点的password属性值为复杂密码, 密码应符合复杂性要求:
1、长度8位以上
2、包含以下四类字符中的三类字符:
英文大写字母(A 到 Z)
英文小写字母(a 到 z)
10 个基本数字(0 到 9)
非字母字符(例如 !、$、#、%、@、^、&)
3、避免使用已公开的弱密码,如:abcd.1234 、admin@123等
操作时建议做好记录或备份
禁止自动部署 | 服务配置
描述
配置自动部署,容易被部署恶意或未经测试的应用程序,应将其禁用
加固建议
修改Tomcat 根目录下的配置文件conf/server.xml
,将host节点的autoDeploy属性设置为“false”,如果host的deployOnStartup属性(如没有deployOnStartup配置可以忽略)为“true”,则也将其更改为“false”
操作时建议做好记录或备份
Tomcat目录权限检测 | 访问控制
描述
在运行Tomcat服务时,避免使用root用户运行,tomcat目录(catalina.home、 catalina.base目录)所有者应改为非root的运行用户
加固建议
使用chown -R <Tomcat启动用户所属组>:<Tomcat启动用户> <Tomcat目录>
修改tomcat目录文件所有者,如chown -R tomcat:tomcat /usr/local/tomcat
操作时建议做好记录或备份
Tomcat进程运行权限检测 | 访问控制
描述 在运行Internet服务时,最好尽可能避免使用root用户运行,降低攻击者拿到服务器控制权限的机会。 加固建议 创建低权限的账号运行Tomcat,操作步骤如下:
代码语言:javascript复制--新增tomcat用户
useradd tomcat
--将tomcat目录owner改为tomcat
chown -R tomcat:tomcat /opt/tomcat
-- 停止原来的tomcat服务
--切换到tomcat用户
su - tomcat
--重新启动tomcat
/opt/tomcat/bin/startup.sh
操作时建议做好记录或备份
禁止显示异常调试信息 | 服务配置
描述
当请求处理期间发生运行时错误时,ApacheTomcat将向请求者显示调试信息。建议不要向请求者提供此类调试信息。
加固建议
在Tomcat根目录下的conf/web.xml
文件里面的web-app添加子节点:<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
,在webapps目录下创建error.jsp,定义自定义错误信息
操作时建议做好记录或备份
开启日志记录 | 安全审计
描述
Tomcat需要保存输出日志,以便于排除错误和发生安全事件时,进行分析和定位
加固建议
1、修改Tomcat根目录下的conf/server.xml
文件。
2、取消Host节点下Valve节点的注释(如没有则添加)。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
3、重新启动Tomcat
操作时建议做好记录或备份
禁止Tomcat显示目录文件列表 | 服务配置
描述
Tomcat允许显示目录文件列表会引发目录遍历漏洞
加固建议
修改Tomcat 跟目录下的配置文件conf/web.xml
,将listings的值设置为false。
<param-name>listings</param-name> <param-value>false</param-value>
操作时建议做好记录或备份
删除项目无关文件和目录 | 访问控制
描述 Tomcat安装提供了示例应用程序、文档和其他可能不用于生产程序及目录,存在极大安全风险,建议移除 加固建议 请删除Tomcat示例程序和目录、管理控制台等,即从Tomcat根目录的webapps目录,移出或删除docs、examples、host-manager、manager目录。
操作时建议做好记录或备份
避免为tomcat配置manager-gui弱口令 | 访问控制
描述
tomcat-manger是Tomcat提供的web应用热部署功能,该功能具有较高权限,会直接控制Tomcat应用,应尽量避免使用此功能。如有特殊需求,请务必确保为该功能配置了强口令
加固建议
编辑Tomcat根目录下的配置文件conf/tomcat-user.xml
,修改user节点的password属性值为复杂密码, 密码应符合复杂性要求:
1、长度8位以上
2、包含以下四类字符中的三类字符:
英文大写字母(A 到 Z)
英文小写字母(a 到 z)
10 个基本数字(0 到 9)
非字母字符(例如 !、$、#、%、@、^、&)
3、避免使用已公开的弱密码,如:abcd.1234 、admin@123等
操作时建议做好记录或备份
限制服务器平台信息泄漏 | 服务配置
描述
限制服务器平台信息泄漏会使攻击者更难确定哪些漏洞会影响服务器平台。
加固建议
1、进入Tomcat安装主目录的lib目录下,比如 cd /usr/local/tomcat7/lib
2、执行:jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties,修改文件ServerInfo.properties中的server.info和server.number的值,如分别改为:Apache/11.0.92、11.0.92.0 3、执行:jar uf catalina.jar org/apache/catalina/util/ServerInfo.properties
4、重启Tomcat服务
操作时建议做好记录或备份
AJP协议文件读取与包含严重漏洞 | 入侵防范
描述 Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。漏洞影响非常严重,请及时采取防护措施修复。 加固建议 可使用以下方式修复加固
- 升级到以下安全版本进行防护
版本号 下载地址
Apache Tomcat 7.0.100 http://tomcat.apache.org/download-70.cgi
Apache Tomcat 8.5.51 http://tomcat.apache.org/download-80.cgi
Apache Tomcat 9.0.31 http://tomcat.apache.org/download-90.cgi
- 若不需使用AJP协议,可直接关闭AJP Connector,或将监听地址改为仅监听本机localhost,编辑配置文件
server.xml
,将AJP协议的Connector注释掉或删除,并重启服务。
<!--<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />-->
操作时建议做好记录或备份