网盾科技IT教育,只培训技术精英
全国免费咨询电话: 15827351614
等保2.0涉及的Apache Tomcat中间件(上)

这里就谈谈等保2.0要求,对应到Apache Tomcat中间件的一些条款要求。

安装步骤略过,我们直接看等保中涉及的一些参数。

首先,做测评的时候我们先要记录相应的软件版本:

查看版本,在tomcat目录下执行/bin/catalina.sh version,可查看对应的软件版本信息

 

这是前期的资产情况,记录在系统构成中。

然后,再根据等保的对应的每条条款,确认到中间件中应该如何查询。

一、身份鉴别

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换

首先针对身份鉴别这个控制点,如果Apache Tomcat开启了管理控制台,则此控制点需要进行测评,否则为不适用。

1.确认是否使用了tomcat管理后台

我们先找到配置文件:tomcat主目录下/conf/server.xml

可以查看到连接端口,默认为8080

 

然后查看manager-gui管理页面配置文件,是否设置了用户登录

配置文件:tomcat主目录下/conf/tomcat-users.xml

 

如果有类似的如上语句则代表存在用户

当前我们还要查看tomcat主目录下/webapps目录,观察是否存在manager这个文件

 

然后访问,默认界面为:

 

点击访问即可

 

2.访问Manager APP报错403错误解决方案

当第一次安装、配置环境的时候,可能会出现如下报错

 

网上许多网上找许多都是说没有配置账号和密码,需要在tomcat 的conf中的tomcat-user.xml中增加账户、密码、权限,但是这只是第一步。

重启tomcat以后可以在虚拟机内使用manager app,但是虚拟机外不行。这是因为tomcat进行了ip限制,还需要将限制取消掉。

将tomcat文件夹下的webapps/manager/META-INF/context.xml文件夹的以下内容注销掉

  <Context antiResourceLocking="false" privileged="true" >

  <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

  </Context>

 

然后重启服务,再访问即可

3.修改默认欢迎界面

因为在客户实际环境中,很多情况下访问默认都不是tomcat默认界面,在这种情况下我们如何进入该控制台呢?

3.1 创建一个网站

类似于apache之于/var/www/html/,nginx之于/usr/share/nginx/html/,tomcat同样有自己对应的网页目录,一般就是根目录+webapps/,在本机上就是 /usr/local/tomcat/webapps/

我们创建一个叫test的项目,同时在test目录下建立WEB-INF/classes和WEB-INF/lib文件夹

mkdir -p /usr/local/tomcat/webapps/test/WEB-INF{classes,lib}

ok,可以在test目录下写下第一个Jsp网页了(注:和apache和nginx不同,tomcat默认支持Jsp,因此无需再安装Jsp)

vim /usr/local/tomcat/webapps/test/index.jsp

3.2 修改server.xml文件

找到下图中的字段:

 

在</Host>前插入:

 

path:代表虚拟目录的名字,如果你只要输入ip地址就显示主页,则该键值留为空;

docBase:它指定的是登录tomcat默认的主页所在的文件夹,这个量默认情况下指定的是 ROOT文件夹,新建一个test文件夹,把网页放到该文件夹内,需要有一个html或 者jsp文件,在Web.xml文件中有指定,会按照顺序去寻找对应的文件。

debug和reloadable:一般设置成0和true就行了,在项目编写和测试阶段reloadable设置为 true表示只要tomcat中的项目有改动tomcat就会自动重新加载编译,可以带给我们一些方便,但是在项目发布阶段一般设为false,可以提高tomcat的性能。

这样我们的默认界面就弄好了,直接访问将是你设置好的网页。

3.3 无默认界面情况下直接访问manager app

我们直接再后面加后缀/manager(或者/manager/html)即可

4. 等保查看点

当用户使用了tomcat管理控制台时,针对身份鉴别a)条款,检查tomcat目录下/conf/tomcat-user.xml文件

 

查看用户口令是否具有复杂度,查看password字段即可,一般要求由大写字母、小写字母、数字、特殊符号中的三种组成,长度8位以上,然后定期修改,这个好像没啥证据,只能询问管理人员。

然后针对用户的标识唯一性

这里我进行了测试,你在配置文件下直接写两个同名用户是,没有问题的,但是在登录的时候,他好像只会匹配最下面的那个用户。比如上图,我有两个账户均为tomcat,但是口令不一样,实际登录的时候,使用tomcat口令的那个账户无法登录,只能使用口令为123456的账户登录。

所以这个不太清楚,但是一般客户也不会设两个同名用户吧,关于用户标识唯一性,账户不同名就行了。

b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施

关于这个测评项,就是要求一个登录失败处理功能和操作超时自动退出的功能。

1.登录失败处理功能

tomcat管理控制台默认拥有登录失败处理功能。

经过我自己的测试,默认情况下:登录失败5次,锁定10分钟。不过不清楚不同的版本是不是一样的。

然后他也有自己的配置文件:

tomcat目录/conf/server.xml下配置

查看对应的failureCount(次),lockOutTime(秒)值,可自行编辑

如上图,代表失败3次,锁定300秒。

2.操作超时值

这个的要求应该是多少时间不操作了,他能自动登录,重新进行身份鉴别,类似屏幕保护功能

网上查了很多相关资料,都是说查看connectionTimeout值

 

这个我测试了一下,挂着不操作好像不会自动退出,所以不清楚这个功能怎么实现,有清楚的可以留言教我一下。

c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听

这条我觉得直接观察tomcat后台的访问方式即可,是使用http还是https的。

d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现

这条我不知道实现方式是啥,不过一般不会有人去做吧。。。

直接现场观察验证即可。