🔒 WDS 安全加固

WDS 部署服务 · 第 9 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. PXE 启动授权
  2. 网络启动安全性
  3. 映像签名与完整性
  4. WDS 服务器安全配置
  5. 审计与日志
  6. 常见问题

1. PXE 启动授权

PXE 启动授权控制哪些客户端可以通过 WDS 部署系统,防止未授权设备接入。

1.1 PXE 响应策略

策略安全级别说明
不响应未知客户端⭐⭐⭐仅响应 AD 中已预创建的计算机对象
响应所有客户端 + 审批⭐⭐响应所有请求,但未知客户端需管理员审批
响应所有客户端任何设备都可 PXE 部署(仅实验环境)
PowerShell - 配置安全 PXE 策略
# 仅响应已知客户端(最安全)
WDSUTIL /Set-Server /PxePromptPolicy:Known

# 预创建计算机对象
New-ADComputer -Name "Client01" `
    -SAMAccountName "Client01$" `
    -Path "OU=WDS-Clients,OU=Computers,DC=iehang,DC=cn"

1.2 审批待处理客户端

PowerShell - 审批待处理客户端
# 查看待审批的客户端
Get-WdsClient -PxePromptPolicy "PendingApproval"

# 审批指定客户端
Approve-WdsClient -DeviceName "Client01" `
    -JoinDomain $true `
    -Domain "iehang.cn" `
    -OU "OU=WDS-Clients,OU=Computers,DC=iehang,DC=cn"

# 拒绝客户端
Deny-WdsClient -DeviceName "UNKNOWN-PC"

2. 网络启动安全性

2.1 TFTP 安全

2.2 DHCP 安全

2.3 网络隔离

💡 生产环境建议
  • WDS 服务器放在 专用部署 VLAN
  • 使用 802.1X 网络访问控制
  • 部署完成后将客户端移至生产 VLAN

3. 映像签名与完整性

确保部署的映像未被篡改。

3.1 映像哈希校验

PowerShell - 映像哈希校验
# 计算映像文件哈希
Get-FileHash "E:\RemoteInstall\Images\Windows Server 2022\install.wim" `
    -Algorithm SHA256

# 批量校验所有映像
Get-ChildItem "E:\RemoteInstall\Images" -Recurse -Filter "*.wim" | ForEach-Object {
    $hash = Get-FileHash $_.FullName -Algorithm SHA256
    [PSCustomObject]@{
        File  = $_.Name
        SHA256 = $hash.Hash
    }
}

3.2 映像访问控制

PowerShell - 映像目录权限
# 设置映像目录 NTFS 权限
$acl = Get-Acl "E:\RemoteInstall\Images"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
    "BUILTIN\Administrators", "FullControl",
    "ContainerInherit,ObjectInherit", "None", "Allow"
)
$acl.AddAccessRule($rule)
Set-Acl -Path "E:\RemoteInstall\Images" -AclObject $acl

4. WDS 服务器安全配置

PowerShell - WDS 服务器安全加固
# 防火墙规则:仅开放必要端口
# WDS 需要的端口
Enable-NetFirewallRule -DisplayGroup "Windows Deployment Services"

# 禁用不必要的端口
Disable-NetFirewallRule -DisplayGroup "Remote Desktop"

# 仅允许管理网段访问 WDS 管理端口
New-NetFirewallRule -DisplayName "WDS Admin" `
    -Direction Inbound `
    -LocalPort 135 `
    -Protocol TCP `
    -RemoteAddress "192.168.10.0/24" `
    -Action Allow

5. 审计与日志

PowerShell - WDS 审计配置
# 启用 WDS 日志
WDSUTIL /Set-Server /EnableLog:Yes

# 查看 WDS 事件日志
Get-WinEvent -LogName "Microsoft-Windows-Deployment-Services/Operational" `
    -MaxEvents 50

# 查看 WDS 服务器日志
Get-WinEvent -LogName "Microsoft-Windows-Deployment-Services-Server/Operational" `
    -MaxEvents 50

# 审计文件系统访问
Auditpol /set /subcategory:"File System" /success:enable /failure:enable

6. 常见问题

Q1:如何防止非授权客户端通过 PXE 安装系统

① 设置 PXE 策略为 "仅响应已知客户端" ② 在 AD 中预创建计算机对象 ③ 启用 "未知客户端需审批" ④ 交换机层面启用 802.1X 或 DHCP Snooping

Q2:映像文件被篡改如何发现

① 定期对映像文件计算 SHA256 哈希 并比对 ② 启用 NTFS 审计,监控映像目录的写操作 ③ 使用文件完整性监控工具(FIM)

Q3:WDS 服务器被入侵的风险点在哪里

主要风险:① TFTP 无认证,可能被滥用下载映像 ② 映像被替换后部署后门 ③ DHCP 选项被篡改指向恶意 PXE 服务器。需做好网络隔离和访问控制。