Tomcat安全

2026/4/24 8:22:18

无法访问。因此这里禁止配置connectionTimeout为0和-1,通常推荐的超时时间为20s和30s。特殊情况下,请根据具体性能需求进行调优。 实施指导: 在配置文件$tomcat/conf/server.xml中的每个Connector的“connectionTimeout”属性为20000:

1.2.2.9 配置Tomcat的会话超时时间为10分钟

说明:Tomcat服务器提供的默认超时时间为30分钟,这个时间过长,除了导致空闲连接消耗的处理资源损失外,受攻击的时间窗也相应变长。

在配置会话超时是时间时,也是充分考虑用户的易用性,当模块较多但超时时间较短的产品,会给用户造成频繁退出的现象,使用起来感受较差,如eCity平台各个模块的默认会话超时时间就不能设置过短。

实施指导:

修改$tomcat下所有的web.xml配置文件如下: 10 //将30修改为10

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配置文件如下: 备注:其中path的值是虚拟目录,docbase若是以盘符开始,则是硬盘目录的绝对路径,否则便是相对于$tomcat的相对路径。

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中,在标签里添加如下内容: 的标签的注释中,但是直接取消注释,并不能使其生效。例如Tomcat6.0.20便不支持除了以外的标签。 在上文配置信息中的pattern参数,是用来配置日志基本格式的。 一般情况下,pattern可以直接设置成两种方式:common和combined,他们的真实值如下: common :%h %l %u %t %r %s %b //基本已经符合规则要求 combined:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i //增加了代理信息 参数值的具体含义如下: %a %A %b %B %h %H %l 记录访问者的IP 记录本地服务器的IP 发送信息的字节数,不包括http头,如果字节数为0的话,显示为“-” 发送信息的字节数,不包括http头 设置resolveHosts为false时,这里就是IP地址,否则就是服务器名称 访问者使用的协议,例如HTTP/1.1 登录标识中的逻辑用户名,通常返回值为“-”


Tomcat安全.doc 将本文的Word文档下载到电脑
搜索更多关于: Tomcat安全 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219