SV-213987r617437_rule
V-213987
SRG-APP-000380-DB-000360
SQL6-D0-011400
CAT II
10
Revoke unauthorized permissions from principals.
https://msdn.microsoft.com/en-us/library/ms186308.aspx
Remove unauthorized logins from roles.
ALTER SERVER ROLE DROP MEMBER login;
https://technet.microsoft.com/en-us/library/ee677634.aspx
Obtain a list of logins who have privileged permissions and role memberships in SQL.
Execute the following query to obtain a list of logins and roles and their respective permissions assignment:
SELECT p.name AS Principal,
p.type_desc AS Type,
sp.permission_name AS Permission,
sp.state_desc AS State
FROM sys.server_principals p
INNER JOIN sys.server_permissions sp ON p.principal_id = sp.grantee_principal_id
WHERE sp.permission_name = 'CONTROL SERVER'
OR sp.state = 'W'
Execute the following query to obtain a list of logins and their role memberships.
SELECT m.name AS Member,
m.type_desc AS Type,
r.name AS Role
FROM sys.server_principals m
INNER JOIN sys.server_role_members rm ON m.principal_id = rm.member_principal_id
INNER JOIN sys.server_principals r ON rm.role_principal_id = r.principal_id
WHERE r.name IN ('sysadmin','securityadmin','serveradmin')
Check the server documentation to verify the logins and roles returned are authorized. If the logins and/or roles are not documented and authorized, this is a finding.
V-213987
False
SQL6-D0-011400
Obtain a list of logins who have privileged permissions and role memberships in SQL.
Execute the following query to obtain a list of logins and roles and their respective permissions assignment:
SELECT p.name AS Principal,
p.type_desc AS Type,
sp.permission_name AS Permission,
sp.state_desc AS State
FROM sys.server_principals p
INNER JOIN sys.server_permissions sp ON p.principal_id = sp.grantee_principal_id
WHERE sp.permission_name = 'CONTROL SERVER'
OR sp.state = 'W'
Execute the following query to obtain a list of logins and their role memberships.
SELECT m.name AS Member,
m.type_desc AS Type,
r.name AS Role
FROM sys.server_principals m
INNER JOIN sys.server_role_members rm ON m.principal_id = rm.member_principal_id
INNER JOIN sys.server_principals r ON rm.role_principal_id = r.principal_id
WHERE r.name IN ('sysadmin','securityadmin','serveradmin')
Check the server documentation to verify the logins and roles returned are authorized. If the logins and/or roles are not documented and authorized, this is a finding.
M
3993