娱乐

apachehttpd安全漏洞

时间:2010-12-5 17:23:32  作者:焦点   来源:休闲  查看:  评论:0
内容摘要:2021年10月,Apache软件基金会发布了一个补丁,修复了HTTP Server 2.4.49中的一个路径穿越漏洞CVE-2021-41773)。问题出在路径规范化逻辑上——攻击者只需在URL里构

2021年10月,全漏Apache软件基金会发布了一个补丁,全漏修复了HTTP Server 2.4.49中的全漏一个路径穿越漏洞(CVE-2021-41773)。问题出在路径规范化逻辑上——攻击者只需在URL里构造类似/cgi-bin/.%2e/.%2e/.%2e/etc/passwd的全漏请求,就能读取服务器上的全漏任意文件。更糟的全漏是,如果服务器开启了mod_cgi,全漏还能直接远程执行代码。全漏这个漏洞在野利用的全漏规模不小,Shadowserver基金会的全漏扫描数据显示,补丁发布后一周内仍有超过10万台服务器暴露在风险中。全漏

路径穿越只是全漏Apache httpd漏洞家族里的一个分支。这个1995年就诞生的全漏Web服务器,代码库里沉淀了太多历史逻辑,全漏每次重构都可能带出新问题。全漏比如2017年的CVE-2017-7659,HTTP/2模块处理恶意请求时会导致空指针解引用,直接让进程崩溃。攻击成本极低,一个特制帧就能打掉服务。

配置错误往往比代码漏洞更致命。我见过不少运维把Options Indexes FollowSymLinks和AllowOverride All一起打开,再配上默认的.htaccess解析规则。攻击者上传一个带AddType application/x-httpd-php .jpg的.htaccess文件,图片马立刻变成Webshell。Apache本身没漏洞,但配置组合把门全敞开了。这种情况在共享主机环境里尤其常见,一个站点被拿下,整台服务器跟着沦陷。

另一个容易被忽视的点是mod_proxy的SSRF风险。2.4.48之前的版本里,ProxyPass配置不当会让攻击者通过mod_proxy_http访问内网服务。2019年某云厂商的元数据服务被攻击,入口就是一台跑着旧版Apache的反向代理。攻击者构造http://127.0.0.1:2375/containers/json这样的请求,直接拿到了Docker API的控制权。Apache在这里扮演了跳板的角色,本身没有CVE编号,但责任逃不掉。

版本迭代速度是个现实问题。Apache 2.4.x系列从2012年发布至今,小版本号已经滚到50多。很多Linux发行版的稳定仓库里还躺着2.4.6(CentOS 7默认版本),这个版本连HTTP/2都不支持,更别说近几年修的那些CVE。运维不是不想升,是升不动——老业务依赖特定模块的旧ABI,编译新版本得连带重编PHP、重配SSL,牵一发动全身。结果就是漏洞公告发了三年,机器上跑的还是有问题的版本。

缓解措施得看具体场景。如果没法立即升级,至少把ServerTokens设为Prod,关掉ServerSignature,别让攻击者一眼看出精确版本号。路径穿越那个漏洞,临时方案是在httpd.conf里加Require all denied到根目录,再逐个放行。但这些都是止血带,不是解药。

真正靠谱的做法是建立版本基线。用httpd -v定期扫,跟Apache的CHANGES文件对,发现安全版本落后就排期升级。容器化环境反而好办——换个基础镜像标签的事。物理机或老VM上跑的,至少把mod_security规则集更新到最新,OWASP CRS对已知的Apache漏洞利用模式覆盖得还算及时。

Apache httpd不会消失,它承载的存量Web站点太多了。安全维护的难点从来不在漏洞本身,而在于那些跑着关键业务、却没人敢动的老进程。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap