CVE-2021-44228 を軽減するためのアプローチ - Amazon EMR

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

CVE-2021-44228 を軽減するためのアプローチ

注記

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

EC2 で実行されているアマゾン 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

を使用する場合EKS のアマゾン EMRデフォルトの設定では、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 クラスターのブートストラップアクションを設定し、S3 バケットにコピーされたスクリプトを、で説明されている手順に従って実行します。EMR ドキュメント。EMR クラスターに他のブートストラップアクションが設定されている場合は、このスクリプトが最初に実行するブートストラップアクションスクリプトとして設定されていることを確認してください。

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

CVE-2021-44228 & CVE-2021-45046-EMR リリース用のブートストラップスクリプト
アマゾン 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 の影響を受けるかどうかを判断し、適切な解決策を決定してください。

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

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

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

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

  • 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 の影響を受けますか?

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

  • 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 JDBCApender をセットアップしません
    CVE-2022-23307 いいえ Amazon EMR は Log4j チェーンソーをセットアップしません。
    CVE-2020-9493 いいえ アマゾン EMR は Log4j チェーンソーをセットアップしません
    CVE-2021-44832 いいえ Amazon EMR は JNDI 接続文字列を使用して Log4j JDBCappender をセットアップしません
    CVE-2021-4104 いいえ Amazon EMR は Log4j JMSAppender を使用しません。
    CVE-2020-948 いいえ Amazon EMR によってインストールされるアプリケーションは Log4j SMTPAppender を使用しません。
    CVE-2019-17571 いいえ Amazon EMR はクラスターへのパブリックアクセスをブロックし、起動しません。 SocketServer
    CVE-2019-17531 いいえ Amazon EMR の最新リリースバージョンにアップグレードすることをお勧めします。Amazon EMR 5.33.0 以降はジャクソンデータバインド 2.6.7.4 以降を使用し、EMR 6.1.0 以降はジャクソンデータバインド 2.10.0 以降を使用します。これらのバージョンの jackson-databind は CVE の影響を受けません。