首页 -> 安全研究

安全研究

安全漏洞
FreeBSD Accept Filter远程拒绝服务攻击漏洞

发布日期:2002-05-29
更新日期:2002-06-05

受影响系统:
FreeBSD FreeBSD 4.5-RELEASE
描述:
BUGTRAQ  ID: 4879
CVE(CAN) ID: CVE-2002-0794

FreeBSD是一款免费开放源代码的操作系统。

FreeBSD中的accept_filter(9)机制存在设计漏洞,可导致远程攻击者填满连接队列,产生拒绝服务攻击。

FreeBSD中的accept_filter(9)机制允许应用程序请求内核预处理进入的连接,如accf_http(9) accept filter可以导致accpet(2)调用只有在缓存了一个完全的HTTP请求后才让调用返回。

accept filter机制默认不使用,系统管理员必须编辑内核使用ACCEPT_FILTER_HTTP选项或者使用kldload(8)来装载过滤器才能使用accept filter机制。

通过持续发送重复的不完全请求(如类似CodeRed蠕虫的请求),由于这些URL请求不符合http accept filter的标准,而填满连接队列,造成其他客户端不能访问此服务,产生拒绝服务。

系统只有在内核中使用这个accept filter并有应用程序配置利用这个工具才受到此漏洞影响,目前为止只有apache默认利用了此accept filter。

<*来源:Mike Silbersack (silby@FreeBSD.org
  
  链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:26.accept.asc
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:


* 如果你编辑了内核使用accept filter,请编辑内核配置文件,删除以下选项:

ACCEPT_FILTER_DATA和ACCEPT_FILTER_HTTP,并安装如下指示重新配置内核:

http://www.freebsd.org/handbook/kernelconfig.html.

* 如果使用可装载模块使用的filter,修改启动脚本不装载此模块,要判断是否使用,运行kldstat工具,查找是否存在这些模块名称:

accf_http.ko和accf_data.ko.

如果存在,表示使用了accept filter.

厂商补丁:

FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-02:26)以及相应补丁:
FreeBSD-SA-02:26:Remote denial-of-service when using accept filters
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:26.accept.asc

补丁下载:

FreeBSD FreeBSD 4.5 -STABLE:

FreeBSD Patch accept.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:26/accept.patch
a)下载相关补丁,并使用PGP工具验证PGP签名:
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:26/accept.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:26/accept.patch.asc

b)以ROOT权限执行如下命令:
# cd /usr/src # patch < /path/to/patch

c)重新编译内核并重新启动。

浏览次数:3708
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障