我使用http基本身份驗證和SSL創建了WCF服務。 (IIS atm中的臨時證書)IIS中的WCF,http基本身份驗證 - Windows用戶「安全性」影響
以下是相關配置。
<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?
應該做些什麼來防止信息的「網絡釣魚」,例如他們可以嘗試使用不同的用戶名和密碼來查找憑證嗎?
這是一個工作綁定(減去一些其他端點等)爲WCF在IIS和SSL中使用Http基本身份驗證。它需要IIS安裝基本身份驗證,以及Windows用戶進行身份驗證。我不想對Windows用戶進行身份驗證。
我已經主持了兩次WCF WebServices的一個上IIS6和IIS7和能夠使用的自定義名稱的驗證,但我是用wshttps結合,我相信不是。我有這個鏈接書籤從我設置它希望它可以幫助。 http://www.codeproject.com/Articles/96028/WCF-Service-with-custom-username-password-authenti – vikingben
感謝您的鏈接。現在我想到了將會有非WCF客戶端連接。我必須檢查wsHTTPBinding是否合適,但鏈接看起來很有趣。 – lko
我使用的客戶端範圍從web應用程序中的ajax調用到直接Java客戶端,並且沒有問題。祝你好運,如果你需要更多的配置信息讓我知道。我發現的是配置是最難的部分。我有一個設置用於驗證傳入請求以及一個檢查器類,以將所有soap請求記錄到服務中。 – vikingben