在sql Server 2005/2008上设置安全性时.什么是更安全的选项?
>仅限Windows身份验证模式
>混合身份验证
是否许多桌面客户端(胖客户端)访问服务器或者少数Web服务器将访问它是否重要?
编辑
为什么它更安全?使用Windows身份验证意味着我们可以避免将连接字符串放在配置文件中,这是一个加号.
Windows身份验证还允许我们根据他们的NT凭据来控制谁获得访问权限,当客户端直接连接到服务器时,我认为这是理想的.
然而,我总是想知道的一件事是,当所有客户端都通过代理(例如Web服务)时,NT身份验证是多么有用.
解决方法
Windows身份验证被认为更安全.原因如下:
>您可以使用Kerberos身份验证. Kerberos协议有一个时间戳,可以防止重放攻击.它还允许客户端使用受信任的第三方验证服务器的身份(在Active Directory的实现中,这是DC).
>它允许单个安全源:Active Directory.因此,一旦关闭Active Directory中的帐户,它就会被禁用.
>在sql Server 2005之前的sql Server版本中,登录数据包未自动加密.密码在网络上传递的方式很容易解密,因为我们正在谈论高阶和低阶位翻转和XOR操作.
>事实上,您不必将密码放在连接字符串中,但还有其他方法.例如,加密用户名/密码并将其存储在注册表中,然后在运行时构建连接字符串.
>如果启用了此类审核设置(并且它们应该是),则将在安全事件日志中跟踪sql Server的登录以及其他Windows登录.这意味着如果您有服务器的日志解析/聚合软件,则不必必须解析应用程序事件日志或sql Server日志文件.
对于您从Web服务拥有单个帐户的位置,您仍具有上面列出的所有相同优势.