一、 账号
编号:1
|
要求内容 |
应按照用户分配账号。避免不同用户间共享账号。 |
|
操作指南 |
1、参考配置操作 修改tomcat/conf/tomcat-users.xml配置文件,修改或添加帐号。 <user username=”tomcat”
password=” Manager!@34” roles=”manager”> 2、补充操作说明 1、根据不同用户,取不同的名称。 2、Tomcat 从5.5这个版本及以后发行的版本默认都不存在admin.xml配置文件。 |
|
检测方法 |
1、判定条件 各账号都可以登录Tomcat Web服务器为正常 2、检测操作 访问http://ip:8080/manager/html管理页面,进行Tomcat服务器管理 |
编号:2
|
要求内容 |
应删除或锁定与设备运行、维护等工作无关的账号。 |
|
操作指南 |
1、参考配置操作 修改tomcat/conf/tomcat-users.xml配置文件,删除与工作无关的帐号。 例如tomcat1与运行、维护等工作无关,删除tomcat1帐号。 |
|
检测方法 |
1、判定条件 被删除的与工作无关的账号tomcat1不能正常登陆。 2、检测操作 访问http://ip:8080/manager/html管理页面,使用删除帐号进行登陆尝试。 |
编号:3
|
要求内容 |
禁用超级用户启用tomcat |
|
操作指南 |
1、参考配置操作 在普通用户的模式下,运行tomcat的启动脚本 |
|
检测方法 |
1、判定条件 2、检测操作 查看当前系统的tomcat进程,确认程序启动时使用的身份。 |
二、口令
|
要求内容 |
对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。 |
|
操作指南 |
1、参考配置操作 在tomcat/conf/tomcat-user.xml配置文件中设置密码 <user username=”tomcat” password=”Manager!@34” roles=”manager”> 2、补充操作说明 口令要求:长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。 |
|
检测方法 |
1、判定条件 检查tomcat/conf/tomcat-user.xml配置文件中的帐号口令是否符合移动通过配置口令复杂度要求。 2、检测操作 (1)人工检查配置文件中帐号口令是否符合; (2)使用tomcat弱口令扫描工具定期对Tomcat Web服务器进行远程扫描,检查是否存在弱口令帐号。 3、补充说明 对于使用弱口令扫描工具进行检查时应注意扫描的线程数等方面,避免对服务器造成不必要的资源消耗;选择在服务器负荷较低的时间段进行扫描检查。 |
三、授权
编号1:
|
要求内容 |
在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。 |
|
操作指南 |
1、参考配置操作 编辑tomcat/conf/tomcat-user.xml配置文件,修改用户角色权限 授权tomcat具有远程管理权限: <user username=”tomcat” password=”Manager!@34”
roles=”admin,manager”> 2、补充操作说明 Tomcat用户角色分为:role1,tomcat,admin,manager四种。 role1:具有读权限; tomcat:具有读和运行权限; admin:具有读、运行和写权限; manager:具有远程管理权限。 注:Tomcat 6.0.18版本只有admin和manager两种用户角色,且admin用户具有manager管理权限。 |
|
检测方法 |
1、判定条件 登陆远程管理页面,使用tomcat账号进行登陆,登陆成功。 2、检测操作 登陆http://ip:8080/manager/html页面,使用tomcat账号登陆,进行远程管理。 |
编号:2
|
要求内容 |
禁用manager功能 |
|
操作指南 |
1、参考配置操作 将以下目录$CATALINA_HOME/server/webapps/manager,移除到非$CATALINA_HOME/server/webapps目录 |
|
检测方法 |
1、判定条件 2、检测操作 查看$CATALINA_HOME/server/webapps/manager是否存在 |
四、日志要求
|
要求内容 |
设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址。检查是否启用日志功能 |
|
操作指南 |
1、参考配置操作 编辑server.xml配置文件,在<HOST>标签中增加记录日志功能 将以下内容的注释标记< ! --
-- >取消 <valve classname=”org.apache.catalina.valves.AccessLogValve” Directory=”logs” prefix=”localhost_access_log.” Suffix=”.txt” Pattern=”common” resloveHosts=”false”/> 2、补充操作说明 classname: This MUST be set to org.apache.catalina.valves.AccessLogValve to
use the default access log valve. &<60 Directory:日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,也可以修改为其他路径; Prefix: 这个是日志文件的名称前缀,日志名称为localhost_access_log.2010-xx-xx.txt,前面的前缀就是这个localhost_access_log Suffix: 文件后缀名 Pattern: common方式时,将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中 resolveHosts:值为true时,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址 |
|
检测方法 |
1、判定条件 查看logs目录中相关日志文件内容,记录完整 2、检测操作 查看localhost_access_log.2010-xx-xx.txt中相关日志记录 3、补充说明 |
编号:2
|
要求内容 |
启用访问模块审计、错误信息日志功能 |
|
操作指南 |
1、参考配置操作 2、补充操作说明 编辑server.xml配置文件,在<HOST>标签中增加记录日志功能 将以下内容的注释标记< ! --
-- >取消 <valve classname=”org.apache.catalina.valves.AccessLogValve” Directory=”logs” prefix=”localhost_access_log.” Suffix=”.txt” Pattern=”common” resloveHosts=”false”/> |
|
检测方法 |
1、判定条件 2、检测操作 3、补充说明 检查server.xml配置文件,在<HOST>标签中,查看以下内容是否被注释标记< ! -- -- >取消 <valve classname=”org.apache.catalina.valves.AccessLogValve” Directory=”logs” prefix=”localhost_access_log.” Suffix=”.txt” Pattern=”common” resloveHosts=”false”/> |
五、HTTP加密协议
|
要求内容 |
对于通过HTTP协议进行远程维护的设备,设备应支持使用HTTPS等加密协议。 |
|
操作指南 |
1、参考配置操作 (1)使用JDK自带的keytool工具生成一个证书 JAVA_HOME/bin/keytool -genkey –alias
tomcat –keyalg RSA -keystore /path/to/my/keystore (2)修改tomcat/conf/server.xml配置文件,更改为使用https方式,增加如下行: Connector classname=”org.apache.catalina.http.HttpConnector” port=”8443” minProcessors=”5” maxprocessors=”100” enableLookups=”true” acceptCount=”10” debug=”0” scheme=”https” secure=”true” > Factory classname=”org.apache.catalina.SSLServerSocketFactory” clientAuth=”false” keystoreFile=”/path/to/my/keystore”
keystorePass=”runway1@” protocol=”TLS”/> /Connector> 其中keystorePass的值为生成keystore时输入的密码 (3)重新启动tomcat服务 |
|
检测方法 |
1、判定条件 使用https方式登陆tomcat服务器页面,登陆成功 2、检测操作 使用https方式登陆tomcat服务器管理页面 |
六、 更改默认管理端口
|
要求内容 |
使用HTTP协议的设备,更改tomcat服务器默认端口 |
|
操作指南 |
1、参考配置操作 (1)修改tomcat/conf/server.xml配置文件,更改默认管理端口到xx <Connector port="xx" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"、 enableLookups="false" redirectPort="8443"
acceptCount="100" connectionTimeout="300"
disableUploadTimeout="true" /> (2)重启tomcat服务 2、补充操作说明 |
|
检测方法 |
1、判定条件 使用xx端口登陆页面成功 2、检测操作 登陆http://ip:xx 3、补充说明 |
七、错误页面重定向
|
要求内容 |
Tomcat错误页面重定向 |
|
操作指南 |
1、参考配置操作 (1)配置tomcat/conf/web.xml文件: (2)重新启动tomcat服务 (3)要求错误页面不能太大 |
|
检测方法 |
1、判定条件 指向指定错误页面 2、检测操作 URL地址栏中输入http://ip:8800/manager12345 |
八、 目录列出
|
要求内容 |
禁止tomcat列表显示文件 |
|
操作指南 |
1、参考配置操作 (1) 编辑tomcat/conf/web.xml配置文件, (2)重新启动tomcat服务 |
|
检测方法 |
1、判定条件 当WEB目录中没有默认首页如index.html,index.jsp等文件时,不会列出目录内容 2、检测操作 直接访问http://ip:8800/webadd |
九、系统Banner信息
|
要求内容 |
修改系统Banner信息 |
|
操作指南 |
1、参考配置操作 修改catalina.jar中Serverinfo.properties中的以下参数(修改以掩饰真实版本信息): server.build=<BuildDate>
server.number=X |
|
检测方法 |
1、判定条件 2、检测操作 检查catalina.jar中Serverinfo.properties中的参数 |
十、连接数设置
|
要求内容 |
根据机器性能和业务需求,设置最大最小连接数。 |
|
操作指南 |
1、参考配置操作 编辑server.xml文件,样例如下: maxThreads="150" 表示最多同时处理150个连接 acceptCount="100" 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接 |
|
检测方法 |
1、判定条件 2、检测操作 此项设置,需根据应用的具体情况,分别配置相应的参数。 3、补充说明 |
十一、禁用非法HTTP方法
|
要求内容 |
禁用PUT、DELETE等危险的HTTP 方法; |
|
操作指南 |
1、参考配置操作 编辑web.xml文件中配置 org.apache.catalina.servlets.DefaultServlet的 <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param>
readonly参数默认是true,即不允许delete和put操作。 2、补充操作说明 |
|
检测方法 |
1、判定条件 2、检测操作 检查web.xml文件中配置 org.apache.catalina.servlets.DefaultServlet的<init-param> <param-name>readonly</param-name> <param-value>true</param-value> </init-param> 其中param-value为true,则符合要求。 |




