(翻訳) 続報版 - Apache Log4j2 の脆弱性 "CVE-2021-44228" に関する AWS からのアナウンス

記事タイトルとURLをコピーする

注) 本記事は、以下の記事で紹介した Log4j2 の脆弱性に関する AWS からのアナウンスの更新版にあたります。

blog.serverworks.co.jp

Apache Log4j2 を使用した環境で、特定条件下において任意コードが実行可能となる脆弱性が発見された件について、 AWS からの最新情報の発表がありました。

aws.amazon.com

AWS サービス固有のインパクトに関して説明されています。上記の記事の内容を、2021/12/15 (Wed) 10:45 JST 時点で確認した最新版 (V3) に基づき翻訳しました。

はじめに

CVE そのものに関する情報については National vulnerability Database や Red Hat 社などが出しているアナウンスをご参考ください。

nvd.nist.gov

access.redhat.com

Red Hat 社の Customer Portal では Mitigation(緩和策)の記述があります。今回の CVE の影響可能性がある環境をセルフホスティングで運用している方は、こちらの情報もご参考いただくと良いと思います。

免責;

"※" で始まる但し書きの箇所は訳者による注釈であり、原文に準拠するものではありません。予めご了承ください。

この翻訳記事の内容は 2021/12/15 (Wed) 10:45 JST 時点で確認した内容であることをご了承ください。

本記事は速報記事であり、内容の正確性を完全に保証するものではありません。最新の正確な情報に関しては、参照元となった原文記事をご参照ください。

序文

[V3] Last Updated Date: 2021/12/14 2:45 PM PST

Apache Log4j2 のセキュリティ問題 "CVE-2021-44228" について、AWS は認識しています。今回のような問題への対応は、お客様のデータとワークロードを維持するために多層の防御技術を持つことの価値を示しています。私たちはこの問題をとても深刻に受け止めており、ワールドクラスのエンジニアチームが 24 時間体制で対応と修復に取り組んでいます。私たちは、深層保護の完全な状態を迅速に回復することを期待しています。

私たちは、お客様に対し、以下の2点を引き続きおすすめします。

  • 今回のような既知の問題に対するパッチを適用することで、アプリケーション・サービスを更新するための対策を講じること
  • (私たちの)よく練られたガイダンスに従うこと

サービス別の情報を以下に示します。さらに詳しい情報やサポートが必要な場合は、AWSサポートまでお問い合わせください。

Amazon API Gateway

2021年12月13日現在、すべての Amazon API Gateway ホストに Log4j の問題 (CVE-2021-44228) を軽減するためのパッチが適用されています。

Amazon CloudFront

Amazon CloudFront は、CVE-2021-44228で特定された問題を緩和するためにアップデートが適用されています。

弊社の POP(※) で稼働しているCloudFront のリクエストハンドリングサービスは、Javaで書かれていないためこの問題の影響を受けません。

※ POP とは Points of Presence の略称です。POP という単語自体は AWS の固有名詞ではなく、ユーザーから見た最寄りの接続点を表す IT 用語です。CloudFront における POP は 公式サイト にて以下のように言及されています。

エンドユーザーにコンテンツをより低いレイテンシーで届けるため、Amazon CloudFront では、47 か国 90 以上の都市にある 310 以上の POP (Point Of Presence) (300 以上のエッジロケーションと 13 のリージョン別中間層キャッシュ) からなる、グローバルなネットワークを使用しています。Amazon CloudFront エッジロケーションが設置されている国と都市は、以下のとおりです。

特徴 - Amazon CloudFront | AWS

Amazon Connect

Amazon Connect は、CVE-2021-44228 で特定された問題を軽減するために更新されています。

Amazon DynamoDB

Amazon DynamoDB および Amazon DynamoDB Accelerator (DAX) は、CVE-2021-44228 で特定された問題を軽減するために更新されています。

Amazon EC2

Amazon Linux 1 とAmazon Linux 2 のリポジトリで利用可能な Log4j のバージョンは、CVE-2021-44228 の影響を受けません。

Amazon Linux のセキュリティ関連のソフトウェアアップデートに関する詳細情報は、Amazon Linux Security Center で入手できます。

Amazon ElastiCache

Amazon ElastiCache の Redis エンジンは、そのランタイムあるいはベースコンテナイメージに Log4j2 を含みません。

Amazon ElastiCache は、2021年12月12日に Apache Log4j2 の問題 (CVE-2021-44228) に関するパッチを完了しています。

Amazon EMR

CVE-2021-44228 は、信頼できないソースからの入力を処理する際、Log4j2 2.0 〜 2.14.1 に影響を及ぼします。

EMR 5 または EMR 6 リリースで起動した EMR クラスターは、 Apache Hive, Link, HUDI, Presto, Trino などのオープンソースフレームワークを含んでおり、これらのバージョンは Apache Log4j を使用しています。EMR のデフォルト構成でクラスタを起動した場合、信頼できないソースからの入力は処理されません

私たちは、お客様の EMR クラスタにインストールされたオープンソースのフレームワークが信頼できないソースからの入力を処理する場合の ( CVE-2021-44228 の問題についての) 緩和策の構築に積極的に取り組んでいます。

AWS IoT SiteWise Edge

Log4j を使用する全ての AWS IoT SiteWise Edge コンポーネントのアップデートが 2021/12/13 にデプロイ可能になりました。コンポーネントは以下の通りです。

  • OPC-UA collector (v2.0.3)
  • Data processing pack (v2.0.14)
  • Publisher (v2.0.2)

AWS は、これらのコンポーネントを利用しているお客様に対して、最新バージョンのコンポーネントを SiteWise Edge ゲートウェイにデプロイすることをお勧めします。

Amazon Keyspaces (for Apache Cassandra)

Amazon Keyspaces (for Apache Cassandra) は、CVE-2021-44228 で特定された問題を軽減するために更新されました。

Amazon Kinesis Data Analytics

Amazon Kinesis Data Analytics でサポートされている Apache Flink のバージョンには、Apache Log4j のバージョン 2.0 〜 2.14.1 が含まれます。

Kinesis Data Analytics アプリケーションはシングルテナント(分離された環境で、別環境に対して対話することができない)で動作しています。

私たちは、AWS 全リージョンにおける、すべての Kinesis Data Analytics アプリケーションで、Log4j のバージョンを更新しました。2021/12/12 18:30 PST 以降に開始または更新されたアプリケーションは、自動的に更新されたパッチを受信します。それ以前に開始/更新されたアプリケーションを持つお客様は、 "Kinesis Data Analytics UpdateApplication API" を呼び出すことで更新された Log4j バージョンでアプリケーションが実行されることを確認できます。

UpdateApplication API の詳細はサービスドキュメントを参照してください。

docs.aws.amazon.com

Amazon Kinesis Data Streams

更新を適用することで、Log4j2 を使用するすべてのサブシステムに対して積極的にパッチ適用を行っています。

Kinesis Client Library (KCL) の 2.x 系および Kinesis Producer Library (KPL) は今回の影響を受けません。

KCL 1.x をお使いのお客様は、こちら から私たちがリリースしたアップデート版を利用することができます。KCL 1.x をお使いのすべてのお客様に対して、KCL 1.14.5 以上へのアップグレードを強く推奨します。

mvnrepository.com

Amazon Managed Streaming for Apache Kafka (MSK)

Apache Log4j2 に関連する問題 (CVE-2021-44228) について認識しており、必要に応じて更新を適用しています。

Please note that the builds of Apache Kafka and Apache Zookeeper offered in MSK currently use Log4j 1.2.17, which is not affected by this issue.

MSK で提供されている ApacheKafka および ApacheZookeeper のビルドは、現在 Log4j 1.2.17を使用していることに注意してください。これは、この問題の影響を受けません。

いくつかの MSK 固有のサービスコンポーネントは 2.0.0 より大きい Log4j2 のバージョンを使用し、必要に応じてパッチが適用されています。

Amazon Managed Workflows for Apache Airflow (MWAA)

MWAA には(CVE-202144228 に関して)2つの考慮事項があります。 Amazon MWAA のサービスコード (AWS 固有) と、オープンソースコード (Apache Airflow) です。

2021/12/14 時点で、MWAA サービスコードに関してはこの問題に対処するためのアップデートが完了しています。Apache Airflow は Log4j2 を使用しておらず今回の問題の影響を受けません。

Log4j2 を環境に追加したお客様には、最新版への更新を強く推奨します。

Amazon MemoryDB for Redis

Amazon MemoryDB for Redis は、2021/12/12 に CVE-2021-44228 の問題に関するパッチ適用を完了しました。

Amazon MQ

Amazon MQ には (CVE-202144228 に関する) 2つの考慮事項があります。 Amazon MQ のサービスコード (AWS 固有) と、オープンソースコード (Apache ActiveMQ および RabbitMQ メッセージブローカー) です。

2021/12/13 時点で Amazon MQ サービスコードに関してはこの問題に対処するためのアップデートが完了しています。オープンソースコードに関しては、必要なアップデートはありません。Amazon MQ が必要とするすべての Amazon ActiveMQ バージョンは Log4j 1.2.x を使用しており、この問題の影響を受けません。RabbitMQ は Log4j を使用しておらず、この問題の影響を受けません。

Amazon Neptune

すべてのアクティブな Amazon Neptuneクラスターは、 CVE-2021-44228 で特定された問題を軽減するために自動的にアップデートされます。

Amazon OpenSearch Service

Amazon OpenSearch Service は、すべてのリージョンで Log4j2 のアップデート版を含む重要なソフトウェアアップデート (R20211203-P2) をリリースしました。

OpenSearch クラスターのアップデートを可能な限り早く適用することを強く推奨します。Amazon OpenSearch のソフトウェアアップデートに関する詳細は以下のドキュメントを参照してください。

https://docs.aws.amazon.com/opensearch-service/latest/developerguide/service-software.html

docs.aws.amazon.com

Amazon RDS

Amazon RDS および Amazon Aurora は Log4j2 のすべてのサービス利用に対して、アップデートを適用することで積極的に対応しています。

RDS で構築された RDB エンジンは Apache Log4j2 を含んでいません。上流のベンダーが関与している場合は、私たちが推奨する緩和策を適用します。内部コンポーネントのアップデート適用中に、お客様は断続的なイベントを観測する場合があります。

Amazon S3

Amazon S3 は、2021/12/11 時点で S3 のデータ通信 (Ingress/Egress) に関する CVE-2021-44228 のパッチ適用を完了しています。また、Log4j2 を使用する S3 のすべてのシステムについてもパッチ適用が完了しています。

Amazon Simple Notification Service (SNS)

お客様からのトラフィックを受信する Amazon SNS システムでは Log4j2 の問題に対応するパッチが適用されています。SNS サブシステムに対するパッチ適用は現在進行中です。

Amazon Simple Workflow Service (SWF)

Amazon Simple Workflow Service (SWF) は CVE-2021-44228 で特定された問題を軽減するアップデートを適用しました。

AWS CloudHSM

AWS CloudHSM JCE SDK の 3.4.1 よりも古いバージョンは、今回の問題の影響を受ける Apache Log4j のバージョンを含みます。

2021/12/10 に、CloudHSM JCE SDK v3.4.1 をリリースしました。このバージョンでは Log4j の問題を Fix しています。もし 3.4.1 より古いバージョンの CloudHSM JCE をお使いの場合は SDK を v3.4.1 あるいはそれ以上のバージョンに更新することでこの問題を軽減する必要があります。

AWS Elastic Beanstalk

AWS Elastic Beanstalk の Tomcat プラットフォーム (for Amazon Linux 1/ for Amazon Linux 2) には、Amazon Linux のデフォルトパッケージレポジトリから Log4j がインストールされています。この (Amazon Linux 1, Amazon Linux 2) パッケージレポジトリで利用可能な Log4j バージョンは CVE-2021-44228 の影響を受けません。

お客様が自身のアプリケーションにおいて Log4j の設定を変更している場合は、アプリケーションをアップデートすることでこの問題を軽減するための対策を講じる必要があります。

私たちの通常の慣行に従い、これらのデフォルトパッケージレポジトリにて新しい (パッチ済みの) バージョンがリリースされた場合、Elastic Beanstalk は次回の Tomcat プラットフォームバージョンのリリース (for Amazon Linux 1/ for Amazon Linux 2) にパッチ済みのバージョンを含めます。

Amazon Linux のセキュリティ関連のソフトウェアアップデートに関する詳細情報は、Amazon Linux Security Center で入手できます。

AWS Glue

AWS Glue は CVE-2021-44228 について認識してます。すべての Glue バージョンについて、AWS Glue API を提供するコントロールプレーンのフリートを更新しました。

AWS Glue は、ネットワークおよび管理レベルで (AWS Glue サービスアカウント内の他の Spark 環境から) 分離された Spark 環境を作成します。ETL ジョブはシングルテナントで実行されます。ETL ジョブにカスタム jar ファイルを使用している場合、または開発エンドポイントに特定の Apache Log4j バージョンをアップロードしている場合は、最新版の Log4j を使用するように jar ファイルの更新をお勧めします。

AW Glue は積極的に Spark 環境へのアップデートを適用しています。ご不明の点があれば AWS サポートへご連絡ください。

AWS Greengrass

Log4j を使用するすべての AWS Greengrass V2 コンポーネントへのアップデートは 2021/12/10 からデプロイ可能です。以下のコンポーネントが該当します。

  • Stream Manager (2.0.14)
  • Secure Tunneling (1.0.6)

AWS は Greengrass をお使いのお客様に対して、ご自身のデバイスに最新バージョンの Greengrass コンポーネントをデプロイすることを推奨します。

Greengrass 1.10.x / 1.11.x における Stream Manager は Log4j を使用しています。Stream Manager のアップデートは Greengrass のパッチバージョン 1.10.5 と 1.11.5 で、これらは 2021/12/12 から利用可能です。Greengrass 1.10.x / 1.11.x で Stream Manager を有効化している、または将来有効化する可能性のあるお客様は、デバイスを最新版に更新することを強く推奨します。

AWS Lake Formation

AWS Lake Formation のサービスホストは、CVE-2021-44228 で特定された問題に対応する Log4j の最新版にアップデートされました。

AWS Lambda

AWS Lambda は、マネージドランタイムまたはベースコンテナに Log4j2 を含みません。よって CVE-2021-44228 の影響を受けません。

Lambda 関数で "aws-lambda-java-log4j2" ライブラリを利用しているお客様は、ライブラリを 1.3.0 に更新し再デプロイする必要があります。

AWS SDK

AWS SDK for Java はロギングファサードを使用しており、Log4j に対するランタイム依存はありません。現時点では今回の問題に関して AWS SDK for Java に変更を行う必要はないと考えています。

AWS Step Functions

AWS Step Functions は、CVE-2021-44228 で議論されている問題を軽減するアップデートを実施しました。

AWS Web Application Firewall (WAF)

Log4j のセキュリティ問題の検知および軽減を改善するため、CloudFront, Application Load Balancer (ALB), API Gateway, AppSync の利用者は AWS WAF を有効化し 2 つの AWS Managed Rules (AMR) を適用することができます。 AMR は以下の2つです

  • AWSManagedRulesKnownBadInputsRuleSet
  • AWSManagedRulesAnonymousIpList

"AWSManagedRulesKnownBadInputsRuleSet" はリクエストURI/リクエストボディ/共通的なヘッダを検査します。 "AWSManagedRulesAnonymousIpList" は閲覧者の ID を難読化できるサービスからのリクエストをブロックするのに役立ちます。

これらのルールを適用するためには、AWS WAF web ACL を作成し、web ACL に上記のどちらかあるいは両方のルールセットを追加し、お使いのサービス (CloudFront ディストリビューション/ ALB/ API Gateway/ AppSync GraphQL API) に対して web ACL をアタッチします。

AWSManagedRulesKnownBadInputsRuleSet ルールグループの詳細について、改めて説明します。

自動的に "AWSManagedRulesKnownBadInputsRuleSet" の更新を受信するために、デフォルトバージョンを選択するようにしてください

AWS WAF Classic をお使いのお客様は、AWS WAF に移行するか、正規表現によるマッチ条件を作成する必要があります。AWS WAF への移行については以下のドキュメントを参照してください。

docs.aws.amazon.com

AWS Firewall Manager をご利用可能です。AWS Firewall Manager を利用することで、複数の AWS アカウントにまたがるリソースに対して、適用すべき AWS WAF ルールを1箇所で設定できるようになります。ルールのグルーピング、ポリシーの構築、インフラ全体への一元的なポリシー適用が可能です。

NICE

EnginFrame の 2020.0 から 2021.0-r1307 までのバージョンでは CVE の影響を受ける Log4j ライブラリが含まれるため、NICE では EnginFrame を最新版に更新するか、EnginFrame に含まれる Log4j ライブラリを次のサポートサイトの指示に従って更新することを推奨します。

https://support.nice-software.com/support/solutions/articles/11000111006-updating-log4j-from-2-13-to-2-15-0

ご不明な点があればお気軽にお問い合わせください。窓口はこちらです。

※ NICE は HPC 用途向けのリモートディスプレイを実現するための技術スタックあるいは製品群をまとめた呼称で、EnginFrame は リモートディスプレイの Web フロントエンド製品の名称です。AWS の公式サイトによれば "NICE DCV" が正式名称であるようです。(AWS HPC - NICE DCV)

※ 訳者は NICE というサービス自体が翻訳元の記事で初見だったため、それぞれの用語について不正確な理解に基づく記述をしている可能性があります。正確な情報は原文をご覧いただくか、AWS サポート(弊社請求代行サービスをご契約の場合は弊社サポート窓口)などを利用してご確認いただくようお願いいたします。

橋本 拓弥(記事一覧)

プロセスエンジニアリング部

業務改善ネタ多め & 開発寄りなコーポレートエンジニアです。普段は Serverless Framework, Python, Salesforce あたりと遊んでいます