Sql-Server

什麼被認為對 sql server 安全性更安全

  • May 1, 2009

在 SQL Server 2005 / 2008 上設置安全性時。更安全的選項是什麼?

  • 僅 Windows 身份驗證模式
  • 混合認證

如果伺服器將被許多桌面客戶端(厚客戶端)訪問,或者少數 Web 伺服器將訪問它,這是否重要?

編輯

為什麼它更安全?使用 Windows 身份驗證確實意味著我們可以避免將連接字元串放在配置文件中,這是一個優點。

Windows 身份驗證還允許我們根據他們的 NT 憑據控制誰可以訪問,我認為當您的客戶端直接連接到伺服器時這是理想的選擇。

然而,我一直想知道的一件事是,當所有客戶端都通過諸如 Web 服務之類的代理時,NT 身份驗證有多大用處。

Windows 身份驗證被認為更安全。原因如下:

  • 您可以使用 Kerberos 身份驗證。Kerberos 協議具有防止重放攻擊的時間戳。它還允許客戶端使用受信任的第 3 方驗證伺服器的身份(在 Active Directory 的實現中,這是 DC)。
  • 它允許單一安全源:Active Directory。因此,一旦您關閉 Active Directory 中的帳戶,它就會在任何地方都被禁用。
  • 在 SQL Server 2005 之前的 SQL Server 版本中,登錄數據包不會自動加密。密碼在網路上傳遞的方式很容易被解密,因為我們正在討論高位和低位翻轉和 XOR 操作。
  • 事實上,您不必將密碼放在連接字元串中,但還有其他方法可以解決這個問題。例如,加密使用者名/密碼並將其儲存在系統資料庫中,然後在執行時建構連接字元串。
  • 如果打開了此類審核設置(並且應該打開),則將在安全事件日誌中跟踪對 SQL Server 的登錄以及其他 Windows 登錄。這意味著如果您的伺服器有日誌解析/聚合軟體,則不必解析出應用程序事件日誌或 SQL Server 日誌文件。

關於您從 Web 服務獲得單個帳戶的位置,您仍然擁有我上面列出的所有相同優勢。

引用自:https://serverfault.com/questions/2127