Tomcat安全加固规范

文章目录

  • 1 缩略语
  • 2 安全配置要求
    • 3.1 账号
    • 3.2 口令
    • 3.3 授权
    • 3.4 日志
    • 3.5 HTTP 加密协议 不做
    • 3.6 更改默认管理端口
    • 3.7 错误页面重定向
    • 3.8 目录列出
    • 3.9 系统 Banner 信息
    • 3.10 连接数设置
    • 3.11 禁用非法 HTTP 方法

yum install tomcat-webapps tomcat-admin-webapps #用此命令下载tomcat

1 缩略语

HTTP HyperText Transfer Protocol 超文本传输协议

2 安全配置要求

Tomcat安全加固规范_第1张图片

3.1 账号

编号:1
要求内容 应按照用户分配账号。避免不同用户间共享账号。
操作指南 1、参考配置操作
修改 /etc/tomcat/tomcat-users.xml配置文件,修改或添加帐号。

可忽略





Tomcat安全加固规范_第2张图片
用户名是admin,密码是admin登录。
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 配置文件,删除与工作无关的帐号。
例如domcat与运行、维护等工作无关,删除domcatl帐号。
检测方法 1、判定条件
被删除的与工作无关的账号tomcatl不能正常登陆。
2、检测操作
访问 http://ip:8080/manager/html 管理页面,使用删除帐号进行登陆尝试。
编号:3
要求内容 禁用超级用户启用tomcat
操作指南 1、参考配置操作在普通用户的模式下,运行tomcat 的启动脚本
检测方法 1、判定条件
2、检测操作 查看当前系统的tomcat 进程,确认程序启动时使用的身份。

3.2 口令

要求内容 对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。
操作指南 1、参考配置操作
在tomcat/conf/tomcat-user.xml配置文件中设置密码


2、补充操作说明
口令要求;长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。
1、判定条件
检查tomcat/conf/tomcal-user.xml 配置文件中的帐号口令是否符合配置口令复杂度要求。
2、检测操作
(1)人工检查配置文件中帐号口令是否符合:
(2)使用 tomcat 弱口令扫描工具定期对 Tomcat Web 服务器进行远程扫猜,检查是否存在弱口令帐号。
3、补充说明
使用弱口令扫描工具进行检查时应注意扫描的线程数,避免对服务器造成不必要的资源消耗,选择在服务器负荷较低的时间段进行扫描检查。

3.3 授权

编号l:
要求内容 在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
操作指南 1、参考配置操作
编辑 somcat/conf/tomcat-user.xml 配置文件,修改用户角色权限授权 somcat 具有远程管理权限:
2、补充操作说明
Tomcat 用户角色分为:rolel,tomcat,admin,manager四种,

rolel:具有读权限;
tamcat:兵有读和运行权限;
admin:具有读、运行和写权限:
manager:具有忘程管理权限。

注: Tamcat6.0.18 版本只有 admin 和 manager 两种用户角色,Ⅱ1 admin用户具有manager管理权限,
检测方法 1、判定条件
登陆远程管理页面,使用tomcat 账号进行登陪,登陆成功。
2、检测操作
登陆 http://ip:8080/manager/html 页面,使用 tomcat 账号登陆,进行运程管理。
编号:2
要求内容:禁用manager功能
操作指南 1、参考配置操作
将以下月录 C A T A L I N A H O M E / s e r v e r / w e b a p p s / m a n a g e r , 移 除 到 非 CATALINA_HOME/server/webapps/manager,移除到非 CATALINAHOME/server/webapps/managerCATALINA_HOME/server/webupps 目录中,用mv移到本地处改名
检测方法 1、判定条件
2、检测操作
查看SCATALINA_HOME/scrverwebapps/manager 是否存在

3.4 日志

编号:1
要求内容 设备应配置日志功能,对用户登录进行记家,记录内容包括用户登录使用的乘号,登录是否成功,登录时间,以及远程登录时,用户使用的IP 地址。
操作指南 1、参考配量操作
编辑 server.xml 配置文件,在标签中增加记录日志功能
将以下内容的注释标记<!-- – >取消

 Pattern=”common”resloveHosts=”false”/>
检测方法 1、判定条件
2、检测操作
3、补充说明
检查server.xml配置文件,在标签中,查看以下内容是否被注
释标记<!-- -->取消
Directory=”logs”prefix=”localhost_access_log.”Suffix=”.txt”
Pattern=”common”resloveHosts=”false”/>

3.5 HTTP 加密协议 不做

要求內容 对于通过HTTP 协议进行运程维护的设备,设备应支持使用HTTPS 等
加密协议。
操作擅南 1、参考配置操作
(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 服务
检测方法 1、判定条件
使用 https 方式登陆 tomcat 服务器页面,登陆成功
2、检测操作
使用 https方式登陆tomcat 服务器管理页面

3.6 更改默认管理端口

要求内容 使用HTTP协议的设备,更改tomcat 服务器默认端口
操作指南 1、參考配置操作
(1)修改domcavconfkserver.xml 配置文件,更改默认管理端口到xx
port="xx”maxHttpHeaderSize=“8192” maxThreads=“150”
minSpareThreads=“25” maxSpareThreads=“75”、
enableLookups=“false” redirectPort=“8443” acceptCount=“100”
connectionTimeout=“300” disableUploadTimeout=“true” />
3
(2)重启 tomcat 服务
2、补充操作说明
检测方祛 1、判定条件
使用 xx端口登陆页面成功
2、检测操作
登陆 http://ip:xx
3、补充说明

3.7 错误页面重定向

要求内容 Tomcat 错误页面重定向
操作指南 1、参考配置操作
(1)配置tomca/conf/web.xml文件:
在最后 -行之前加入以下内容:


404
noFile.htm

.....................

java.lang.NullPointerExceptian
/ error.jsp

Tomcat安全加固规范_第3张图片
第一个之间的配置实现了将 404 未找到jsp 网页的错误导向noFile.htm 页面,也可以用类似方法添加其他的错误代码导向页面,如403,500 等.导向页面,如403,500 等.
第二个之间的配置实现了当 jsp 网页出java.langNullPointeException 导常时,转向errorjsp 借误页面,还需要在第个jsp 网页中加入以下内容
<%@ page errorPage=“error.jsp”%>
典型的 error.jsp 错误页面的程序写法如下:
<%page conten’Typc=“text/html;chasct=GB2312”%>
<%@page isErrorPage="true“%>

p-ct 错误页面 出错了: 错误信息: <%=exception.gctMessage() %>
Stack Trace is:
<%
java.io.ChaArrayWriter cw - newjava.io.CharArray Writer):
java.io.PinWriter pw - new java.io.PrintWriter(cw,true);
exception.prin StackTracd(pw);
outp:intin(cw.soSting0);
%>
当出现 NullPointesException 异常时 kamcat 会把网页导入到emorjsp,且 会打印出出错信息。 (2)重新启动 tomcat 服务 (3)要求错误页面不能太大 检测方法 1、判建条件 指向指定错误页面 2、检测操作 URL 地址栏中输入http://ip8800/manager12345

3.8 目录列出

要求内容 禁止omeat 列表显示文件
操作指南 1、參考配置操作
(1) 编辑 tamcatkon/web.xml 配置文件,


listings
true

把true 改成 false
Tomcat安全加固规范_第4张图片
(2)重新启动tamczt 服务
检测方法 1、判定条件
WEB 日录中没有默认首页如 index.html,indexjsp 等文件时,不会列出目录内容
2、检测操作
直接访月htp://ip:8800/webadd

3.9 系统 Banner 信息

要求内容 修改系统Banner 信息
操作指南 1、参考配置维作
Tomcat安全加固规范_第5张图片
修改catalina.jar 中Servarinfe.properties 中的以下参数(修改以掩饰真实版本信息);

serverbuili-
server.number-X

检测方法 1、判定条件
2、检测操作
检查catalina.jar 中 Serverinfo.propertics 中的参数

3.10 连接数设置

要求内容 根据机器性能和业务需求,设置最大最小连接数
操作指南 1、参配置操作
编辑server.xml 文件,样例如下:
maxThreads="15g
minSpareThreads=“25”
maxSpareThreads=“75”
acceptCountw"100°
/>
maxThreads=“150 表示最多同时处理150 个连接
minSpareTheeadsw"25” 表示即使没有人使用也开这么多空线程等待
maxSpareThreads=“75” 表示如果最多可以空75 个线程
acoeplCount="100℃ 当同时连接的人数达到maxThreads 时,还可以接收排队的连接超过这个连按的则直接返国拒绝连接
Tomcat安全加固规范_第6张图片
检测方法 1、判定条件
2、检测操作
此项设置,需根据应用的具体情况,分别配置相应的参数。
3、补充说明

3.11 禁用非法 HTTP 方法

要求内容 禁用PUT、DELETE等危险的HTTP 方法:
操作指离 1、参考配置操作
编辑 web.xml 文件中配置
org.apache.catalina.servlets.DefaultServlet 的


readonly
false

Tomcat安全加固规范_第7张图片
readonly参数默认是true,即不允许ddlete和put操作,
2、补充操作说明
检测方祛 1、判定条件
2、检测操作
检查 web.xml文件中配置
org.apache.catalina.servlets.DefaultServlet 的

readonly
false

其中param-value为fake。则符合要求。

你可能感兴趣的:(基线加固)