word文档 信息安全等级保护测评作业指导书(Tomcat) VIP文档

101.00 KB 8 页 0 下载 3 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.doc
3
概览
信息安全测评实施作业指导书 测评层面:TOMCAT 序 号 测评项 操作步骤 预期结果 1 应按照用户分配账 号。避免不同用户间 共享账号 1、参考配置操作 修改 tomcat/conf/tomcat-users.xml 配置文件,修改或添加帐号。 <user username=”tomcat” password=” Manager!@34” roles=”manager”> 注意: Tomcat 从 5.5 这个版本及以后发行的版本默认都不存在 admin.xml 1、判定条件 根据不同用户,取不同的名称,各账号都 可以登录 Tomcat Web 服务器为正常 2、检测操作 访问 http://ip:8080/manager/html 管 理页面,进行 Tomcat 服务器管理 2 应删除或锁定与设备运 行、维护等工作无关的 账号 1、参考配置操作 修改 tomcat/conf/tomcat-users.xml 配置文件,删除与工作无关的帐号。 例如 tomcat1 与运行、维护等工作无关,删除 tomcat1 帐号。 1、判定条件 被删除的与工作无关的账号 tomcat1 不能正 常登陆。 2、检测操作 访问 http://ip:8080/manager/html 管理页 面,使用删除帐号进行登陆尝试。 3 禁用超级用户启用 tomcat 1、参考配置操作 在普通用户的模式下,运行 tomcat 的启动脚本 2、检测操作 查看当前系统的 tomcat 进程,确认程序启动时使用的身份。 注意:通过 services.msc 服务属性设置 禁用超级用户启用 tomcat 4 对于采用静态口令认证 技术的设备, 口令长 度至少 8 位, 并包括 1、参考配置操作 在 tomcat/conf/tomcat-user.xml 配置文件中设置密码 <user username=”tomcat” password=”Manager!@34” roles=”manager”> 补充说明 使用弱口令扫描工具进行检查时应注意扫描的 线程数,避免对服务器造成不必要的资源消 数字、小写字母、大写 字母和特殊符号 4 类中 至少 3 类。 检测方法 1、判定条件 检查 tomcat/conf/tomcat-user.xml 配置文件中的帐号口令是否符合配置口令复杂度要求。 2、检测操作 (1)人工检查配置文件中帐号口令是否符合; (2) 使用 tomcat 弱口令扫描工具定期对 Tomcat Web 服务器进行远程扫描,检查是否存在弱 口令帐号。 耗;选择在服务器负荷较低的时间段进行扫描 检查。 5 在设备权限配置能力 内,根据用户的业务需 要,配置其所需的最小 权限 操作指南 1、参考配置操作 编辑 tomcat/conf/tomcat-user.xml 配置文件,修改用户角色权限授权 tomcat 具有远程管理权 限: <user username=”tomcat” password=”Manager!@34” roles=”admin,manager”> 2、补充操作说明 Tomcat 用户角色分为:role1,tomcat,admin,manager 四种。 role1:具有读权限; tomcat:具有读和运行权限; admin:具有读、运行和写权限; manager:具有远程管理权限。 注: Tomcat 6.0.18 版本只有 admin 和 manager 两种用户角色, 且 admin 用户具有 manager 管理权限。 3、如果无需远程管理则禁用 manager 功能 将以下目录$CATALINA_HOME/server/webapps/manager,移除到非$CATALINA_HOME/ server/webapps 目录 检测方法 1、判定条件 登陆远程管理页面,使用 tomcat 账号进行登 陆,登陆成功。 2、检测操作 登 陆 http://ip:8080/manager/html 页 面 , 使用 tomcat 账号登陆,进行远 程管理。 3、查看$CATALINA_HOME/server/ webapps/manager 是否存在 6 (1)设备应配置日志 编辑 server.xml 配置文件,在<HOST>标签中增加记录日志功能将以下内容的注释标记< ! -- -- 1、判定条件 功能,对用户登录进行 记录,记录内容包括用 户登录使用的账号,登 录是否成功,登录时 间,以及远程登录时, 用户使用 的 IP 地址。 (2)启用访问模块审 计、错误信息日志功能 >取消 <valve classname=”org.apache.catalina.valves.AccessLogValve”Directory=”logs” prefix=”localhost_access_log.” Suffix=”.txt” Pattern=”common” resloveHosts=”false”/> 选项解释: Directory:日志文件放置的目录,在 tomcat 下面有个 logs 文件夹,那里面是专门放置日志文件 的,也可以修改为其他路径; Prefix: 这个是日志文件的名称前缀,日志名称为 localhost_access_log.2010-xx-xx.txt ,前面的前缀就是这个 localhost_access_log Suffix: 文件后缀名 Pattern: common 方式时,将记录访问源 IP、本地服务器 IP、记录日志服务器 IP、访问方 式、发送字节数、本地接收端口、访问 URL 地址等相关信息在日志文件中 resolveHosts:值为 true 时,tomcat 会将这个服务器 IP 地址通过 DNS 转换为主机名,如果是 false,就直接写服务器 IP 地址 查看 logs 目录中相关日志文件内容,记录完 整 2、检测操作 查看 localhost_access_log.2010-xx-xx.txt 中 相关日志记录 7 对于通过 HTTP 协议进 行远程维护的设备, 设 备 应 支 持 使 用 HTTPS 等 加密协议 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=”runway1@” 重新启动 tomcat 服务 检测方法 1、判定条件 使用 https 方式登陆 tomcat 服务器页面,登 陆成功 2、检测操作 使用 https 方式登陆 tomcat 服务器管理页面 protocol=”TLS”/> /Connector> 其中 keystorePass 的值为生成 keystore 时输入的密码 8 使用 HTTP 协议的设 备,更改 tomcat 服务 器默认端口 1、参考配置操作 (1)修改 tomcat/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" /> 重启 tomcat 服务 1、判定条件 使用 xx 端口登陆页面成功 2、检测操作 登陆 http://ip:xx 9 Tomcat 错误页面重定 向 1、参考配置操作 (1)配置 tomcat/conf/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> 还需要在第个 jsp 网页中加入以下内容: <%@ page errorPage="/error.jsp" %> 典型的 error.jsp 错误页面的程序写法如下: 当出现 NullPointerException 异常时 tomcat 会把网页导入到 error.jsp, 且会打印出出错 信息。 (2)重新启动 tomcat 服务 (3)要求错误页面不能太大 检测方法 1、判定条件 指向指定错误页面 2、检测操作 URL 地 址 栏 中 输 入 http://ip:8800/manager12345 <%@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> 10 禁止 tomcat 列表显示 文件 (1) 编辑 tomcat/conf/web.xml 配置文件, <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> 把 true 改成 false 重新启动 tomcat 服务 1、判定条件 当 WEB 目 录 中 没 有 默 认 首 页 如 index.html,index.jsp 等文件时, 不会列出目 录内容 2、检测操作 直接访问 http://ip:8800/webadd 11 修改系统 Banner 信息 修改 catalina.jar 中 Serverinfo.properties 中的以下参数(修改以掩饰真实版本信息) : server.build=<BuildDate> server.number=X 检 查 catalina.jar 中 Serverinfo.properties 中的参数 12 根据机器性能和业务需 求,设置最大最小连接 1、参考配置操作 编辑 server.xml 文件,样例如下: 此项设置,需根据应用的具体情况,分别配置 相应的参数 数 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" acceptCount="100" /> maxThreads="150" 表示最多同时处理 150 个连接 minSpareThreads="25" 表示即使没有人使用也开这么多空线程等待 maxSpareThreads="75" 表示如果最多可以空 75 个线程 acceptCount="100" 当同时连接的人数达到 maxThreads 时, 还可以接收排队的连接,超过 这个连接的则直接返回拒绝连接 13 禁用 PUT、DELETE 等 危险的 HTTP 方法 编辑 web.xml 文件中配置 org.apache.catalina.servlets.DefaultServlet 的 <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> readonly 参数默认是 true,即不允许 delete 和 put 操作 说明: PUT,向指定的目录上传附加文件; DELETE,删除指定的资源; COPY,将指定的资源复制到 Destination 消息头指定的位置; MOVE,将指定的资源移动到 Destination 消息头指定的位置; SEARCH,在一个目录路径中搜索资源。 检查 web.xml 文件中配置 org.apache.catalina.servlets.DefaultServlet 的<init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> 其中 param-value 为 false,则符合要求 PROPFIND,获取与指定资源有关的信息,如作者、大小与内容类型。 TRACE,在响应中返回服务器收到的原始请求。可以使用这种方法避开阻止跨站点脚本的防御 14 补丁安装 Java –version Javac –version 15 对于具备字符交互界面 的设备,应支持定时账 户自动登出。登出后用 户需再次登录才能进入 系统 编辑 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" /> 1、判定条件 查看 tomcat/conf/server.xml 2、检测操作 登 陆 tomcat 默 认 页 面 http://ip:8080/ manager/html ,使用管理账号登陆 16 删除docs和examples 文件夹 打开tomcat_home/webapps文件夹,默认存在docs和examples文件夹 17 Manager 、 admin 管 理权限 (1) 默认通过ttp://ip:8080/manager/html可以访问tomcat manager,如果不需要使用, 建议删除tomcat_home/webapps/manager和host-manager文件夹 (2)默认通过http://ip:8080/admin可以访问tomcat admin,如果不需要使用,建议删除 tomcat_home/webapps/admin文件夹 Manager、admin管理权限 18 防止恶意用户telnet到 8005端口后,发送 SHUTDOWN命令停止 tomcat服务 打开tomcat_home/conf/server.xml,查看是否设置了复杂的字符串 <Server port="8005" shutdown="复杂的字符串"> 防止恶意用户telnet到8005端口后,发送 SHUTDOWN命令停止tomcat服务 19 以tomcat用户运行服 务,增强安全性 Unix系统: (1) 创建apache组:groupadd tomcat 查看tomcat的启动脚本或服务,确认是否以 tomcat身份运行 (2) 创建apache用户并加入apache组:useradd tomcat –g tomcat (3) 以tomcat身份启动服务 Windows系统: (1) 新建一个tomcat用户 (2) 设置tomcat用户对tomcat_home的相关权限 (3) 在服务管理器 (service.msc) 中找到tomcat服务,右键选择属性,设置登录身份为tomcat用 户
下载文档到本地,方便使用
共 8 页, 还有 6 页可预览, 继续阅读
文档评分
请文明评论,理性发言.