等保测评-Apache Tomcat中间件
本次实验环境部署于docker容器,详解如下:
*查看Apache Tomcat中间件是否运行:
docker ps、netstat -nutlp、ps -ef | grep tomcat
*查看Apache Tomcat中间件版本信息:
进入docker exec -it Apache Tomcat容器ID/容器名 /bin/bash,后使用命令find / -name catalina.sh查看Apache Tomcat中间件安装目录,后执行XX/XX/XX/catalina.sh version
亦可进入Apache Tomcat中间件bin目录下,执行version.sh查看版本信息。
#############################################################################
身份鉴别模块:
a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
需分情况核查:
1、已开控制台(tomcat-user.xml中已取消username和password注释):查看tomcat-users.xml中username、password字样,核查用户名是否唯一、用户密码是否为弱口令、用户密码是否存在空口令、用户密码是否配置密码复杂度,以及是否有定期修改密码,依据情况判定是否符合。
2、未开控制台(tomcat-user.xml中未取消username和password注释),即依据情况身份鉴别模块和访问控制模块可给不适用。
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
需分情况核查:
1、已开控制台:使用命令cat server.xml | grep login、cat server.xml | grep lock、cat server.xml | grep fail进行查看,核查是否有配置登录失败处理策略;至于连接超时自动退出策略,可使用命令:cat server.xml | grep Connect、cat server.xml | grep Time进行查看
注:Apache Tomcat如果开启控制台,则这个连接超时策略貌似设置不了。
2、未开控制台:身份鉴别模块和访问控制模块可给不适用。
c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
1、已开控制台:一般情况下为HTTP网络通信协议,默认采用Base64对鉴别数据进行编码,已知Base64不安全。
2、未开控制台:不适用。
d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
1、已开控制台:一般直接给不符合,基本采用账户名+密码进行验证登录。(谁闲的没事给中间件加双因子登录)
2、未开控制台:不适用。
访问控制模块:
a)应对登录的用户分配账户和权限;
1、已开控制台:查看Apache Tomcat中间件tomcat-user.xml配置文件,核查其中设置的用户名username和角色信息roles。
角色名称 | 允许的操作场景 |
---|---|
manager-gui | 通过浏览器访问/manager 页面部署 / 停止应用 |
manager-script | 使用curl 命令执行/manager/text 接口 |
admin-gui | 访问/admin 页面配置服务器参数 |
manager-status | 访问/manager/status 查看服务器状态 |
注:除了以上角色外,貌似还可以自定义角色,需依据实际情况而言。
2、未开控制台:不适用。
b)应重命名或删除默认账户,修改默认账户的默认口令;
1、已开控制台:查看Apache Tomcat中间件tomcat-user.xml配置文件,核查其中设置的用户名username和密码password。(Apache Tomcat默认账户为tomcat、both和role1,默认密码均为tomcat)
2、未开控制台:不适用。
c)应及时删除或停用多余的、过期的账户,避免共享账户的存在;
1、已开控制台:查看Apache Tomcat中间件tomcat-user.xml配置文件,核查其中设置的用户名username信息,是否存在闲置账户或多用户共用一账户的情况。
2、未开控制台:不适用。
d)应授予管理用户所需的最小权限,实现管理用户的权限分离;
1、已开控制台:查看Apache Tomcat中间件tomcat-user.xml配置文件,核查其中设置的用户名username和角色信息roles,实际情况一般为不符合,几乎没有人为此设置安全管理员和审计管理员角色。
2、未开控制台:不适用。
e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
1、已开控制台:查看Apache Tomcat中间件tomcat-user.xml配置文件,核查其中设置的用户名username和角色信息roles,根据各账户角色判定谁为授权主体,谁可配置访问控制策略。
2、未开控制台:不适用。
f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
1、已开控制台:一般为符合,开发人员和运维人员登录控制台后,均围绕其配置文件(功能模块)进行操作,已达主体为用户级,客体为文件级。
2、未开控制台:不适用。
g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
1、已开控制台:实现较难,市面上直接给不符合即可。
2、未开控制台:不适用。
安全审计模块(无关控制台):
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
查看logging.properties配置文件:cat logging.properties,默认是开启的,不为OFF即可。
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
查看server.xml:cat server.xml,下图框住部分含有日志存放路径、日志信息的组成等。
亦可直接去往Apache Tomcat中间件logs目录下,查看日志文件信息:
c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
主要核查两点:1、日志文件信息留存时间是否可追溯至六个月前的信息,此项一般观察日志文件名称即可得知。2、是否有制定备份策略对Apache Tomcat中间件的日志信息进行备份。
d)应对审计进程进行保护,防止未经授权的中断。
此项市面上可分两种分析,1为Apache Tocat审计进程由root用户负责配置管理,其他非授权人员不得随意操作访问。2为审计进程与中间件主进程关联,默认无法单独中断审计进程。以上两种分析均有理,一般直接给符合。
入侵防范模块:
a)应遵循最小安装的原则,仅安装需要的组件和应用程序;
直接给不适用。
b)应关闭不需要的系统服务、默认共享和高危端口;
直接给不适用。
c)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;
直接给不适用。
d)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求;
直接给不适用。
e)应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;
结合漏洞扫描工具进行查看,核查是否存在高风险漏洞信息。
可信验证模块:
a)可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
直接给不适用。
数据完整性模块:
a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
1、已开控制台:核查控制台管理是否为HTTPS网络通信协议,若为HTTPS网络通信协议,则此项给符合;但默认为HTTP网络通信协议,鉴别数据采用Base64编码,审计数据和配置数据一般未采用校验技术或密码技术进行数据传输,是否符合根据实际情况判定。
2、未开控制台:无鉴别数据,配置数据和审计数据仅在本地运行,不涉及远程传输,直接给不适用即可。
b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
1、已开控制台:考察数据为鉴别数据、审计数据和配置数据,鉴别数据是否加密可查看tomcat-user.xml文件,默认无加密,审计数据和配置数据一般不进行加密,是否符合根据实际情况判定。
2、未开控制台:考察数据为审计数据和配置数据,一般不进行加密,是否符合根据实际情况判定。
数据保密性模块:
a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;
1、已开控制台:核查控制台管理是否为HTTPS网络通信协议,若为HTTPS网络通信协议,则此项给符合;但默认为HTTP网络通信协议,鉴别数据采用Base64编码,是否符合根据实际情况判定。
2、未开控制台:直接给不适用。
b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
1、已开控制台:考察数据为鉴别数据,鉴别数据是否加密可查看tomcat-user.xml文件,默认无加密,是否符合根据实际情况判定。
2、未开控制台:直接给不适用。
数据备份恢复模块:
a)应提供重要数据的本地数据备份与恢复功能;
询问业主单位:1、是否有对Apache Tomcat中间件重要数据(配置数据及日志文件)进行备份。2、是否有对已备份的数据进行恢复性测试。
b)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;
询问业主单位:是否有进行异地实时备份。
c)应提供重要数据处理系统的热冗余,保证系统的高可用性。
询问业主单位是否有进行主备冗余或集群方式部署,或结合测评情况判定。
剩余信息保护模块:
a)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除;
1、已开控制台:依据登录控制台是否会清理用户鉴别信息作判定。若用户退出登录将自动清除用户鉴别信息,可给符合,反之则给不符合。
2、未开控制台:直接给不适用。
b)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。
1、已开控制台:依据登录控制台是否会清理用户敏感信息作判定。若用户退出登录将自动清除用户敏感信息,可给符合,反之则给不符合。
2、未开控制台:直接给不适用。
个人信息保护模块(无关控制台):
a)应仅采集和保存业务必需的用户个人信息;
Apache Tomcat默认不存储用户个人信息和业务信息,直接给不适用。
b)应禁止未授权访问和非法使用用户个人信息。
Apache Tomcat默认不存储用户个人信息和业务信息,直接给不适用。