網名館

Apache Log4j 2漏洞是怎麼回事 Apache Log4j 2漏洞怎麼修復

近日Apache Log4j 2出現漏洞導致我的世界盃黑客攻擊,不少玩家都受到了不同程度的影響,而這一切的起因都是因為Apache Log4j 2漏洞。怎麼才能修復Apache Log4j 2漏洞呢?來看看吧!

Apache Log4j 2漏洞是怎麼回事 Apache Log4j 2漏洞怎麼修復

Apache Log4j 2漏洞是怎 麼回事

Apache Log4j是一個基於Java的日誌記錄工具,是Apache軟件基金會下的一個開源項目。而此次出現漏洞的Apache Log4j 2則是目前該項目的最新版本,且被廣泛地應用於各種常見的Web服務中。而所有使用Java作為開發語言產品研發的互聯網服務提供商、甚至公司OA系統等提供外部服務的應用只要用Apache Log4j 2插件,都極有可能遭受攻擊。

據悉,攻擊者僅需向目標輸入一段代碼,不需要用户執行任何多餘操作即可觸發該漏洞,使攻擊者可以遠程控制用户受害者服務器,凡是基於java開發的應用平台都可能會受到影響。目前,IT通信(互聯網)、高校、工業製造、金融、政府、醫療衞生、運營商等幾乎所有行業都受到該漏洞波及,全球知名科技公司、電商網站等也未能倖免,個人用户也難以倖免。

近日,黑客利用最新曝光的Log4j 2漏洞對Minecraft玩家發起攻擊,且攻擊方法極為簡單,聊天窗口發個網址即可觸發該漏洞。攻擊最早發生於12月10日,早期攻擊規模較小,第一天檢測到的受攻擊玩家數量在100左右。12月11日12時起,黑客發起大規模攻擊,從12時開始到目前,平均每小時有近5000個Mincraft玩家遭到攻擊,攻擊最高峯時有超過10000個玩家遭到攻擊。

Apache Log4j 2漏洞是怎麼回事 Apache Log4j 2漏洞怎麼修復 第2張

Apache Log4j 2漏洞怎麼修復

1、項目中直接使用Apache Log4j2

升級Apache Log4j2所有相關應用到最新的log4j-2.15.0-rc2 版本,地址 :

Apache Maven 版本

修改

[AppleScript] 代碼如下:

<dependencies> <dependency> <groupId>4j</groupId> <artifactId>log4j-api</artifactId> <version>2.15.0-rc2</version> </dependency> <dependency> <groupId>4j</groupId> <artifactId>log4j-core</artifactId> <version>2.15.0-rc2</version> </dependency></dependencies>

Gradle 版本

修改le

[AppleScript] 代碼如下:

dependencies { compile group: '4j', name: 'log4j-api', version: '2.15.0-rc2' compile group: '4j', name: 'log4j-core', version: '2.15.0-rc2'}

2、框架次加載 Apache Log4j2

截止目前,第三方框架中使Apache Log4j2的,如srping-boot、Apache Struts2等,暫未發佈最新修復版本。

只能使用臨時方案進行修復。

①在jvm啟動參數中添加atMsgNoLookups=true

②系統環境變量中配置FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS=true

③項目中創建erties文件,文件中增加配置atMsgNoLookups=true

④部署第三方防火牆產品。

Apache Log4j 2漏洞有什麼不好的影響

由於minecraft java版也使用了log4j,這個漏洞甚至可以用來在生存模式下作弊,實測在低版本java(java8u191之前的版本)下可以在minecraft聊天內使用jndi注入,因為minecraft會把聊天輸入內容打在log裏,用的就是log4j,因為命令方塊也可以實現此注入,在有外部程序配合的情況下,可以實現完全看不出任何破綻的作弊

官方啟動器+官方jre玩家不用進行任何操作,雖然正版的log4j版本是存在漏洞的版本,但是因為目前官方啟動器用的jre是基於openjdk16的,openjdk16不能使用jndi注入。

但是還在使用低版本java開服的服主,建議儘快升級log4j和java版本。

Apache Log4j 2漏洞是怎麼回事 Apache Log4j 2漏洞怎麼修復 第3張