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 初始化时创建的线程数,默认设置 25
maxIdleTime:如果当前线程大于初始化线程,那空闲线程存活的时间,单位毫秒,默认60000=60秒=1分钟。
prestartminSpareThreads:在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true,minSpareThreads 的值就没啥效果了
maxQueueSize:最大的等待队列数,超过则拒绝请求


书单推荐