log4j2漏洞原理及修复方案

近期披露的Apache Log4j2 远程代码执行漏洞,漏洞利用方法已在网上公开,该漏洞影响范围极广。

主要原理是利用log4j2的日志输出jndi远程对象时,调用远程对象没做检查导致。

 当用户浏览器注入变量 

后台应用程序对变量做了日志输出就会发生远程对象的调用,远程对象又没有经过检查,直接在我们的应用程序中运行。

 防护方法

1、目前官方已发布Apache Log4j 2.15.1-rc2(测试版)及Apache Log4j 2.15.0(稳定版)修复该漏洞,建议受影响用户可将Apache Log4j所有相关应用到以上版本,下载链接:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.1-rc2或https://logging.apache.org/log4j/2.x/download.html

官方版本修复的原理是添加可访问jndi服务器地址列表,控制jndi的访问。

2 临时防护措施
若相关用户暂时无法进行升级操作,可先用下列措施进行临时缓解:
1、添加jvm参数启动:-Dlog4j2.formatMsgNoLookups=true
2、在应用的classpath下添加log4j2.component.properties配置文件,文件内容为:log4j2.formatMsgNoLookups=true
请各组安排人员对受影响的系统进行评估并及时修复该漏洞。如果不能升级Apache Log4j2,可采用临时防护措施缓解此漏洞带来的影响。请各组及时反馈漏洞修复结果。

3、设置系统环境变量 LOG4J_FORMAT_MSG_NO_LOOKUPS=true
注:当且仅当Apache Log4j >= 2.10版本时,可使用1、2、3的任一措施进行防护。
4、使用下列命令,移除log4j-core包中的JndiLookup 类文件:
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
5、采用人工方式禁用JNDI,例:在spring.properties里添加spring.jndi.ignore=true
6、建议使用JDK在11.0.1、8u191、7u201、6u211及以上的高版本,可在一定程度防止RCE。
7、限制受影响应用对外访问互联网,并在边界对dnslog相关域名访问进行检测。

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
log4j2漏洞是指Apache Log4j2框架中存在的一个安全漏洞,该漏洞被称为"Log4Shell"或"CVE-2021-44228"。该漏洞原理是由于log4j2框架在处理日志消息时,会自动解析并执行包含特定JNDI注入代码的日志消息。这意味着攻击者可以通过构造恶意的日志消息,利用JNDI注入来执行任意的远程命令。具体来说,攻击者可以在日志消息中使用JNDI注入表达式,通过远程JNDI服务器加载恶意的类或执行任意的命令。 这个漏洞的危害非常严重,攻击者可以通过发送恶意的日志消息来远程执行任意代码,可能导致服务器被完全控制,数据泄露,或者其他恶意行为。该漏洞已经被广泛利用,并且已经影响了许多应用程序和系统。 需要注意的是,log4j2漏洞只存在于使用了受影响版本的log4j2框架的应用程序中。为了解决这个漏洞,建议开发人员升级到log4j2安全版本,并采取其他安全措施,如配置安全策略、限制日志消息的内容等,以减少潜在的风险。 #### 引用[.reference_title] - *1* *3* [log4j2漏洞原理漏洞环境搭建复现](https://blog.csdn.net/dreamthe/article/details/123230283)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [一文读懂面试官都在问的Log4J2漏洞](https://blog.csdn.net/YangYubo091699/article/details/130087573)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值