本文介绍了高级安全Windows防火墙的概念和使用场景,并列出了常见的防火墙操作。

背景信息

在Windows NT6.0之后微软推出了高级安全 Windows 防火墙(简称WFAS)。高级安全 Windows 防火墙是分层安全模型的重要部分,通过为计算机提供基于主机的双向网络通讯筛选,阻止未经授权的网络流量流入或流出本地计算机,通过网络感知技术将相应安全设置应用到计算机连接到的网络类型。高级安全 Windows 防火墙将Windows 防火墙和 Internet 协议安全性(IPsec)结合在一起,集成到单个Microsoft管理控制台(MMC)中,因此高级安全 Windows 防火墙也成为网络隔离策略的重要部分。

入侵者通过扫描主机的开放端口,发现可以使用的端口,例如Windows的远程端口(3389)和Linux的远程端口(22),就会进行入侵。针对以上问题,您可以通过修改默认的远程端口以及限制远程的访问来防止入侵。本文以阿里云ECS实例Windows Server 2008 R2为例,介绍如何使用高级安全Windows防火墙实现对服务器远程访问的限制。

使用Microsoft管理控制台配置高级安全 Windows 防火墙

  1. 启用防火墙。
    1. 按快捷键 Win(Windows 徽标键)+R,启动运行窗口。
    2. 输入firewall.cpl后按回车键。


    3. 单击打开或关闭 Windows 防火墙,查看防火墙状态。默认情况下,防火墙是关闭状态。
    4. 启用Windows防火墙。


  2. 查看远程端口。
    1. 按快捷键 Win(Windows 徽标键)+R运行窗口。
    2. 输入wf.msc后按回车键。


    3. 单击入站规则,查看入站规则Open RDP Port 3389默认放行的端口是3389。


  3. 添加远程端口至高级安全 Windows 防火墙。
    1. 单击新建规则,显示新建入站规则向导对话框。
    2. 选择创建的规则类型端口,单击下一步
    3. 配置规则应用的协议和端口,单击下一步


    4. 选择允许链接,单击下一步
    5. 保持默认配置,单击下一步
    6. 设置规则名称,例如:RemoteDesktop,单击完成


  4. 配置作用域。
    1. 右键单击已创建的入站规则RemoteDesktop,选择属性
    2. 作用域页签下,添加远程IP地址,单击确定


      说明 启用作用域后,除了作用域里设置的远程IP地址,别的地址将无法远程连接此服务器。
  5. 验证作用域。在远程IP地址里面添加其他任意IP地址,单击确定


    远程连接会自动断开,表示作用域已生效。如果远程连接没有断开,右键单击入站规则Open RDP Port 3389,选择禁用规则

  6. 通过ECS管理控制台,更换作用域中的远程IP地址为办公环境的公网地址,恢复远程连接。
    1. 登录ECS管理控制台
    2. 在实例列表中,找到需要连接的实例,在操作列中,单击远程连接


    3. 输入远程连接密码对话框中输入密码,单击确定
    4. 修改入站规则RemoteDesktop作用域的远程IP地址,将之前设置的1.1.1.1改为本机的IP地址。

使用命令行配置高级安全 Windows 防火墙

  1. 导出防火墙配置文件。
    netsh advfirewall export c:\adv.pol
  2. 导入防火墙配置文件。
    netsh advfirewall import c:\adv.pol
  3. 防火墙恢复默认设置。
    Netsh advfirewall reset
  4. 关闭防火墙。
    netsh advfirewall set allprofiles state off
  5. 开启防火墙。
    netsh advfirewall set allprofiles state on
  6. 设置所有配置文件的默认防火墙策略为:阻挡入站并允许出站通信。
    netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
  7. 删除名为 ftp 的规则。
    netsh advfirewall firewall delete rule name=ftp
  8. 删除本地端口 80 的所有入站规则。
    netsh advfirewall firewall delete rule name=all protocol=tcp localport=80
  9. 添加远程桌面的入站规则,允许端口3389。
    netsh advfirewall firewall add rule name=远程桌面(TCP-In-3389) protocol=TCP dir=in localport=3389 action=allow