1 账号管理、认证授权
1.1.1 通用说明
1. 密码复杂性要求:长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类。
2. Tomcat版本用户角色分为:role1,tomcat,admin,manager四种。
l role1:具有读权限;
l tomcat:具有读和运行权限;
l admin:具有读、运行和写权限;
l manager:具有远程管理权限;
l Tomcat 6.0.18版本只有admin和manager两种用户角色,且admin用户具有manager管理权限。
l Tomcat 4.1.37和5.5.27版本及以后发行的版本默认除admin用户外其他用户都不具有manager管理权限。
1.1.2 9C-Tomcat-01-01-01(必选)
编号 |
9C-Tomcat-01-01-01 |
名称 |
为不同的管理员分配不同的账号 |
实施目的 |
应按照用户分配账号,避免不同用户间共享账号,密码配置强密码,提高安全性。 |
问题影响 |
账号混淆,权限不明确,存在用户越权使用的可能,密码简单存在暴力破解风险。 |
系统当前状态 |
记录tomcat/conf/tomcat-users.xml文件 |
实施步骤 |
1、检查方法: l 默认通过http://ip:8080/manager/html可以访问tomcat manager; l 默认通过http://ip:8080/admin可以访问tomcat admin;
2、参考配置操作 修改tomcat/conf/tomcat-users.xml配置文件,修改或添加帐号。(tomcat7 默认配置如下:) <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="admin"/> <role rolename="manager"/> <role rolename="manager-gui"/> <user username="tomcat" password="复杂的口令" roles="tomcat"/> <user username="both" password="复杂的口令" roles="tomcat,role1"/> <user username="role1" password="复杂的口令" roles="role1"/> <user username="admin" password="复杂的口令" roles="manager-gui"/> <user username="tomcat" password="复杂的口令" roles="manager-script"/> 操作要求:在tomcat_home下建立systembackup目录,备份tomcat-users.xml至该目录。然后将所有password修改为强密码,需符合密码复杂性要求。 2、补充操作说明 1、根据不同用户,取不同的名称。 2、Tomcat 4.1.37、5.5.27和6.0.18这三个版本及以后发行的版本默认都不存在admin.xml配置文件。 |
回滚方案 |
还原tomcat/conf/tomcat-users.xml文件 |
判断依据 |
依据需求分配用户账号,如无要求初始化安装执行 |
实施风险 |
高 |
重要等级 |
|
备注 |
1.1.3 9C-Tomcat-01-01-02(必选)
编号 |
9C-Tomcat-01-01-02 |
名称 |
删除文档和示例程序 |
实施目的 |
删除系统默认安装的文档目录和示例程序目录,减少系统安全隐患。 |
问题影响 |
允许非法利用系统默认目录 |
系统当前状态 |
打开tomcat_home/webapps,检查是否存在默认文档,如:docs和examples文件夹 |
实施步骤 |
操作要求:在tomcat_home下建立systembackup目录,备份系统默认文档至该目录。删除系统默认管理目录,如:docs、examples、Manager、host-manager、root文件夹 l 删除tomcat_home/webapps下的manager和host-manager目录。 l 删除tomcat_home/webapps下的admin目录和ROOT目录。 l 删除tomcat_home/webapps下的Docs目录和examples目录
|
回退方案 |
从systembackup提取后还原 |
判断依据 |
初始安装执行 |
实施风险 |
高 |
重要等级 |
|
备注 |
1.1.4 9C-Tomcat-01-01-05(必选)
编号 |
9C-Tomcat-01-01-05 |
名称 |
设置shutdown字符串 |
实施目的 |
防止恶意用户telnet8005端口后,发送shutdown命令停止tomcat服务 |
问题影响 |
被恶意利用,停止服务 |
系统当前状态 |
打开tomcat_home/conf/server.xml,查看是否设置了复杂的字符串 <Server port=”8005” shutdown=”SHUTDOWN”> |
实施步骤 |
1、操作要求:在tomcat_home下建立systembackup目录,备份server.xml至该目录 l 修改shutdown默认字符串,要求同强密码设置要求。 |
回退方案 |
从systembackup目录下还原该文件 |
判断依据 |
业务测试正常 |
实施风险 |
高 |
重要等级 |
|
备注 |
1.1.5 9C-Tomcat-01-01-06(必选)
编号 |
9C-Tomcat-01-01-06 |
名称 |
设置运行身份 |
实施目的 |
linux下以特定用户运行服务,增强安全性 |
问题影响 |
默认root系统管理员权限,被恶意利用后, |
系统当前状态 |
检查tomcat的启动脚本或服务,确认是否以tomcat身份运行。理论上tcp 1024端口之后,均可使用特定用户运行 |
实施步骤 |
1、操作要求: l 创建tomcat组:groupadd tomcat l 创建tomcat用户并加入tomcat组:useradd tomcat –g tomcat l 以tomcat身份启动服务 |
回退方案 |
无 |
判断依据 |
业务测试正常 |
实施风险 |
高 |
重要等级 |
|
备注 |
2 日志配置
2.1.1 9C-Tomcat-02-01-01(可选)
3 通信协议
3.1.1 9C-Tomcat-03-01-01(可选)
编号 |
9C-Tomcat-03-01-01 |
名称 |
HTTPS协议 |
实施目的 |
对于通过HTTP协议进行远程维护的设备,设备应支持使用HTTPS等加密协议。 |
问题影响 |
增加数据库数据传输安全隐患 |
系统当前状态 |
查看tomcat/conf/server.xml |
实施步骤 |
(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服务 |
回退方案 |
还原tomcat/conf/server.xml |
判断依据 |
1、 判定条件 查看tomcat/conf/server.xml 2、检测操作 使用https方式登陆tomcat服务器管理页面 |
实施风险 |
高 |
重要等级 |
|
备注 |
3.1.2 9C-Tomcat-03-01-02(可选)
编号 |
9C-Tomcat-03-01-02 |
名称 |
更改tomcat服务器默认端口 |
实施目的 |
更改tomcat服务器默认端口,增加系统安全性 |
问题影响 |
不安全性增加 |
系统当前状态 |
查看tomcat/conf/server.xml |
实施步骤 |
1、参考配置操作 (1)修改tomcat/conf/server.xml配置文件,更改默认管理端口到8800 <Connector port="8800" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"、 enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="300" disableUploadTimeout="true" /> (2)重启tomcat服务
|
回退方案 |
还原tomcat/conf/server.xml |
判断依据 |
1、判定条件 查看tomcat/conf/server.xml 2、检测操作 登陆http://ip:8800
|
实施风险 |
高 |
重要等级 |
|
备注 |
4 设备其他安全要求
4.1.1 9C-Tomcat-04-01-01(可选)
编号 |
9C-Tomcat-04-01-01 |
名称 |
登录超时 |
实施目的 |
对于具备字符交互界面的设备,应支持定时账户自动登出。登出后用户需再次登录才能进入系统。 |
问题影响 |
被恶意攻击者盗用 |
系统当前状态 |
查看tomcat/conf/server.xml |
实施步骤 |
参考配置操作 编辑tomcat/conf/server.xml配置文件,修改为30秒 <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"、 enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="300" disableUploadTimeout="true" />
|
回退方案 |
还原tomcat/conf/server.xml |
判断依据 |
1、判定条件 查看tomcat/conf/server.xml 2、检测操作 登陆tomcat默认页面http://ip:8080/manager/html ,使用管理账号登陆
|
实施风险 |
高 |
重要等级 |
|
备注 |
4.1.2 9C-Tomcat-04-01-02(可选)
编号 |
9C-Tomcat-04-01-02 |
名称 |
Tomcat错误页面重定向 |
实施目的 |
更改Tomcat错误页面重定向页面,增加系统安全性 |
问题影响 |
不安全性增加 |
系统当前状态 |
查看tomcat/conf/web.xml |
实施步骤 |
1、参考配置操作 (1)配置tomcat/conf/web.xml文件:
|
回退方案 |
还原tomcat/conf/web.xml |
判断依据 |
1、判定条件 查看tomcat/conf/web.xml 2、检测操作 URL地址栏中输入http://ip:8800/manager~~~ |
实施风险 |
高 |
重要等级 |
|
备注 |
4.1.3 9C-Tomcat-04-01-03(必选)
编号 |
9C-Tomcat-04-01-03 |
名称 |
禁止tomcat列表显示文件 |
实施目的 |
禁止tomcat列表显示文件,增加系统安全性 |
问题影响 |
不安全性增加 |
系统当前状态 |
查看tomcat/conf/web.xml |
实施步骤 |
1、参考配置操作 (1) 编辑tomcat/conf/web.xml配置文件, (2)重新启动tomcat服务 |
回退方案 |
还原tomcat/conf/web.xml |
判断依据 |
1、判定条件 查看tomcat/conf/web.xml 2、检测操作 直接访问http://ip:8800/webapp |
实施风险 |
高 |
重要等级 |
|
备注 |
本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/1571506,如需转载请自行联系原作者