2009-12-04 42 views
3

比方說,我們有一個WCF服務,類似於msdn示例--C#,calculatorservice,其默認的所有服務設置。如何使WCF會話更安全?

如果我是黑客,並且我知道計算器服務是重要的東西,我想讓它停止工作,我可以簡單地破解服務引用的代碼,並創建一個自己創建10個客戶端的應用程序。這些客戶端會每隔一段時間在計算器服務上調用一個隨機(非終止)方法,以保持會話的活躍,並永不關閉。

現在很明顯,因爲所有的10次採取(或任何最大會話數爲),沒有人可以訪問CalculatorService的,它完全堵住了!

我們如何保護我們的服務從?

+0

對不起,我希望的是軟件解決方案:/ – avance70 2009-12-08 08:11:15

回答

3

如果你害怕惡意黑客會堵塞你的服務與虛假的會議,那麼就不要使用會話!使用「每次通話」方式,並對用戶進行身份驗證,例如確保它們在您的Windows/AD域中,或者他們確實知道用戶名/密碼來撥打您的服務。

如果惡意黑客爲您的服務獲得有效的用戶名/密碼組合,那麼您無法阻止他經常向您發送10或20個併發請求並阻塞您的服務 - 至少不是在WCF服務級別。 WCF提供服務限制行爲以防止1'000個惡意併發呼叫,以保護您的服務器不被淹沒和崩潰。

如果您需要防範的具體IP的或IP的範圍,你必須接近對前面 - 在你的路由器/防火牆 - WCF服務不能真正幫助你。

+0

正如你所說,這應該可以在路由器/防火牆級別解決 - 限制一個IP允許的連接數。 – avance70 2009-12-07 07:28:05

1

做將secure your WCF service的最好的事情:

在本文中,我將告訴你如何 您可以在WCF 服務實現安全性。在WCF中實現 安全性有很多選項和 可擴展性點。您還可以使用 特定產品(例如Windows服務器授權管理器, )與WCF一起實施 解決方案的 授權要求。 開箱,WCF支持 Windows憑據,用戶名令牌 和X.509數字證書作爲 安全證書。

+0

感謝,但沒有出現在我所描述的情況,以幫助。我的服務已經有默認的安全模式。也許我應該注意一些具體的事情? – avance70 2009-12-04 16:57:15