暗号化キーのローテーションのトラブルシューティング:CVE-2024-34102

この記事は、CVE-2024-34102 のこの 記事で説明されている手順に既に従っているマーチャントが、暗号化キーのローテーションをトラブルシューティングするのに役立ちます。

上記の記事の手順に既に従っていて、暗号化キーの回転に問題がある場合は、潜在的な問題を解決するための分離されたパッチがあります。

上記の手順のうち、CVE-2024-34102 に対する対策としてまとめられた方法を説明し、後述のトラブルシューティングを追加するために、このフローチャートを利用することもできます。

分離パッチを適用して新しいコマンドを実行する方法

ファイルを解凍し、サポートナレッジベースの Adobeが提供する Composer パッチの適用方法を参照してください。

環境変数を使用しない新しい暗号化キーの追加

アプリケーションのデフォルトの動作では、暗号化キーが app/etc/env.php ファイルに保存されます。

ドキュメントで概説されている 手順では、管理者インターフェイスを使用してそのファイル内でこのキーを変更する方法を説明します。

この節で示す手順と分離パッチを使用すると、そのファイルに含まれる値を簡単に変更でき、管理者インターフェイスを通じて発生する可能性のある問題を回避できます。

ただし、暗号化キーを管理する最も簡単で安全な方法は、環境変数を使用することです。 既に環境変数を使用している場合、または環境変数を使用してこのキーを管理することに関心がある場合は、それらの手順について説明する別の節を参照してください。

説明 description

影響を受ける製品とバージョン

Adobe Commerce on Cloud、Adobe Commerce オンプレミスおよびMagento Open Source:

  • 2.4.7-p1 以前
  • 2.4.6-p6 以前
  • 2.4.5-p8 以前
  • 2.4.4-p9 以前

解決策 resolution

暗号化キーのローテーションの詳細をトラブルシューティングするための分離パッチ

Adobe Commerce/Magento Open Sourceのバージョンに応じて、次のパッチを添付して使用します。

バージョン 2.4.7、2.4.7-p1 の場合:

バージョン 2.4.6、2.4.6-p1、2.4.6-p2、2.4.6-p3、2.4.6-p4、2.4.6-p5、2.4.6-p6 の場合:

バージョン 2.4.5、2.4.5-p1、2.4.5-p2、2.4.5-p3、2.4.5-p4、2.4.5-p5、2.4.5-p6、2.4.5-p7、2.4.5-p8 の場合:

バージョン 2.4.4、2.4.4-p1、2.4.4-p2、2.4.4-p3、2.4.4-p4、2.4.4-p5、2.4.4-p6、2.4.4-p7、2.4.4-p8、2.4.4-p9:

分離されたパッチをインストールしたら、新しい CLI コマンドを使用してアクティブな暗号化キーを変更します。

: この新しい CLI コマンドは、実行時にキャッシュをクリーンにトリガーします。

  1. この新しいコマンドは、更新するキーの app/etc/env.php ファイルを含む環境で実行する必要があります。
  2. 新しいコマンドが存在することを確認します:bin/magento list | grep encryption:key:change
    • 次の出力が表示されます。
      • encryption:key:change Change the encryption key inside the env.php file.
  3. 暗号化キーの変更:bin/magento encryption:key:change
  4. 実稼動システムでこのコマンドを実行した場合は、それ以上のアクションは必要ありません。 これを開発システム上で実行した場合、通常は機密性の高い設定をデプロイする場合と同様に この変更を実稼動システムに取り込む 必要があります)。

分離パッチを使用する代わりに、環境変数を使用して暗号化キーを更新します

上記の節の代わりに、これらの手順を使用すると、現在デフォルトの app/etc/env.php を使用している場合でも、既存の暗号化データを保持しながら新しい暗号化キーを追加できます。 この節は、Cloud 上のAdobe Commerceおよび Cloud Starter を対象としますが、Adobe Commerce オンプレミスも対象となります ただし、変数の正確な手順と場所はインフラストラクチャによって異なります。

現在の値を収集

  • 環境変数を使用して既にキーを管理している場合は、 複数の場所が考えられますが、ドキュメントに説明されているように、CRYPT_KEY 変数である可能性が最も高くなります。
  • 変数を使用していない場合、暗号化キーは app/etc/env.php のデータキー内の crypt/key にあります。

どちらの場合も、複数行の値であり、複数のランダムなデータ行を含むことができます。

2.4.7x バージョンに新しい値を生成

暗号化キーは 32 バイトのランダムデータで、base64 でエンコードされ、先頭に base64 が付きます。 新しいキーを生成するには:

  1. 任意のツールを使用して、base64 でエンコードされた 32 ランダムバイトのデータを生成します。 例えば、OpenSSL CLI を使用すると、openssl rand -base64 32 を実行できますが、信頼できる暗号化されたランダム生成ツールを使用できます。

  2. その値の前に base64 を付けます。 例えば、openssl コマンドが ABC123 を出力する場合、値は base64ABC123 になります。

  3. 生成された値を、上記で収集した既存の値に追加します。 例えば、既存の値が base64HelloWorld の場合、新しい値は次のようになります。

    code language-none
    base64HelloWorld    base64ABC123
    

2.4.6x 以前のバージョンの暗号化キーは、16 進エンコード形式の 16 バイトのランダムデータです。 新しいキーを生成するには:

  1. 任意のツールを使用して、16 ランダムバイトのデータを生成します。 例えば、OpenSSL CLI を使用すると、openssl rand -hex 16 を実行できますが、信頼できる暗号化されたランダム生成ツールを使用できます。

  2. 生成された値を、上記で収集した既存の値に追加します。 例えば、既存の値が abc123 で、前の手順からのランダムな値が 456def の場合、新しい値は次のようになります。

    abc123

    456def

新しい環境変数の追加

Cloud Console または magento-cloud CLI を使用して、env:MAGENTO_DC_CRYPT__KEY 環境変数をこの新しい値に設定します。

注意 : 変数を 機密 としてマークすることを選択した場合、この値の外部バックアップを保存することをお勧めします。この値はすべてのインターフェイスで非表示になり、アプリケーションにのみ表示されるからです。

変数を保存すると、再デプロイメントが自動的にトリガーされ、値が適用されます。

セキュリティの更新

Adobe Commerceで利用できる関連するセキュリティアップデート:

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f