使用 JIT VM 访问保护虚拟机

已完成

暴力登录攻击通常以攻击管理端口为手段来获取对虚拟机 (VM) 或服务器的访问权限。 如果成功,攻击者可以获得对主机的控制权并建立通向你的环境的据点。 暴力攻击包括检查所有可能的用户名或密码,直到找到正确的用户名或密码。

这种形式的攻击并不是最复杂的,但工具(如 THC-Hydra)使之变成相对简单的攻击。 例如,以下是用于攻击 Windows Server 的命令序列。

user@debian$ hydra -l administrator -P wordlist.txt rdp://13.66.150.191 -t 1 -V -f
Hydra v9.0 (c) 2004 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.

Hydra (http://www.thc.org) starting at 2019-10-10 17:38:44
[DATA] max 7 tasks per 1 server, overall 64 tasks, 7 login tries (1:1/p:7), ~0 tries per task
[DATA] attacking service rdp on port 3389
[ATTEMPT] target 13.66.150.191 – login “administrator” – pass "123456"
[ATTEMPT] target 13.66.150.191 – login “administrator” – pass "654321" 
[ATTEMPT] target 13.66.150.191 – login “administrator” – pass "password"
[ATTEMPT] target 13.66.150.191 – login “administrator” – pass "iloveyou"
[ATTEMPT] target 13.66.150.191 – login “administrator” – pass "rockyou"
...
[ATTEMPT] target 13.66.150.191 – login “administrator” – pass "P@ssword!123"
[3389][rdp] host 13.66.150.191 login: administrator  password: P@ssword!123
[STATUS] attack finished for 13.66.150.191 (waiting for children to complete tests)

阻止暴力攻击

可以采取多种措施来应对暴力攻击,例如:

  • 禁用公共 IP 地址,并使用以下连接方法之一:

    • 点到站点虚拟专用网 (VPN)。
    • 创建站点到站点 VPN。
    • 使用 Azure ExpressRoute 创建从本地网络到 Azure 的安全链接。
  • 要求双因素身份验证

  • 增加密码长度和复杂性

  • 限制登录尝试次数

  • 实现 Captcha

  • 限制端口打开的时间

这是 Microsoft Defender for Cloud 代表你实现的最终方法。 远程桌面和 SSH 等管理端口只需在连接到 VM 时打开。 例如,在执行管理或维护任务时打开。 Microsoft Defender for Cloud 中的增强安全功能支持实时 (JIT) 虚拟机 (VM) 访问。 启用 JIT VM 访问后,Defender for Cloud 将使用网络安全组 (NSG) 规则来限制对管理端口的访问。 当端口未使用时,访问会受到限制,因此攻击者无法将其作为目标。

创建启用 JIT VM 访问的策略

为 VM 启用 JIT VM 访问时,可以创建确定以下信息的策略:

  • 要帮助保护的端口。
  • 端口应保持开放的时长。
  • 可以访问这些端口的已批准 IP 地址。

启用策略能控制用户在请求访问时可以执行的操作。 请求记录在 Azure 活动日志中,因此你可以轻松监视和审核访问。 该策略还有助于快速识别已启用 JIT VM 访问权限的现有 VM。 还可以查看建议使用 JIT VM 访问权限的 VM。