4

ASP.NET Web サイトを SSL のみとして展開したとしましょう。これは、Cookie を保護するために、次のリンクで概説されている方法を使用して Cookie を明示的に暗号化することを心配する必要がないということですか?

サイトのセッション Cookie を保護するにはどうすればよいですか?

ASP.NET_SessionId Cookie を保護する方法は?

ASP.NET で Cookie を暗号化する

または、このコードを web.config ファイルに追加する必要がありますか?

<system.web>
  <httpCookies httpOnlyCookies="true" requireSSL="true" />
<system.web>

ノート

コードで明示的に Cookie を作成していません。これらは、セッションを作成した結果として生成されています。

4

2 に答える 2

2

これは、Cookie を保護するために、次のリンクで概説されている方法を使用して Cookie を明示的に暗号化することを心配する必要がないということですか?

それは、それらの Cookie に保存する情報と、ユーザーがそれを操作できることを気にするかどうかに大きく依存します。たとえば、FormsAuthentication Cookie は、現在認証されているユーザー名を含むため、常に暗号化されます。それらが暗号化されていない場合、ユーザーは単純にリクエストを偽造して、ユーザー名をたとえば に置き換えることができますadmin。Cookie が SSL 経由で送信されるという事実は、彼にとってまったく障害ではありません。

一方、背景テーマなどのユーザー設定を保存している場合、ユーザーが背景色を青から赤に変更するリクエストを偽造しても気にしないでしょう。

結論として、ユーザーが Cookie の値を変更できないようにする場合は、SSL 経由で送信されるかどうかに関係なく、Cookie を暗号化する必要があります。

SSL は、エンド ユーザーの Cookie 値が中間者によって盗まれる可能性がある中間者攻撃から保護するために使用されます。

于 2013-07-07T09:37:33.817 に答える
1

カスタム Cookie は作成しないので、asp.net が作成する Cookie を見てみましょう。

1 つはセッション用、もう 1 つはログイン資格情報用の2 つの主要な Cookieを作成します。

ここで、あなたは、どの情報が重要で、安全である必要があるかを決定する必要があります。

すべてのユーザー情報が機密であり、保護が必要であると判断した場合は、すべてのページを SSL で保護し、 と のrequireSSL="true"両方にhttpCookiesを 追加します。authentication | forms

一部のページのみが機密データであると判断した場合、これはログインする必要があるページであり、これは安全な SSL である必要があるページですrequireSSL="true"authentication | forms

<authentication mode="Forms">
  <forms requireSSL="true" ... />
</authentication>

ここで、設定requireSSL="true"した場合、Cookie は ssl セキュア ページでのみ読み取り/アクセスされることに注意してください。したがって、すべてのサイトは唯一でなければなりませんhttps://

SSLと Cookie について:
SSL を使用するように ASP.NET / MVC サイトを準備していますか?
ハッカーがユーザーから Cookie を盗み、その名前で Web サイトにログインすることはできますか?

于 2013-07-07T09:42:39.880 に答える