[PaaSのみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeで管理されるPaaS インフラストラクチャ)とオンプレミス プロジェクトにのみ適用されます。"}

セッション管理

​ セッション管理は、API セキュリティのサービス拒否(DoS)対策のベストプラクティスです。 セッションは、訪問者がサイトに滞在する時間を表し、管理者ユーザーまたは顧客がアカウントにログインしている時間とは関係ありません。

セッションは、同じユーザーに関連付けられたネットワーク HTTP リクエストおよび応答トランザクションのシーケンスです。 これは、クライアント(管理者)がサーバーにアクセスしたときにデータに関連付ける方法です。 セッションは、アクセス権やローカライゼーション設定などの変数を設定するために使用されます。これらの変数は、セッション中にユーザーがweb アプリケーションと行うあらゆるインタラクションに適用されます。

セッションサイズ

管理者ユーザーとストアフロント訪問者の最大セッションサイズを制限するには、次の設定値を使用します。

  • Max Session Size in Admin - セッションの最大サイズをバイト単位で制限します。 0を使用して無効にします。
  • Max Session Size in Storefront - セッションの最大サイズをバイト単位で制限します。 0を使用して無効にします。
TIP
両方の設定はバイト単位で測定され、デフォルトでは256000 バイト(または256 KB)になります。

最大セッションサイズを設定するには:

  1. 管理者 サイドバーで、Stores > Settings>Configuration​に移動します。

  2. 左側のパネルで、Advanced​を展開し、System​を選択します。

  3. Security セクションの 拡張セレクター を展開して、セッション設定にアクセスします。

    ​ セッション設定 {width="600" modal="regular"}

  4. 新しいセッションサイズをバイト単位で入力します。

    note warning
    WARNING
    値を低く設定すると、問題が発生する可能性があります。 デフォルトの256000 バイト以下のいずれかのオプションを設定すると、警告メッセージが表示されます。 No​をクリックすると、システムは値を256000に変更します。
  5. Save Config​をクリックします。

管理者セッション

最大セッションサイズを超えると、エラーメッセージが表示され、セッションサイズの制約がvar/log ディレクトリに記録されます。

セッションサイズを小さく設定した後に管理者にアクセスできなくなった場合は、CLIを使用して設定をリセットします。

bin/magento config:set system/security/max_session_size_admin 256000

ストアフロントセッション

最大セッションサイズを超えると、エラーは表示されませんが、システムはセッションサイズの制約をvar/log ディレクトリに記録します。

セッションの検証

Adobe CommerceとMagento Open Sourceを使用すると、セッション固定攻撃の可能性や、ユーザーセッションのポイズニングやハイジャックの試みに対する保護対策として、セッション変数を検証できます。 セッション検証設定は、各ストア訪問中にセッション変数を検証する方法と、セッション IDがストアのURLに含まれているかどうかを決定します。

技術情報については、設定ガイド​の「​ セッションストレージにRedisを使用する」を参照してください。

一般設定 – Web セッションの検証 {width="600" modal="regular"}

検証では、ユーザーの$_SESSION データに保存されているセッションデータと検証変数の値を比較することで、訪問者が自分が誰であるかを確認します。 情報が期待どおりに送信されず、対応する変数が空の場合、検証は失敗します。 セッション検証設定に応じて、セッション変数が検証プロセスに失敗した場合、クライアントセッションはすぐに終了します。

すべての検証変数を有効にすると、攻撃を防ぐことができますが、サーバーのパフォーマンスにも影響する可能性があります。 デフォルトでは、すべてのセッション変数の検証は無効になっています。 Adobe CommerceまたはMagento Open Sourceのインストールに最適な組み合わせを見つけるために、設定を試すことをお勧めします。 すべての検証変数をアクティブ化すると、過度に制限されることがあり、プロキシサーバーを通過するか、ファイアウォールの背後から発信するインターネット接続を持つ顧客へのアクセスを妨げる可能性があります。 セッション変数とその使用方法について詳しくは、Linux® システムのシステム管理ドキュメントを参照してください。

セッション検証を設定するには:

  1. 管理者 サイドバーで、Stores > Settings>Configuration​に移動します。

  2. 左側のパネルで、General​を展開し、Web​を選択します。

  3. Session Validation Settings セクションの 拡張セレクター を展開します。

  4. 各設定オプションを設定します。

    • Validate REMOTE_ADDR — リクエストのIP アドレスが$_SESSION変数に格納されているものと一致することを確認するには、Yesに設定します。

    • Validate HTTP_VIA – 受信リクエストのプロキシアドレスが$_SESSION変数に保存されているものと一致することを確認するには、Yesに設定します。

    • Validate HTTP_X_FORWARDED_FOR — リクエストの転送用アドレスが$_SESSION変数に格納されているアドレスと一致することを確認するには、Yesに設定します。

    • Validate HTTP_USER_AGENT — セッション中にストアにアクセスするために使用されるブラウザーまたはデバイスが、$_SESSION変数に保存されているものと一致することを確認するには、Yesに設定します。

  5. 完了したら、Save Config​をクリックします。

管理者セッションの有効期間

セキュリティ対策として、Admin​は最初、キーボードが非アクティブになってから900秒(15分)後にタイムアウトするように設定されます。 自身のワークスタイルに合わせて、セッションの有効期間を調整できます。

管理者セッションの有効期間を調整するには:

  1. 管理者 サイドバーで、Stores > Settings>Configuration​に移動します。

  2. 下にスクロールして、左側のパネルで​ Advanced ​を展開します。

  3. Admin​をクリックします。

  4. Security セクションの 拡張セレクター を展開します。

  5. Admin Session Lifetime (seconds)​に、セッションがタイムアウトするまでにアクティブな状態を維持する秒数を入力します。

    詳細設定 – 管理者セキュリティ設定 {width="600" modal="regular"}

  6. 完了したら、Save Config​をクリックします。

recommendation-more-help
commerce-admin-help-systems