TMAegisBeta
More rules for mssql

Microsoft SQL Server

TMA-MSSQL2022-2.2

Ensure 'CLR Enabled' Server Configuration Option is set to '0'

MediumLevel 1Automatedmssql

Description

The clr enabled option specifies whether user assemblies can be run by SQL Server. Enabling use of CLR assemblies widens the attack surface of SQL Server and puts it at risk from both inadvertent and malicious assemblies.

How it is checked

Audit method: SQL query

sql_query
sqlcmd -b -h -1 -W -Q "SET NOCOUNT ON; SELECT CASE WHEN EXISTS (SELECT 1 FROM sys.configurations WHERE name = 'clr strict security' AND CAST(value AS int) = 1 AND CAST(value_in_use AS int) = 1) OR EXISTS (SELECT 1 FROM sys.configurations WHERE name = 'clr enabled' AND CAST(value AS int) = 0 AND CAST(value_in_use AS int) = 0) THEN 'compliant' ELSE 'noncompliant' END;"
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

For AWS RDS Instances, please refer to the documentation for using Parameter Groups here: Working with parameter groups Run the following T-SQL command: EXECUTE sp_configure 'clr enabled', 0; RECONFIGURE;

Properties

Operating systems
Any
Tags
mssqlsqlserver-2022
Reference
CIS Microsoft SQL Server 2022 Benchmark v1.3.0 - 2.2 Ensure 'CLR Enabled' Server Configuration Option is set to '0'

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target mssql