安装配置tomcat
yum install tomcat-webapps tomcat-admin-webapps
具体点击:安装配置tomcat
账号
应按照用户分配账号,避免不同用户间共享账号。
操作指南
- 参考配置操作
修改 /etc/tomcat/tomcat-users.xml配置文件,修改或添加帐号。
<user username=”tomcat”password=” Manager!@34”roles=”manager”>
<role rolename=“manager”/
<role rolename=“manager-gui”/
<role rolename=“admin”/
<role rolename=“admin-gui”/
<user username=“admin” password=“admin” roles=“admin-gui,admin,manager-gui,manager”/
用户名是admin,密码是admin登录。
- 补充操作说明
1、根据不同用户,取不同的名称。
2、Tomcat 从5.5这个版本及以后发行的版本默认都不存在admin.xml配置文件。
检测方法
-
判定条件
各账号都可以登录 Tomcat Web 服务器为正常 -
检测操作
访问 http://ip:8080/manager/html 管理页面,进行 Tomcat 服务器管理
应删除或锁定与设备运行、维护等工作无关的账号。
操作指南
- 參考配置操作
修改tomcat/conf/tomcat-users.xml 配置文件,删除与工作无关的帐号。
例如comcat1与运行、维护等工作无关,删除comcat1帐号。
检测方法
-
判定条件
被删除的与工作无关的账号tomcatl不能正常登陆。 -
检测操作
访问 http://ip:8080/manager/html 管理页面,使用删除帐号进行登陆尝试。
禁用超级用户启用tomcat
操作指南
- 参考配置操作
在普通用户的模式下,运行tomcat 的启动脚本
检测方法
- 检测操作
查看当前系统的tomcat 进程,确认程序启动时使用的身份。
口令
对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。
操作指南
- 考配置操作
在tomcat/conf/tomcat-user.xml配置文件中设置密码
<user usename="tomcat” password=“Manager!@34” roles=“manager”
- 补充操作说明
口令要求;长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。
检测方法
-
判定条件
检查tomcat/conf/tomcal-user.xml 配置文件中的帐号口令是否符合配置口令复杂度要求。 -
检测操作
(1)人工检查配置文件中帐号口令是否符合:
(2)使用 tomcat 弱口令扫描工具定期对 Tomcat Web 服务器进行远程扫猜,检查是否存在弱口令帐号。 -
补充说明
使用弱口令扫描工具进行检查时应注意扫描的线程数,避免对服务器造成不必要的资源消耗,选择在服务器负荷较低的时间段进行扫描检查。
授权
在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
操作指南
- 参考配置操作
编辑 somcat/conf/tomcat-user.xml 配置文件,修改用户角色权限授权 somcat 具有远程管理权限:
<user username=tomcat”password="Manger!@34"roles-"admin,manager”
- 补充操作说明
Tomcat 用户角色分为:rolel,tomcat,admin,manager四种,
rolel:具有读权限;
tamcat:兵有读和运行权限;
admin:具有读、运行和写权限;
manager:具有忘程管理权限。
注: Tomcat6.0.18 版本只有 admin 和 manager 两种用户角色,且admin用户具有manager管理权限.
检测方法
-
判定条件
登陆远程管理页面,使用tomcat 账号进行登陪,登陆成功。 -
检测操作
登陆 http://ip:8080/manager/html 页面,使用 tomcat 账号登陆,进行运程管理。
禁用manager功能
操作指南
- 参考配置操作
将以下目录CATALINAHOME/server/webapps/manager,移除到非CATALINA_HOME/server/webupps 目录
检测方法
- 检测操作
查看SCATALINA_HOME/scrverwebapps/manager 是否存在
日志
设备应配置日志功能,对用户登录进行记家,记录内容包括用户登录使用的乘号,登录是否成功,登录时间,以及远程登录时,用户使用的IP 地址。
操作指南
- 参考配量操作
编辑 server.xml 配置文件,在标签中增加记录日志功能
将以下内容的注释标记<!-- – >取消
<valveclassname=”org.apache.catalina.valves.AccessLog Valve”
Directory=”logs” prefix="localhost_access_log.” Suffix=”.txt”
Pattern=”common”resloveHosts=”false”/>
- 补充操作说明
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 地址
检测方法
-
判定条件
查看 logs 目录中相关日志文件内容,记录完整 -
检测操作
查看 localhost_access_log.2010-x-xxtxt 中相关日志记录
启用访问模块审计、错误信息日志功能
操作指南
- 参考配置操作
- 补充操作说明
编辑 scrverxml 配置文件,在标签中增加记录日志功能
将以下内容的注释标记<!- -->取消
<valveclassname=”org.apache.catalina.valves.AccessLog Valve” Directory="logs”prefix=”localhost_access_log.”Suffix=”.txt”Pattern=”common”resloveHosts=”false”/>
检测方法
- 补充说明
检查server.xml配置文件,在标签中,查看以下内容是否被注释标记<!-- -->取消
<valveclassname=”org.apache.catalina.valves.AccessLog Valve”Directory=”logs”prefix=”localhost_access_log.”Suffix=”.txt” Pattern=”common”resloveHosts=”false”/>
HTTP 加密协议 不做
对于通过HTTP 协议进行运程维护的设备,设备应支持使用HTTPS 等加密协议。
操作指南
- 参考配置操作
(1)使用JDK 自带的kcy1aol 工具生成一个证书
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”>
Factoryclassname=”org.apache.catalina.SSLServerSocketFactory”
clientAuth="false” keystoreFile=”/path/to/my/keystore”
keystorePass=”runwayl@” protocol=”TLS”> /Connector>
其中 keystorePass 的值为生成 keystore时输入的密码
(3)重新启动 tomcat 服务
检测方法
- 判定条件
使用 https 方式登陆 tomcat 服务器页面,登陆成功 - 检测操作
使用 https方式登陆tomcat 服务器管理页面
更改默认管理端口
使用HTTP协议的设备,更改tomcat 服务器默认端口
操作指南
- 參考配置操作
(1)修改domcavconfkserver.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 服务
检测方祛
- 判定条件
使用 xx端口登陆页面成功 - 检测操作
登陆 http://ip:xx
错误页面重定向
Tomcat 错误页面重定向
操作指南
- 参考配置操作
(1)配置tomca/conf/web.xml文件:
在最后 -行之前加入以下内容:
第一个之间的配置实现了将 404 未找到jsp 网页的错误导向noFile.htm 页面,也可以用类似方法添加其他的错误代码导向页面,如403,500 等.导向页面,如403,500 等.
第二个之间的配置实现了当 jsp 网页出java.langNullPointeException 导常时,转向errorjsp 借误页面,还需要在第个jsp 网页中加入以下内容:
<%@ page errorPage=“error.jsp”%>
典型的 error.jsp 错误页面的程序写法如下:
<%pageconten’Typc=“text/html;chasct=GB2312”%>
<%@pageisErrorPage="true“%>
当出现 NullPointesException 异常时 tomcat 会把网页导入到emor.jsp,且 会打印出出错信息。
(2)重新启动 tomcat 服务
(3)要求错误页面不能太大
检测方法
-
判建条件
指向指定错误页面 -
检测操作
URL 地址栏中输入http://ip8800/manager12345
目录列出
禁止omeat 列表显示文件
操作指南
- 參考配置操作
(1) 编辑 tamcatkon/web.xml 配置文件,这里因为格式的问题,导致书写不规范,总是少了一半<>符号
- init-pamm
- puram-name>listings<param-name
- param-value>true<param-value
- /init-param>
把true 改成 false
(2)重新启动tamczt 服务
检测方法
-
判定条件
WEB 日录中没有默认首页如 index.html,index.jsp 等文件时,不会列出目录内容 -
检测操作
直接访月htp://ip:8800/webadd
系统 Banner 信息
修改系统Banner 信息
操作指南
- 参考配置
修改catalina.jar 中Servarinfe.properties 中的以下参数(修改以掩饰真实版本信息);
server.build=
server.number=X
检测方法
- 判定条件
- 检测操作
检查catalina.jar 中 Serverinfo.properties 中的参数
连接数设置
根据机器性能和业务需求,设置最大最小连接数
操作指南
- 参配置操作
编辑server.xml 文件,样例如下:
<Cannector port“8080°
maxThreads="15g
minSpareThreads=“25”
maxSpareThreads=“75”
acceptCountw"100° />
- maxThreads=“150 表示最多同时处理150 个连接
- minSpareTheeadsw"25” 表示即使没有人使用也开这么多空线程等待
- maxSpareThreads=“75” 表示如果最多可以空75 个线程
- acoeplCount="100℃ 当同时连接的人数达到maxThreads 时,还可以接收排队的连接,超过这个连按的则直接返回拒绝连接
检测方法
- 检测操作
此项设置,需根据应用的具体情况,分别配置相应的参数。
禁用非法 HTTP 方法
禁用PUT、DELETE等危险的HTTP 方法:
操作指南
- 参考配置操作
编辑 web.xml 文件中配置
org.apache.catalina.servlets.DefaultServlet 的
1.init-param>
2.paramname>readonly</param-name
3.puram-value>false<fpaam-value
4./init-param>
readonly参数默认是true,即不允许delete和put操作,这里书写也是不规范。
检测方法
- 检测操作
检查 web.xml文件中配置
org.apache.catalina.servlets.DefaultServlet 的
1.init-param>
2.paramname>readonly</param-name
3.puram-value>false<fpaam-value
4./init-param>
其中param-value为false,则符合要求。