7

ASP.NET Web サイトのフォーム認証での Cookie リプレイ攻撃について質問されています。

攻撃から保護するために以下のアドバイスに従いましたが、誰かが Cookie を取得できた場合 (短時間ではありますが)、サイトは依然として脆弱であると考えています。ログアウト時にフォーム認証セッションを完全に破棄する方法はありますか?

従ったアドバイスは

私たちは、ASP.NET の範囲内でこれを防ぐために、責任あるすべての措置を講じたと考えています。以下の詳細な回答を参照してください。

ただし、これを防ぐために Microsoft が推奨する手順を実装しました ( http://support.microsoft.com/default.aspx?scid=kb;en-us;900111を参照) 。

· 認証 Cookie がクライアント マシンに書き込まれることはなく、盗むのが困難です。

· アプリケーションは SSL 経由で実行できるため、安全でない接続で Cookie が発行されることはありません

· 15 分間のタイムアウトで絶対有効期限を適用します。つまり、その時間制限を過ぎると、問題の Cookie は役に立たなくなります。

· httpOnly Cookie を使用しているため、誰もこの Cookie をプログラムで傍受したり変更したりできません。

したがって、上記の予防措置が破られたとしても (これは非常にありそうもないことですが)、悪意のあるユーザーが予防措置を破ってログインに成功するまでの時間は 15 分しかありません。

4

4 に答える 4

3

ログアウト時にフォーム認証セッションを完全に破棄する方法はありますか?

その方法は、サーバーでユーザーがログアウトした時刻を追跡することです。そのため、有効な認証済み Cookie を使用してページが表示される場合でも、このユーザーがサーバー レコードにもログオンしているかどうかを再確認します。

これは、ユーザー ステータスのログイン ログアウトを保持およびチェックするためにデータベースに追加のテーブルが必要であり、認証 Cookie を 100% カウントしていないことを意味します。

ログアウト時にフォーム認証セッションを完全に破棄する方法はありますか

Cookie が盗まれるという最悪のシナリオでは、実際にはできません。

フォーム認証は実際にはすべてのデータを Cookie に保持するためです (有効期限が切れたとき、ユーザーが誰であるかなど)。したがって、それは削除できず、Cookie に保存されています。別の方法として、それをサーバー上のカスタム データと同期し、追加レベルのセキュリティを確保することもできます。

関連:ハッカーはユーザーから Cookie を盗み、その名前で Web サイトにログインできますか?

于 2013-04-17T14:38:37.860 に答える