Log4j 漏洞處置方案匯總
#Log4j2 (CVE-2021-44228/CVE-2021-45046/CVE-2021-45105)
安全建議
1骚露、排查應(yīng)用是否引入了Apache log4j-core Jar包,若存在依賴引入宣鄙,且在受影響版本范圍內(nèi)番电,則可能存在漏洞影響岗屏。請(qǐng)盡快升級(jí)Apache Log4j2所有相關(guān)應(yīng)用到安全 log4j-2.17.0 及其以上版本辆琅,地址https://logging.apache.org/log4j/2.x/download.html。
2这刷、對(duì)于 Java 8及其以上用戶婉烟,建議升級(jí)Apache Log4j2 至2.17.0 版本。
3暇屋、對(duì)于 Java 7 用戶似袁,建議升級(jí)至 Apache Log4j 2.12.3 版本,該版本為安全版本咐刨,用于解決兼容性問題昙衅。
4、對(duì)于其余暫時(shí)無法升級(jí)版本的用戶定鸟,建議刪除JndiLookup而涉,可用以下命令
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
5、升級(jí)已知受影響的應(yīng)用及組件仔粥,如 spring-boot-starter-log4j2/Apache Struts2/Apache
Solr/Apache Druid/Apache Flink
6婴谱、其余臨時(shí)緩解方案可參見 緩解方案。目前已有安全版本躯泰,強(qiáng)烈建議不要采用臨時(shí)緩解方案進(jìn)行防御谭羔。
7、防止升級(jí)過程出現(xiàn)意外麦向,建議相關(guān)用戶在備份數(shù)據(jù)后再進(jìn)行操作瘟裸。
不受影響版本
Apache Log4j 2.17.0-rc1
Apache Log4j 2.17.0穩(wěn)定版
Apache Log4j 2.12.3-rc1(支持Java 7)
Apache Log4j 2.12.3穩(wěn)定版(支持Java 7)
Log4j2相關(guān)鏈接
1、https://logging.apache.org/log4j/2.x/security.html
2诵竭、https://github.com/advisories/GHSA-jfh8-c2jp-5v3q CVE-2021-44228
3话告、https://github.com/advisories/GHSA-7rjr-3q55-vv33 CVE-2021-45046
4、https://github.com/advisories/GHSA-p6xc-xr62-6r2g CVE-2021-45105
log4j (CVE-2021-4104)
Apache Log4j 1.2版本在特定配置時(shí)存在JMSAppender 反序列化代碼執(zhí)行漏洞(CVE-2021-4104)卵慰,當(dāng)攻擊者具有修改 Log4j 配置的權(quán)限時(shí)沙郭,JMSAppender 容易受到不可信數(shù)據(jù)的反序列化,攻擊者可以使用特定配置利用 JMSAppender 執(zhí)行 JNDI 請(qǐng)求裳朋,從而造成遠(yuǎn)程代碼執(zhí)行病线。
安全建議
1、Apache Log4j 1.2 已于2015年8月終止鲤嫡。升級(jí)到Log4j2送挑,因?yàn)樗鉀Q了以前版本中的許多其他問題。
2暖眼、防止升級(jí)過程出現(xiàn)意外惕耕,建議相關(guān)用戶在備份數(shù)據(jù)后再進(jìn)行操作。
緩解措施:
1)注釋掉或刪除 Log4j 配置中的 JMSAppender诫肠。
2)使用下列命令司澎,從log4j jar包中刪除 JMSAppender 類文件:
3)限制系統(tǒng)用戶對(duì)應(yīng)用程序平臺(tái)的訪問欺缘,以防止攻擊者修改 Log4j 配置。
zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class
log4j相關(guān)鏈接
1惭缰、https://www.mail-archive.com/announce@apache.org/msg06936.html CVE-2021-4104
攻擊排查方法
1浪南、攻擊者在利用前通常采用dnslog方式進(jìn)行掃描、探測(cè)漱受,常見的漏洞利用方式可通過應(yīng)用系統(tǒng)報(bào)錯(cuò)日
志中的"javax.naming.CommunicationException"、"javax.naming.NamingException: problem
generating object using object factory"骡送、"Error looking up JNDI
resource"昂羡、"StackOverflowError"關(guān)鍵字進(jìn)行排查。
2摔踱、攻擊者發(fā)送的數(shù)據(jù)包中可能存在"${jndi:}" 虐先、"$${ctx:}"字樣。
已知受影響應(yīng)用及組件
VMware大部分產(chǎn)品
Jedis
Logging
Logstash
HikariCP
Hadoop Hive
ElasticSearch
Apache Solr
Apache Struts2
Apache Flink
Apache Druid
Apache Log4j SLF4J Binding
spring-boot-strater-log4j2
Camel :: Core
JBoss Logging 3
JUnit Vintage Engine
WSO2 Carbon Kernel Core
用log4j的組件可參考如下鏈接:
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/usages?p=1