windows ip安全策略通过ipsec在协议栈底层实现端口阻断,工作于网络层和传输层,比防火墙更早拦截流量;配置需创建策略、设置筛选器(如目标端口445)、绑定“阻止”操作并分配策略,命令行可用netsh完成,验证须实测telnet或抓包确认syn无响应。
windows 本身没有 linux 那样的 iptables 原生内核级包过滤机制,但可通过“ip 安全策略(ipsec)”在 tcp/ip 协议栈底层实现接近原生的端口阻断效果——它工作在网络层(osi 第3层)和传输层(第4层),不依赖应用层防火墙规则,对流量拦截更早、更彻底,且规则生效后无需重启服务。
用 IP 安全策略创建端口阻断规则
这是最贴近 Linux iptables -A INPUT -p tcp --dport 445 -j DROP 效果的方式:
- 按 Win + R 输入
gpedit.msc 打开组策略编辑器(仅限专业版/服务器版;家庭版需升级或改用 PowerShell Netsh 策略)
- 路径:计算机配置 → Windows 设置 → 安全设置 → IP安全策略,在本地计算机
- 右键 → “创建IP安全策略”,名称如“全局禁用高危端口”,取消勾选“激活默认响应规则”
- 新建规则时,务必取消勾选“使用添加向导”,进入手动配置模式
- 添加 IP 筛选器:源地址选“任何 IP 地址”,目标地址选“我的 IP 地址”;协议选 TCP 或 UDP;端口填“到此端口”如 135、445、3389 等
- 筛选器操作必须设为“阻止”,不是“协商安全”或“允许”
- 规则创建完成后,右键该策略 → “分配”,策略才真正启用
为什么比普通防火墙规则更“原生”
Windows 防火墙(WFAS)规则属于“连接安全”范畴,处理时机晚于 IP 层;而 IP 安全策略基于 IPSec 引擎,在数据包进入 TCP/IP 栈早期就做匹配与丢弃,绕过端口监听检测、不触发应用日志、不占用 socket 资源。例如禁用 445 端口后,netstat -ano 仍可见 svchost 监听,但外部 SYN 包根本不会送达该进程。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
补充:命令行快速封端口(适用于所有 Windows 版本)
若无法使用 gpedit(如家庭版),可用 netsh 创建等效静态筛选器:
- 以管理员身份运行 CMD,执行:
netsh ipsec static add policy name="Block445" assign=yes - 添加筛选器:
netsh ipsec static add filterlist name="Inbound445"netsh ipsec static add filter filterlist="Inbound445" srcaddr=any dstaddr=me dstport=445 protocol=TCP - 绑定阻止动作:
netsh ipsec static add filteraction name="Drop" action=blocknetsh ipsec static add rule name="Block TCP 445" policy="Block445" filterlist="Inbound445" filteraction="Drop"
验证是否生效
不要只看端口是否“未监听”,要实测拦截效果:
- 从另一台机器执行:
telnet 本机IP 445→ 应超时无响应(非“连接被拒绝”) - 用
Wireshark抓包,确认 SYN 包到达本机网卡后无 SYN-ACK 回复 - 检查事件查看器 → 安全日志,筛选事件 ID 4614(IPSec 策略激活)和 4615(IPSec 丢包审计,需提前开启审核策略)










