Sql-Server

是否應該從 SQL 登錄中刪除域“使用者”組以確保數據庫安全?

  • January 4, 2017

我是從安全的角度來的。我看到很多帶有整個域“使用者”組(“XXX 域\使用者”)的 SQL 數據庫添加為 SQL 中的登錄帳戶。

這是否意味著 XXX 域中的所有使用者現在都可以訪問 SQL 伺服器了?這是安全風險嗎?刪除它會影響我的應用程序嗎?

我有 DBA 告訴我這不是安全風險。

在確定不再需要它們之前,不要刪除任何 SQL 登錄。

現在您可能正在混合兩種定義。

  • SQL Server 數據庫包含數據庫使用者
  • SQL Server 實例包含 SQL 登錄名

SQL Server 登錄

  • 在 SQL Server 實例上創建的 SQL Server 登錄可以是 Windows Authenticated User 或 Group,也可以是簡單的 SQL Server 帳戶/登錄。
  • SQL Server 登錄將有自己的密碼和規則。
  • 作為 SQL Server 登錄創建的 Windows Authenticated 使用者或組將連結到相應的 Windows 帳戶,並且不包含密碼。它根據域或使用者/組所屬的伺服器進行驗證。
  • SQL Server 登錄具有 SQL Server 實例級別的權限。

數據庫使用者

  • 數據庫使用者僅限於數據庫內部的權限。(也有例外)。
  • 您可以為數據庫使用者分配 DML 或 DDL 權限並授予對儲存過程的 EXECUTE 權限。
  • 您可以將數據庫使用者分配給數據庫角色
  • 您可以將數據庫使用者分配給模式(預設值:dbo)

連結數據庫使用者和 SQL Server 登錄

數據庫使用者和 SQL 登錄之間可以存在連結,但不一定非要存在。

讓我們給你幾個例子

  • 您可以擁有具有實例權限的 SQL Server 登錄DOMAIN\UsersVIEW SERVER STATE,但不能通過數據庫使用者連結到數據庫。然後所有域使用者都可以查詢 SQL Server 的狀態。
  • 您可以將 SQL Server 登錄DOMAIN\Users連結到數據庫TelephoneBook_Reader中的數據庫使用者TelephoneBook。數據庫使用者TelephoneBook_Reader可能對Employees數據庫中的表具有 SELECT 權限。如果您DOMAIN\Users從 SQL Server 實例中刪除 ,那麼沒有人將能夠查詢電話簿。
  • 您可以將 SQL Server 登錄DOMAIN\Users連結到數據庫 DOMAIN\Users中的數據庫使用者PsuedoDB。數據庫使用者DOMAIN\Users可能有權選擇、插入、更新和刪除模式Inventory
  • ….

回答你的問題

不,僅僅因為通過連結到數據庫使用者的 SQL Server 登錄名將域組分配給數據庫,並不一定是安全風險。這可能是授予大量使用者訪問數據庫的最簡單方法。

是的,如果域組已被授予訪問數據庫(通過 SQL 登錄和數據庫使用者)和查詢不應被允許的資訊的權限,那麼這可能是一個安全風險。

與 SQL Server 中的許多東西一樣:這取決於。

檢查分配給 SQL Server 登錄的數據庫權限DOMAIN\Users並驗證這些權限是否是必需的。

從黑客的角度來看:授予的每個權限都可能帶來安全風險。

引用自:https://dba.stackexchange.com/questions/159786