7

ASP.NETの現在のバージョンに組み込まれているセッションIDハイジャック保護について知りたいのですが。

最近、IPアドレスとユーザーエージェントヘッダーをセッションIDにエンコードする追加のレイヤーを実装することで、セッションのセキュリティを強化する方法を説明するこの非常に有益な記事を見ました。これらの詳細は、後続の各リクエストで検証されます。

この記事はASP.NET1.1向けに作成されたようですので、同様の機能がASP.NETに組み込まれているかどうかを知りたいと思います。このような追加のレイヤーを実装することには、まだメリットがありますか?

ありがとう。

4

2 に答える 2

6

セッション概要のドキュメントからこのスニペットを確認してください。

System.Web.SessionState.HttpSessionState.SessionID値は、Cookieとして、またはURLの一部として、クリアテキストで送信されます。悪意のあるユーザーは、SessionID値を取得し、それをサーバーへの要求に含めることで、別のユーザーのセッションにアクセスする可能性があります。機密情報をセッション状態で保存する場合は、SSLを使用して、SessionID値を含むブラウザーとサーバー間の通信を暗号化することをお勧めします。

http://msdn.microsoft.com/en-us/library/ms178581.aspx

これは、Sessionにセキュリティが組み込まれていないことを意味しているように思われるため、セキュリティ対策としてSessionを使用するべきではないでしょう。代わりに、ASP.NETセキュリティ(認証、承認)に依存することをお勧めします。

これは、ASP.NETの一般的なセキュリティに関する推奨事項に関するPatterns&Practicesグループの記事です。

http://msdn.microsoft.com/en-us/library/ff649100.aspx

于 2010-05-26T11:05:16.103 に答える
2

ねえ、私はセッションIDハイジャックのリスクを減らす方法も探していました。ジェフプロサイスの記事も読んだので、役に立つかもしれないと思いました。ただし、あなたと同じように、同じアプローチがフレームワークの最新バージョンに適用されるかどうかを確認していました(彼の電子メールwicked@microsoft.comは機能しません)

jkohlhepp、私はあなたの投稿に同意しません(または多分私はそれを理解していません):

おそらく、セキュリティ対策としてSessionを使用するべきではありません。代わりに、ASP.NETセキュリティ(認証、承認)に依存することをお勧めします

私に関する限り、asp.net認証はセッションIDに依存しています(より悪いと思われるCookieなしを除く:Dino Espositoの意見を参照してください)

だから、それは私たちが始めたところにほとんど私たちを置きました。

于 2011-02-16T22:30:45.303 に答える