Microsoft SQL Server
TMA-MSSQL-3.14
Ensure 'Control Server' permission is not granted
說明
The Control Server permission is a highly privileged server-level permission in SQL Server database engine. Moreover, even though this permission is not as powerful as SYSADMIN role, it has almost most of the permissions of SYSADMIN role. Also, database logins granted control server permission can easily elevate to SYSADMIN role through different exploit techniques which is a serious security problem.
檢查方式
稽核方法: 人工審核
Execute this SQL query to list all SQL Server logins with Control Server permission: SELECT sys.server_permissions.type, sys.server_permissions.permission_name, sys.server_permissions.state, sys.server_permissions.state_desc, granteeserverprincipal.name AS grantee_principal_name, granteeserverprincipal.type_desc AS grantee_principal_type_desc, grantorserverprinicipal.name AS grantor_name, CASE WHEN sys.server_permissions.state = N'W' THEN N'GRANT' ELSE sys.server_permissions.state_desc END + N' ' + sys.server_permissions.permission_name COLLATE SQL_Latin1_General_CP1_CI_AS + N' TO ' + ...
修補方式
修補方法: 操作指南或基礎設施修補檔
Remove any un-allowed SQL Server accounts which are granted Control Server using this query: use [master] GO REVOKE CONTROL SERVER FROM [%login%]
屬性
- 作業系統
- 不限
- 標籤
- mssqldatabasemanual
- 參考資料
- CIS Microsoft SQL Server 2025 Benchmark v1.0.0 - 3.14 Ensure 'Control Server' permission is not granted