当入侵者通过扫描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防火墙
- 启用防火墙。
- 按快捷键Win(Windows 徽标键)+R,启动运行窗口。
- 输入firewall.cpl后按回车键。
- 单击打开或关闭 Windows 防火墙,查看防火墙状态。 默认情况下,防火墙是关闭状态。
- 启用所有网络类型的Windows防火墙,并单击确定。
- 查看远程RDP端口3389。
- 添加远程RDP端口3389至高级安全 Windows 防火墙。
- 单击新建规则,显示新建入站规则向导对话框。
- 选择创建的规则类型为端口,单击下一步。
- 协议选择TCP,端口填写为3389,单击下一步。
- 选择允许连接,单击下一步。
- 保持默认配置,单击下一步。
- 设置规则名称,例如RemoteDesktop,单击完成。
- 配置作用域。
- 右键单击已创建的入站规则RemoteDesktop,选择属性。
- 在作用域页签下,远程 IP 地址选择为下列 IP 地址,并添加一个或多个IP地址或CIDR地址段,单击确定。 注意 启用作用域后,除了作用域里设置的远程IP地址,别的地址将无法远程连接此服务器。
- 登录ECS管理控制台。
- 在实例列表中,找到需要连接的实例,在操作列中,单击远程连接。
- 在输入远程连接密码对话框中输入密码,单击确定。
- 修改入站规则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