Sql-Server
是否應該從 SQL 登錄中刪除域“使用者”組以確保數據庫安全?
我是從安全的角度來的。我看到很多帶有整個域“使用者”組(“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\Users
名VIEW 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
並驗證這些權限是否是必需的。從黑客的角度來看:授予的每個權限都可能帶來安全風險。