当入侵者通过扫描ECS实例的开放端口,发现可以使用的端口,例如Windows的远程端口(3389)和Linux的远程端口(22),就会发起攻击。您可以通过修改默认的远程端口或者限制远程访问来源防止攻击。本文以Windows Server 2008 R2系统ECS实例为例,介绍如何使用高级安全Windows防火墙限制远程访问的IP来源。

前提条件

使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。

背景信息

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

说明 本文操作步骤不适用于Windows Server 2016系统ECS实例。对于Windows Server 2016系统ECS实例建议您通过添加安全组规则限制远程访问来源,详情请参见安全组应用案例案例四:只允许实例访问外部特定IP地址。安全组规则添加步骤请参见添加安全组规则。

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

  1. 启用防火墙。
  1. 按快捷键Win(Windows 徽标键)+R,启动运行窗口。
  2. 输入firewall.cpl后按回车键。
  3. 单击打开或关闭 Windows 防火墙,查看防火墙状态。 默认情况下,防火墙是关闭状态。
  4. 启用所有网络类型的Windows防火墙,并单击确定。

    高级安全防火墙对mysql放开 windows高级防火墙_高级安全防火墙对mysql放开

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

    高级安全防火墙对mysql放开 windows高级防火墙_作用域_02

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

    高级安全防火墙对mysql放开 windows高级防火墙_Windows_03

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

    高级安全防火墙对mysql放开 windows高级防火墙_IP_04

  4. 选择允许连接,单击下一步。
  5. 保持默认配置,单击下一步。
  6. 设置规则名称,例如RemoteDesktop,单击完成。
  1. 配置作用域。
  1. 右键单击已创建的入站规则RemoteDesktop,选择属性。
  2. 在作用域页签下,远程 IP 地址选择为下列 IP 地址,并添加一个或多个IP地址或CIDR地址段,单击确定。

    高级安全防火墙对mysql放开 windows高级防火墙_Windows_05

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

    高级安全防火墙对mysql放开 windows高级防火墙_高级安全防火墙对mysql放开_06

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

    高级安全防火墙对mysql放开 windows高级防火墙_Windows_07

  3. 在输入远程连接密码对话框中输入密码,单击确定。
  4. 修改入站规则RemoteDesktop作用域的远程IP地址,将之前设置的1.1.1.1修改为您需要授权的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

相关文档