通过安全组规则,您可以灵活控制ECS实例的出入流量,但如果安全组规则设置不当,权限过小可能导致无法正常访问实例而影响业务,权限过大则导致安全风险随之上升。本文介绍如何使用安全组规则检测功能,主动判断安全组允许和拒绝访问的情况是否符合预期。

背景信息

使用安全组规则检测功能时,您需要输入检测条件,系统通过算法模拟匹配的方式判断当前安全组规则的设置是否符合预期。该功能提供以下检测方式满足您在不同场景下的需求:
  • 一键检测:适用于快速检测安全组是否放行了常见的入方向访问,包括:
    • 22端口:用于远程连接Linux实例。如果安全组内有Linux实例,建议放行对22端口的访问。
    • 3389端口:用于远程连接Windows实例。如果安全组内有Windows实例,建议放行对3389端口的访问。
    • 80、443、8080端口:如果安全组内实例用于对外提供Web服务,建议放行对80、443、8080端口的访问。
    • ICMP协议:用于传递控制消息,允许基于ICMP协议的访问后才可以完成一些测试操作,例如在客户端执行ping命令测试网络可达性。

    更多端口的说明,请参见常用端口

  • 自定义检测:适用于精准检测安全组是否放行了某一类入方向访问或出方向访问,您需要根据访问方向设置检测条件,包括:
    • 入方向访问:设置源地址、目的端口、规则方向、协议类型。
    • 出方向访问:设置目的地址、目的端口、规则方向、协议类型。

操作步骤

  1. 登录ECS管理控制台
  2. 进入安全组规则检测页签。
    • 自助问题排查页面:
      1. 在左侧导航栏,单击自助问题排查
      2. 在顶部菜单栏处,选择地域。
      3. 单击安全组规则检测页签。
    • 实例页面:
      1. 在左侧导航栏,选择实例与镜像 > 实例
      2. 在顶部菜单栏处,选择地域。
      3. 找到实例,在操作列中,选择更多 > 运维和诊断 > 安全组规则检测
  3. 设置检测规则并完成检测。
    1. 选择待检测的实例。
      如果从 实例页面进入 安全组规则检测页签,则已默认选中实例。
    2. 选择待检测的网卡。
      默认检测实例的主网卡。如果实例绑定了辅助网卡,您可以选择对应的辅助网卡。
    3. 选择检测方式。
      • 一键检测:检测安全组是否放行了常见的入方向访问。
      • 自定义检测:请根据访问方向设置检测条件。例如,检测是否允许通过指定IP地址47.XX.XX.XX远程连接Linux实例(22端口)和Windows实例(3389端口)时,自定义检测的设置如下图所示。custom-detect
    4. 单击开始检测
  4. 查看检测结果。
    说明 网络连通受安全组放行情况、网卡状态、实例内部网络配置、物理机所在网络环境等因素影响,安全组规则检测结果为已开通时,仅代表安全组放行了访问,不能代表网络已正常连通。例如,安全组已经允许远程连接实例,但如果实例没有开通公网带宽,则仍然不能通过公网远程连接安全组内的实例。
    • 一键检测结果示例如下图所示,该示例表示安全组已放行常见的访问,单击检测详情,可以查看对应的安全组规则详情。fast-detect
      注意 IP地址设置为 0.0.0.0/0时表示允许所有IP访问。为安全起见,建议您遵循最小授权原则,在实际业务中将授权对象设置为特定的IP。
    • 自定义检测结果示例如下图所示,该示例表示:
      • 安全组允许通过47.XX.XX.XX远程连接Linux实例(22端口),单击检测详情,可以查看对应的安全组规则详情。
      • 安全组拒绝通过47.XX.XX.XX远程连接Windows实例(3389端口),单击开通端口,可以一键添加安全组规则放行访问。
      custom-detect-result