Microsoft SQL Server
TMA-MSSQL-2.1
Ensure 'Ad Hoc Distributed Queries' Server Configuration Option is set to '0'
中级别 1自动化mssql
说明
Enabling Ad Hoc Distributed Queries allows users to query data and execute statements on external data sources. This functionality should be disabled. Both value and value_in_use must equal 0. Default: By default, this option is disabled (0). 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.
检查方式
审计方法: SQL 查询
sql_query
sqlcmd -b -h -1 -W -Q "SET NOCOUNT ON; SELECT CASE WHEN CAST(value AS int) = 0 AND CAST(value_in_use AS int) = 0 THEN 'compliant' ELSE 'noncompliant' END FROM sys.configurations WHERE name = 'Ad Hoc Distributed Queries';"- 预期输出
compliant
修复方式
修复方法: SQL 语句
shell
sqlcmd -b -h -1 -W -Q "SET NOCOUNT ON; EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'Ad Hoc Distributed Queries', 0; RECONFIGURE; EXEC sp_configure 'show advanced options', 0; RECONFIGURE;"属性
- 操作系统
- 任意
- 标签
- mssqldatabasesurface-area
- 参考
- CIS Microsoft SQL Server 2025 Benchmark v1.0.0 - 2.1 Ensure 'Ad Hoc Distributed Queries' Server Configuration Option is set to '0'
检查本机
请在您有权审计的机器上运行此命令。扫描为只读操作。
shell
tmaegis scan --target mssql