无法访问。因此这里禁止配置connectionTimeout为0和-1,通常推荐的超时时间为20s和30s。特殊情况下,请根据具体性能需求进行调优。 实施指导: 在配置文件$tomcat/conf/server.xml中的每个Connector的“connectionTimeout”属性为20000: 1.2.2.9 配置Tomcat的会话超时时间为10分钟 说明:Tomcat服务器提供的默认超时时间为30分钟,这个时间过长,除了导致空闲连接消耗的处理资源损失外,受攻击的时间窗也相应变长。 在配置会话超时是时间时,也是充分考虑用户的易用性,当模块较多但超时时间较短的产品,会给用户造成频繁退出的现象,使用起来感受较差,如eCity平台各个模块的默认会话超时时间就不能设置过短。 实施指导: 修改$tomcat下所有的web.xml配置文件如下: 1.2.2.10 关闭会话回收功能 说明:如果每个请求都建立一个自己的fa?ade,那么该功能可以进行详细的列表录入,但是,该功能也有可能将这些请求的信息泄露给没有创建fa?ade的其他请求。 实施指导: 在启动脚本$TOMCAT/bin/catalina.sh文件的启动分支语句中添加如下命令: -Dorg.apache.catalina.connector.RECYCLE_FACADES=false 备注:该参数仅出现在Tomcat6.0及其之后的版本中,且默认值为false。如果在启动脚本中未发现RECYCLE_FACADES参数,可以不用添加。 1.2.2.11 关闭crossContext功能 说明:当crossContext设置为true时,系统允许ServletContext.getContext调度另一个应用程序,这使得crossContext有创造恶意应用的可能,因此必须限制该功能。 实施指导: 在启动脚本中添加如下命令: -Dorg.apache.catalina.connector.RECYCLE_FACADES=false 备注:该参数仅出现在Tomcat6.0及其之后的版本中,且默认值为false。如果在启动脚本中未发现RECYCLE_FACADES参数,可以不用添加。 1.2.3 文件目录的控制权限 1.2.3.1 Tomcat根目录及其所有父目录只能由Tomcat属主用户修改(755) 说明:不仅文件本身,tomcat根目录及其父目录都必须只能由属主来改写 实施指导: 如果要配置Tomcat根目录为/home/tomcat,首先要确认/、/home、/home/tomcat目录都只有Tomcat属主用户才可以修改,其次要使用Tomcat属主用户执行下列命令: # chown 0 . bin conf # chgrp 0 . bin conf # chmod 755 . bin conf 备注:这里默认的属主是root用户。 1.2.3.2 可执行文件只能由Tomcat属主用户修改(511) 说明:如果允许非属主用户对由属主执行或读写的文件有写权限,则会危及系统。比如,别人有可能会覆盖可执行文件或脚本,那么下一次启动时,就会执行恶意代码。 实施指导: 设置可执行文件的权限,例如bin目录下的执行文件,使用Tomcat属主用户执行下列命令: # cd $tomcat/bin # chmod 511 * 1.2.3.3 配置文件只能由Tomcat属主用户修改(700) 说明:别人有可能会覆盖配置文件,从而获取更高的权限或者更多的信息。 实施指导: 设置可执行文件的权限,例如bin目录下的执行文件,使用Tomcat属主用户执行下列命令: # cd $tomcat/conf # chmod 700 * 1.2.3.4 日志文件只能由Tomcat属主用户修改和执行(700) 说明:如果日志目录对非属主用户是可写的,别人就有可能用一个指向其他敏感文件的连接来覆盖日志文件,使那个文件被改写为杂乱的数据。如果日志文件本身对非属主用户是可写的,别人就可能伪造日志。 实施指导: 使用Tomcat属主用户执行下列命令: # cd $tomcat # chmod 700 $tomcat/logs 1.2.3.5 只对管理员等少数用户开放的web服务,建议采用IP或IP段控制访问 说明:减少对外暴露的风险。 实施指导: 修改$tomcat/conf/context.xml配置文件如下: 1.2.3.6 配置虚拟目录,用以隐藏后台路径 说明:隐藏后台路径,减少暴露给攻击者的威胁。 实施指导: 修改$tomcat/conf/server.xml配置文件如下: 1.2.4 SSI和CGI配置策略 1.2.4.1 禁用SSI和CGI功能 说明: SSI指令可以用于执行Tomcat JVM外部的程序,CGI脚本可以用于执行Tomcat的java虚拟机外部的程序,所以这是极度危险的。 实施指导: Tomcat默认不支持SSI和CGI,请确认配置文件$tomcat/conf/web.xml中,< servlet>标签下的SSI和CGI配置均处于xml注释状态。 1.2.4.2 不允许使用SetUID程序,尤其是root身份的SetUID程序 说明:setuid是一个非常危险的命令,它使任意用户在运行指定程序时,拥有该程序属主的权限。因此会带来极大的系统漏洞问题。所以如非必要,不要使用SetUID程序,尤其是root身份的SetUID程序。 实施指导: 1.找出使用SetUID的程序: find / -perm -2000 -exec ls -l {} \\; 2.确认这些程序是否必须使用SetUID,并且只能通过SetUID来实现该功能,如果不是,请取消其SetUID: chmod –s programfile 1.2.5 日志访问控制策略 1.2.5.1 开启Tomcat的日志功能:正常的访问日志和错误请求日志。日志文件的记录中包含访问时间、内容、结果及请求用户的ip等关键信息 说明:这些日志可以提供异常访问的线索。Tomcat可以记录所有的访问请求,同样,异常的请求也会记录。日志文件可以记录系统发生的重要事件,可以帮助我们找到安全事件的原因等等,因此,日志文件必须包含访问的关键信息,例如请求用户的ip、访问的网址等。 注意,需要评估产品的功能是否会导致该类日志文件过大,如果过大,需要定期清理该日志,否则会造成服务器空间的急剧减小。 实施指导: 在配置文件$tomcat/conf/server.xml中,在
Tomcat安全
2026/4/24 8:22:18
Tomcat安全.doc
将本文的Word文档下载到电脑

