CVE-2021-44228 - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CVE-2021-44228

注記

Amazon EMR リリース 6.9.0 以降では、Log4j ライブラリを使用する Amazon EMR によってインストールされたすべてのコンポーネントが Log4j バージョン 2.17.1 以降を使用します。

EC2 で実行されている Amazon EMR

CVE-2021-44228で説明されている問題は、信頼できないソースからの入力を処理する場合の、2.0.0から2.14.1の間のApache Log4jコアバージョンに関連しています。5.34.0 までの Amazon EMR 5.x リリースと Amazon EMR 6.5.0 までの EMR 6.x リリースで起動された Amazon EMR クラスターには、これらのバージョンの Apache Log4j を使用する Apache Hive、Flink、HUDI、Presto、Trino などのオープンソースフレームワークが含まれています。ただし、多くのお客様は Amazon EMR クラスターにインストールされたオープンソースフレームワークを使用して、信頼できないソースからの入力を処理してログに記録しています。

次のセクションで説明するように、「Log4j CVE-2021-44228 用 Amazon EMR ブートストラップアクションソリューション」を適用することをお勧めします。このソリューションはCVE-2021-45046にも対処しています。

注記

Amazon EMR のブートストラップアクションスクリプトが 2022 年 9 月 7 日に更新され、Oozie のバグ修正と改善が追加されました。Oozie を使用する場合は、次のセクションで説明する更新された Amazon EMR ブートストラップアクションソリューションを適用する必要があります。

Amazon EMR on EKS

Amazon EMR on EMR をデフォルト設定で EKS で使用する場合、CVE-2021-44228 で説明されている問題の影響を受けず、Log4j CVE-2021-44228 & CVE-2021-45046 用の Amazon EMR ブートストラップアクションソリューションセクションで説明されているソリューションを適用する必要はありません。EKS 上の Amazon EMR の場合、Spark の Amazon EMR ランタイムは Apache Log4j バージョン 1.2.17 を使用します。EKS で Amazon EMR を使用するときは、log4j.appenderコンポーネントのデフォルト設定をに変更しないでくださいlog

Log4j CVE-2021-44228 & CVE-2021-45046 用の Amazon EMR ブートストラップアクションソリューション

このソリューションでは、Amazon EMR クラスターに適用する必要がある Amazon EMR ブートストラップアクションが提供されます。Amazon EMR の各リリースについて、ブートストラップアクションスクリプトへのリンクが以下にあります。このブートストラップアクションを適用するには、次の手順を完了する必要があります。

  1. Amazon EMR リリースに対応するスクリプトを、のローカル S3 バケットにコピーしますAWS アカウント。Amazon EMR リリース固有のブートストラップスクリプトを使用していることを確認してください。

  2. EMR クラスターのブートストラップアクションを設定して、EMR ドキュメントに記載されている手順に従って S3 バケットにコピーされたスクリプトを実行します。EMR クラスター用に他のブートストラップアクションが設定されている場合は、このスクリプトが実行する最初のブートストラップアクションスクリプトとして設定されていることを確認してください。

  3. 既存の EMR クラスターを終了し、ブートストラップアクションスクリプトを使用して新しいクラスターを起動します。 AWSブートストラップスクリプトをテスト環境でテストし、アプリケーションを検証してから本番環境に適用することをお勧めします。EMR のマイナーリリースに最新リビジョン (6.3.0 など) を使用していない場合は、最新リビジョン (6.3.1 など) を使用してから、上記の解決策を適用する必要があります。

CVE-2021-44228 & CVE-2021-45046-EMR リリース用のブートストラップスクリプト
Amazon EMR リリースバージョン スクリプトの場所 スクリプトリリース日
6.5.0
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-6.5.0-v2.sh
2022 年 3 月 24 日
6.4.0
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-6.4.0-v2.sh
2022 年 3 月 24 日
6.3.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-6.3.1-v2.sh
2022 年 3 月 24 日
6.2.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-6.2.1-v2.sh
2022 年 3 月 24 日
6.1.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-6.1.1-v2.sh
2021 年 12 月 14 日
6.0.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-6.0.1-v2.sh
2021 年 12 月 14 日
5.34.0
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.34.0-v2.sh
2021 年 12 月 12 日
5.33.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.33.1-v2.sh
2021 年 12 月 12 日
5.32.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.32.1-v2.sh
2021 年 12 月 13 日
5.31.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.31.1-v2.sh
2021 年 12 月 13 日
5.30.2
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.30.2-v2.sh
2021 年 12 月 14 日
5.29.0
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.29.0-v2.sh
2021 年 12 月 14 日
5.28.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.28.1-v2.sh
2021 年 12 月 15日
5.27.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.27.1-v2.sh
2021 年 12 月 15日
5.26.0
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.26.0-v2.sh
2021 年 12 月 15日
5.25.0
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.25.0-v2.sh
2021 年 12 月 15日
5.24.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.24.1-v2.sh
2021 年 12 月 15日
5.23.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.23.1-v2.sh
2021 年 12 月 15日
5.22.0
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.22.0-v2.sh
2021 年 12 月 15日
5.21.2
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.21.2-v2.sh
2021 年 12 月 15日
5.20.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.20.1-v2.sh
2021 年 12 月 15日
5.19.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.19.1-v2.sh
2021 年 12 月 15日
5.18.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.18.1-v2.sh
2021 年 12 月 15日
5.17.2
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.17.2-v2.sh
2021 年 12 月 15日
5.16.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.16.1-v2.sh
2021 年 12 月 15日
5.15.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.15.1-v2.sh
2021 年 12 月 15日
5.14.2
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.14.2-v2.sh
2021 年 12 月 15日
5.13.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.13.1-v2.sh
2021 年 12 月 15日
5.12.3
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.12.3-v2.sh
2021 年 12 月 15日
5.11.4
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.11.4-v2.sh
2021 年 12 月 15日
5.10.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.10.1-v2.sh
2021 年 12 月 15日
5.9.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.9.1-v2.sh
2021 年 12 月 15日
5.8.3
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.8.3-v2.sh
2021 年 12 月 15日
5.7.1
s3://elasticmapreduce/bootstrap-actions/log4j/patch-log4j-emr-5.7.1-v2.sh
2021 年 12 月 15日
EMR リリースバージョン 2021年12月現在の最新リビジョン
6.3.0 6.3.1
6.2.0 6.2.1
6.1.0 6.1.1
6.0.0 6.0.1
5.33.0 5.33.1
5.32.0 5.32.1
5.31.0 5.31.1
5.30.0 または 5.30.1 5.30.2
5.28.0 5.28.1
5.27.0 5.27.1
5.24.0 5.24.1
5.23.0 5.23.1
5.21.0 または 5.21.1 5.21.2
5.20.0 5.20.1
5.19.0 5.19.1
5.18.0 5.18.1
5.17.0 または 5.17.1 5.17.2
5.16.0 5.16.1
5.15.0 5.15.1
5.14.0 または 5.14.1 5.14.2
5.13.0 5.13.1
5.12.0、5.12.1、5.12.2 5.12.3
5.11.0、5.11.1、5.11.2、5.11.3 5.11.4
5.9.0 5.9.1
5.8.0、5.8.1、5.8.2 5.8.3
5.7.0 5.7.1

よくある質問

  • EMR 5 よりも古い EMR リリースは CVE-2021-44228 の影響を受けますか

    いいえ。 EMR リリース 5 より前の EMR リリースでは、2.0 より前のバージョンの Log4j が使用されています。

  • このソリューションはCVE-2021-45046に対応していますか?

    はい、このソリューションはCVE-2021-45046にも対処しています。

  • このソリューションでは、EMR クラスターにインストールしたカスタムアプリケーションを処理できますか?

    ブートストラップスクリプトは、EMR によってインストールされた JAR ファイルのみを更新します。ブートストラップアクション、クラスターへのステップ送信、カスタム Amazon Linux AMI の使用、またはその他のメカニズムを通じて、カスタムアプリケーションと JAR ファイルを EMR クラスターにインストールして実行する場合は、アプリケーションベンダーと協力して、カスタムアプリケーションが CVE-2021-44228 の影響を受けるかどうかを判断し、適切な解決策を決定してください。

  • EKS の EMR でカスタマイズした Docker イメージをどのように処理すればよいですか?

    カスタマイズした Docker イメージを使用して Amazon EMR on EMR にカスタムアプリケーションを追加したり、カスタムアプリケーションファイルを使用して EKS 上の Amazon EMR にジョブを送信したりする場合は、アプリケーションベンダーと協力して、カスタムアプリケーションが CVE-2021-44228 の影響を受けるかどうかを判断し、適切な解決策を決定してください。

  • CVE-2021-44228 および CVE-2021-45046 で説明されている問題を軽減するために、ブートストラップスクリプトはどのように機能しますか?

    ブートストラップスクリプトは、新しい命令セットを追加して EMR 起動命令を更新します。これらの新しい命令は、EMR によってインストールされたすべてのオープンソースフレームワークが Log4j JndiLookup を通じて使用していたクラスファイルを削除します。これは、Log4j の問題に対処するために Apache が公開した推奨事項に従っています

  • Log4j バージョン 2.17.1 以降を使用する EMR のアップデートはありますか?

    リリース 5.34 までの EMR 5 リリースとリリース 6.5 までの EMR 6 リリースでは、Log4j の最新バージョンと互換性のない古いバージョンのオープンソースフレームワークが使用されています。これらのリリースを引き続き使用する場合は、ブートストラップアクションを適用して CVE で説明されている問題を軽減することをお勧めします。EMR 5 リリース 5.34 と EMR 6 リリース 6.5 以降、Log4j 1.x と Log4j 2.x を使用するアプリケーションは、それぞれ Log4j 1.2.17 (またはそれ以降) と Log4j 2.17.1 (またはそれ以上) を使用するようにアップグレードされます。CVE の問題を軽減するために上記のブートストラップアクションを使用する必要はありません。

  • EMR リリースはCVE-2021-45105 の影響を受けますか?

    Amazon EMR が EMR のデフォルト設定でインストールしたアプリケーションは、CVE-2021-45105 の影響を受けません。Amazon EMR によってインストールされるアプリケーションのうち、Apache Hive のみがコンテキスト検索で Apache Log4j を使用し、不適切な入力データを処理するようなデフォルト以外のパターンレイアウトは使用しません。

  • Amazon EMR は、以下の CVE 開示のいずれかの影響を受けますか?

    次の表には、Log4j に関連する CVE のリストと、各 CVE が Amazon EMR に影響するかどうかが記載されています。この表の情報は、Amazon EMR がデフォルト設定を使用してアプリケーションをインストールする場合にのみ適用されます。

    CVE EMR への影響 メモ
    CVE-2022-23302 いいえ Amazon EMR は Log4j JMSSink をセットアップしません
    CVE-2022-23305 いいえ Amazon EMR は Log4j JDBC ペンダーをセットアップしません
    CVE-2022-23307 いいえ Amazon EMR は Log4j チェーンソーをセットアップしません
    CVE-2020-9493 いいえ Amazon EMR は Log4j チェーンソーをセットアップしません
    CVE-2021-44832 いいえ Amazon EMR は Log4j JDBCApender を JNDI 接続文字列でセットアップしません
    CVE-2021-4104 いいえ Amazon EMR は Log4j JMSAndEMR は使っていません
    CVE-2020-9488 いいえ Amazon EMR によってインストールされるアプリケーションは、Log4j SMTPAppender を使用しません。
    CVE-2019-17571 いいえ Amazon EMR はクラスターへのパブリックアクセスをブロックし、起動しません SocketServer
    CVE-2019-17531 いいえ Amazon EMR リリース最新の Amazon EMR リリースバージョンにアップグレードすることをお勧めします。Amazon EMR 5.33.0 以降では jackson-databind 2.6.7.4 以降が使用され、EMR 6.1.0 以降では jackson-databind 2.10.0 以降が使用されます。これらのバージョンの jackson-databind は CVE の影響を受けません。