跳转到内容

Windows Server 上 IIS/Nginx 的安全基线

核验于 2 分钟阅读

可执行基线:删无用功能、收紧请求面、隔离身份、开日志、打补丁;不声称 CIS 合规。

测试环境Standard / Datacenter · 版本号 26100.33650 · x64
E1
版本号
26100.33650
版本
Standard / Datacenter
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
清单

基线不是 300 行脚本,是一组可重复决定:

  1. 只装用到的角色/模块。
  2. 删默认站点和示例内容。
  3. 每站点独立应用池、最小权限身份。
  4. 收紧请求面(方法、大小、扩展、目录浏览)。
  5. TLS 正确终止;管理不裸奔。
  6. 开访问/错误日志并外送。
  7. 打 Windows、IIS/Nginx、运行时和依赖补丁。
  8. 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-Auth
Get-WebSite | Select-Object Name,State,PhysicalPath,ApplicationPool
Get-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,WAS
Get-NetFirewallProfile | Select-Object Name,Enabled
Get-Website | Where-Object State -eq 'Started'

再从另一台机器扫:只应有预期端口。localhost 测试不证明防火墙。

E1。实验室只做了最小 IIS 安装,没有生产加固;清单是 Server 2025 上待验证基线。

来源