什么被认为对 sql server 安全性更安全

Jos*_*rke 3 security sql-server sql-server-2005 sql-server-2008

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

  • 仅限 Windows 身份验证模式
  • 混合认证

服务器是否会被许多桌面客户端(胖客户端)访问,或者少数 Web 服务器将访问它是否重要?

编辑

为什么它更安全?使用 Windows 身份验证确实意味着我们可以避免将连接字符串放在配置文件中,这是一个优点。

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

然而,我一直想知道的一件事是,当所有客户端都通过 Web 服务等代理时,NT 身份验证有多大用处。

K. *_*ley 8

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

  • 您可以使用 Kerberos 身份验证。Kerberos 协议有一个时间戳,可以防止重放攻击。它还允许客户端使用受信任的第 3 方(在 Active Directory 的实现中,这是 DC)来验证服务器的身份。
  • 它允许使用单个安全源:Active Directory。因此,一旦您关闭 Active Directory 中的帐户,它就会在任何地方被禁用。
  • 在 SQL Server 2005 之前的 SQL Server 版本中,登录数据包不会自动加密。密码在网络上传递的方式很容易解密,因为我们谈论的是高位和低位位翻转和 XOR 操作。
  • 事实上,您不必将密码放在连接字符串中,但还有其他方法可以解决这个问题。例如,加密用户名/密码并将其存储在注册表中,然后在运行时构建连接字符串。
  • 如果启用了此类审核设置(并且应该启用),则将在安全事件日志中跟踪对 SQL Server 的登录以及其他 Windows 登录。这意味着如果您的服务器有日志解析/聚合软件,您不必解析应用程序事件日志或 SQL Server 日志文件。

对于您从 Web 服务拥有单个帐户的位置,您仍然具有我在上面列出的所有相同优势。


CPU*_*USY 5

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

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