内容简介:本篇文章较长,但请大家耐心看完,毕竟是小编费劲心思总结的,而且小编相信这篇肯定对大家是有一点帮助的;好了,不打扰大家了,耐心看吧!修改默认账号口令修改默认口令或禁用默认账号
本篇文章较长,但请大家耐心看完,毕竟是小编费劲心思总结的,而且小编相信这篇肯定对大家是有一点帮助的;好了,不打扰大家了,耐心看吧!
1. 用户账号与口令安全
修改默认账号口令
修改默认口令或禁用默认账号
参考配置操作
编辑tomcat/conf/tomcat-user.xml配置文件,修改用户角色权限
授权tomcat具有远程管理权限:
<user username=”tomcat” password=”强壮的口令” roles=”admin,manager”>
补充操作说明
“强壮的口令”要求为口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。
Tomcat 4.x和5.x版本用户角色分为:role1,tomcat,admin,manager四种。
- role1:具有读权限;
- tomcat:具有读和运行权限;
- admin:具有读、运行和写权限;
- manager:具有远程管理权限。
Tomcat 6.0.18版本只有admin和manager两种用户角色,且admin用户具有manager管理权限。
Tomcat 4.1.37和5.5.27版本及以后发行的版本默认除admin用户外其他用户都不具有manager管理权限。
判定条件
修改后的账号可以登录Tomcat Web服务器为正常。
检测操作
访问http://ip:8080/manager/html管理页面,进行Tomcat服务器管理。
2.优化WEB服务账号
设置shutdown为复杂的字符串,防止恶意用户telnet到8005端口后,发送SHUTDOWN命令停止Tomcat服务。
参考配置操作
打开Tomcat_home/conf/server.xml,设置shutdown为复杂的字符串。
<Server port="8005" shutdown="复杂字符不要包括特殊字符,如:冒号、分号、引号等。
判定条件
查看Tomcat_home/conf/server.xml配置文件
<Server port="8005" shutdown="复杂的字符串">
3.日志与审计
增加访问日志审计,记录错误信息和访问信息。
参考配置操作
编辑server.xml配置文件,在
将以下内容的注释标记< ! -- -- >取消
<valve classname=”org.apache.catalina.valves.AccessLogValve”Directory=”logs” prefix=”localhost_access_log.” Suffix=”.txt” Pattern=”common” resloveHosts=”false”/>
补充操作说明
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地址
判定条件
查看logs目录中相关日志文件内容,记录完整
检测操作
查看localhost_access_log.2018-10-22.log中相关日志记录
4.安全防护
隐藏Tomcat显示版本信息
参考配置操作
a.解压catalina.jar
cd {Tomcat_home}/server/lib 【4.x】 cd {tomcat_home}/lib【5.5以上】 jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties
b.修改server.info行,修改相关的版本信息:server.info=Apache Tomcat
c.重新压缩catalina.jar
jar uf catalina.jar org/apache/catalina/util/ServerInfo.properties
判定条件
Telent ip :80 端口
执行get head查看是否包含版本信息
5.禁止目录遍历
修改参数文件,禁止目录遍历。
参考配置操作
(1) 编辑tomcat/conf/web.xml配置文件,
<init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param>
把true改成false
(2)重新启动tomcat服务
判定条件
当WEB目录中没有默认首页如index.html,index.jsp等文件时,不会列出目录内容
检测操作
直接访问http://ip:8800/webadd
6.错误信息自定义
修改错误文件信息内容,防止信息泄漏
参考配置操作
(1)配置tomcat/conf/web.xml文件:
在最后一行之前加入以下内容:
<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>
第一个<error-page></error-page>
第二个<error-page></error-page>
<%@ page errorPage="/error.jsp" %>
典型的error.jsp错误页面的程序写法如下:
<%@ 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>
当出现NullPointerException异常时tomcat会把网页导入到error.jsp,且会打印出出错信息。
(2)重新启动tomcat服务
判定条件
指向指定错误页面
检测操作
URL地址栏中输入http://ip:8800/manager
7.更改默认管理端口
更改tomcat服务器默认端口
参考配置操作
(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服务
补充操作说明
判定条件
使用8800端口登陆页面成功
检测操作
登陆http://ip:8800
8.超时自动登出
对于具备字符交互界面的设备,应支持定时账户自动登出。登出后用户需再次登录才能进入系统。
参考配置操作
编辑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" />
判定条件
30秒自动登出。
检测操作
登陆tomcat默认页面http://ip:8080/manager/html ,使用管理账号登陆
9.通讯加密
对于通过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" clientAuth="false" keystoreFile="/path/to/my/.keystore" keystorePass="runway" protocol="TLS"/>
其中keystorePass的值为生成keystore时输入的密码
(3)重新启动tomcat服务
判定条件
使用https方式登陆tomcat服务器页面,登陆成功
检测操作
使用https方式登陆tomcat服务器管理页面
以上所述就是小编给大家介绍的《Tomcat中间件安全基线配置规范》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- CentOS7安全基线最佳实践
- Oracle基础教程之AWR固定基线
- 基线检查平台之Linux与Windows
- [译] 感受 4px 基线网格带来的便利
- 提速 10%,V8 引擎推出全新 Liftoff 基线编译器
- 提速 10%,V8 引擎推出全新 Liftoff 基线编译器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。