ASP.NET MVC3を使用して開発されたアプリケーションがあります。 IBM AppScanツールによって実行される侵入テスト。
問題が報告されており、ASPXAUTHは安全ではありませんでした。ブラウザの開発者ツールを確認したところ、Secureフラグ付きのCookieがいくつかあります。しかし、ASPXAUTHはそれらの1つではありませんでした。
すでにWeb.Configファイルに以下のコード行を含めています。
<httpCookies requireSSL="true"/>
注:ログインにフォーム認証を使用していません。
ASPXAUTHをセキュアとしてマークする正しい方法は何ですか?
私は推測を危険にさらして、あなたの設定のこのフラグは無視されていると言います:
httpCookies docs を見ると、「この設定は、requireSSL構成を公開する他の機能によって上書きされます」
これが設定されていることを確認する1つの方法は、専用のコードでそれを行うことです。
基本的に、_Global.asax
_のprotected void Application_EndRequest(Object sender, EventArgs e)
で応答が完了する前に、正しいCookieを確認し、_.Secure
_プロパティをtrue
に設定します
ネットワーク経由でフォーム認証Cookieがキャプチャされ改ざんされないようにするには、認証済みのアクセスを必要とするすべてのページでSSLを使用し、requireSSL = "を設定してフォーム認証チケットをSSLチャネルに制限します要素のtrue "。