# Windows Web 服务器的备份与事件响应

> 分别备份配置、内容、证书和数据，测试恢复，并按遏制到恢复的顺序处理事件。

**测试环境**

- 版本号: 26100.33650
- 版本: Standard / Datacenter
- 架构: x64
- 证据: E1
- 核验日期: 2026-10-29

## 一句话结论

分别备份：

- **配置** — IIS `applicationHost.config`/站点 XML、Nginx conf、服务定义。
- **内容** — 站点文件和上传（含 ACL）。
- **证书** — PFX + 私钥，可导出且受控。
- **数据** — 数据库/应用状态，用一致性备份。
- **密钥** — vault/密钥存储，不是 Web 根里的文本。

VM 快照不是备份策略：不在主机外、没有保留、没有恢复测试。

## IIS 配置

```powershell
C:\Windows\System32\inetsrv\appcmd.exe add backup "before-change"
C:\Windows\System32\inetsrv\appcmd.exe list backup
```

复制到服务器外。站点 `web.config` 和应用池身份（gMSA/自定义账户在外部）也要备份。

## 恢复测试

至少每季度：

1. 干净 VM 恢复配置。
2. 恢复内容 + ACL。
3. 导入证书。
4. 启服务；测 Host 头 + HTTPS。
5. 记录实际 RTO/RPO。

没恢复过的备份只是假设。

## 事件响应顺序

1. **发现/确认** — 告警、用户报告、异常外连。
2. **遏制** — 隔离 VM/网络、禁用被入侵账户、封 IP；保留证据。
3. **清除** — 删 webshell/恶意软件、修补入口、轮换凭据/密钥。
4. **恢复** — 从可信镜像/备份重建、恢复数据、校验完整性。
5. **复盘** — 时间线、根因、控制项、负责人。

不要把被入侵的 Web 服务器“清理一下”就放回去；要查持久化（服务、计划任务、IIS 模块、PHP 扩展）。

> **警告: 重建前保留日志**
>
> 先把 IIS/Nginx 日志和 Windows 事件导出到只写/主机外存储。重建会毁掉定范围和通知所需证据。

## Runbook 字段

```text
App:            api-a
RTO/RPO:        1h / 15m
Backups:        config nightly, content daily, DB 15m
Off-host:       yes (bucket/vault)
Restore test:   last date + result
Cert expiry:    date + owner
Contacts:       app owner / security / hosting
```

## 实验室边界

E1。实验室用 PVE 快照和 `appcmd` 备份，但没有做完整恢复或 IR 演练。runbook 是 Server 2025 的生产计划。

## 来源

- [Microsoft Learn — IIS 配置设置](https://learn.microsoft.com/zh-cn/iis/manage/managing-your-configuration-settings/)
- [NIST SP 800-61 — 事件响应](https://csrc.nist.gov/pubs/sp/800/61/r3/final)
- [Microsoft Learn — 组托管服务账户](https://learn.microsoft.com/zh-cn/windows-server/security/group-managed-service-accounts/group-managed-service-accounts-overview)

---

来源页面: https://winbook.fyi/zh/server/security/backup-ir/
