Log4j安全漏洞修復(fù)策略
Log4j?暴露了一個嚴重的安全漏洞。據(jù)評,此次漏洞的影響范圍挺大。同時,阿里云也檢測到了通過該漏洞服務(wù)器被攻擊的事實。但由于本人剛剛晉升奶爸,一天還是挺忙的,O(∩_∩)O哈哈~這會剛好抽時間簡單寫一下如何應(yīng)對該漏洞。漏洞描述
Apache Log4j2 <=2.14.1 在配置、日志消息和參數(shù)中使用的 JNDI 功能不能防止攻擊者控制的 LDAP 和其他 JNDI 相關(guān)端點。當啟用消息查找替換時,可以控制日志消息或日志消息參數(shù)的攻擊者可以執(zhí)行從 LDAP 服務(wù)器加載的任意代碼。從 log4j 2.15.0 開始,默認情況下已禁用此行為。Apache Log4j2 <=2.14.1 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default.
漏洞復(fù)現(xiàn)
以下是在 Bilibili 上看到的講解,講的很明白了。偷個懶,引用一下。原站點地址:https://www.bilibili.com/video/BV1FL411E7g3/由于本人擔心將B站視頻搬到這里后會引起某些誤會,大家可以自行去以上地址觀看視頻?;蛘唿c擊本文章左下角的閱讀原文查看。另外,建議通過 https://www.jeremysong.cn/cn/CVE-2021-44228/?個人博客閱讀本篇文章以獲得最佳閱讀體驗。修復(fù)方案
一般方案
由于 Log4j 已經(jīng)發(fā)布新版本 2.15.0 修復(fù)了此問題。因此,通用方案就是升級 Log4j 到 2.15.0 及以上版本即可。無法升級2.15.0版本
2.10及以上版本
在?>=2.10?的版本中,可以通過將系統(tǒng)屬性?log4j2.formatMsgNoLookups?或環(huán)境變量?LOG4J_FORMAT_MSG_NO_LOOKUPS?設(shè)置為?true?來此規(guī)避漏洞
2.0-beta9到2.10版本
規(guī)避措施簡單粗暴,是從類路徑中刪除?JndiLookup?類:
zip?-q?-d?log4j-core-*.jar?org/apache/logging/log4j/core/lookup/JndiLookup.class參考
?CVE-2021-44228 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228)?CVE-2021-44228 Detail (https://nvd.nist.gov/vuln/detail/CVE-2021-44228)?Apache Log4j 2 (https://logging.apache.org/log4j/2.x/index.html)
歡迎關(guān)注我的公眾號“須彌零一”,更多技術(shù)文章第一時間推送。
