05-SQL Server测评命令

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;

  • 备注:重点核查 sasysadminsecurityadmin 等高权限角色是否最小化。
  • 预期证据:高权限账户截图、管理账户台账、权限调整记录。
示例输出(节选)
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;

主流版本分档

  1. SQL Server 2012

  2. SQL Server 2016

  3. SQL Server 2019

  4. 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;

版本提示:

  1. 2012 到 2022 这类账户核查命令兼容性较好。

B. 远程管理传输保密

推荐命令:

exec xp_instance_regread

N’HKEY_LOCAL_MACHINE’,

N’SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib’,

N’ForceEncryption’;

版本提示:

  1. 不同版本更大的差异在 GUI 菜单与高可用部署形式,不在核心核查命令。

C. 安全审计

推荐命令:

exec sp_configure 'c2 audit mode';
select name, value_in_use from sys.configurations where name like '%audit%';

版本提示:

  1. 新版本更常见 SQL Server Audit、扩展事件和更完整的审计能力。

D. 备份恢复与高可用

推荐命令:

select database_name, backup_start_date, backup_finish_date, type

from msdb.dbo.backupset

order by backup_finish_date desc;

版本提示:

  1. 2012 现场常见镜像、日志传送。

  2. 2016/2019/2022 更常见 Always On、可用性组和集群。

现场编制建议

  1. 2012 文档重点关注老版本高可用与审计能力局限。

  2. 2016/2019 文档重点关注 Always On、TDE、审计与加密。

  3. 2022 文档可继续沿用 2019 核查框架。

取证注意事项

  1. SQL Server 很多有效证据在 SSMS 图形界面中,命令和界面应联合取证。

  2. 失败登录处理通常还要结合 Windows 本地策略或域策略。