暗号化キーのローテーションのトラブルシューティング:CVE-2024-34102
この記事は、CVE-2024-34102に関するこの記事で概説されている手順を既に実行した後、暗号化キーのローテーションをトラブルシューティングする際に役立つことを目的としています。
上記の記事の手順に既に従っており、暗号化キーの回転に問題がある場合は、潜在的な問題を解決するための個別のパッチがあります。
以前に伝えられ、上記で要約された手順を説明するために、CVE-2024-34102に対する保護と、以下に示す追加のトラブルシューティングを行うために、このフローチャートを利用することもできます。
分離されたパッチを適用して新しいコマンドを実行する方法
ファイルを解凍し、手順については、サポートナレッジベースのAdobeが提供するコンポーザーパッチの適用方法を参照してください。
環境変数を使用せずに新しい暗号化キーを追加する
既定のアプリケーション動作は、暗号化キーを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 コマンドは、実行時にキャッシュをトリガーします。
- この新しいコマンドは、更新するキーの
app/etc/env.phpファイルを含む環境で実行する必要があります。 - 新しいコマンドが存在することを確認してください:
bin/magento list | grep encryption:key:change- 次の出力が表示されます。
encryption:key:change Change the encryption key inside the env.php file.
- 次の出力が表示されます。
- 暗号化キーを変更します:
bin/magento encryption:key:change - 実稼動システムでこのコマンドを実行した場合、それ以上の操作は必要ありません。 これを開発システムで実行した場合、通常は機密性の高い設定設定をデプロイするので、この変更を実稼動システムに取り込む必要があります。
分離されたパッチを使用するのではなく、環境変数を使用して暗号化キーを更新します
上記のセクションの代わりに、これらの手順を使用すると、現在デフォルトのapp/etc/env.phpを使用している場合でも、既存の暗号化データを保持しながら、新しい暗号化キーを追加できます。 このセクションは、CloudおよびCloud Starter上のAdobe Commerceに適用されますが、Adobe Commerce オンプレミス にも適用されますが、変数の正確な手順と場所はインフラストラクチャによって異なります。
現在の値の収集
- 環境変数を使用してキーを既に管理している場合は、いくつかの場所に存在する可能性がありますが、ドキュメントに記載されているように、
CRYPT_KEY変数に存在する可能性が高いです。 - 変数を使用していない場合、暗号化キーは
crypt/keyデータキー内のapp/etc/env.phpにあります。
どちらの場合も、複数行の値で、複数のランダムなデータ行を含むことができます。
2.4.7x バージョンの新しい値を生成
暗号化キーは32 バイトのランダムデータで、base64でエンコードされ、先頭にbase64が付きます。 新しいキーを生成するには:
-
任意のツールを使用して、base64でエンコードされた32 バイトのランダムなデータを生成します。 例えば、OpenSSL CLIを使用して
openssl rand -base64 32を実行できますが、信頼できる暗号化ランダム生成ツールを使用できます。 -
その値の先頭に
base64を付けます。 例えば、opensslコマンドがABC123を出力した場合、値は base64ABC123 になります -
生成された値を、上記で収集した既存の値に追加します。 例えば、既存の値が base64HelloWorld の場合、新しい値は次のようになります。
code language-none base64HelloWorld base64ABC123
2.4.6x以前のバージョンの暗号化キーは、16進数エンコード形式のランダムデータの16 バイトです。 新しいキーを生成するには:
-
任意のツールを使用して、16 バイトのランダムなデータを生成します。 例えば、OpenSSL CLIを使用して
openssl rand -hex 16を実行できますが、信頼できる暗号化ランダム生成ツールを使用できます。 -
生成された値を、上記で収集した既存の値に追加します。 例えば、既存の値が abc123 で、前の手順のランダムな値が 456def の場合、新しい値は次のようになります。
abc123456def
新しい環境変数の追加
Cloud Consoleまたはmagento-cloud CLIを使用して、env:MAGENTO_DC_CRYPT__KEY 環境変数をこの新しい値に設定します。
メモ : 変数を 機密 としてマークする場合は、この値の外部バックアップを保存することをお勧めします。この値は、すべてのインターフェイスから非表示になり、アプリケーションにのみ表示されます。
変数を保存すると、自動的に再デプロイメントがトリガーされ、値が適用されます。
セキュリティの更新
Adobe Commerceに関する関連するセキュリティアップデート公開: