第1章 账号管理、认证授权

1.1 账号

1.1.1 共享帐号管理

安全基线项目名称

Tomcat共享帐号管理安全基线要求项

安全基线编号

SBL-Tomcat-01-01-01

安全基线项说明  

应按照用户分配账号。避免不同用户间共享账号。避免用户账号和设备间通信使用的账号共享。

检测操作步骤

1、参考配置操作

修改tomcat/conf/tomcat-users.xml配置文件,修改或添加帐号。

<user username=”tomcat7admin” password=”sinoTn@1234” roles=”manager-gui”>

2、补充操作说明

1、根据不同用户,取不同的名称。

2、Tomcat 4.1.37、5.5.27和6.0.18这三个版本及以后发行的版本默认都不存在admin.xml配置文件。

基线符合性判定依据

1、判定条件

各账号都可以登录Tomcat Web服务器为正常

2、检测操作

访问http://ip:8080/manager/html管理页面,进行Tomcat服务器管理

备注

 

1.1.2 无关帐号管理

安全基线项目名称

Tomcat无关帐号管理安全基线要求项

安全基线编号

SBL-Tomcat-01-01-02

安全基线项说明  

应删除或锁定与设备运行、维护等工作无关的账号。

检测操作步骤

1、参考配置操作

修改tomcat/conf/tomcat-users.xml配置文件,删除与工作无关的帐号。

例如tomcat1与运行、维护等工作无关,删除帐号:

<user username=”tomcat7admin” password=”tomcat” roles=”admin”>

基线符合性判定依据

1、判定条件

被删除的与工作无关的账号tomcat1不能正常登陆。

2、检测操作

访问http://ip:8080/manager/html管理页面,使用删除帐号进行登陆尝试。

备注

系统无此账号

 

1.2 口令

1.2.1 密码复杂度

安全基线项目名称

Tomcat密码复杂度安全基线要求项

安全基线编号

SBL-Tomcat-01-02-01

安全基线项说明  

对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。

检测操作步骤

1、参考配置操作

在tomcat/conf/tomcat-user.xml配置文件中设置密码

<user username=”tomcat” password=”sinoTn@1234” roles=”admin”>

2、补充操作说明

口令要求:长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。

基线符合性判定依据

1、判定条件

检查tomcat/conf/tomcat-user.xml配置文件中的帐号口令是否符合口令复杂度要求。

2、检测操作

(1)人工检查配置文件中帐号口令是否符合;

(2)使用tomcat弱口令扫描工具定期对Tomcat Web服务器进行远程扫描,检查是否存在弱口令帐号。

3、补充说明

对于使用弱口令扫描工具进行检查时应注意扫描的线程数等方面,避免对服务器造成不必要的资源消耗;选择在服务器负荷较低的时间段进行扫描检查。

备注

 

1.2.2 密码历史

安全基线项目名称

Tomcat密码历史安全基线要求项

安全基线编号

SBL-Tomcat-01-02-02

安全基线项说明  

对于采用静态口令认证技术的设备,应支持按天配置口令生存期功能,帐号口令的生存期不长于90天。

检测操作步骤

1、参考配置操作

定期对管理Tomcat Web服务器的帐号口令进行修改,间隔不长于90天。

基线符合性判定依据

1、判定条件

90天后使用原帐号口令进行登陆尝试,登录不成功;

2、检测操作

使用超过90天的帐号口令进行登录尝试;

备注

 

1.3 授权

1.3.1 用户权利指派

安全基线项目名称

Tomcat用户权利指派安全基线要求项

安全基线编号

SBL-Tomcat-01-03-01

安全基线项说明  

在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。

检测操作步骤

1、参考配置操作

编辑tomcat/conf/tomcat-user.xml配置文件,修改用户角色权限

授权tomcat具有远程管理权限:

<user username=”tomcat” password=”sinoTn@1234”

roles=”manager-gui”>

2、补充操作说明

1、Tomcat 4.x和5.x版本用户角色分为:role1,tomcat,admin,manager四种。

role1:具有读权限;

tomcat:具有读和运行权限;

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

manager:具有远程管理权限。

Tomcat 6.0.18版本只有admin和manager两种用户角色,且admin用户具有manager管理权限。

2、Tomcat 4.1.37和5.5.27版本及以后发行的版本默认除admin用户外其他用户都不具有manager管理权限。

基线符合性判定依据

1、判定条件

登陆远程管理页面,使用tomcat账号进行登陆,登陆成功。

2、检测操作

登陆http://ip:8080/manager/html页面,使用tomcat账号登陆,进行远程管理。

备注

admin权限

 

第2章 日志配置操作

2.1 日志配置

2.1.1 审核登录

安全基线项目名称

Tomcat审核登录安全基线要求项

安全基线编号

SBL-Tomcat-02-01-01

安全基线项说明  

设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的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.2008-10-22.txt,前面的前缀就是这个localhost_access_log

Suffix: 文件后缀名

Pattern: common方式时,将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中

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

基线符合性判定依据

1、判定条件

查看logs目录中相关日志文件内容,记录完整

2、检测操作

查看localhost_access_log.2008-10-22.log中相关日志记录

3、补充说明

备注

 

第3章 IP协议安全配置

3.1 IP协议

3.1.1 支持加密协议

安全基线项目名称

Tomcat支持加密协议安全基线要求项

安全基线编号

SBL-Tomcat-03-01-01

安全基线项说明  

对于通过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=”runway”

protocol=”TLS”/>

/Connector>

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

(3)重新启动tomcat服务

基线符合性判定依据

1、判定条件

使用https方式登陆tomcat服务器页面,登陆成功

2、检测操作

使用https方式登陆tomcat服务器管理页面

备注

使用http协议,无加密

 

第4章 设备其他配置操作

4.1 安全管理

4.1.1 定时登出

安全基线项目名称

Tomcat定时登出安全基线要求项

安全基线编号

SBL-Tomcat-04-01-01

安全基线项说明  

对于具备字符交互界面的设备,应支持定时账户自动登出。登出后用户需再次登录才能进入系统。

检测操作步骤

1、参考配置操作

编辑tomcat/conf/server.xml配置文件,修改为30秒

<Connector

port="8088"  ="8192" maxThreads="150"

minSpareThreads="25" maxSpareThreads="75"、

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="300" disableUploadTimeout="true" />

 2、补充操作说明

 

基线符合性判定依据

1、判定条件

30秒自动登出。

2、检测操作

登陆tomcat默认页面http://ip:8080/manager/html ,使用管理账号登陆

3、补充说明

备注

 

4.1.2 更改默认端口

安全基线项目名称

Tomcat运行端口安全基线要求项

安全基线编号

SBL-Tomcat-04-01-02

安全基线项说明  

更改tomcat服务器默认端口

检测操作步骤

1、参考配置操作

(1)修改tomcat/conf/server.xml配置文件,更改默认管理端口到8080

<Connector

port="8080"  maxHttpHeaderSize="8192" maxThreads="150"

minSpareThreads="25" maxSpareThreads="75"、

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="300" disableUploadTimeout="true" />

(2)重启tomcat服务

 2、补充操作说明

 

基线符合性判定依据

1、判定条件

使用8088端口登陆页面成功

2、检测操作

登陆http://ip:8080

3、补充说明

备注

 

4.1.3 错误页面处理

安全基线项目名称

Tomcat错误页面安全基线要求项

安全基线编号

SBL-Tomcat-04-01-03

安全基线项说明  

Tomcat错误页面重定向

检测操作步骤

1、参考配置操作(1)查看tomcat/conf/web.xml文件:
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
……………
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/ error.html</location>
</error-page>

基线符合性判定依据

1、 判定条件

要求包含如下片段:

备注

 

4.1.4 目录列表访问限制

安全基线项目名称

Tomcat目录列表安全基线要求项

安全基线编号

SBL-Tomcat-04-01-04

安全基线项说明  

禁止tomcat列表显示文件

检测操作步骤

1、参考配置操作

(1) 编辑tomcat/conf/web.xml配置文件,
<init-param>
        <param-name>listings</param-name>
        <param-value>true</param-value>
    </init-param>
把true改成false

(2)重新启动tomcat服务

基线符合性判定依据

1、判定条件

当WEB目录中没有默认首页如index.html,index.jsp等文件时,不会列出目录内容

2、检测操作

直接访问http://ip:8080/webadd

备注

 

Tomcat安全配置规范的更多相关文章

  1. tomcat安装配置规范

    tomcat用户设置 1 2 [root@host-1 ~]# useradd -u 501 tomcat [root@host-1 ~]# passwd tomcat   安装JDK 1 2 3 4 ...

  2. tomcat 的安全规范

    下面来说一下,日常工作当中我们需要注意的一些tomcat的安全规范: 一:telnet管理端口的保护 类别 配置内容及其说明 标准配置 备注 Telnet 管理端口的保护 (强制) (1)配置文件中的 ...

  3. SSL 通信原理及Tomcat SSL 配置

    SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...

  4. Tomcat记录-tomcat常用配置详解和优化方法(转载)

    常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...

  5. 生产环境中tomcat的配置

    生产环境中要以daemon方式运行tomcat 通常在开发环境中,我们使用$CATALINA_HOME/bin/startup.sh来启动tomcat, 使用$CATALINA_HOME/bin/sh ...

  6. tomcat ssi配置及升级导致ssi include错误问题解决

    最近tomcat升级版本时,遇到了ssi解析的问题,记录下解决的过程,还有tomcat ssi配置的要点. tomcat 配置SSI的两种方式 Tomcat有两种方式支持SSI:Servlet和Fil ...

  7. tomcat常用配置详解和优化方法

    tomcat常用配置详解和优化方法 参考: http://blog.csdn.net/zj52hm/article/details/51980194 http://blog.csdn.net/wuli ...

  8. tomcat 安全配置文档

    1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tomcat的配置文件路径,此路径为测试环境的路径,线上系统对应配置文件的路径可能不一样,在进行相关配置时,应 ...

  9. (转)tomcat 安全配置文档

    原文:https://www.cnblogs.com/heaven-xi/p/9961354.html 1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tom ...

随机推荐

  1. 2017 Multi-University Training Contest - Team 2

    Regular polygon Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  2. 85. Spring Boot集成RabbitMQ【从零开始学Spring Boot】

    这一节我们介绍下Spring Boot整合RabbitMQ,对于RabbitMQ这里不过多的介绍,大家可以参考网络上的资源进行安装配置,本节重点是告诉大家如何在Spring Boot中使用Rabbit ...

  3. 【UML】UML所扮演的角色(视频总结)

    导读:在国庆中,把UML视频看完了.看完了之后,对于自己到底留下了什么呢,在此就总结一下,前面总结了UML的9种图以及主要的关系,本篇博客,就从整体上对UML做一个说明. 一.总体概述 UML一共讲了 ...

  4. 学习系列 - 马拉车&扩展KMP

    Manacher(马拉车)是一种求最长回文串的线性算法,复杂度O(n).网上对其介绍的资料已经挺多了的,请善用搜索引擎. 而扩展KMP说白了就是是求模式串和主串的每一个后缀的最长公共前缀[KMP更像是 ...

  5. BZOJ 2463: [中山市选2009]谁能赢呢?【博弈】

    这题不科学~~本以为鬼谷子的钱袋是能在BZOJ写的最短的程序了,这题还要短…..好吧,思考难度神马的还是有点的(至少对我这种蒟蒻来说).很明显这是道博弈论的题目,在纸上画出了n=1~4的博弈树,发现b ...

  6. BZOJ3261 最大异或和 【可持久化trie树】

    题目 给定一个非负整数序列{a},初始长度为N. 有M个操作,有以下两种操作类型: 1.Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1. 2.Qlrx:询问操作,你需要找到一个位置p,满 ...

  7. poj 2891 模线性方程组求解

    Strange Way to Express Integers Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 8005   ...

  8. 聊天程序(基于Socket、Thread)

    聊天程序简述 1.目的:主要是为了阐述Socket,以及应用多线程,本文侧重Socket相关网路编程的阐述.如果您对多线程不了解,大家可以看下我的上一篇博文浅解多线程 . 2.功能:此聊天程序功能实现 ...

  9. CentOS 7 使用iptables 开放端口

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service system ...

  10. Laravel 静态资源管理

    <link rel="stylesheet" href="{{ asset('bootstrap/css/bootstrap.min.css') }}" ...