3

注:これは、[RequireSSL]属性に関連するASP.NETMVCの質問ではありません。それは完全に異なります-ちょうど同じ名前を持っています。


ASP.NETフォーム認証にはRequireSSLプロパティがあり、ASP.NETメンバーシップの認証CookieがSSL経由でのみ送信される必要があります。これは、誰かがCookieを盗んだり(ネットワークスニッフィングなど)、ユーザーになりすましたりするのを防ぐためです。

だから私は疑問に思っています-MSが行ったすべてのセキュリティ意識のある変更(httpOnly Cookieをデフォルトにするなど)で、なぜrequireSSLデフォルトにされないのtrueですか?

クッキースニッフィングは「ネグリビグル」セキュリティリスクと見なされますか?

接続によって実際に安全な/個人データにアクセスできる場合を除いて、falseのままにしておくことは許容できるリスクと見なされますか?受け入れられない場合-ユーザーをhttpに戻し、それでもユーザーが誰であるかを知るにはどうすればよいですか?

ネットワークを通過するときにフォーム認証Cookieがキャプチャされて改ざんされるのを防ぐには、認証されたアクセスが必要なすべてのページでSSLを使用し、要素にrequireSSL = "true"を設定して、フォーム認証チケットをSSLチャネルに制限するようにしてください。

フォーム認証CookieをSSLチャネルに制限するには

次のコードに示すように、要素にrequireSSL="true"を設定します。

requireSSL = "true"を設定することにより、ブラウザがCookieをサーバーに返送するかどうかを決定するセキュアCookieプロパティを設定します。セキュアプロパティが設定されている場合、Cookieは、HTTPSURLを使用して要求されたセキュアページにのみブラウザによって送信されます。

注:Cookieなしのセッションを使用している場合は、認証チケットがセキュリティで保護されていないチャネルを介して送信されないようにする必要があります。

4

1 に答える 1

2

これをオンにするとSSL証明書が必要になり、通常、SSL証明書の取得には費用がかかります。また、ブラウザセッションを使用して、セキュリティで保護されていない情報を制御することもできます。一部の公開Webサイトでは、これで十分です。その場合、誰かが他の人のセッションCookieを盗むことによって、機密性の高いものは何も明らかになりません。それでは、SSL証明書を購入してインストールするコストと手間をかけるのはなぜですか?

于 2010-11-25T12:43:45.960 に答える