Windows Server 上 IIS/Nginx 的安全基线
可执行基线:删无用功能、收紧请求面、隔离身份、开日志、打补丁;不声称 CIS 合规。
测试环境Standard / Datacenter · 版本号 26100.33650 · x64
E1- 版本号
- 26100.33650
- 版本
- Standard / Datacenter
- 架构
- x64
- 支持
- 文档(E1)
- 证据
- E1官方文档
- 核验日期
- 2026-10-29
- 页面类型
- 清单
基线不是 300 行脚本,是一组可重复决定:
- 只装用到的角色/模块。
- 删默认站点和示例内容。
- 每站点独立应用池、最小权限身份。
- 收紧请求面(方法、大小、扩展、目录浏览)。
- TLS 正确终止;管理不裸奔。
- 开访问/错误日志并外送。
- 打 Windows、IIS/Nginx、运行时和依赖补丁。
- RDP/WinRM/WAC 限制在管理网。
- Windows Update/补丁有计划,含重启窗口。
- Defender/EDR 开启;排除项要审查,不要“为性能全排除”。
- 防火墙:公网只 80/443;3389/5985/5986 只管理网。
- 不需要就不装 IIS FTP/WebDAV/IIS 6 兼容。
- 专用服务账户;Web 应用不用 LocalSystem。
- 本地管理员组尽量小;LAPS/按需提权。
Get-WindowsFeature Web-Server,Web-Ftp-Server,Web-DAV-Publishing,Web-Windows-AuthGet-WebSite | Select-Object Name,State,PhysicalPath,ApplicationPoolGet-WebVirtualDirectory | Select-Object Site,Path,PhysicalPath检查:
- Default Web Site 停/删。
- 目录浏览关。
- 请求过滤开;只留必要扩展/方法。
- 静态/PHP/Node 用 No Managed Code,独立身份。
- 应用池不能写
web.config。 - 自定义错误开;详细错误只本地。
- 日志开、保留、别放系统盘。
- 删无用 handler/module(小心静态内容)。
server_tokens off;autoindex off;client_max_body_size 50m;- 一个 host 一个
server,显式server_name。 - 只 TLS;80 跳 443。
- 拒绝 dotfile 和备份路径。
- 保留
error_log/access_log并轮转。 - 专用账户,不用 LocalSystem。
CIS/Microsoft 基线是有用参考,但“打了基线”不等于合规。记录:
- OS build/补丁级别;
- IIS/Nginx 版本;
- 运行时版本;
- 例外和负责人;
- 最近测试日期。
Get-Service W3SVC,WASGet-NetFirewallProfile | Select-Object Name,EnabledGet-Website | Where-Object State -eq 'Started'再从另一台机器扫:只应有预期端口。localhost 测试不证明防火墙。
E1。实验室只做了最小 IIS 安装,没有生产加固;清单是 Server 2025 上待验证基线。