
Magento 2の暗号化キーのローテーションと管理のためのユーティリティです。CVE-2024-34102(通称 Cosmic Sting)の被害者は、アフターケアとして使用できます。
セキュリティパッチ適用後、攻撃者によるAdminレベルのWebAPIアクセスを完全に拒否するために、キーローテーションを実行する必要があります。
アップグレードできない場合、または公式の単独パッチを適用できない場合は、関連パッチを参照してください。
公式の暗号化キーローテーションコマンド php bin/magento encryption:key:change が利用できない場合は、この拡張機能を使用できます。この拡張機能には「キーマネージャー」としての機能がさらにあります。
この拡張機能は3つのコマンドを提供します。
php bin/magento ww:encryption-key-manager:genkey [-f|--format FORMAT]
例:
$ php bin/magento ww:encryption-key-manager:genkey
5f81fe506a1025b8ea439fd49c6fa8e3
php bin/magento ww:ekm:list [--newest]
ヒント: encryption-key-manager の代わりに ekm の短縮形を使用できます。
例:
$ php bin/magento ww:ekm:list
Encryption key count: 3
39a2f1213e6a942af3cd4f1c2d61528c
fdd862cd41f95e4edaf2636258ce359f
3cd27f0eeae9ffec35681d8aa0faa618
php bin/magento ww:encryption-key-manager:rotate [-k|--key KEY]
ヒント: -k|--key を指定しない場合は、ランダムに生成されたキーが使用されます。
例:
$ php bin/magento ww:encryption-key-manager:rotate
Encryption key has been rotated successfully.
Encryption keys are stored in `app/etc/env.php`. Caution: do not delete old keys!
バージョン2.4.7以降、暗号化キーの形式は hex から base64 に変更されています。
新しい形式の例(base64 プレフィックスが付いていることに注意):
base64bDr+HSz4tZ+cjZA89J5RvbZzCfDKWO1iXgDfmqeZL0c=
デフォルトでは、php bin/magento ww:encryption-key-manager:genkey は、お使いの現在のMagentoバージョンと互換性のあるキーを生成します。
ただし、形式を強制することもできます(開発目的)
php bin/magento ww:encryption-key-manager:genkey --format base64
php bin/magento ww:encryption-key-manager:genkey --format hex
キー生成プロセスの詳細は、このブログ記事に記載されています。
Magento 2.4
composer require wubinworks/module-encryption-key-manager-cli
この拡張機能が気に入った場合は、このリポジトリにスターを付けてください。