Windows 防火墙配置示例
在Windows上主要是封堵一些高危端口
TCP 135 139 445 3389
UDP 137 138
这些用于网络共享功能和远程调用
以及远程桌面的端口 一般被视为高危端口
不过其中 139 137 138 为NetBIOS服务使用的端口
其在IPv6已经不使用了 它们不会在IPv6地址上进行监听
我们需要注意的是
TCP 135 445 3389
135 用于 Windows远程调用
3389 用于Windows远程桌面
445 用于smb文件共享
TCP 135和445端口 默认只允许本地子网访问
3389 TCP 端口 用于远程桌面服务
防火墙上的默认规则允许所有地址访问 需要注意
教程将展示通过配置Windows防火墙
阻止公网IPv6访问3389端口
搜索栏搜索 检查防火墙状态 并打开
检查防火墙是否启用
点击左侧的 高级设置 以打开高级widows防火墙
高级Windows防火墙
查看防火墙属性
检查 公用网络配置 和 专用网络配置
状态中的选项 均为默认
添加规则
Windows防火墙上的远程桌面默认规则
是允许所有地址访问的
通过添加规则 禁止使用公网IPv6连接到3389端口
选择入站规则
新建规则
选择自定义规则
保持默认 所有程序
协议选择TCP
本地端口选择 特定端口
端口号 3389
远程IP 选择下列IP地址
并点击 添加
填写 2000::/3
此为 IPv6全球单播地址的前缀
可以理解为匹配所有公网IPv6地址
曾经尝试使用 :: 进行匹配 但并不成功 其表示所有IPv6地址
IPv6前缀划分:Internet Protocol Version 6 Address Space
操作选择 阻止连接
配置文件 保持默认
名称任意填写
这里使用 Block IPv6 TCP 3389
点击完成
规则已经添加
端口检查工具
可通过命令快速设置
需要管理员权限
启用Windows防火墙
netsh advfirewall set allprofiles state on
还原默认入站策略
阻止与规则不匹配的入站连接
netsh advfirewall set currentprofile firewallpolicy blockinbound,allowoutbound
封堵 TCP 3389
拒绝公网IPv6地址连接到本地的TCP 3389 端口
netsh advfirewall firewall add rule name="Block IPv6 TCP 3389" dir=in action=block enable=yes profile=any protocol=TCP localport=3389 remoteip=2000::/3