log4jの脆弱性CVE-2021-44228 について
Apache Log4j は、Apache Software Foundation がオープンソースで提供している Java ベースのロギングライブラリです。この Apache Log4j において、遠隔の第三者が細工したデータを送る事で、任意のコマンドを実行される可能性があります。
脆弱性の詳細は、次のリンクをご参照ください。(外部リンク)
Apache Log4j の脆弱性対策について(CVE-2021-44228)
影響の範囲
本脆弱性に関して、現在サポート中のSBMは影響を受ける可能性があります。
ライブラリの調査方法
回避方法
log4jのライブラリの中から、脆弱性のあるクラスファイルを削除します。
バージョンの確認
バージョン 1.x.x の log4j jar ライブラリ、およびバージョン 2.15.0 以上の log4j-core jar ライブラリは、本脆弱性の対象外です。
作業中、jarファイルの名前に含まれるバージョン番号が1.x.xの場合、あるいは2.15.0以降の場合は作業は必要ありません。
SBMサーバーのPC
- SBM Configuratorを起動し、サービスの管理から、SBM Tomcat サービスを停止します。
- ファイルエクスプローラを開き、以下のディレクトリに移動します。
[SBMのインストールフォルダ]\Common\tomcat\lib
デフォルトの場所は C:\Program Files\Micro Focus\SBM\Common\tomcat\lib です。
- このフォルダにある、log4j-core-2.xx.x.jar ファイルを検索し、デスクトップなど、SBMのインストールディレクトリではない場所に移動します。
脆弱性があるファイルですので、バックアップを取ったり、元のディレクトリに残さないよう、コピーではなく移動を行ってください。移動が終わったらファイル名の拡張子を jarからzipに変更します。
- 移動先のファイルをダブルクリックします。エクスプローラーが圧縮ファイルをオープンします。
フォルダ階層を org/apache/logging/log4j/core/lookupと辿り、JndiLookup.class を探します。
- JndiLookup.classファイルを選択し、DELETE キーや[右クリック]>[削除]で削除します。「このファイルを完全に削除しますか?」というダイアログが表示された場合、[はい]をクリックします。
削除が終わったら、右上の[X]ボタンで圧縮フォルダを閉じます。
- 保存した zipファイルの拡張子を jarに戻し、[SBMのインストールフォルダ]\Common\tomcat\lib にコピーします。
- エクスプローラーで、[SBMのインストールフォルダ]\Common\tomcat\server\defaultフォルダを開きます。
tempフォルダの内容と、workフォルダの内容を削除します。(フォルダごと削除しても構いません)
- SBM Configuratorを起動し、サービスの管理から、SBM Tomcat サービスを開始します。
- SBMが起動したら、[SBMのインストールフォルダ]\Common\tomcat\server\default\logsフォルダ内の console.log、server.log、およびtomcat.logを開き、エラーが発生していないかを確認します。
この手順は、すべてのSBMサーバーにおいて必要です。クライアント(SBM Composerのみがインストールされた環境)では必要ありませんが、念のため、この手順で脆弱性のあるlog4jライブラリが存在しないかの確認をお勧めします。