Tomcat安全配置

  1. 安全配置要求
    1. 帐户口令安全
      1. 帐户共用

 

 

编号

Tomcat-01001

名称

应为不同的用户分配不同的Tomcat帐户,不允许不同用户间共享Tomcat帐户。

 

 

操作指南

1、参考配置操作

修改 $CATALINA_HOME/conf/Tomcat-users.xml配置文件,修改或添加帐号:

<role rolename="manager"/>

<user username="xxxxxx" password="xxxxxxxxx" roles="manager">。

2、补充操作说明

根据不同用户设置不同的帐户名称。

基线标准

创建一个低权限用户启动Tomcat

基线目的

保证服务器被攻击后影响最小化

安全风险

备注

 

      1. 帐户锁定

 

编号

Tomcat-01002

名称

应删除过期、无用帐户。

基线标准

删除与工作无关的账户

 

 

操作指南

1、参考配置操作

修改$CATALINA_HOME/conf/Tomcat-users.xml配置文件,删除与工作无关的帐户。

2、补充操作说明

例如Tomcat1与运行、维护等工作无关,应删除Tomcat1 帐户。

基线目的

保证服务稳定安全的运行

安全风险

备注

 

      1. 口令复杂度
    1. 应仅允许超级管理员具有远程管理权限

编号

Tomcat-01003

名称

Tomcat管理帐户口令

操作指南

1、参考配置操作

在$CATALINA_HOME/conf/Tomcat-user.xml配置文件中设置密码

<user username="xxxxx" password="xxxxxxx" roles="manager">

2、补充操作说明

无。

基线标准

Tomcat管理员用户口令满足8位以上复杂度要求,并每90天

基线目的

保证服务器安全稳定运行

安全风险

备注

 

 

编号

Tomcat-01004

名称

应仅允许超级管理员具有远程管理权限。

基线标准

SBL-Tomcat 7-02-02-01

 

 

操作指南

参考配置操作

编辑$CATALINA_HOME/conf/Tomcat-user.xml配置文件,修改用户角色权限授权, 仅允许管理员具有远程管理权限:

<role rolename="manager"/>

<role rolename="admin"/>

<user username="xxxx" password="xxxxxxxxx"roles="admin,manager">

2、补充操作说明

Tomcat用户角色分为:role1,Tomcat,admin,manager四种。

role1:具有读权限;

Tomcat:具有读和运行权限;

admin:具有读、运行和写权限;

manager:具有远程管理权限。

基线目的

Tomcat用户角色分为:role1,Tomcat,admin,manager四种。

role1:具有读权限;

Tomcat:具有读和运行权限;

admin:具有读、运行和写权限;

manager:具有远程管理权限。

安全风险

备注

 

    1. 日志审计

 

编号

Tomcat-01005

名称

应为服务配置日志功能,对用户登录事件进行记录,记录内容包括用户登录使用的帐户,登录是否成功,登录时间,以及远程登录时使用的IP地址等信息。

 

 

操作指南

1、参考配置操作

编辑$CATALINA_HOME/conf/server.xml配置文件,在<HOST>标签中增加记录日志功能将以下内容的注释标记<!-- -->删除:

<valve classname="org.apache.catalina.valves.AccessLogValve" 

Directory="logs" 

prefix="localhost_access_log." 

Suffix=".txt"

Pattern= "%h %l %u %t "%r" %s %b"

resolveHosts="false" />

2、补充操作说明

classname: 必须设置为 “org.apache.catalina.valves.AccessLogValve”;

Directory:日志文件放置的目录,默认是安装目录下logs文件夹,也可修改为其他路径;

Prefix:日志文件的名称前缀,日志名称为localhost_access_log.20xx-xx-xx.txt,前面的前缀就是这个 localhost_access_log;

Suffix: 文件后缀名;

Pattern: "%h %l %u %t "%r" %s %b" 等同于“common”,将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中;

resolveHosts:值为true时,Tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址

基线标准

SBL-Tomcat 7-02-03-01

基线目的

配置日志,以时间命名,不覆盖

安全风险

备注

 

    1. 远程访问加密
    2. 更改默认管理端口
    3. 自定义错误页面
    4. 目录浏览
    5. 连接数设置
    6. 删除默认目录

编号

Tomcat-01006

名称

应对Tomcat的远程访问进行加密。

 

 

 

操作指南

1、参考配置操作

1) 使用JDK自带的keytool工具生成一个证书:

$JAVA_HOME/bin/keytool -genkey –alias Tomcat –keyalg RSA -keystore /path/to/my/keystore

2) 修改 $CATALINA_HOME/conf/server.xml 配置文件,更改为使用https方式,增加如下行:

<Connector SSLEnabled="true"

acceptCount="100"

clientAuth="false"

disableUploadTimeout="true"

enableLookups="false"

maxThreads="25"

port="8443"

keystoreFile="/path/to/my/keystore "

keystorePass="password"

protocol="org.apache.coyote.http11.Http11NioProtocol"

scheme="https"

secure="true"

sslProtocol="TLS"/>

其中 keystorePass 的值为生成keystore时输入的密码。

3) 重新启动Tomcat服务。

2、补充操作说明

无。

基线标准

SBL-Tomcat 7-02-04-01

基线目的

使用SSH等加密传输远程访问方式进行远程管理

安全风险

备注

 

编号

Tomcat-01007

名称

应更改Tomcat服务默认管理端口。

 

 

操作指南

1、参考配置操作

1)修改$CATALINA_HOME/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、补充操作说明

无。

基线标准

SBL-Tomcat 7-02-05-01

基线目的

将管理端口修改为不常见的自定义端口

安全风险

备注

 

编号

Tomcat-01008

名称

应重定向Tomcat的错误页面。

基线标准

将错误页面修改为非默认错误页面

 

 

 

操作指南

1、参考配置操作

1) 配置web应用目录下的WEB-INF/web.xml文件:

在最后</web-app>一行之前加入以下内容:

<error-page>

<error-code>404</error-code>

<location>/noFile.htm</location>

</error-page>

……………

<error-page>

<exception-type>java.lang.NullPointerException</exception-type>

<location>/error.jsp</location>

</error-page>

第一个<error-page></error-page>之间的配置实现了将404未找到jsp网页的错误导向noFile.htm页面,也可以用类似方法添加其他的错误代码导向页面,如403,500等。

第二个<error-page></error-page>之间的配置实现了当jsp网页出现java.lang.NullPointerException导常时,转向error.jsp错误页面,还需要在jsp网页中加入以下内容:

<%@ page errorPage="/error.jsp" %>

典型的error.jsp错误页面的程序写法如下:

<%@ page contentType="text/html;charset=GB2312"%>

<%@ page isErrorPage="true"%>

<html>

<head><title>错误页面</title></head>

<body>出错了:</p> 错误信息: <%= exception.getMessage() %>

<br> Stack Trace is : <pre><font color="red">

<%

java.io.CharArrayWriter cw = new java.io.CharArrayWriter();

java.io.PrintWriter pw = new java.io.PrintWriter(cw,true); exception.printStackTrace(pw);

out.println(cw.toString());

%>

</font></pre>

</body>

</html>

当出现 NullPointerException异常时,Tomcat会把网页导入到error.jsp,且会显示错误信息。

2) 重新启动Tomcat服务。

2、补充操作说明

 

基线目的

对错误页面进行自定义,避免信息泄露

安全风险

备注

 

编号

Tomcat-01009

名称

应禁止站点目录浏览。

 

 

操作指南

、参考配置操作

1) 编辑$CATALINA_HOME/conf/web.xml配置文件,

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

</init-param>把其中true改成false

2) 重新启动Tomcat服务。

2、补充操作说明

无。

基线标准

SBL-Tomcat 7-02-07-01

基线目的

禁止目录浏览

安全风险

防止信息泄露

备注

 

编号

Tomcat-01010

名称

应根据服务器性能和业务需求,设置最大连接数。

 

 

操作指南

参考配置操作

编辑$CATALINA_HOME/conf/server.xml文件,样例如下:

<Connector port="8080"

maxThreads="150"

minSpareThreads="25"

maxSpareThreads="75"

acceptCount="100"/>

maxThreads="150"表示最多同时处理150 个连接minSpareThreads="25"表示即使没有人使用也开这么多空线程等待 

maxSpareThreads="75"表示如果最多可以空75个线程 acceptCount="100"当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。

 

基线标准

根据网站具体情况,设置网站最大连接数

基线目的

保证网站正常运行

安全风险

备注

 

编号

Tomcat-01011

名称

删除默认的所有目录文件

操作指南

rm -rf /srv/apache-tomcat/webapps/*

基线标准

删除配置文件中默认页面

基线目的

保证服务器安全正常的运行

安全风险

备注

 

 

    1. 隐藏tomcat版本信息

编号

Tomcat-01012

名称

隐藏tomcat版本信息

基线标准

将tomcat版本信息进行隐藏

 

操作指南

方法一:修改$CATALINA_HOME/conf/server.xml,在Connector节点添加server字段

方法二:修改$CATALINA_HOME/lib/catalina.jar::org/apache/catalina/util/ServerInfo.properties

基线目的

防止信息泄露,保证服务器安全运行

安全风险

备注

 

 

    1.  关闭自动部署

编号

Tomcat-01013

名称

关闭war自动部署

基线标准

关闭war自动部署

操作指南

在$CATALINA_HOME/conf/server.xml中的host字段,修改unpackWARs="false" autoDeploy="false"。

基线目的

防止被植入木马等恶意程序

安全风险

将一个war文件放进$CATALINA_HOME\webapps,启动Tomcat后,war文件不会被部署。

备注

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lee_yanyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值