在我们正式测评之前,首先要做的就是信息收集,但中间件部署位置看运维人员心情,所以第一步我们需要查找到该中间件的部署目录,并确认相应版本信息。
find / -name "catalina.sh"
利用 find 命令找到对应部署目录,再使用如下命令查询版本
/usr/local/apache-tomcat-8.5.56/bin/catalina.sh version
根据上图 Apache Tomcat 对应的版本即为 8.5.56.0
接着我们再去确认是否开启了控制台管理,查看tomcat目录/conf/tomcat-users.xml,上述路径为/usr/local/apache-tomcat-8.5.56/conf/tomcat-users.xml 文件,如果username,password关键字那段上下被<!-- …… --!>包裹,那么可以推断出未使用控制台管理
另外我们还可以查看 /usr/local/apache-tomcat-8.5.56/webapps 目录下是否存在manager 目录文件,如果没有也是将其管理控制台删除了。
另外tomcat端口,我们查看文件 /usr/local/tomcat/conf/server.xml,找到如下配置,通过port可以确定对应端口号
如果还有疑问,简单粗暴一点,直接访问对应ip+端口,点击 Manager App,或自主添加 ip:端口号/manager 访问,弹出该界面则确认tomcat-users.xml 中是否允许用户登录,如果访问404,那么基本已禁用。
一、身份鉴别
如果不使用控制台管理,可在结果记录中下 “未开启tomcat管理控制台,通过登录到操作系统本地管理该中间件” 不适用的结论。
a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
针对于使用控制台管理的情况,查看tomcat目录 /conf/tomcat-users.xml 文件,确认用户的口令组成情况,并询问是否定期更改。
另外tomcat 无强制口令复杂度策略,以及口令到期策略。
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
1. 登录失败处理功能
默认:5次,锁定10分钟。(自己测试的)
查看 tomcat目录/conf/server.xml文件配置
查看failureCount(次)、lockOutTime(秒) 值