ほとんどの「大きな」ウェブサイトには、膨大なセッションがあるようです。 Cookieを確認すると、Stack Exchangeには1週間のローリングセッションがあり、GitHubには45日間、Gmailには終わらないセッションがあるようです。
セッションが数時間よりも長い場合のセキュリティ上の影響は何ですか?どうやら セッションの有効期限の推奨時間はわずか15分です ですが、ユーザーエクスペリエンスにとって明らかに悪いことです。小さなWebアプリケーションが使用できる、セッションの有効期限切れのための素敵で幸せなメディアはありますか?主要なWebサイトは、このような長いセッションをどのようにして回避するのですか?
私の意見では、多くのサービスは、セキュリティ、使いやすさ、そしてビジネスモデルのバランスを見つける必要があります。ますます多くの企業がユーザーに関する可能な限り多くのデータを収集することを望んでおり、そのため彼らはあなたが常にログインしたままであることを望んでいます。これらのサービスは、多くの場合beg/nagログインまたは登録します(ログアウト中にページをスクロールする場合)。ソーシャルメディア機能も共有に迅速かつほぼ強制的に依存しています。これは、ソーシャルメディアWebサイトに既にログインしている場合にのみ快適に実行できます。基本的に常に。セキュリティリスクはどうですか?これらの企業が実装している他のすべてのセキュリティ制御のおかげで、それらはおそらく無視できると考えられており、おそらくビジネスモデルを損なわずにもう少しセキュリティを強化する価値はないと判断しました。
リスクを見てみましょう。なぜリスクを除外することにしたのでしょうか。
要約すると、これらの「大規模」企業にとって、セッション時間を短縮しても、セキュリティに顕著な影響を与えることはありません。セッションの期限切れが早すぎると、実際にビジネスに悪影響を与えます。なぜなら、ユーザーは常に接続していることを期待しており、期待されているからです。すべてのWebサイトを使用し終えた後もログアウトします。これは常に良い習慣であるためです。すべてのWebサイトが最良のセキュリティプラクティスに従うことや、Google/Facebookなどのセキュリティに十分なリソースを投資することが期待できるわけではありません。
確かに質問はかなり興味深いものです。どちらの方法でも、各システムのリスク評価プラス制御に要約されます。大まかに言えば、長寿命セッションの2つの望ましくない結果を想像できます。
誰かがあなたの記録されたアカウントでブラウザを開くことができます。 コントロール:
誰かがセッションIDを盗んで別のデバイスで開くことができます。 コントロール:
上記のシステムの代わりの制御について、それぞれのケースを見てみましょう。
7日間と45日間のセッションポリシーの違いは少し微妙であることに注意してください。セッションがまだアクティブである間、デバイスをロックするのを忘れた場合、誰かがブラウザを開くことができます。したがって、ロックされていないデバイスについては何もする必要はないように見えますが、GMailは疑わしいアクティビティについてかなり大きなコントロールを持っています。とにかく、セキュリティエンジニアは、内部のセキュリティリスク評価から有効期限を選択します。有効期限は、場合によって異なり、私たちの認識とは異なる場合があります。主観の一部が常に存在します。
TL; DR Cookieには有効期間を明示的に設定するか、ブラウジングセッションの終了時に期限切れにすることができます。 Expires
属性は、ユーザーがその間ずっと「ログイン」していると見なされることを必ずしも意味しません。
クッキーを見るから
クッキーとその周りに実装されているアプリケーションロジックの間には誤解があると思います。 Cookieだけを見ると、一部のサイトでは、ユーザーが認証される前にCookieを使用して、匿名ユーザーを追跡します。 Cookieの使用は、幅広い追跡目的に使用できます認証済みユーザーの追跡を含む。
セッションcookieは、ユーザーのブラウザセッションで期限切れになる特定のcookieです。つまり、ユーザーがブラウザを閉じると、セッションCookieが期限切れになります。
サーバー(アプリケーション)がCookieの所有者に(再)認証を要求することを決定するのを妨げるものは何もありません。