3.14 Ensure 'Control Server' permission is not granted

Information

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.

This will greatly reduces attack surface, as accounts that gets compromised by attackers with Control Server permission can escalate to SYSADMIN role. So, attackers can't break into the database system with highly privileged accounts. Revoking control server permission will prevent privilege elevation attacks.

NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance.

Solution

Remove any un-allowed SQL Server accounts which are granted Control Server using this query:

use [master] GO REVOKE CONTROL SERVER FROM [%login%]

See Also

https://workbench.cisecurity.org/benchmarks/25734