6

http 基本認証と SSL を使用して、WCF サービスを作成しました。(IIS atm の一時証明書)

関連する構成は次のとおりです。

<services>
  <service name="MyNamespace.MyService">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttps"
      name="MyEndPoint" contract="MyNamespace.IMyService" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <!-- These will be false when deployed -->
      <serviceMetadata httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
    <!-- This doesn't do anything in IIS -->
    <behavior name="CustomUsernameValidatorBehavior">
      <serviceCredentials>
        <userNameAuthentication userNamePasswordValidationMode="Custom"
          customUserNamePasswordValidatorType="MyNamespace.CustomUserNameValidator" />
      </serviceCredentials>
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <basicHttpBinding>
    <binding name="basicHttps">
      <security mode="Transport">
        <transport clientCredentialType="Basic" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

IIS でホストしているため、customUsernameValidator を使用できず、IIS 基本認証は Windows に対してユーザー名とパスワードを試行します。

新しいユーザーを作成し、ローカルでログオンを無効にして、新しいグループに入れました (権限なし)。ユーザーの唯一の目的は、サービスへのアクセスが許可されていることを確認することであり、それ以外の目的はありません。サービスは、イントラネットなどの内部ではなく、オンラインになります。

私の質問はこれに要約されます。実際の Windows ユーザーを使用しているため、セキュリティ上のリスクや影響はありますか? その場合、このサービス/IIS を保護するために何ができますか?

情報の「フィッシング」を防ぐために何かを行う必要があります。たとえば、資格情報を見つけるために別のユーザー名とパスワードを試すことができますか?

ところで、これは IIS および SSL で Http 基本認証を使用する WCF の有効なバインド (その他のエンドポイントなどを除く) です。IIS に基本認証がインストールされていること、および認証対象の Windows ユーザーが必要です。Windows ユーザーに対して認証したくありません。

4

1 に答える 1

1

IIS 5.0 以前のバージョンでは、基本認証 (レルムが定義されていない) が使用されている場合、IP アドレスが開示される脆弱性があります。このサイトをご覧ください: http://www.juniper.net/security/auto/vulnerabilities/vuln1499.html

于 2013-06-24T06:33:14.350 に答える