2011-09-18 116 views
1

我做了一個WCF REST服務,它使用OLAP數據庫中的數據,它不是Microsoft技術,最終我想將許多其他OLAP數據庫連接到單個平臺。WCF身份驗證/ WCF REST驗證..不同的方法?

經過大量的閱讀,WCF REST的安全性非常令人沮喪,總而言之,我有兩種選擇,一種是使用基本認證,通過線路暴露用戶名和密碼,或者更好一點,使用基本身份驗證與SSL,現在我需要從Web服務器獲得不同的證書。或者使用使用加密密碼和對數據庫進行身份驗證的摘要式身份驗證,這是最好的選擇,但在我的情況下,這是不可能的,因爲我沒有使用Microsoft技術,安全性在不同的平臺上,我無法加密我的密碼使用MD5是因爲數據庫無法讀取加密的密碼。

我的結論是隻能使用基本身份驗證與SSL,但這是做的正確方法?我看到有很多產品做類似於我的工作,當他們登錄時,我沒有看到https,但只有http,他們不安全,容易被黑客攻擊?

我不是想做一個防彈網站,而是一個簡單的網站,使用基本身份驗證過於簡單,或者事實上,它幾乎就像放棄密碼,但使用https,是過度殺傷?

所以,REST在於勸阻後,讓我們不要使用REST,使用正常WCF,從我已閱讀,它們共享相同的問題。

請給我一些指導。我想我輸了。

非常感謝

PlayKid

回答

1

通常情況下,基本身份驗證用於常規網站和肯定的,用戶名和密碼經常去比線是可讀取如果與HTTP使用。 Https已經更好了,因爲信息是通過線路發送的。但實際上,你只能看到這適用於商業或銀行應用。你不能使用MD5,這是一個可憐的事情,因爲那會是一種中間路線的方式。

所以,這取決於你將公開申請,使用http簡單或https多一點的複雜性和安全性。

順便說一句,大安全問題往往有SQL注入或黑客能夠得到您網站上的一些管理級別的權限做。這樣他們可以獲得大量的信息,同時嗅探你的線路並得到一個單一的用戶密碼組合是相對無害,如果你採取必要的預防措施和應對措施。

0

基本上,SSL基本身份驗證真的是很安全的,如果它會暴露於外界的建議立即進行刪除使用。

我之前,如果你只是想驗證(未授權端點)已知客戶組客戶端所看到的一個最簡單的破解方法使用:

OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name 

這將提供用戶名訪問該服務,身份驗證此用戶與您的數據庫或AD使用LDAP(如果有效用戶正在訪問該服務並且每個請求都添加了用戶需要發送的加密密鑰作爲請求的一部分)。這樣您就知道請求中的用戶名和加密密鑰。

您還可以將其與Basic認證一起使用,以確保其不安全。