2011-09-18 140 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认证一起使用,以确保其不安全。