0

必要な設定は次のとおりです。

  • wsHttpBindingを使用したサービスは、ファイアウォールの背後にあるマシン1のIIS6にあります。
  • クライアントは、DMZ上のマシン2上のIIS6のフロントエンドWebサイトです。

現在、Windows認証を使用してクライアントを認証できますが、なりすましを使用します

<identity impersonate="true" userName="OurCompany\Me" password="Blahblahblah" />

Webサイトは、ドメインにないユーザー名として「ASPNET」を使用するためです。

安全上の問題から、この方法から離れたいと思います。この種の情報をDMZで公開したくありません。

  1. クライアント構成で偽装を使用せずに適切に認証される方法はありますか?

  2. 証明書認証を使用するように変更した場合、偽装が必要なサービス操作に影響しますか(たとえば、ネットワーク上のファイルアクセスに偽装が必要)?

ありがとう。

4

1 に答える 1

0

これは現在解決されており、解決策を共有することは建設的だと思います。

私の元の質問に関しては、構成またはフロントエンドコードで明示的に設定せずに偽装を実行できるかどうかです。上記のように、App Poolメソッドは機能しますが、クライアントとサーバーの両方が同じドメインにある場合に限ります。

DMZにあるWebサイトクライアントはローカルネットワークにまったくアクセスできないため、ネットワークユーザーを偽装することはできません(これは私の元の質問の欠陥であり、偽装は機能しますが、実際には機能していませんでした) 。

したがって、行く唯一の方法は証明書を使用することでした。これは内部通信であるため、makecertを使用してサーバー/クライアント側のそれぞれでテスト証明書を生成しました。ピア信頼証明書認証を使用して、クライアントとサーバー間の通信を機能させることができます。これにより、Windows/ネットワークユーザーアカウント情報がDMZゾーンに表示されなくなります。

于 2010-02-09T17:51:01.880 に答える