SQL2-00-009300 - SQL Server must be protected from unauthorized access by developers on shared production/development host systems.

Information

Applications employ the concept of least privilege for specific duties and information systems (including specific functions, ports, protocols, and services). The concept of least privilege is also applied to information system processes, ensuring that the processes operate at privilege levels no higher than necessary to accomplish required organizational missions and/or functions. Organizations consider the creation of additional processes, roles, and information system accounts as necessary to achieve least privilege. Organizations also apply least privilege concepts to the design, development, implementation, and operations of information systems.

Developers granted elevated database and/or operating system privileges on systems that support both development and production databases can affect the operation and/or security of the production database system. Operating system and database privileges assigned to developers on shared development and production systems must be restricted.

Solution

Within the system documentation, clearly identify if SQL Server is hosting both development and production databases.

Restrict developer privileges to production objects to only objects and data where those privileges are required and authorized by running the following scripts as needed:

Remove the user from direct access to server permission by running the following script:
USE master
REVOKE <'server permission name'> TO <'account name'> CASCADE

Remove the user from user-defined role access by running the following script:
USE master
ALTER SERVER ROLE [<'server role name'>] DROP MEMBER <'user name'>

Remove permissions from developer user accounts that grant permissions beyond the development database.

Navigate to SQL Server Management Studio >> Object Explorer >> <'SQL Server name'> >> Security >> Logins >> right click <'administrator account name'> >> Properties >> User >> Securables.

Remove 'Securables' permissions from accounts that are beyond what is required.

Navigate from 'Securables' to 'Server Roles'.

Remove 'Server Roles' permissions from accounts that are beyond what is required.

Navigate from 'Server Roles' to 'Users mapped to the login'.

Remove 'Users mapped to the login' permissions from accounts that are beyond what is required.

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_MS_SQL_Server_2012_V1R20_STIG.zip

Item Details

Category: ACCESS CONTROL

References: 800-53|AC-5c., CAT|II, CCI|CCI-002220, Rule-ID|SV-53921r2_rule, STIG-ID|SQL2-00-009300, Vuln-ID|V-41396

Plugin: MS_SQLDB

Control ID: 8335c899908a5efc6c42a8eac4303a5ac67e654ecbfd2c0e91dc84fead1830be