Sql-Server
什麼被認為對 sql server 安全性更安全
在 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 服務獲得單個帳戶的位置,您仍然擁有我上面列出的所有相同優勢。