TMAegisBeta
更多 mssql 規則

Microsoft SQL Server

TMA-MSSQL-3.11

Ensure the public role in the msdb database is not granted access to SQL Agent proxies

中等級 1自動化mssql

說明

The public database role contains every user in the msdb database. SQL Agent proxies define a security context in which a job step can run. Default: By default, the msdb public database role does not have access to any proxy. 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 COUNT(*) FROM msdb.dbo.sysproxylogin spl JOIN msdb.sys.database_principals dp ON dp.sid = spl.sid JOIN msdb.dbo.sysproxies sp ON sp.proxy_id = spl.proxy_id WHERE dp.name = 'public';"
預期輸出
0

修補方式

修補方法: 操作指南或基礎設施修補檔

1. Ensure the required security principals are explicitly granted access to the proxy (use sp_grant_login_to_proxy). 2. Revoke access to the <proxyname> from the public role. USE [msdb] GO EXEC dbo.sp_revoke_login_from_proxy @name = N'public', @proxy_name = N'<proxyname>'; GO

屬性

作業系統
不限
標籤
mssqldatabaseprivilegessql-agent
參考資料
CIS Microsoft SQL Server 2025 Benchmark v1.0.0 - 3.11 Ensure the public role in the msdb database is not granted access to SQL Agent proxies

檢查此主機

請在您有權稽核的機器上執行此指令。掃描為唯讀操作。

shell
tmaegis scan --target mssql