05-SQL Server测评命令
Categories:
3 分钟阅读
SQL Server三级等级保护现场核查命令与图形界面检查项(统一编号版)
适用范围:SQL Server 2012 及以上
基础信息
select @@version;
select name from sys.databases;
- 备注:用于确认数据库版本、库列表和现场数据库环境。
- 预期证据:版本截图、数据库列表截图。
示例输出(节选)
select @@version;
Microsoft SQL Server 2019 (RTM-CU22) 15.0.4355.3 ...
select name from sys.databases;
name
--------------------------------------------------
master
tempdb
model
msdb
AppDB
身份鉴别
A. 身份标识唯一、口令复杂度、定期更换
select name, is_disabled,
LOGINPROPERTY(name, ‘IsExpired’) as IsExpired,
LOGINPROPERTY(name, ‘IsLocked’) as IsLocked,
LOGINPROPERTY(name, ‘PasswordLastSetTime’) as PasswordLastSetTime
from sys.sql_logins;
- 备注:SSMS 路径:安全性 -> 登录名 -> 属性,查看“强制实施密码策略”“强制密码过期”。重点关注
sa、共享账户、长期未更换密码账户。 - 预期证据:登录名属性截图、登录账户列表截图、账号台账。
示例输出(节选)
name is_disabled IsExpired IsLocked PasswordLastSetTime
-------- ----------- --------- -------- -----------------------
sa 0 0 0 2026-03-12 09:41:02
appuser 0 0 0 2026-05-08 15:20:33
report 0 0 0 2025-11-27 10:05:17
B. 登录失败处理、会话超时退出
select name, LOGINPROPERTY(name, 'BadPasswordCount') as BadPasswordCount,
LOGINPROPERTY(name, ‘BadPasswordTime’) as BadPasswordTime
from sys.sql_logins;
exec sp_configure 'remote login timeout';
exec sp_configure 'remote query timeout';
- 备注:失败登录锁定很多时候由 Windows/AD 域策略实现,还应结合主机或域控策略核查。
- 预期证据:参数截图、域策略截图、主机安全策略截图、访谈记录。
示例输出(节选)
select name, LOGINPROPERTY(name, 'BadPasswordCount') as BadPasswordCount,
LOGINPROPERTY(name, 'BadPasswordTime') as BadPasswordTime
from sys.sql_logins;
name BadPasswordCount BadPasswordTime
-------- ---------------- -----------------------
appuser 0 NULL
report 2 2026-08-21 14:33:01.123
exec sp_configure 'remote login timeout';
name minimum maximum config_value run_value
--------------------- ----------- ----------- ------------ ----------
remote login timeout 0 2147483 10 10
C. 远程管理传输保密
exec xp_instance_regread
N’HKEY_LOCAL_MACHINE’,
N’SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib’,
N’ForceEncryption’;
- 备注:还需结合证书配置和客户端连接方式,确认是否实际启用加密远程管理。
- 预期证据:
ForceEncryption截图、证书配置截图、SSMS 连接加密说明。
示例输出(节选)
exec sp_configure 'remote login timeout';
name minimum maximum config_value run_value
--------------------- ----------- ----------- ------------ ----------
remote login timeout 0 2147483 10 10
D. 组合鉴别
备注:SQL Server 常通过 AD、MFA、堡垒机、统一认证体系实现双因素。
预期证据:统一认证截图、MFA 策略截图、堡垒机登录截图。
访问控制
A. 账户、角色、权限分配
select name, type_desc, is_disabled from sys.server_principals;
- 备注:用于核查服务器级账户、角色和禁用状态。
- 预期证据:账户截图、角色分工说明、账号审批记录。
示例输出(节选)
Value
------
1
(1 row affected) -- ForceEncryption=1 表示已强制加密
B. 默认账户、多余账户、来源与高权限账户
select sp.name, sl.sysadmin, sl.securityadmin, sl.serveradmin, sl.setupadmin,
sl.processadmin, sl.diskadmin, sl.dbcreator, sl.bulkadmin
from sys.syslogins sl
join sys.server_principals sp on sl.sid = sp.sid;
- 备注:重点核查
sa、sysadmin、securityadmin等高权限角色是否最小化。 - 预期证据:高权限账户截图、管理账户台账、权限调整记录。
示例输出(节选)
name type_desc is_disabled
------------- ------------ -----------
sa SQL_LOGIN 0
NT AUTHORITY\SYSTEM SQL_LOGIN 0
appuser SQL_LOGIN 0
##MS_SQLResourceSigningCertificate## CERTIFICATE_MAPPED_LOGIN 1
C. 细粒度授权与最小权限
备注:SSMS 路径:安全性 -> 登录名 -> 属性 -> 用户映射,抽查数据库级授权与对象授权。
预期证据:用户映射截图、数据库授权截图、抽查记录。
D. 角色继承与特殊角色
备注:结合服务器角色与数据库角色综合判定是否存在过度授权。
预期证据:角色分配截图、角色设计说明。
安全审计
A. 审计功能是否开启
exec sp_configure 'c2 audit mode';
select name, value_in_use from sys.configurations where name like '%audit%';
- 备注:重点看是否启用数据库审计、服务器审计或等效审计能力。
- 预期证据:参数截图、审计配置截图、审计平台截图。
示例输出(节选)
name sysadmin securityadmin serveradmin ...
-------- -------- ------------- ------------
sa 1 0 0
dbadmin 1 1 0
appuser 0 0 0
B. 审计范围与审计对象
备注:SSMS 路径:服务器属性 -> 安全性,查看登录审核、C2 审核跟踪、DefaultTraceEnabled。
预期证据:界面截图、审计策略截图、审计事件样例。
C. 审计日志保护与留存
备注:应说明审计日志保存位置、保留周期、访问权限和集中存储方式。
预期证据:日志位置截图、权限截图、留存制度、日志平台截图。
D. 审计失效告警
备注:补查监控、告警和审计员管理机制。
预期证据:告警规则截图、告警样例、监控平台截图。
数据完整性
A. 传输过程完整性
备注:结合 SSL/TLS、证书和客户端连接方式判定。
预期证据:证书截图、连接加密说明、网络链路说明。
B. 存储过程完整性
备注:结合 TDE、备份校验、日志保护和配置文件保护方式判定。
预期证据:加密截图、备份校验记录、日志保护说明。
数据保密性
A. 传输过程保密性
备注:结合
ForceEncryption、证书和网络链路保护判定。预期证据:参数截图、证书截图、远程连接说明。
B. 存储过程保密性
备注:可补查 TDE、Always Encrypted、备份加密、列级加密等能力。
预期证据:TDE 截图、列加密截图、备份加密截图、方案说明。
备份恢复
A. 本地数据备份与恢复
select database_name, backup_start_date, backup_finish_date, type
from msdb.dbo.backupset
order by backup_finish_date desc;
- 备注:重点核查是否定期备份并具备恢复能力。
- 预期证据:备份记录截图、备份任务截图、恢复演练记录。
示例输出(节选)
exec sp_configure 'c2 audit mode';
name config_value run_value
------------------------ ------------ ---------
c2 audit mode 0 0
select name, value_in_use from sys.configurations where name like '%audit%';
name value_in_use
------------------------------ ------------
default trace enabled 1
c2 audit mode 0
B. 异地实时备份
备注:结合日志传送、复制、Always On、镜像等方案核查。
预期证据:高可用/复制状态截图、异地机房说明、拓扑图。
C. 热冗余与高可用
备注:结合 Always On、集群、镜像、双机切换和演练记录判定。
预期证据:架构图、切换截图、演练记录。
剩余信息保护
A. 鉴别信息所在存储空间释放前清除
备注:结合存储介质清理制度、磁盘加密和销毁记录综合判断。
预期证据:介质清除制度、销毁记录、加密截图。
B. 敏感数据所在存储空间释放前清除
备注:同上。
预期证据:回收制度、销毁记录、磁盘加密截图。
个人信息保护
A. 个人信息访问控制与审计
备注:抽查敏感字段权限、访问审计和导出审计情况。
预期证据:权限截图、审计截图、导出控制说明。
B. 个人信息存储与传输保护
备注:抽查加密、脱敏和专门保护措施。
预期证据:脱敏策略截图、加密方案说明、设计材料。
入侵防范
A. 访问来源限制/白名单
备注:结合数据库监听/配置与防火墙策略,确认仅允许授权来源访问。
预期证据:数据库访问控制或监听配置截图、主机/网络防火墙策略、堡垒机访问策略截图。
B. 异常访问与爆破防护
备注:结合登录失败处理、连接限制、WAF/堡垒机/防暴力破解策略,确认具备阻断或告警能力。
预期证据:失败登录限制参数截图、策略截图、告警样例、访谈记录。
C. 漏洞扫描与补丁管理
备注:确认数据库漏洞扫描周期、补丁评估与修复流程。
预期证据:漏洞扫描报告、补丁更新记录、变更单。
D. 恶意代码/工具防护
备注:确认主机侧安全防护软件或EDR对数据库进程的防护与告警能力。
预期证据:安全软件截图、策略配置截图、告警样例。
时间同步与日志一致性
备注:确认数据库服务器时间同步(NTP/chrony),保证审计日志时间一致、可溯源。
预期证据:NTP/chrony 配置截图、时间同步状态截图、运维制度或巡检记录。
主流版本差异说明
SQL Server主流版本核查差异说明
版本识别
select @@version;
主流版本分档
SQL Server 2012
SQL Server 2016
SQL Server 2019
SQL Server 2022
重点差异
A. 身份鉴别
推荐命令:
select name, is_disabled,
LOGINPROPERTY(name, ‘IsExpired’) as IsExpired,
LOGINPROPERTY(name, ‘IsLocked’) as IsLocked,
LOGINPROPERTY(name, ‘PasswordLastSetTime’) as PasswordLastSetTime
from sys.sql_logins;
版本提示:
- 2012 到 2022 这类账户核查命令兼容性较好。
B. 远程管理传输保密
推荐命令:
exec xp_instance_regread
N’HKEY_LOCAL_MACHINE’,
N’SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib’,
N’ForceEncryption’;
版本提示:
- 不同版本更大的差异在 GUI 菜单与高可用部署形式,不在核心核查命令。
C. 安全审计
推荐命令:
exec sp_configure 'c2 audit mode';
select name, value_in_use from sys.configurations where name like '%audit%';
版本提示:
- 新版本更常见 SQL Server Audit、扩展事件和更完整的审计能力。
D. 备份恢复与高可用
推荐命令:
select database_name, backup_start_date, backup_finish_date, type
from msdb.dbo.backupset
order by backup_finish_date desc;
版本提示:
2012 现场常见镜像、日志传送。
2016/2019/2022 更常见 Always On、可用性组和集群。
现场编制建议
2012 文档重点关注老版本高可用与审计能力局限。
2016/2019 文档重点关注 Always On、TDE、审计与加密。
2022 文档可继续沿用 2019 核查框架。
取证注意事项
SQL Server 很多有效证据在 SSMS 图形界面中,命令和界面应联合取证。
失败登录处理通常还要结合 Windows 本地策略或域策略。