如何使WCF会话更安全?

时间:2009-12-04 16:36:13

标签: c# wcf service security protection

假设我们有一个WCF服务,就像来自msdn examples的那样 - c#,calculatorservice,默认情况下所有的服务设置。

如果我是黑客,我知道计算器服务是重要的,我想让它停止工作,我可以简单地破解服务引用的代码并创建我自己的应用程序,创建10个客户端。这些客户端会立即调用计算器服务上的随机(非终止)方法,以使会话保持活动状态,并且永远不会关闭。

现在很明显,因为所有10个会话都被采用(或者无论最大会话数是多少),没有人可以访问计算器服务,它完全被阻止了!

我们如何才能保护我们的服务呢?

2 个答案:

答案 0 :(得分:3)

如果您担心恶意黑客会通过虚假会话堵塞您的服务,那么请不要使用会话!使用“按来电”方式,并对您的用户进行身份验证,例如确保他们在您的Windows / AD域中,或者他们确实知道用户名/密码来打电话给您的服务。

如果恶意黑客为您的服务获得有效的用户名/密码组合,那么您无法阻止他不断向您发送10或20个并发请求并堵塞您的服务 - 至少不是在WCF服务级别。 WCF提供服务限制行为,以防止1 000多个恶意并发调用,以保护您的服务器免受洪水和崩溃。

如果您需要远离特定的IP或IP范围,您必须在之前的路由器/防火墙中接近--WCF服务无法真正帮助您。

答案 1 :(得分:1)

最好的办法是secure your WCF service

  

在本文中,我将向您展示如何   您可以在WCF上实现安全性   服务。有很多选择和   实现的可扩展性点   WCF中的安全性。你也可以使用   特定产品,例如Windows   2003服务器授权管理器,   与WCF一起实施   a。的授权要求   解。 开箱即用,WCF支持   Windows凭据,用户名令牌   和X.509数字证书   安全凭证。