
Log4Shell セキュリティ脆弱性 CVE-2021-44228 の対策
詳細はこのYouTube動画をご覧ください。
これは、log4j2 に見られる CVE-2021-44228 セキュリティ脆弱性(別名 Log4Shell および LogJam)の緩和策についての簡単な投稿です。
すべての情報および付随するコードサンプルと例は、教育および情報提供のみを目的として、ご自身のシステム上での使用を前提としています。
慎重に進め、自己責任で行ってください。
これは、人気のあるJavaロギングフレームワーク log4j2 の特定のバージョンに存在する、RCE(リモートコード実行)の形をとったゼロデイエクスプロイトです。
Common Vulnerability Scoring System (CVSS) スケールで10点満点中10点と評価されています。
この脆弱性は、2021年11月24日にAlibaba CloudのセキュリティチームによってApacheに報告され、Alibaba Cloud Security TeamのChen Zhaojunによって発見されました。
その後、2021年12月9日にlog4jプロジェクトのGitHubを介して公開開示されました。
ロギングライブラリを使用する実行中のアプリケーションは、リモートからサニタイズされていないユーザー指定の入力を使用すると、脆弱になります。
アプリケーションがユーザー提供の文字列でログイベントを処理すると、脆弱なシステムは攻撃者が制御するドメインから悪意のあるコードをダウンロードして実行し、事実上その脆弱なアプリケーションを乗っ取る可能性があります。
この脆弱性は、以下の2つの依存関係を導入している場合、Apache Log4j 2 バージョン 2.0-beta9 から 2.14.1 に影響します。
log4j のバージョン1には存在しません。
JDK バージョン 6u211、7u201、8u191、11.0.1 より新しいバージョンは、LDAP 攻撃ベクトルの影響を受けません。
なぜそうなるのか?それは、これらのJDKバージョンでは、プロパティ com.sun.jndi.ldap.object.trustURLCodebase が false に設定されているためです。
その結果、JNDIはLDAPを使用してリモートコードをロードできません。
Apache Software Foundation の人気プロジェクト、例えば:
ASF以外の他のオープンソースプロジェクト(Redis、ElasticSearch、Logstashなど)も影響を受ける可能性があります。
影響を受けるバージョンを使用している場合は、すぐに log4j v2.15 の log4j-core および log4j-api 依存関係にアップグレードしてください。
log4j v2.10 以上を使用しており、すぐにアップグレードできない場合は、次のシステムプロパティを変更してください:
log4j2.formatMsgNoLookups=true
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
このコマンドは、影響を受けるバージョンの log4j-core*.jar ファイルからそのクラスを削除します。
追加のアップデートをお待ちください。
ご質問があれば、お気軽にお問い合わせください。
ありがとうございます