什么被认为是更安全的SQL Server安全

在SQL Server 2005/2008上设置安全性时更安全的选项是什么?

  • 仅限Windows身份validation模式
  • 混合authentication

如果服务器将被许多桌面客户端(胖客户端)访问,或者一些Web服务器将访问它,这有什么关系?

编辑

为什么它更安全? 使用Windows身份validation意味着我们可以避免将连接string放在configuration文件中。

Windows身份validation还允许我们根据他们的NT凭据来控制谁可以访问,当客户端直接连接到服务器时,我认为这是理想的。

有一件事我总是想知道,当所有的客户端都通过代理(如Web服务)时,NT身份validation是多么有用。

Windows身份validation被认为更安全。 原因如下:

  • 您可以使用Kerberos身份validation。 Kerberos协议具有防止重放攻击的时间戳。 它还允许客户端使用可信第三方validation服务器的身份(在Active Directory的实现中,这是DC)。
  • 它允许单个安全来源:Active Directory。 因此,一旦您closuresActive Directory中的帐户,它在任何地方都是禁用的。
  • 在SQL Server 2005之前的SQL Server版本中,login数据包未被自动encryption。 密码在networking上传递的方式很容易解密,因为我们正在讨论高位和低位翻转和XOR操作。
  • 有一个事实,你不必把密码放在连接string中,但还有其他方法。 例如,encryption用户名/密码并将其存储在registry中,然后在运行时build立连接string。
  • 如果启用了这样的审计设置(它们应该是),则login到SQL Server将在安全事件日志中与其他Windowslogin一起被跟踪。 这意味着,如果您的服务器具有日志分析/聚合软件,则无需parsing应用程序事件日志或SQL Server日志文件。

就Web服务中的单一帐户而言,您仍然具有上面列出的所有优点。

Windows身份validation更安全,主要是因为用户名和密码未在连接string中传递。 数据源= myServerAddress;初始目录= myDataBase;集成安全性= SSPI;

与Data Source = myServerAddress; Initial Catalog = myDataBase; User Id = myUsername; Password = myPassword;

更安全的是Windows身份validation模式只是假设你有一个良好的networking安全。

你可以给你一些目前的设置和需求更多的细节?

基本上,Windows身份validation是build议的身份validation。 理论上说,如果你已经有了一个好的networking安全,那就是安全的。