Apache Log4j 2.15.0 已發佈,DolphinScheduler 受漏洞影響較小

近期,Apache 開源日誌框架 Log4j2 被曝嚴重漏洞。經技術人員排查,Apache DolphinScheduler 1.3.1-1.3.9 版本所依賴的組件中包含 log4j-core-2.11.2.jar,因此會受到一定程度影響,但 2.0 以及以上版本不會受到影響。

目前 Apache Log4j 2.15.0 正式版已發佈,安全漏洞 CVE-2021-44228 已得到解決。

Log4j 2 漏洞是什麼

據 Apache 軟件基金會 Logging Services 的 PMC 成員 Volkan Yazıcı 迴應,本次的漏洞來自於一箇舊功能,但爲了保持向後兼容性,就沒有移除。這個舊功能就是 Log4j2 的 lookup 功能,該功能允許開發者通過一些協議讀取相應環境中的配置,但在實現的過程中,並未對輸入進行嚴格的判斷,當日志打印時,如果內容中包含特殊字符 ${,裏面包含的內容可以被當做變量來進行替換,導致攻擊者可以執行任意命令,從而導致漏洞發生。

**詳細漏洞披露可查看:**https://issues.apache.org/jira/projects/LOG4J2/issues/LOG4J2-3201?filter=allissues

此漏洞是 2021 年最嚴重的安全事件之一,受影響的組件衆多,包括 Spring-Boot-strater-log4j2、Apache Struts2、Apache Solr、Apache Druid、Apache Flink、ElasticSearch、Flume、Dubbo、Jedis、Logstash、Kafka 等大型 web 業務必備組件,CVSS 對該漏洞評分爲 10(最高級)。

DolphinScheduler 1.3.1-1.3.9 受影響

經排查,DolphinScheduler 1.3.1-1.3.9 版本所依賴的組件中包含 log4j-core-2.11.2.jar,因此會受到一定程度影響。但 2.0.1 以及以上版本中未使用 log4j-core-2.11.2.jar,因此不會受到影響。

解決方案

針對此次漏洞,目前 Apache Log4j 2.15.0 正式版已發佈,安全漏洞 CVE-2021-44228 已得到解決。

官方鏈接:https://logging.apache.org/log4j/2.x/download.html

但由於直接升級到 2.15.0 正式版可能會對企業業務造成影響,因此低於那些無法升級到 2.15.0 或者設置 log4j2.formatMsgNoLookups=true system 的用戶,Apache 軟件基金會 Logging Services PMC 成員 Volkan Yazıcı 建議可以刪除 JndiLookup.class: `zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class,詳細操作可參考 https://logging.apache.org/log4j/2.x/security.html。

“微步在線研究響應中心”也給出了一些應急方案,DolphinScheduler 1.3.1-1.3.9 版本的用戶也可以使用此方法作爲臨時解決方案。

  1. 緊急緩解措施

修改 jvm 參數 -Dlog4j2.formatMsgNoLookups=true

修改配置 log4j2.formatMsgNoLookups=True

將系統環境變量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 設置爲 true

  1. 檢測方案

由於攻擊者在攻擊過程中可能使用 DNSLog 進行漏洞探測,建議企業可以通過流量監測設備監控是否有相關 DNSLog 域名的請求,微步在線的 OneDNS 也已經識別主流 DNSLog 域名並支持攔截。

根據目前微步在線對於此類漏洞的研究積累,建議企業可以通過監測相關流量或者日誌中是否存在“jndi:ldap://”、“jndi:rmi”等字符來發現可能的攻擊行爲。

  1. 修復方案

檢查所有使用了 Log4j 組件的系統,官方修復鏈接如下: https://github.com/apache/logging-log4j2/releases/tag/rel%2F2.15.0

風險提示

因爲此漏洞存在風險較大,升級受 Log4j 2 影響的相關應用可能會導致業務中斷,升級成本較高,且依賴項升級過程中存在不兼容的風險,提醒用戶謹慎升級。

此外,此漏洞的影響可能將持續較長時間,建議企業加強安全建設,防範安全事件發生。

參與貢獻

隨着國內開源的迅猛崛起,Apache DolphinScheduler 社區迎來蓬勃發展,爲了做更好用、易用的調度,真誠歡迎熱愛開源的夥伴加入到開源社區中來,爲中國開源崛起獻上一份自己的力量,讓本土開源走向全球。

參與 DolphinScheduler 社區有非常多的參與貢獻的方式,包括文檔、翻譯、答疑、測試、代碼貢獻等。

貢獻第一個PR(文檔、代碼) 我們也希望是簡單的,第一個PR用於熟悉提交的流程和社區協作以及感受社區的友好度。

來吧,DolphinScheduler開源社區需要您的參與,爲中國開源崛起添磚加瓦吧,哪怕只是小小的一塊瓦,匯聚起來的力量也是巨大的。

參與開源可以近距離與各路高手切磋,迅速提升自己的技能,如果您想參與貢獻,我們有個貢獻者種子孵化羣,可以添加社區小助手

微信(Leonard-ds) 手把手教會您( 貢獻者不分水平高低,有問必答,關鍵是有一顆願意貢獻的心 )。添加小助手微信時請說明想參與貢獻。

來吧,開源社區非常期待您的參與。

Apache DolphinScheduler 是一個分佈式、易擴展並帶有強大可視化界面的大數據工作流調度平臺。已在 400+ 家公司的生產環境上穩定運行。 公衆號

社區官網

https://dolphinscheduler.apache.org/

代碼倉地址https://github.com/apache/dolphinscheduler

您的 Star,是 Apache DolphinScheduler 爲愛發電的動力❤️ ~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章