TMA-MSSQL-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. Evaluates the connections open at scan time: every non-shared-memory connection must report encrypt_option TRUE. Runs one sqlcmd query with its defaults (Windows authentication to the local default instance); set SQLCMDSERVER, SQLCMDUSER and SQLCMDPASSWORD for another instance or SQL authentication. Needs VIEW SERVER STATE / sysadmin-level read access.
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
- mssqldatabaseencryptionnetwork
- Reference
- CIS Microsoft SQL Server 2025 Benchmark v1.0.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