首页/安全/渗透测试与安全评估速查/Log4Shell 影响面自查(CVE-2021-44228)
常见漏洞验证121 条

Log4Shell 影响面自查(CVE-2021-44228)

对 Log4j2 的影响面自查:清点 log4j-core 版本、确认 lookup 相关配置状态、核对网络出站策略;以版本与配置核查为主,不做注入验证。

Log4Shell 自查的定位

CVE-2021-44228 影响 log4j-core 特定版本范围,攻击者可通过被记录到日志的字符串触发远程类加载。评估环节的正确做法是影响面自查:清点部署中实际的 log4j-core 版本与依赖树、核对 lookup 相关配置、核对应用所在主机的出站策略。以版本与配置核查为主,不做注入验证。

基本信息

核查对象log4j-core 的部署版本与依赖来源
核查手段文件系统清点、依赖树、运行时加载路径
缓解措施升级到已修复版本,无法升级时按官方指引禁用 lookup
补偿控制主机出站限制、日志内容监控、WAF 规则
边界只做版本与配置核查,不构造注入载荷

典型清点范围

  • 应用发布目录与 lib 依赖目录
  • 容器镜像内打包的依赖
  • 中间件自带库与内嵌组件
  • 数据集成与调度类工具的插件目录
  • 本地开发机与测试环境,避免残留旧版本回流

版本清点示例

版本清点示例
find /opt /usr/share -name 'log4j-core-*.jar' 2>/dev/null   # 全盘定位 jar 与版本
# 容器镜像内清点:检查镜像层中的依赖目录
# Java 应用核对依赖树:mvn dependency:tree | findstr log4j
# 记录:文件路径、版本号、所属应用、是否被实际加载

核查结果读法

核查项含义处置建议
受影响版本落在官方公布受影响范围内的版本升级到修复版本并复测
不被加载的旧库存在但未被运行时加载仍建议清理,避免后续依赖变化引入
配置已禁用 lookup按官方指引关闭相关功能记录为补偿控制,仍应规划升级
出站受限主机无法主动外联记录为补偿控制,不作为唯一防线
影响面取决于实际加载的版本与配置,须逐应用核实后再定级,不能按「存在 jar 即高危」一概而论。
任何情况下都不要对生产系统构造 LDAP 或 DNS 注入载荷做验证,该类验证会触发真实的外联请求。

清点记录字段

  • 文件路径与文件名,确认来自哪个依赖来源
  • 版本号与是否落在官方受影响范围内
  • 所属应用与是否被运行时的类加载器实际加载
  • 缓解状态:已升级、已禁用相关功能或依赖出站限制
  • 复核时间与复核人,便于后续版本变化时重新核实

易错点

  • 只清点主应用目录,漏掉内嵌依赖与中间件自带库
  • 以「已升级」结论收尾,未复核残留旧版本与配置项
  • 按存在 jar 文件直接定高危,未核实是否被运行时加载
  • 为验证漏洞而构造真实外联载荷,把自查变成攻击行为

数据来源与参考

  • CVE-2021-44228(Apache Logging Services 公告)
  • NCSC 等公开处置指引
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌