基线检查---[等保三级]Jboss合规基线检查
Jboss未授权访问入侵防范
描述
Jboss是一个基于J2EE的开放源代码的应用服务器。由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进?到jmx控制台,并在其中执?任何功能。
检查提示
--
加固建议
- 修改jboss-web.xml 找到jmx-console.war/WEB-INF/jboss-web.xml配置文件,去掉下面xml文本的注释:
java:/jaas/jmx-console 。 - 修改web.xml 与 jboss-web.xml 同级的目录下还有一个文件 web.xml找到security-constraint 标签并将整个标签取消注释, 然后将该标签中的 GET 和 POST 两行注释掉,若不存在则忽略。
- 修改初始admin用户的密码 找到conf\props\jbossws-users.properties以及相同目录下的jmx-console-users.properties文件,修改原始的admin/admin为符合密码复杂度的新密码,或删除原始用户,添加新的用户名和密码。
- 修改新用户所属角色 在相同的路径下找到jbossws-roles.properties及jmx-console-roles.properties文件,定义新用户名所属角色。该文件定义的格式为用户名 = 角色 ,多个角色以 “,” 隔开该文件默认为 admin 用户定义了 JBossAdmin 和 HttpInvoker 这两个角色。例如:kermit = JBossAdmin,HttpInvoker。
- 升级Jboss到最新版本
应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,鉴别信息具有复杂度要求并定期更换,用户身份鉴别信息丢失或失效时,应采用鉴别信息重置或其他技术措施保证系统安全 | 身份鉴别
描述
- 检查web-console是否设置密码保护,
- 检查jmx-console是否设置密码保护,
- 检查设置的密码是否符合复杂度要求,
- 检查是否支持加密协议
检查提示
--
加固建议
web-console页面开启登录名和密码保护:
找到%JBOSS_HOME%/common/deploy/jbossws-console.war/WEB-INF/jboss-web.xml,去掉
找到%JBOSS_HOME%/common/deploy/jbossws-console.war/WEB-INF/web.xml,去掉
jmx-console页面开启登录名和密码保护:
找到%JBOSS_HOME%/common/deploy/jmx-console.war/WEB-INF/jboss-web.xml,去掉
找到%JBOSS_HOME%/common/deploy/jmx-console.war/WEB-INF/web.xml,去掉
设置修改密码为复杂密码
jmx-console和web-console的密码应包含至少一个大小写字母、数字及特殊字符,且长度应不少于8位;
设置支持https加密协议
使用JDK自带的keytool工具生成一个证书 $JAVA_HOME/bin/keytool -genkey -alias tc-ssl -keyalg RSA -keystore /opt/keystore (/opt/keystore为存储证书的位置);
编辑$/server/$/deploy/jbossweb.sar/server.xml文件, 取消SSL/TLS节点的配置,并设置keystoreFile="/opt/keystore" keystorePass="password",其中 keystoreFile为证书保存路径,keystorePass为生成证书时输入的密码;
修改完成后重启jboss服务
当通信双方中的一方在一段时间内未作任何响应,另一方应能够自动结束会话 | 访问控制
描述
配置服务器管理页面超时自动登出。
检查提示
--
加固建议
设置页面超时登出:编辑%jboss_home%/server/%server_type%/deploy/jbossweb.sar/server.xml 文件, 修改Connector节点的connectionTimeout值在300秒到1800秒之间:connectionTimeout="1800"
应提供访问控制功能,对登录的用户分配账号和权限;应授予不同账号为完成各自承担任务所需的最小权限,并在它们之间形成相互制约的关系 | 访问控制
描述
- 配置错误页面重定向;
- 关闭status状态统计信息;
- 限制目录列表访问;
- 确保jboss进程用户不是超级用户;
- 为用户配置所需的最小权限。
检查提示
--
加固建议
配置错误页面重定向
编辑${jboss_path}/server/${jboss_server}/deploy/jbossweb.sar/web.xml配置文件:
找到${jboss_path}/server/${jboss_server}/deploy/jbossweb.sar/web.xml配置文件,注释如下内容:
编辑${jboss_path}/server/${jboss_server}/deploy/jbossweb.sar/web.xml配置文件:
确保jboss进程用户不是超级用户
创建jboss组: groupadd Jboss
创建jboss用户并加入jboss组: useradd Jboss -g Jboss
以Jboss用户身份启动服务
为用户配置所需的最小权限
编辑${jboss_path}/server/${jboss_server}/conf/props/jmx-console-roles.properties配置文件,为用户配置正确的角色,如:admin=JBossAdmin,HttpInvoker
应采用加解密技术保证重要数据在存储过程中的保密性 | 数据保密性
描述
检查是否修改默认端口
检查提示
--
加固建议
修改jboss默认端口:编辑${jboss_path}/server/${jboss_server}/deploy/jbossweb.sar/server.xml配置文件,修改8080端口为其它端口,如8100
审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等 | 安全审计
描述
检查是否配置日志记录用户登录行为。
检查提示
--
加固建议
配置日志功能,记录用户登录行为:编辑${jboss_path}/server/${jboss_server}/deploy/jboss-logging.xml配置文件,修改periodic-rotating-file-handler节点的pattern值为:%d %-5p [%t] [%c{1}] %l %m%n