Windows Server 2016 下封禁端口规避高危漏洞的测试实践
Windows Server 2016 下封禁端口规避高危漏洞的测试实践
一、引言
MS17-010(永恒之蓝)和 CVE-1999-0526 是 Windows 系统中极具威胁的漏洞。其中,MS17-010 利用 SMB 协议(445 端口)实现远程代码执行,CVE-1999-0526 则与 X Window 服务(6000 端口)的未授权访问相关。本文通过 Windows Server 2016 测试环境,分别验证使用 防火墙出入站规则 和 组策略 IP 安全策略 封禁端口的效果,为漏洞应急响应提供实操参考。
二、测试环境说明
- 操作系统:Windows Server 2016 Standard(未安装 MS17-010 补丁)
- 测试工具:
- telnet(端口连通性测试)
- 目标端口:
- 445(TCP,SMB 协议,关联 MS17-010)
- 6000(TCP,X Window 服务,关联 CVE-1999-0526)
三、方案一:使用防火墙封禁端口(出入站规则)
3.1 封禁 445 端口(MS17-010 漏洞)
3.1.1 配置入站规则(阻止外部访问本地 445 端口)
- 打开高级安全 Windows 防火墙:
- 运行 wf.msc,进入 入站规则 → 新建规则。
- 选择规则类型:
- 选择 “端口” → “TCP” → “特定本地端口”,输入 “445”。
- 设置操作:
- 选择 “阻止连接” → 勾选 “域 / 专用 / 公用” → 命名规则为 “Block-MS17-010-445-Inbound”。
- 也可以用cmd命令来设置
netsh advfirewall firewall add rule name="Block-TCP-445-Inbound" dir=in action=block protocol=TCP localport=445netsh advfirewall firewall add rule name="Block-TCP-445-Outbound" dir=out action=block protocol=TCP localport=445
netsh advfirewall firewall add rule name="Block-UDP-445-Inbound" dir=in action=block protocol=UDP localport=445netsh advfirewall firewall add rule name="Block-UDP-445-Outbound" dir=out action=block protocol=UDP localport=445
3.1.2 配置出站规则(阻止本地访问外部 445 端口)
重复入站规则配置步骤,在 方向 中选择 “出站”,命名规则为 “Block-MS17-010-445-Outbound”。
3.1.3 验证效果
- 命令行验证: 用另外的主机测试
|
- 业务影响测试:
- 本地文件共享功能正常(因防火墙不阻止本地进程访问)。
- 远程主机无法通过 \\服务器IP 访问共享目录,验证封禁成功。
3.2 封禁 6000 端口(CVE-1999-0526 漏洞)
3.2.1 配置入站规则
- 新建端口规则,选择 “TCP” → 端口 “6000” → “阻止连接”,命名为 “Block-CVE-1999-0526-6000-Inbound”。
- 同理配置出站规则,命名为 “Block-CVE-1999-0526-6000-Outbound”。
- 也可以用cmd输入命令执行
netsh advfirewall firewall add rule name="Block-TCP-6000-Inbound" dir=in action=block protocol=TCP localport=6000netsh advfirewall firewall add rule name="Block-TCP-6000-Outbound" dir=out action=block protocol=TCP localport=6000
3.2.2 验证效果
- 攻击模拟:使用Window 客户端 telnet 192.168.1.94 6000连接测试服务器 6000 端口,提示 “连接拒绝”。
- 日志检查:防火墙日志显示 “6000 端口入站连接被阻止”,证明规则生效。
四、方案二:使用组策略 IP 安全策略封禁 445 端口(MS17-010)
4.1 配置 IP 安全策略(IPSec)
4.1.1 打开本地组策略编辑器
运行 gpedit.msc,导航至 计算机配置 → 安全设置 → IP 安全策略,在本地计算机。
4.1.2 创建新策略
- 新建 IP 安全策略:
- 命名为 “Block-MS17-010-IPSec”,勾选 “编辑属性”。
- 添加筛选器列表:
- 源地址 “任何 IP 地址”,目标地址 “我的 IP 地址”,协议 “TCP”,目标端口 “445”。
- 配置筛选器操作:
- 创建 “阻止” 操作,命名为 “Block-445-Access”。
- 关联策略:
- 将筛选器列表与阻止操作关联,分配策略使其生效。
4.1.3 验证效果
- 命令行检查:
netsh ipsec static show all # 确认策略已分配 |
- 端口扫描:nmap -p 445 <服务器IP> 显示端口状态为 “filtered”,表明 IPSec 策略已阻断连接。
五、测试对比与风险分析
维度 | 防火墙规则 | 组策略 IP 安全策略 |
配置复杂度 | 较低(图形化向导) | 较高(需手动设置筛选器) |
生效速度 | 立即生效 | 需分配策略后刷新(gpupdate) |
资源占用 | 低 | 低 |
适用场景 | 快速应急、端口批量管理 | 防火墙服务不可用或深度定制 |
5.1 业务影响评估
- 成功案例:
- 封禁 445 端口后,测试服务器未受到 MS17-010 漏洞利用工具(如 EternalBlue)的攻击。
- 6000 端口封禁有效阻止了 X Window 未授权访问尝试。
- 注意事项:
- 若业务依赖 SMB 共享,需通过 “允许特定 IP” 规则保留内网访问(如 192.168.1.34/24)。
- 组策略配置需确保 “IP 安全策略代理” 服务(IPsec Policy Agent)处于运行状态。
六、总结与建议
6.1 方案选择建议
- 优先使用防火墙规则:操作直观、兼容性强,适合大多数场景。
- 组策略 IPSec 作为补充:适用于防火墙服务被禁用或需要与域环境策略联动的场景。
6.2 漏洞修复终极方案
端口封禁仅为临时应急措施,最终需通过以下方式彻底消除风险:
- 安装官方补丁:
- MS17-010 需安装 KB4012212 补丁;
- CVE-1999-0526 需升级或禁用 X Window 服务。
- 禁用 SMBv1 协议:通过控制面板或注册表关闭 SMBv1,从根源阻断 MS17-010 攻击路径。
6.3 安全加固延伸
- 定期使用 nmap 扫描端口,确保封禁规则有效;
- 结合 Windows 安全日志(事件 ID 5156)监控端口访问异常。
七、附录:关键命令速查表
操作 | 命令示例 |
刷新组策略 | gpupdate /force |
查看防火墙规则 | netsh advfirewall firewall show rule all |
查看 IPSec 策略 | netsh ipsec static show all |
测试端口连通性 | telnet <IP> <端口> |
通过以上测试可知,合理利用 Windows 系统内置的防火墙和组策略功能,可在漏洞修复前有效降低攻击风险。企业需结合自身业务特点,制定灵活的应急响应策略,并持续推动系统升级与补丁部署,构建主动防御体系。