SQL6-D0-008300 - Confidentiality of information during transmission is controlled through the use of an approved TLS version.

Information

Transport Layer Security (TLS) encryption is a required security setting as a number of known vulnerabilities have been reported against Secure Sockets Layer (SSL) and earlier versions of TLS. Encryption of private information is essential to ensuring data confidentiality. If private information is not encrypted, it can be intercepted and easily read by an unauthorized party. SQL Server must use a FIPS-approved minimum TLS version 1.2, and all non-FIPS-approved SSL and TLS versions must be disabled. NIST SP 800-52 Rev.2 specifies the preferred configurations for government systems.

References:
TLS Support 1.2 for SQL Server: https://support.microsoft.com/en-us/kb/3135244
TLS Registry Settings: https://docs.microsoft.com/en-us/windows-server/security/tls/tls-registry-settings

Solution

Important Note: Incorrectly modifying the Windows Registry can result in serious system errors. Before making any modifications, ensure you have a recent backup of the system and registry settings.

Access the SQL Server.
Access an administrator command prompt.
Type 'regedit' to launch the Registry Editor.

Enable TLS 1.2:

1.Navigate to the path HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
a.If the 'TLS 1.2' key does not exist, right-click 'Protocols'.
b.Click 'New'.
c.Click 'Key'.
d.Type the name 'TLS 1.2'.

2.Navigate to the 'TLS 1.2' subkey.
a.If the subkey 'Client' does not exist, right-click 'TLS 1.2'
b.Click 'New'.
c.Click 'Key'.
d.Type the name 'Client'.
e.Repeat steps A - D for the 'Server' subkey.

3.Navigate to the 'Client' subkey.
a.If the value 'Enabled' does not exist, right-click on 'Client'.
b.Click 'New'.
c.Click 'DWORD'.
d.Enter 'Enabled' as the name.
e.Repeat steps A-D for the value 'DisabledByDefault'.

4.Double-click 'Enabled'.

5.In Value Data, enter '1'.

6.Click 'OK'.

7.Double-click 'DisabledByDefault'.

8.In Value Data, enter '0'.

9.Click 'OK'.

10.Repeat steps 3 - 9 for the 'Server' subkey.


Disable unwanted SSL/TLS protocol versions:

1.Navigate to the path HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
a.If the 'TLS 1.0' key does not exist, right-click 'Protocols'.
b.Click 'New'.
c.Click 'Key'.
d.Type the name 'TLS 1.0'.

2.Navigate to the 'TLS 1.0' subkey.
a.If the subkey 'Client' does not exist, right-click 'TLS 1.0'.
b.Click 'New'.
c.Click 'Key'.
d.Type the name 'Client'.
e.Repeat steps A - D for the 'Server' subkey.

3.Navigate to the 'Client' subkey.
a.If the value 'Enabled' does not exist, right-click on 'Client'.
b.Click 'New'.
c.Click 'DWORD'.
d.Enter 'Enabled' as the name.
e.Repeat steps A-D for the value 'DisabledByDefault'.

4.Double-click 'Enabled'.

5.In Value Data, enter '0'.

6.Click 'OK'.

7.Double-click 'DisabledByDefault'.

8.In Value Data, enter '1'.

9.Click 'OK'.

10.Repeat steps 3 - 9 for the 'Server' subkey.

11.Repeat steps 1 - 10 for 'TLS 1.1', 'SSL 2.0', and 'SSL 3.0'.

See Also

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

Item Details

References: CAT|I, CCI|CCI-000197, Rule-ID|SV-213967r879609_rule, STIG-ID|SQL6-D0-008300, STIG-Legacy|SV-106625, STIG-Legacy|V-97521, Vuln-ID|V-213967

Plugin: Windows

Control ID: 8012711a9190e3e8afac653ea0ec82b7094178a7b7697f4c1ab35d107066e701