在部署和使用 Windows Server 2022 时,进行适当的安全配置至关重要。以下是一份全面的 Windows Server 2022 安全配置指南,涵盖了操作系统层面、网络、账户管理、服务、日志审计等多个方面的安全加固建议。
🔒 Windows Server 2022 安全配置指南
一、基础安全设置
1. 更新系统
- 确保服务器保持最新状态。
-
启用自动更新或定期手动安装补丁(每月周二补丁日):
# 检查更新 Get-WindowsUpdateLog # 安装更新 Install-WindowsUpdate -MicrosoftUpdate
2. 配置防火墙(Windows Defender Firewall)
- 默认启用所有三个配置文件(域、私有、公共)的防火墙。
- 配置入站/出站规则,只允许必要端口和服务。
- 使用高级安全设置创建基于应用程序、IP地址、端口等的精细规则。
# 查看当前防火墙状态
Get-NetFirewallProfile | Format-List Name, Enabled
3. 安装并启用防病毒软件(如 Windows Defender Antivirus)
- 启用实时保护
- 定期扫描系统
- 设置集中策略管理(适用于多台服务器)
# 启用实时防护
Set-MpPreference -DisableRealtimeMonitoring $false
# 运行快速扫描
Start-MpScan -ScanType QuickScan
二、账户与权限管理
1. 禁用不必要的默认账户
- 禁用
Guest账户 - 修改默认管理员账户名称(避免被猜测)
# 禁用 Guest 账户
Disable-LocalUser -Name "Guest"
# 重命名 Administrator 账户
wmic UserAccount where Name='Administrator' rename NewAdminName
2. 强密码策略
- 密码复杂性要求:至少12位,包含大小写、数字、特殊字符
- 密码最长使用期限:90天
- 历史记录保留:不少于5次
# 查看当前密码策略
net accounts
# 设置密码最长期限为90天
net accounts /maxpwage:90
3. 最小权限原则
- 禁止普通用户拥有管理员权限
- 使用本地组策略限制用户访问敏感资源
4. 多因素认证(MFA)
- 对远程登录(如 RDP、SSH)启用 MFA(可结合 Azure AD 或第三方解决方案)
三、远程访问安全
1. 配置 RDP 安全
- 更改默认端口(3389 → 自定义端口)
- 启用网络层身份验证(NLA)
- 限制允许远程登录的用户组(如 Remote Desktop Users)
# 查看当前 RDP 端口
Get-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" -Name "PortNumber"
# 修改 RDP 端口(例如改为 3390)
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" -Name "PortNumber" -Value 3390
⚠️ 修改后需重启或重启远程桌面服务,并开放对应防火墙端口。
2. 使用 SSH 替代 Telnet(推荐)
- 安装 OpenSSH 服务器角色(通过“添加角色和功能”)
- 配置密钥登录,禁用密码登录
# 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# 启动 SSH 服务
Start-Service sshd
# 设置开机自启
Set-Service -Name sshd -StartupType Automatic
四、服务与协议最小化
1. 关闭不必要服务
- 只运行必要的服务,减少攻击面
- 常见关闭服务示例:
- Print Spooler(除非需要打印功能)
- Server(若非文件服务器)
- SSDP Discovery(UPnP 设备发现)
# 查看正在运行的服务
Get-Service | Where-Object { $_.Status -eq "Running" }
# 停止并禁用某个服务
Stop-Service -Name "Spooler"
Set-Service -Name "Spooler" -StartupType Disabled
2. 禁用未加密协议
- 禁用 SMBv1(已被弃用)
- 确保仅使用 TLS 1.2 及以上版本
# 禁用 SMBv1
Set-SmbServerConfiguration -EnableSMB1Protocol $false
# 查看已启用的 SMB 版本
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
五、日志与审计
1. 启用审核策略
- 审核登录事件、对象访问、特权使用等
- 使用本地组策略或 GPO 配置
# 查看当前审核策略
auditpol /get /category:*
2. 配置日志保留和转发
- 日志保存时间不少于180天
- 将日志转发到 SIEM 或中央日志服务器
# 查看日志最大大小
wevtutil get-log Application
# 修改日志大小
wevtutil set-log Application /rt:true /ms:104857600
六、安全工具推荐
| 工具 | 功能 |
|---|---|
| LAPS(本地管理员密码解决方案) | 自动轮换本地管理员密码 |
| SCOM / SCORCH | 系统监控与自动化运维 |
| Azure Security Center | 云环境下的安全中心化管理 |
| Event Viewer + Log Parser | 分析日志、检测异常行为 |
七、其他推荐实践
- 使用 BitLocker 加密系统盘(尤其对物理服务器或虚拟机磁盘)
- 配置 IPsec 策略限制通信范围
- 启用 AppLocker 或 Device Guard 防止未知程序执行
- 定期备份系统和数据,并测试恢复流程
✅ 总结
| 类别 | 推荐操作 |
|---|---|
| 系统更新 | 自动更新 + 补丁管理 |
| 账户权限 | 禁用 Guest、重命名 Admin、最小权限 |
| 密码策略 | 复杂密码、90天更换、历史记录 |
| 远程访问 | 更改默认端口、启用 NLA、MFA |
| 服务管理 | 关闭无用服务、禁用 SMBv1 |
| 日志审计 | 启用审核、日志保留、转发分析 |
| 防护机制 | 防火墙、杀毒软件、AppLocker |
如果你是企业级部署,建议结合 Active Directory 组策略(GPO) 和 Microsoft Endpoint Manager(Intune) 实现集中管理和合规检查。
如需我为你生成一个 PowerShell 脚本模板 来一键执行这些安全配置,请告诉我你的具体需求(如是否用于生产环境、是否联网、是否加入域等)。
CLOUD技术博