TMA-MSSQL2022-7.4
Ensure Network Encryption is Configured and Enabled
Description
Configuring and enabling network encryption ensures traffic between the application and the database system is encrypted. This will ensure compliance to security standards such as PCI DSS, which is required if connections are through a public network. Network encryption can be configured in SQL Server either with self-signed certificates or TLS certificates. Network encryption will ensure data transmitted over the network is protected, so attackers can’t ex-filtrate passwords, and confidential data. This protects against man in the middle attack, and network sniffing attacks to ex-filtrate data transmitted between the database system and applications.
How it is checked
Audit method: SQL query
sqlcmd -b -h -1 -W -Q "SET NOCOUNT ON; SELECT CASE WHEN EXISTS (SELECT 1 FROM sys.dm_exec_connections c WHERE c.net_transport <> 'Shared memory' AND c.encrypt_option <> 'TRUE' AND c.endpoint_id NOT IN (SELECT endpoint_id FROM sys.database_mirroring_endpoints WHERE encryption_algorithm IS NOT NULL)) THEN 'noncompliant' ELSE 'compliant' END;"- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Refer to Microsoft SQL Server Encryption Documentation: https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/sql-server- encryption
Properties
- Operating systems
- Any
- Tags
- encryptionmssqlnetworksqlserver-2022
- Reference
- CIS Microsoft SQL Server 2022 Benchmark v1.3.0 - 7.4 Ensure Network Encryption is Configured and Enabled
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target mssql --level 2