【Log4j 脆弱性続報】よくある質問と対策方法
2021.12.27
2021年12月24日初版
2021年12月28日更新
SI センター 中山 雅哉
Apache Log4j で任意のコード実行ができる脆弱性 (CVE-2021-44228) に関する注意喚起が、2021年12月11日頃から公開されるようになってきました。
UTokyo-CERT からも注意喚起 (https://cert.u-tokyo.ac.jp/news/advisory/20211211.html) を発出するとともに、JPCERT/CC からの注意喚起を再掲する形 (https://cert.u-tokyo.ac.jp/news/sec-info/2021/211211-1.html) で学内周知を行っています。
この文書は、以下のような問い合わせに関して、各種の情報源から得られた情報を記載したものです。対策の参考になれば幸いです。
Q1. どのような 利用をしている場合に、注意すべきなの?
A1. 「Java で書かれた Web アプリケーションが動作する環境」が対象となりますが、Log4j は、各種のソフトウェア製品、ハードウェア製品に組み込まれている場合があるため、ベンダーからの情報を確認していただくのが安全です。
例1:ネットワークハードディスクやプリンタ、実験機材の管理に Java を利用
例2:Palo Alto Networks 社 PAN-OS for Panorama 9.0.*, 9.1.*, 10.0.* は対象です
https://security.paloaltonetworks.com/CVE-2021-44228
例3:Apache Axis2, Apache Struts 2, Apache Solr は、Java のアプリケーションサーバとして動作しています
例4:VMware vCenter Server 等が脆弱性の影響を受けます
[参考情報]
- SIDfm ブログ
https://www.softek.co.jp/SID/blog/archive/entry/20211215.html - BlueTeam CheastSheet *Log4Shell*
https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592 - Log4j overview related software
https://github.com/NCSC-NL/log4shell/tree/main/software - CISA Log4j (CVE-2021-44228) Vulnerability Guidance
https://github.com/cisagov/log4j-affected-db
Q2. Web サーバで、Log4j がインストールされているか知る方法は?
A2. Web サーバで、log4j-core.jar や、log4j-core-*.jar ファイルがおかれていないかを確認するのが一つの方法です。
例1: Linux (RHEL, Fedora, openSUSE) のパッケージを調査
$ rpm -qa | grep log4j
例2: Linux で以下のコマンドで調査
$ locate log4j
や
# find / -iname “*.jar” | grep log4j
など
Q3. インストールされている Log4j のバージョンの調べ方は?
A3. jar ファイル名に、バージョンが書かれていることで調べる方法があります。それ以外には、以下の URL などを参考にして、jar ファイルをコピーして zip ファイルとして解凍し、MANIFEST.FM を調べる方法があります。
https://a-zs.net/apache-log4j_version_check/
Q4. 脆弱性のあるバージョンの場合、どの様な対策を行う必要がある?
A4. The Apache Software Foundation から、Apache Log4j のバージョン2.17.0 及び 2.12.2 が公開されたようですので、それらへのアップデートが推奨されています。
ベンダー等が運用している場合は、保守依頼をしてください。
アップデートが困難な場合は、JndiLookup クラスをクラスパスから削除するという回避策も提案されています。
# zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
JVNVU#96768815 (https://jvn.jp/vu/JVNVU96768815/) には、Log4j 1.x 系は、Lookup 機能が含まれておらず影響を受けないとされていますが、Red Hat Customer Portal (https://access.redhat.com/security/cve/CVE-2021-4104) では、JMSAppener.class をクラスパスから削除する回避策が記載されています。
# zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class
回避策をとることもできない場合はサービスを停止してください。
[参考情報]
- Apache
https://logging.apache.org/log4j/2.x/security.html - JPCERT/CC
https://www.jpcert.or.jp/at/2021/at210050.html - IPA
https://www.ipa.go.jp/security/ciadr/vul/alert20211213.html - 警察庁
https://www.npa.go.jp/cyberpolice/important/2021/202112141.html - Log4Shell: RCE 0-day exploit found in log4j2, a popular Java logging package
https://www.lunasec.io/docs/blog/log4j-zero-day/ -
- log4j RCE Exploitation Detection
https://gist.github.com/Neo23x0/e4c8b03ff8cdf1fa63b7d15db6e3860b - GreyNoise Log4Shell Payloads
https://gist.github.com/nathanqthai/01808c569903f41a52e7e7b575caa890