2016-05-16 16 views
2

公開WCF SOAPサービスに対するCSRF攻撃の可能性を防ぐにはどうすればいいですか?WCFサービスに対するCSRF攻撃の防止

主な解決策はCSRFトークンを使用することですが、どのように達成できますか?

うまくいけば、少なくとも私にアイデアを与えるか、少なくともWCFはCSRF攻撃を受けることができないと教えてください。

+0

WCFサービスはブラウザからは使用できません。したがって、この種の攻撃が行われる範囲はありません。 –

+1

@TomRedfern:それは当てはまりません:https://msdn.microsoft.com/en-us/library/bb924552(v=vs.110).aspx – SilverlightFox

+0

@SilverlightFox - 私は直面しているようです! –

答えて

3

はい、enabled AJAX support for your serviceの場合、CSRFがWCFに適用されます。

緩和するための迅速かつ簡単な方法は、X-Requested-Withリクエストヘッダーなどのカスタムヘッダーにチェックを設定することです。 CORSを有効にしないと、これらのヘッダーをクロスドメインに渡すことはできません。

さらにこのソリューションを強化するには、セッションごとにトークンを設定し、ヘッダーにもこれを渡すことができます。 this answerを参照してください。これにより、FlashやSilverlightなどのブラウザプラグインの脆弱性を緩和することができました。これは以前はバグがありました。

+0

ありがとうございます。しかし、私がAspNetCompatibilityモードを使用していない場合、セッションが必要ないのですが、どのようにセッションごとにトークンを適用できますか? –

+0

あなたの質問をアプリケーションとアーキテクチャに関するさらに詳細な情報で更新できますか?例えば非WebブラウザにCSRF保護が必要ないため、サービスのクライアントは何ですか?セッションが使用されない場合、なぜCSRF保護が必要ですか? – SilverlightFox

+0

実際、私のサービスの考え方は、異なるドメインを要求するパブリックセパレートサービスであるため、各アプリケーションは、ソープヘッダーによって送信されるユーザー名とパスワードを使用してこのサービスに接続するように求めます。ここに適用されるセッションはありません。 –

関連する問題