第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. redis主从原理介绍(三)

    博客参考:散尽浮华的Redis主从复制下的工作原理梳理 此作者写的非常好,此处只做挪用,方便自己查看. Redis主从复制的配置十分简单,它可以使从服务器是主服务器的完全拷贝.需要清除Redis主从复 ...

  2. 刷题总结——火柴排队(NOIP2013)

    题目: 题目背景 NOIP2013 提高组 Day1 试题 题目描述 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间 ...

  3. Valentine's Day Round hdu 5176 The Experience of Love [好题 带权并查集 unsigned long long]

    传送门 The Experience of Love Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Ja ...

  4. msp430项目编程52

    msp430综合项目---扩展项目二52 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结

  5. git多人协作--分支

    分支: 创建分支: git checkout -b 新分支 切换分支: git checkout 目标分支 删除分支: git branch -d 待删除分支 推送到远程分支: git checkou ...

  6. Objective C语言中nil、Nil、NULL、NSNull的区别

    以下内容是基于搜集整理的网上资料,供参考. nil:指向Objective C语言中对象的空指针,其定义值为(id)0. Nil:指向Objective C语言中类(Class)的空指针,其定义值为( ...

  7. TCP No-Delay

    Nagle 算法 由于TCP中包头的大小是固定的,所以在数据(Payload)大小很小的时候IP报文的有效传输率是很低的,Nagle算法就是将多个即将发送的小段的用户数据,缓存并合并成一个大段数据时, ...

  8. Nginx阻止DDoS攻击的教程收集(转)(待实践)

    DDoS估计是一个非常头痛的问题. 分布式拒绝服务攻击(DDoS)指的是通过多台机器向一个服务或者网站发送大量看似合法的数据包使其网络阻塞.资源耗尽从而不能为正常用户提供正常服务的攻击手段.随着互联网 ...

  9. [转] Python 常用第三方模块 及PIL介绍

    原文地址 除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip ...

  10. ios 使用keychain来存储token

    注意事项: 1.>On iPhone, Keychain rights depend on the provisioning profile used to sign your applicat ...