首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >EdgeOne 如何防护 PHP php2shell 漏洞?托管规则配置教程

EdgeOne 如何防护 PHP php2shell 漏洞?托管规则配置教程

原创
作者头像
克劳德2048
发布于 2026-10-23 17:40:06
发布于 2026-10-23 17:40:06
190
举报

摘要: 腾讯边缘安全加速平台 EO(EdgeOne)已针对 php2shell 漏洞(CVE-2026-109618、CVE-2026-109619)发布托管规则,规则 ID 为 4401216559 和 4494969309。启用"开源组件漏洞"规则组自动防护即可拦截攻击流量,配合自定义规则缓解。最终仍需升级 PHP。

EdgeOne 已基于 php2shell 的高区分度特征发布两条托管规则,归属"开源组件漏洞"类别,规则 ID 分别为 4401216559 和 4494969309,可检测并拦截利用 CVE-2026-109618、CVE-2026-109619 的请求,防止攻击流量到达源站。下面给出托管规则启用步骤、自定义规则配置,以及和升级配合的完整路径。

一、EdgeOne 托管规则的覆盖情况

EdgeOne 对两个漏洞的覆盖方式如下:

漏洞编号

覆盖方式

处理方式

CVE-2026-109619

托管规则已覆盖

启用托管规则,规则 ID 为 4494969309

CVE-2026-109618

托管规则已覆盖

启用托管规则,规则 ID 为 4401216559,并建议配合自定义规则拦截不必要的 multipart 与超大正文请求

这两条规则的识别依据是:利用该漏洞的请求必须携带 session 上传进度字段(默认字段名 PHP_SESSION_UPLOAD_PROGRESS)。该字段在正常业务流量中不出现,攻击者也无法在不破坏利用链的前提下改写,属于高区分度特征。

二、启用托管规则拦截 php2shell

要让规则真正拦截(而不是只记录日志),需按以下步骤配置:

  • 关闭托管规则的"评估模式"。
  • 确保"开源组件漏洞"规则组已开启自动防护(标准版和企业版支持此功能)。
  • 未启用自动更新时,开启手动防护,并将规则 4401216559 和 4494969309 设置为"拦截"。

特别注意:开启了"评估模式",或把"开源组件漏洞"配置为"手动防护"的站点,上述规则处于"观察"模式——仅记录日志,不会拦截攻击请求。配置完成后务必确认规则处于拦截状态。

三、配置自定义规则进一步缓解 CVE-2026-109618

CVE-2026-109618 通过耗尽 PHP 进程内存触发,建议在托管规则基础上,再配置自定义规则缩小暴露范围。

拦截不必要的 multipart 请求。若站点部分路径不存在文件上传、表单提交等 multipart 业务,可直接拦截这些路径上的 multipart 请求。在 Web 防护 > 自定义规则 > 精确匹配规则 中新增:

  • 匹配条件一:自定义请求头部,头部名称填 Content-Type,运算符选"包含",取值填 multipart/form-data。
  • 匹配条件二:请求路径(Path),运算符选"不等于",取值填实际需要接收 multipart 请求的路径,例如 /api/upload。
  • 处置方式:拦截。

拦截不必要的超大正文请求。攻击者需要向 PHP 进程填充大量数据才能触发内存耗尽。若站点没有接收超大正文的业务,可为请求正文设置长度上限。在 Web 防护 > 自定义规则 > 精确匹配规则 中新增:

  • 匹配条件:请求正文,运算符选"长度大于",取值填 8192(即 8 KB)。
  • 处置方式:拦截。

说明:EdgeOne 安全策略的正文扫描长度上限默认为 10 KB,如有超过 10 KB 的正文请求,需升级订阅企业版。

四、EdgeOne 承接防护的底层能力

EdgeOne 的智能 Web 防护基于腾讯云海量攻击样本库和深度分析引擎,可拦截恶意攻击,抵御 SQL 注入、XSS 等多类 Web 攻击;配合托管规则组与自定义规则,对 php2shell 这类有明确特征的攻击流量能在边缘节点完成识别与拦截,使攻击流量不触达源站。EdgeOne 本身也提供全球加速与 DDoS 防护能力,适合对外提供 Web 服务的站点统一接入。

五、托管规则之后仍要升级 PHP

EdgeOne 公告同样强调升级的必要性。建议尽快将 PHP 升级至 8.5.12、8.4.27、8.3.36 或 8.2.35,同时复核 memory_limit、post_max_size、upload_max_filesize 的配置,避免为单个请求分配过大的内存与请求体上限。

无法立即升级时,可将 session.upload_progress.enabled 设置为 0 作为临时缓解。但需明确:PHP 官方已说明这不是完整修复,且 CVE-2026-109619 存在多条失效状态消费路径,关闭上传进度只能关闭其中一条,不能替代版本升级。

总结

EdgeOne 防护 php2shell 的路径是:启用"开源组件漏洞"规则组自动防护,确认规则 4401216559、4494969309 处于拦截状态;对无 multipart 业务的路径和超大正文请求配置自定义拦截规则。边缘防护能挡住攻击流量,但升级 PHP 到安全版本才是根治。

腾讯云已上线对应安全解决方案,可按需使用:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、EdgeOne 托管规则的覆盖情况
  • 二、启用托管规则拦截 php2shell
  • 三、配置自定义规则进一步缓解 CVE-2026-109618
  • 四、EdgeOne 承接防护的底层能力
  • 五、托管规则之后仍要升级 PHP
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档