tomcat 基线检查
Posted NowSec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat 基线检查相关的知识,希望对你有一定的参考价值。
删除初始文件
删除tomcat安装时所创建的docs和examples目录下的初始内容
删除方法:
进入tomcat的webapps目录,删除docs目录和examples目录及其内容
控制台及口令安全
如果无需使用控制台功能,删除webapps目录下的manager目录即可
如需使用控制台,则需要配置强口令
配置方法(tomcat 6.x/7.x/8.x/9.x):
编辑tomcat/conf/tomcat-users.xml文件
<role rolename="manager-gio">
<user username="ManagerName" password="Managerpassword" roles="manager-gui"/>
配置安全的shutdown字符串
在配置Tomcat server.xml文件中的Server时,有一个配置关闭端口的设置,默认如下:
<Server port="8005" shutdown="SHUTDOWN">
如果使用telnet连接到8005端口,并输入SHUTDOWN就会关闭tomcat服务,所以需要配置较强的shutdown字符串
防止目录遍历漏洞
检查conf/web.xml的listings配置是否为false
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
日志配置
对日志记录进行配置,保证其记录了toncat的访问日志
在conf/server.xml中进行以下配置:
如果以下内容被注释,删除注释符,即可启用日志记录
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%a %l %u %t "%r" %s %b" />
禁止非HTTP方法访问
禁止非HTTP方法访问,如PUT、DELETE、TRACE等
配置方法:
在web.xml中添加以下内同
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint>
</auth-constraint>
</security-constraint>
连接数设置
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
将上面内容修改为
<Executor
name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="500"
minSpareThreads="30"
maxIdleTime="60000"
prestartminSpareThreads = "true"
maxQueueSize = "100"
/>
参数解释:maxThreads
:最大并发数,默认设置 200,一般建议在 500 ~ 800,根据硬件设施和业务来判断minSpareThreads
:Tomcat 初始化时创建的线程数,默认设置 25maxIdleTime
:如果当前线程大于初始化线程,那空闲线程存活的时间,单位毫秒,默认60000=60秒=1分钟。prestartminSpareThreads
:在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true,minSpareThreads 的值就没啥效果了maxQueueSize
:最大的等待队列数,超过则拒绝请求
书单推荐
以上是关于tomcat 基线检查的主要内容,如果未能解决你的问题,请参考以下文章
[基线加固]常见中间件(tomcat&nginx&apache)