热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

开源中间件tomcat服务器安全配置基线指导

本文规定了信息系统部门所维护管理的TomcatWEB服务器应当遵循的安全性设置标准,本文档旨在指导系统管理人员进行TomcatWEB服务器的安全配置。本文适用的tomcat服务器版本为4.x、5.x、6.x版本的TomcatWeb服务器。第1章账号管理、
本文规定了信息系统部门所维护管理的Tomcat WEB服务器应当遵循的安全性设置标准,本文档旨在指导系统管理人员进行Tomcat WEB服务器的安全配置。本文适用的tomcat服务器版本为4.x、5.x、6.x版本的Tomcat Web服务器。
第1章           账号管理、认证授权
1.1   账号
1.1.1            共享帐号管理
安全基线项目名称 Tomcat共享帐号管理安全基线要求项
安全基线编号 SBL-Tomcat-02-01-01
安全基线项说明  应按照用户分配账号。避免不同用户间共享账号。避免用户账号和设备间通信使用的账号共享。
检测操作步骤 1、参考配置操作
修改tomcat/conf/tomcat-users.xml配置文件,修改或添加帐号。

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-02-01-02
安全基线项说明  应删除或锁定与设备运行、维护等工作无关的账号。
检测操作步骤 1、参考配置操作
修改tomcat/conf/tomcat-users.xml配置文件,删除与工作无关的帐号。
例如tomcat1与运行、维护等工作无关,删除帐号:
基线符合性判定依据 1、判定条件
被删除的与工作无关的账号tomcat1不能正常登陆。
2、检测操作
访问http://ip:8080/manager/html管理页面,使用删除帐号进行登陆尝试。
备注  
 
1.2   口令
1.2.1            密码复杂度
安全基线项目名称 Tomcat密码复杂度安全基线要求项
安全基线编号 SBL-Tomcat-02-02-01
安全基线项说明  对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。
检测操作步骤 1、参考配置操作
 在tomcat/conf/tomcat-user.xml配置文件中设置密码

2、补充操作说明
口令要求:长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。
基线符合性判定依据 1、判定条件
检查tomcat/conf/tomcat-user.xml配置文件中的帐号口令是否符合移动通过配置口令复杂度要求。
2、检测操作
(1)人工检查配置文件中帐号口令是否符合;
(2)使用tomcat弱口令扫描工具定期对Tomcat Web服务器进行远程扫描,检查是否存在弱口令帐号。
3、补充说明
对于使用弱口令扫描工具进行检查时应注意扫描的线程数等方面,避免对服务器造成不必要的资源消耗;选择在服务器负荷较低的时间段进行扫描检查。
备注  
 
1.2.2            密码历史
安全基线项目名称 Tomcat密码历史安全基线要求项
安全基线编号 SBL-Tomcat-02-02-02
安全基线项说明  对于采用静态口令认证技术的设备,应支持按天配置口令生存期功能,帐号口令的生存期不长于90天。
检测操作步骤 1、参考配置操作
定期对管理Tomcat Web服务器的帐号口令进行修改,间隔不长于90天。
基线符合性判定依据 1、判定条件
90天后使用原帐号口令进行登陆尝试,登录不成功;
2、检测操作
使用超过90天的帐号口令进行登录尝试;
备注 适用于4.x、5.x、6.x所有版本。
 
1.3   授权
1.3.1            用户权利指派
安全基线项目名称 Tomcat用户权利指派安全基线要求项
安全基线编号 SBL-Tomcat-02-03-01
安全基线项说明  在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
检测操作步骤 1、参考配置操作
编辑tomcat/conf/tomcat-user.xml配置文件,修改用户角色权限
授权tomcat具有远程管理权限:
roles=”admin,manager”>
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账号登陆,进行远程管理。
备注  
 
第2章           日志配置操作
2.1   日志配置
2.1.1            审核登录
安全基线项目名称 Tomcat审核登录安全基线要求项
安全基线编号 SBL-Tomcat-03-01-01
安全基线项说明  设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址。
检测操作步骤 1、参考配置操作
编辑server.xml配置文件,在标签中增加记录日志功能
将以下内容的注释标记取消
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-04-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服务器管理页面
备注  
 
第4章           设备其他配置操作
4.1   安全管理
4.1.1            定时登出
安全基线项目名称 Tomcat定时登出安全基线要求项
安全基线编号 SBL-Tomcat-05-01-01
安全基线项说明  对于具备字符交互界面的设备,应支持定时账户自动登出。登出后用户需再次登录才能进入系统。
检测操作步骤 1、参考配置操作
编辑tomcat/conf/server.xml配置文件,修改为30秒
port="8080"  maxHttpHeaderSize="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-05-01-02
安全基线项说明  更改tomcat服务器默认端口
检测操作步骤 1、参考配置操作
(1)修改tomcat/conf/server.xml配置文件,更改默认管理端口到8800
  port="8800"  maxHttpHeaderSize="8192" maxThreads="150"
minSpareThreads="25" maxSpareThreads="75"、
enableLookups="false" redirectPort="8443" acceptCount="100"
 cOnnectionTimeout="300" disableUploadTimeout="true" />
(2)重启tomcat服务
 2、补充操作说明
 
基线符合性判定依据 1、判定条件
使用8800端口登陆页面成功
2、检测操作
登陆http://ip:8800
3、补充说明
备注  
 
4.1.3            错误页面处理
安全基线项目名称 Tomcat错误页面安全基线要求项
安全基线编号 SBL-Tomcat-05-01-03
安全基线项说明  Tomcat错误页面重定向
检测操作步骤 1、参考配置操作(1)查看tomcat/conf/web.xml文件:
 
404
/noFile.htm 

……………

java.lang.NullPointerException
/ error.jsp 


 
基线符合性判定依据 1、     判定条件
要求包含如下片段:
 
备注  
 
4.1.4            目录列表访问限制
安全基线项目名称 Tomcat目录列表安全基线要求项
安全基线编号 SBL-Tomcat-05-01-04
安全基线项说明  禁止tomcat列表显示文件
检测操作步骤 1、参考配置操作
(1) 编辑tomcat/conf/web.xml配置文件, 

        listings
        true
   

把true改成false
 (2)重新启动tomcat服务
基线符合性判定依据 1、判定条件
当WEB目录中没有默认首页如index.html,index.jsp等文件时,不会列出目录内容
2、检测操作
直接访问http://ip:8800/webadd
备注  
 

推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
author-avatar
墨镜小辣妹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有