概要
Azure DevOps Serverにおけるlog4j脆弱性の影響について記載します。
公式ブログによれば、次の通りです。
- Azure DevOps(クラウドサービス)は影響を受けない
- Azure DevOps Server(オンプレミス版)では次の場合に限り対策が必要
- バージョンが、2018、2019、2020
- 検索機能を構成している(ブラウザからの検索機能)
- 検索機能を構成した際に利用するElasticSearchが脆弱性の影響を受ける
- 手動での対策を行う。手動での対策を簡素化するためのパッチの生成を検討している
- 追加情報は、公式ブログに記載される
対策
- Java VMを最新にアップグレード
- JndiLookupをjarファイルから削除する
詳細
公式ブログよりリンクされた次のサイトを参考に実施する。
補足1
- Azure DevOps Server 2020で別サーバーに構成した場合は、手順で移動するElastic Searchのインストール先は別の場所
C:\ES\elasticsearchv6.2\lib
でした。
cd "C:\ES\elasticsearchv6.2\lib"
..\bin\elasticsearch-service stop
"c:\Program Files\7-Zip\7z.exe" d log4j-core-2.9.1.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
..\bin\elasticsearch-service start
補足2
- Elastic Searchを停止後、7zによるJndiLookupをjarファイルから削除を実施してもエラーが表示されることがありました。3回試行後、7zが作成していたtmpファイル3個を一度削除し、再度「7zによるJndiLookupのjarファイルからの削除」を実施すると正常に終了しました。
Updating archive log4j-core-2.9.1.jar
Error:
7-Zip cannot delete the file
log4j-core-2.9.1.jar
プロセスはファイルにアクセスできません。別のプロセスが使用中です。
対策を実施した環境
- Azure DevOps Server 2020.0.1 + Patch 1