依据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级”安全计算环境” 条款,给出 Windows Server 2012 R2/2016/2019/2022 的现场测评速查命令与快捷操作清单。
可直接在 CMD、PowerShell、图形界面(MMC 控制台) 中执行,覆盖身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范、可信验证、数据备份恢复、剩余信息保护 8 大控制点。
已在 Windows Server 2012 R2/2016/2019/2022 Datacenter & Standard 版 验证,符合 GB/T 22239-2019 第三级要求。
一、身份鉴别(8.1.4.1)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| 必须输入用户名密码 | netplwiz 或 control userpasswords2 | 勾选”要使用本计算机,用户必须输入用户名和密码” |
| 密码复杂度 | gpedit.msc → 计算机配置 → Windows 设置 → 安全设置 → 账户策略 → 密码策略 | 启用”密码必须符合复杂性要求”,长度 ≥8,最长使用期限 ≤90 天 |
| 登录失败锁定 | 同上 → 账户锁定策略 | 锁定阈值 ≤5 次,锁定时间 ≥30 分钟 |
| 远程超时 | gpedit.msc → 计算机配置 → 管理模板 → Windows 组件 → 远程桌面服务 → 会话时间限制 | 空闲会话 ≤30 分钟断开 |
| 禁止空口令 | lusrmgr.msc → 用户 → 右键属性 | 所有账户”密码永不过期”未勾选,空口令无法登录 |
二、访问控制(8.1.4.2)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| 用户唯一性 | lusrmgr.msc → 用户 | 无重复用户名;禁用或删除默认 Guest、DefaultAccount |
| 权限分离 | secpol.msc → 本地策略 → 用户权限分配 | 仅 Administrators 组具备”取得文件或其他对象的所有权” |
| 默认共享 | cmd → net share | 不存在 ADMIN、C、IPC$ 等默认共享 |
| 高危端口 | cmd → netstat -ano | 未监听 135/139/445/3389(如需远程,需加防火墙限制) |
| 防火墙策略 | wf.msc 或 cmd → netsh advfirewall show allprofiles | 防火墙启用,入站规则仅开放业务端口 |
三、安全审计(8.1.4.3)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| 审计策略启用 | secpol.msc → 本地策略 → 审核策略 | 至少启用”审核登录事件、审核策略更改、审核特权使用、审核系统事件”成功与失败 |
| 记录完整性 | eventvwr.msc → Windows 日志 → 安全 | 日志包含日期、时间、用户、事件 ID、成功/失败 |
| 日志保留期 | wevtutil gl security | retention=true 且日志大小 ≥1 GB;或自动归档 ≥6 个月 |
| 日志保护 | icacls %SystemRoot%\System32\winevt\Logs\Security.evtx | 仅 SYSTEM、本地 Administrators 具有完全控制 |
四、入侵防范(8.1.4.4)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| 最小安装 | appwiz.cpl → “启用或关闭 Windows 功能” | 仅勾选业务所需角色和功能 |
| 服务精简 | services.msc 或 cmd → sc query type=service state=all | 禁用 / 停止 Remote Registry、Telnet、Print Spooler 等非必需服务 |
| 补丁更新 | sconfig(Server Core)→ 5) Windows Update Settings → A) 自动 或 Get-WindowsUpdateLog | 最近 30 天内已安装补丁,无高危漏洞 |
| 漏洞扫描 | 运行 MBSA / WSUS Offline / Windows Update | 无 Critical/High 漏洞 |
五、恶意代码防范(8.1.4.5)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| Defender 启用 | Get-MpComputerStatus | RealTimeProtectionEnabled=True;AntivirusEnabled=True |
| 病毒库更新 | Get-MpThreatSignature | SignatureLastUpdated ≤24 小时 |
| 实时扫描 | Get-MpPreference | select DisableRealtimeMonitoring | 返回 False |
Windows Server 2016 以下默认无 Defender,需安装或改用第三方杀毒并截图其控制台。
六、可信验证(8.1.4.6)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| TPM 2.0 | tpm.msc | “TPM 已准备就绪,正在使用” |
| Secure Boot | Confirm-SecureBootUEFI (PowerShell) | 返回 True |
| BitLocker 系统卷 | manage-bde -status C: | 保护状态:Protection On,加密方法 XTS-AES 256 |
七、数据备份与恢复(8.1.4.9)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| 系统状态备份 | wbadmin get versions | 最近 24 小时内存在 SystemState\Bare Metal Recovery 备份 |
| 计划任务 | taskschd.msc → Microsoft → Windows → Backup | 每日或每周定时任务 |
| 离线存储 | 访谈管理员 | 备份文件定期离线或云端冗余保存 |
| 恢复演练 | wbadmin get items 并实际恢复到测试机 | 验证可成功恢复系统 |
八、剩余信息保护(8.1.4.10)
| 控制项 | 操作路径 / 命令 | 达标判据 |
|---|
| 登录名不缓存 | secpol.msc → 本地策略 → 安全选项 → “交互式登录:不显示最后的用户名” | 已启用 |
| 清除虚拟内存 | 同上 → “关机:清除虚拟内存页面文件” | 已启用 |
| 屏幕保护密码 | 个性化 → 屏幕保护程序 → 等待 ≤10 分钟,勾选”在恢复时显示登录屏幕” | 已启用 |
一键巡检脚本(PowerShell)
# Windows Server 等保三级一键巡检脚本
# 适用:Windows Server 2012 R2/2016/2019/2022
# 执行权限:管理员
Write-Host"===== 1 身份鉴别 ====="-ForegroundColor Green
# 密码策略
Write-Host"--- 密码策略 ---"
net accounts
# 账户锁定策略
Write-Host"--- 账户锁定策略 ---"
net accounts | findstr "锁定"
# 禁止空口令检查
Write-Host"--- 空口令检查 ---"
Get-WmiObject-Class Win32_UserAccount -Filter"PasswordRequired=False and LocalAccount=True"|
Select-Object Name, PasswordRequired
Write-Host""
Write-Host"===== 2 访问控制 ====="-ForegroundColor Green
# 本地用户
Write-Host"--- 本地用户 ---"
net user
# 管理员组
Write-Host"--- 管理员组 ---"
net localgroup administrators
# 共享
Write-Host"--- 共享资源 ---"
net share
# 监听端口
Write-Host"--- 监听端口 ---"
netstat -ano | findstr "LISTENING"
# 防火墙状态
Write-Host"--- 防火墙状态 ---"
netsh advfirewall show allprofiles state
Write-Host""
Write-Host"===== 3 安全审计 ====="-ForegroundColor Green
# 审计策略
Write-Host"--- 审计策略 ---"
auditpol /get /category:*| findstr /i "成功|失败"
# 安全日志大小
Write-Host"--- 安全日志配置 ---"
wevtutil gl security | findstr /i "日志大小|保留"
# 日志权限
Write-Host"--- 日志文件权限 ---"
icacls "$env:SystemRoot\System32\winevt\Logs\Security.evtx"
Write-Host""
Write-Host"===== 4 入侵防范 ====="-ForegroundColor Green
# 系统版本
Write-Host"--- 系统版本 ---"
systeminfo | findstr /B /C:"OS 名称"/C:"OS 版本"
# 已安装补丁
Write-Host"--- 最近补丁 ---"
Get-HotFix|Sort-Object InstalledOn -Descending |Select-Object-First 5
# 运行服务
Write-Host"--- 高危服务状态 ---"
$dangerousServices = @("Telnet","RemoteRegistry","Spooler","Fax")
foreach($svc in $dangerousServices){
$status = Get-Service-Name $svc-ErrorAction SilentlyContinue
if($status){
Write-Host"$svc : $($status.Status)"
}
}
Write-Host""
Write-Host"===== 5 恶意代码防范 ====="-ForegroundColor Green
# Defender状态
Write-Host"--- Windows Defender 状态 ---"
try{
$defender = Get-MpComputerStatus
Write-Host"实时保护: $($defender.RealTimeProtectionEnabled)"
Write-Host"防病毒启用: $($defender.AntivirusEnabled)"
Write-Host"病毒库更新时间: $($defender.AntivirusSignatureLastUpdated)"
}catch{
Write-Host"Windows Defender 未安装或无法访问"
}
Write-Host""
Write-Host"===== 6 可信验证 ====="-ForegroundColor Green
# TPM状态
Write-Host"--- TPM 状态 ---"
Get-Tpm|Select-Object TpmPresent,TpmReady,TpmEnabled
# Secure Boot
Write-Host"--- Secure Boot ---"
try{
Confirm-SecureBootUEFI
}catch{
Write-Host"无法检测 Secure Boot 状态"
}
# BitLocker
Write-Host"--- BitLocker 状态 ---"
manage-bde -status C:
Write-Host""
Write-Host"===== 7 数据备份 ====="-ForegroundColor Green
# 备份版本
Write-Host"--- 备份版本 ---"
wbadmin get versions
Write-Host""
Write-Host"===== 8 剩余信息保护 ====="-ForegroundColor Green
# 安全选项
Write-Host"--- 关键安全选项 ---"
secedit /export /cfg $env:TEMP\secpol.cfg /quiet
Get-Content$env:TEMP\secpol.cfg | findstr /i "DontDisplayLastUserName|ClearPageFileAtShutdown"
Remove-Item$env:TEMP\secpol.cfg -Force
Write-Host""
Write-Host"===== 巡检完成 ====="-ForegroundColor Green
核心 MMC 控制台速查表
| 控制台 | 启动命令 | 主要用途 |
|---|
| 本地组策略编辑器 | gpedit.msc | 密码策略、账户锁定、远程超时 |
| 本地安全策略 | secpol.msc | 用户权限分配、审核策略、安全选项 |
| 事件查看器 | eventvwr.msc | 安全日志审查、事件追溯 |
| 本地用户和组 | lusrmgr.msc | 账户管理、权限分配 |
| 高级安全防火墙 | wf.msc | 入站/出站规则配置 |
| 服务管理 | services.msc | 服务启用/禁用 |
| 程序和功能 | appwiz.cpl | 角色和功能安装 |
| TPM 管理 | tpm.msc | 可信平台模块状态 |
| 任务计划程序 | taskschd.msc | 备份任务配置 |
| 计算机管理 | compmgmt.msc | 综合管理工具 |
高风险项重点核查清单
| 检查项 | 验证命令/操作 | 不合规判定 | 整改建议 |
|---|
| 空口令账户 | net user 查看 | 存在 PasswordRequired=False 的账户 | 设置强口令或禁用账户 |
| 密码复杂度未启用 | gpedit.msc → 密码策略 | “密码必须符合复杂性要求”为禁用 | 启用并配置最小长度8 |
| 无账户锁定 | net accounts | 锁定阈值为0或不存在 | 设置锁定阈值≤5次 |
| 默认共享未关闭 | net share | 存在 ADMIN、C、IPC$ | 通过注册表或策略关闭 |
| 高危端口开放 | netstat -ano | 监听135/139/445/3389且无限制 | 关闭服务或添加防火墙规则 |
| 审计未启用 | auditpol /get /category:* | 关键策略为”无审核” | 启用登录事件、策略更改等审核 |
| Defender未启用 | Get-MpComputerStatus | RealTimeProtectionEnabled=False | 启用实时保护或安装第三方杀毒 |
| 无备份策略 | wbadmin get versions | 无备份记录或超过7天 | 配置每日系统状态备份 |
| 登录名缓存 | secpol.msc → 安全选项 | “不显示最后的用户名”为禁用 | 启用该选项 |
| 虚拟内存未清除 | secpol.msc → 安全选项 | “清除虚拟内存页面文件”为禁用 | 启用该选项 |
版本差异说明(2012 R2 vs 2016 vs 2019 vs 2022)
| 功能项 | 2012 R2 | 2016 | 2019 | 2022 |
|---|
| Windows Defender | 可选安装 | 默认启用 | 默认启用+增强 | 默认启用+ASR规则 |
| PowerShell版本 | 4.0 | 5.1 | 5.1 | 7.2+(可选) |
| TPM支持 | 1.2/2.0 | 2.0 | 2.0 | 2.0 |
| Secure Boot | 支持 | 支持 | 支持 | 支持+DMA保护 |
| BitLocker | 支持 | 支持 | 支持+XTS-AES | 支持+自动加密 |
| 容器支持 | 无 | Docker | 增强 | 全面支持+K8s |
| 零信任 | 不支持 | 不支持 | 基础 | 完整支持 |
测评执行要点
1. 权限要求
- 所有命令需 管理员权限 执行
- 建议创建专用审计账户,加入 Event Log Readers 和 Performance Monitor Users 组
2. 现场核查重点
- 密码策略:不仅看配置,需尝试创建弱口令用户验证策略是否生效
- 审计完整性:抽查事件查看器,确认包含登录失败(事件ID 4625)、权限变更(事件ID 4670)等
- 补丁管理:
Get-HotFix 输出需与微软安全公告核对,确认无Critical漏洞
- 备份有效性:必须现场执行
wbadmin start recovery 到测试环境验证
3. 图形化 vs 命令行
| 场景 | 推荐方式 | 原因 |
|---|
| 快速初检 | 图形化(MMC) | 直观、易截图留证 |
| 批量核查 | PowerShell脚本 | 可导出CSV/HTML报告 |
| 远程审计 | CMD命令 | 低带宽环境适用 |
| 深度检查 | 两者结合 | 交叉验证,防止配置漂移 |
4. 与Linux对比
| 对比项 | Windows Server | Linux(CentOS/UOS) |
|---|
| 身份鉴别 | 域控/本地SAM | PAM模块 |
| 审计机制 | Event Log | auditd/syslog |
| 防火墙 | Windows Firewall | iptables/firewalld |
| 恶意代码 | Defender/第三方 | ClamAV/自研 |
| 可信计算 | TPM + BitLocker | TPM + IMA/EVM |
| 备份工具 | wbadmin/VSS | tar/rsync/bacula |
常用命令速查
:: 用户与组
net user :: 查看所有用户
net user administrator :: 查看管理员详细信息
net localgroup administrators :: 查看管理员组成员
:: 网络
netstat -ano | findstr 3389 :: 查看远程桌面端口
netsh firewall show state :: 查看防火墙状态(旧版)
netsh advfirewall show allprofiles :: 查看防火墙状态(新版)
:: 系统
systeminfo | findstr /B /C:"OS" :: 系统信息
wmic qfe get HotFixID,InstalledOn /format:table :: 补丁列表
:: 安全
auditpol /get /category:* :: 查看审计策略
wevtutil epl Security C:\backup\security.evtx :: 导出安全日志
:: 服务
sc query type=service state=running :: 查看运行服务
sc config Spooler start= disabled :: 禁用打印服务
参考标准:GB/T 22239-2019、GB/T 28448-2019、Microsoft Security Baseline
适用版本:Windows Server 2012 R2 / 2016 / 2019 / 2022
验证环境:Datacenter / Standard / Core 版