高级安全Windows防火墙实践

当入侵者扫描ECS实例的开放端口,并发现可以使用的端口(如Windows的远程端口3389或Linux的远程端口22),他们会利用这些端口进行攻击。为了防止此类攻击,您可以修改默认的远程端口或者限制远程访问的来源IP。本文以Windows Server 2012 R2系统的ECS实例为例,介绍了如何使用高级安全Windows防火墙来限制远程访问的IP来源。

背景信息

什么是高级安全Windows防火墙

高级安全Windows防火墙是Windows操作系统内置的一种功能强大的防火墙工具,用于保护计算机免受网络攻击和恶意行为的影响。它可以监控网络流量并根据预先设定的规则来允许或阻止特定的网络连接,增强计算机的安全性。并且,高级安全Windows防火墙也是分层安全模型的重要部分。

高级安全Windows防火墙的功能和特点是什么

高级安全Windows防火墙通过提供基于主机的双向网络通信筛选,阻止未经授权的网络流量进出计算机。它利用网络感知技术将安全设置应用到不同的网络类型,并将Windows防火墙和Internet协议安全性(IPsec)集成到一个Microsoft管理控制台(MMC)中。因此,高级安全Windows防火墙也是网络隔离策略的重要组成部分。

说明

针对Windows Server 2016系统的ECS实例,本文的操作步骤不适用。建议您通过添加安全组规则来限制远程访问IP来源。具体操作,请参见添加安全组规则。有关安全组应用案例更多信息,请参见限制实例访问外部网站

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

  1. 远程连接Windows实例。

    具体操作,请参见通过密码或密钥认证登录Windows实例

  2. 启用防火墙。

    1. 按快捷键Win+R打开运行窗口。

    2. 输入firewall.cpl,然后单击确定

      image.png

    3. Windows 防火墙窗口左侧,单击启用或关闭 Windows 防火墙,查看防火墙状态。

      说明

      防火墙默认为关闭状态。

    4. 选中所有网络类型的Windows防火墙,然后单击确定

      fire1

  3. 查看远程RDP端口3389。

    1. 按快捷键Win+R打开运行窗口。

    2. 输入wf.msc,然后单击确定

      image.png

    3. 高级安全Windows防火墙窗口左侧,单击入站规则,查看入站规则Open RDP Port 3389默认放行的端口是3389。

      ru

  4. 添加远程RDP端口3389至高级安全 Windows 防火墙

    1. 在右侧操作区域单击新建规则,显示新建入站规则向导对话框。

    2. 选择要创建的规则类型端口,单击下一步

    3. 协议选择TCP,端口填写为3389,单击下一步

      sa1

    4. 选择允许连接,单击下一步

    5. 保持默认配置,单击下一步

    6. 设置规则名称,例如RemoteDesktop,单击完成

  5. 配置作用域。

    1. 高级安全Windows防火墙窗口,右键单击已创建的入站规则RemoteDesktop,选择属性

    2. 作用域页签下,将远程 IP 地址选择为下列 IP 地址,并添加一个或多个IP地址或CIDR地址段,单击确定

      ip

      重要

      启用作用域后,除了作用域里设置的远程IP地址,别的地址将无法远程连接该ECS实例。

  6. 验证作用域。在远程IP地址里面添加其他任意IP地址,单击确定

    image.png

    • 如果远程连接会自动断开,表示作用域已生效。

    • 如果远程连接没有断开,右键单击入站规则Open RDP Port 3389,选择禁用规则

      重要

      如果禁用了Windows远程连接端口3389的入站规则Open RDP Port 3389,您将无法通过Workbench进行远程连接实例。如果您需要再次开启3389端口,您可以通过VNC远程连接Windows实例,并启用入站规则Open RDP Port 3389。更多信息,请参见使用VNC登录实例

  7. 通过VNC连接ECS实例,将作用域中的远程IP地址更换为本地计算机的公网IP地址,以恢复远程连接。

    1. 通过VNC连接Windows实例。

      具体操作,请参见使用VNC登录实例

    2. 修改入站规则RemoteDesktop作用域的远程IP地址,将之前设置的任意IP地址修改为您本地计算机的公网IP地址。具体操作,请参见配置作用域

      说明

      此时,只有您本地计算机的公网IP可以远程连接该ECS实例,以此来实现使用高级安全Windows防火墙限制远程访问的IP来源。

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

您还可以使用命令行netsh设置高级安全Windows防火墙。以下列表列举了netsh命令的使用示例:

  • 导出防火墙配置文件。

    netsh advfirewall export c:\adv.pol
  • 导入防火墙配置文件。

    netsh advfirewall import c:\adv.pol
  • 防火墙恢复默认设置。

    netsh advfirewall reset
  • 关闭防火墙。

    netsh advfirewall set allprofiles state off
  • 开启防火墙。

    netsh advfirewall set allprofiles state on
  • 设置所有配置文件的默认防火墙策略为阻挡入站并允许出站通信。

    netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
  • 删除名为ftp的规则。

    netsh advfirewall firewall delete rule name=ftp
  • 删除本地端口80的所有入站规则。

    netsh advfirewall firewall delete rule name=all protocol=tcp localport=80
  • 添加远程桌面的入站规则,允许端口3389。

    netsh advfirewall firewall add rule name=远程桌面(TCP-In-3389) protocol=TCP dir=in localport=3389 action=allow