これはアーキテクチャ上の問題の1つです。これがこのスタック交換に適していることを望みます。これらのための自然の家ではないようです...データセンター内のWCF wsHttpBinding - 典型的な使用パターン
私が取り組んでいるシステムは、データセンターに分散されています - DMZ内のWebサーバーは、データにアクセスするために(ファイアウォールを介して)セキュリティゾーンでWebサービスを呼び出します。現在、WSEでasmxサービスを使用しており、ユーザー名とパスワードの資格情報をSOAPヘッダーに渡しています。これらは暗号化されずに渡されます。見えるところでは、これはセキュリティのいくつかの尺度を提供しています(インターネットDMZサーバーの攻撃者は、イントラネットDMZサーバーからアクセスされたサービスの資格情報にアクセスできません)。
私たちはWCFの使用に移りたいと思いますが、Webサービスに固執しています。他のクライアントとの最高の相互運用性と標準準拠のためにwsHttpBindingを使用したいと思います。引き続きユーザー名認証を使用することは、SSLまたはメッセージ暗号化を使用することを要求しているようです。これは、多くの人にとって、両方のエンドポイントを制御する独自のデータセンター内で接続を暗号化することに過度の負担がかかるようです。
私は、これが他の人が何をしているのか、またどのような選択肢があるのか知りたいと思うでしょう。私は考えました(そしていくつかの理由を除いて)
- SecurityMode = None - 資格情報を使用しません。外部Webサーバの攻撃者が好きなサービスにアクセスできるように、セキュリティの人々はこれに満足していません
- BasicHttpBindingを使用してください - これは、暗号化されていないユーザ資格情報をTransportCredentialOnlyで渡すように設定できます。しかし、BasicHttpBindingが従来のアプローチとして意図されており、他のテクノロジとの相互運用性が低いとの懸念があります。
- Clear Username Bindingを使用してください。これはオープンソースであり、法的理由によりオープンソースに近づきたくないです。
- データセンター内でも暗号化されたメッセージに移動する必要があることを受け入れる
- 別の認証タイプを使用するように変更します。 Windowsの資格情報 - これは現在、これらのサービスをどのように運用しているか、またDMZからディレクトリサーバーにアクセスできるかどうかに大きな変化が生じる可能性があります。私は、これは 資格情報がTransportCredentialOnlyを使用して暗号化されていないユーザを渡すように構成することができると思う - 他の人がセキュリティゾーンでデータ・センター内WCFを使用する方法についての
任意の考えを大幅
あなたの質問にすべて答えるのにWCFのセキュリティについて十分な知識はありませんが、私はあなたがどこで見つかるか知っています! Juval LowyのプログラミングWCFサービスの第10章を調べてください。これはWCFの聖書であり、第10章ではWCFのセキュリティについて知りたいことをすべてカバーしています。 –
コメントありがとうございます。面白いほど私はすでにその本を持っています。 IIRCイントラネットのシナリオでは、ファイアウォール/ネットワークゾーニングなしで、クライアントとサーバーが1つのネットワーク上にある「フラット」なネットワークを想定しています.netTCPなどのバインディングを使用して、ファイアウォールに優しいWebサービスのアプローチを継承しません。私は月曜日に再読してもらいます(職場の私の机の書庫に書いてあります) – Durathor