MS SQL Server 2016 Database Security Technical Implementation Guide

This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DoD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: [email protected]

Details

Version / Release: V1R6

Published: 2020-06-15

Updated At: 2020-08-15 20:23:25

Compare/View Releases

Select any two versions of this STIG to compare the individual requirements

Select any old version/release of this STIG to view the previous requirements

Actions

Download

Filter


Findings
Severity Open Not Reviewed Not Applicable Not a Finding
Overall 0 0 0 0
Low 0 0 0 0
Medium 0 0 0 0
High 0 0 0 0
Drop CKL or SCAP (XCCDF) results here.

    Vuln Rule Version CCI Severity Title Description Status Finding Details Comments
    SV-93767r1_rule SQL6-D0-000100 CCI-000015 MEDIUM SQL Server databases must integrate with an organization-level authentication/access mechanism providing account management and automation for all users, groups, roles, and any other principals. Enterprise environments make account management for applications and databases challenging and complex. A manual process for account management functions adds the risk of a potential oversight or other error. Managing accounts for the same person in multi
    SV-93771r1_rule SQL6-D0-000300 CCI-000213 HIGH SQL Server must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies. Authentication with a DoD-approved PKI certificate does not necessarily imply authorization to access SQL Server. To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, al
    SV-93773r3_rule SQL6-D0-000400 CCI-000166 HIGH SQL Server must protect against a user falsely repudiating by ensuring only clearly unique Active Directory user accounts can connect to the database. Non-repudiation of actions taken is required in order to maintain data integrity. Examples of particular actions taken by individuals include creating information, sending a message, approving information (e.g., indicating concurrence or signing a contrac
    SV-93775r2_rule SQL6-D0-000500 CCI-000166 LOW SQL Server must protect against a user falsely repudiating by use of system-versioned tables (Temporal Tables). Non-repudiation of actions taken is required in order to maintain data integrity. Examples of particular actions taken by individuals include creating information, sending a message, approving information (e.g., indicating concurrence or signing a contrac
    SV-93777r4_rule SQL6-D0-000600 CCI-000166 HIGH SQL Server must protect against a user falsely repudiating by ensuring databases are not in a trust relationship. Non-repudiation of actions taken is required in order to maintain data integrity. Examples of particular actions taken by individuals include creating information, sending a message, approving information (e.g., indicating concurrence or signing a contrac
    SV-93779r2_rule SQL6-D0-000700 CCI-000171 MEDIUM SQL Server must allow only the ISSM (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited. Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent or interfere with the auditing of critical events. Suppression of auditing could permit an adversary to evad
    SV-93781r1_rule SQL6-D0-001100 CCI-001499 MEDIUM SQL Server must limit privileges to change software modules, to include stored procedures, functions, and triggers. If the system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. Accordingly, only qualified
    SV-93783r1_rule SQL6-D0-001200 CCI-001499 MEDIUM SQL Server must limit privileges to change software modules, to include stored procedures, functions, and triggers, and links to software external to SQL Server. If the system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. Accordingly, only qualified
    SV-93785r1_rule SQL6-D0-001300 CCI-001499 MEDIUM Database objects (including but not limited to tables, indexes, storage, stored procedures, functions, triggers, links to software external to SQL Server, etc.) must be owned by database/DBMS principals authorized for ownership. Within the database, object ownership implies full privileges to the owned object, including the privilege to assign access to the owned objects to other subjects. Database functions and procedures can be coded using definer's rights. This allows anyone w
    SV-93787r1_rule SQL6-D0-001400 CCI-001499 MEDIUM The role(s)/group(s) used to modify database structure (including but not necessarily limited to tables, indexes, storage, etc.) and logic modules (stored procedures, functions, triggers, links to software external to SQL Server, etc.) must be restricted to authorized users. If SQL Server were to allow any user to make changes to database structure or logic, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. Accordingly, only q
    SV-93789r1_rule SQL6-D0-001500 CCI-001665 MEDIUM In the event of a system failure, hardware loss or disk failure, SQL Server must be able to restore necessary databases with least disruption to mission processes. Failure to a known state can address safety or security in accordance with the mission/business needs of the organization. Failure to a known secure state helps prevent a loss of confidentiality, integrity, or availability in the event of a failure of the
    SV-93791r2_rule SQL6-D0-001600 CCI-001199 MEDIUM The Database Master Key encryption password must meet DOD password complexity requirements. Weak passwords may be easily guessed. When passwords are used to encrypt keys used for encryption of sensitive data, then the confidentiality of all data encrypted using that key is at risk.
    SV-93793r1_rule SQL6-D0-001700 CCI-001199 MEDIUM The Database Master Key must be encrypted by the Service Master Key, where a Database Master Key is required and another encryption method has not been specified. When not encrypted by the Service Master Key, system administrators or application administrators may access and use the Database Master Key to view sensitive data that they are not authorized to view. Where alternate encryption means are not feasible, en
    SV-93795r1_rule SQL6-D0-001800 CCI-001199 MEDIUM The Certificate used for encryption must be backed up, stored offline and off-site. Backup and recovery of the Certificate used for encryption is critical to the complete recovery of the database. Not having this key can lead to loss of data during recovery.
    SV-93797r1_rule SQL6-D0-001900 CCI-001084 LOW SQL Server must isolate security functions from non-security functions. An isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. Security functions are the hardware, software, and/or firmware of the information system responsible for en
    SV-93799r1_rule SQL6-D0-002000 CCI-001090 MEDIUM Database contents must be protected from unauthorized and unintended information transfer by enforcement of a data-transfer policy. Applications, including DBMSs, must prevent unauthorized and unintended information transfer via shared system resources. Data used for the development and testing of applications often involves copying data from production. It is important that specifi
    SV-93801r1_rule SQL6-D0-002100 CCI-001310 MEDIUM SQL Server must check the validity of all data inputs except those specifically identified by the organization. Invalid user input occurs when a user inserts data or characters into an application's data entry fields and the application is unprepared to process that data. This results in unanticipated application behavior, potentially leading to an application or i
    SV-93803r1_rule SQL6-D0-002400 CCI-001312 MEDIUM SQL Server must provide non-privileged users with error messages that provide information necessary for corrective actions without revealing information that could be exploited by adversaries. Any DBMS or associated application providing too much information in error messages on the screen or printout risks compromising the data and security of the system. The structure and content of error messages need to be carefully considered by the organi
    SV-93805r1_rule SQL6-D0-002500 CCI-002262 MEDIUM SQL Server must associate organization-defined types of security labels having organization-defined security label values with information in storage. Without the association of security labels to information, there is no basis for SQL Server to make security-related access-control decisions. Security labels are abstractions representing the basic properties or characteristics of an entity (e.g., sub
    SV-93807r1_rule SQL6-D0-002600 CCI-002263 MEDIUM SQL Server must associate organization-defined types of security labels having organization-defined security label values with information in process. Without the association of security labels to information, there is no basis for SQL Server to make security-related access-control decisions. Security labels are abstractions representing the basic properties or characteristics of an entity (e.g., subje
    SV-93809r1_rule SQL6-D0-002700 CCI-002264 MEDIUM SQL Server must associate organization-defined types of security labels having organization-defined security label values with information in transmission. Without the association of security labels to information, there is no basis for SQL Server to make security-related access-control decisions. Security labels are abstractions representing the basic properties or characteristics of an entity (e.g., subje
    SV-93811r1_rule SQL6-D0-002800 CCI-002165 LOW SQL Server must enforce discretionary access control policies, as defined by the data owner, over defined subjects and objects. Discretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired
    SV-93813r2_rule SQL6-D0-002900 CCI-002233 MEDIUM Execution of stored procedures and functions that utilize execute as must be restricted to necessary cases only. In certain situations, to provide required functionality, a DBMS needs to execute internal logic (stored procedures, functions, triggers, etc.) and/or external code modules with elevated privileges. However, if the privileges required for execution are at
    SV-93815r1_rule SQL6-D0-003000 CCI-001812 MEDIUM SQL Server must prohibit user installation of logic modules (stored procedures, functions, triggers, views, etc.) without explicit privileged status. Allowing regular users to install software, without explicit privileges, creates the risk that untested or potentially malicious software will be installed on the system. Explicit privileges (escalated or administrative privileges) provide the regular use
    SV-93817r2_rule SQL6-D0-003100 CCI-001813 MEDIUM SQL Server must enforce access restrictions associated with changes to the configuration of the database(s). Failure to provide logical access restrictions associated with changes to configuration may have significant effects on the overall security of the system. When dealing with access restrictions pertaining to change control, it should be noted that any c
    SV-93819r2_rule SQL6-D0-003200 CCI-002450 MEDIUM SQL Server must use NSA-approved cryptography to protect classified information in accordance with the data owners requirements. Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. The application must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides ass
    SV-93821r1_rule SQL6-D0-003300 CCI-002475 MEDIUM SQL Server must implement cryptographic mechanisms to prevent unauthorized modification of organization-defined information at rest (to include, at a minimum, PII and classified information) on organization-defined information system components. DBMSs handling data requiring "data at rest" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. These cryptographic mechanisms may be native to SQL Server or implemented via add
    SV-93823r1_rule SQL6-D0-003400 CCI-002476 MEDIUM SQL Server must implement cryptographic mechanisms preventing the unauthorized disclosure of organization-defined information at rest on organization-defined information system components. SQL Server’s handling data requiring "data at rest" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. These cryptographic mechanisms may be native to SQL Server or implemente