本文将介绍安全组的以下几个内容:

阿里云的网络类型分为 经典网络VPC,它们对安全组支持不同的设置规则:

  • 如果是经典网络,您可以设置以下几个规则:内网入方向、内网出方向、公网入方向和公网出方向。
  • 如果是 VPC 网络,您可以设置:入方向 和 出方向。

安全组内网通讯的概念

本文开始之前,您应知道以下几个安全组内网通讯的概念:

  • 默认只有同一个安全组的 ECS 实例可以网络互通。即使是同一个账户下的 ECS 实例,如果分属不同安全组,内网网络也是不通的。这个对于经典网络和 VPC 网络都适用。所以,经典网络的 ECS 实例也是内网安全的。
  • 如果您有两台 ECS 实例,不在同一个安全组,您希望它们内网不互通,但实际上它们却内网互通,那么,您需要检查您的安全组内网规则设置。如果内网协议存在下面的协议,建议您重新设置。
    • 允许所有端口;
    • 授权对象为 CIDR 网段 (SourceCidrIp):0.0.0.0/0 或者 10.0.0.0/8 的规则。 如果是经典网络,上述协议会造成您的内网暴露给其它的访问。
  • 如果您想实现在不同安全组的资源之间的网络互通,您应使用安全组方式授权。对于内网访问,您应使用源安全组授权,而不是 CIDR 网段授权。

安全规则的属性

安全规则主要是描述不同的访问权限,包括如下属性:

  • Policy:授权策略,参数值可以是 accept(接受)或 drop(拒绝)。
  • Priority:优先级,根据安全组规则的创建时间降序排序匹配。规则优先级可选范围为 1-100,默认值为 1,即最高优先级。数字越大,代表优先级越低。
  • NicType:网络类型。如果只指定了 SourceGroupId 而没有指定 SourceCidrIp,表示通过安全组方式授权,此时,NicType 必须指定为 intranet
  • 规则描述:
    • IpProtocol:IP 协议,取值:tcpudpicmpgreall。all 表示所有的协议。
    • PortRange:IP 协议相关的端口号范围:
      • IpProtocol 取值为 tcpudp 时,端口号取值范围为 1~65535,格式必须是“起始端口号/终止端口号”,如“1/200”表示端口号范围为1~200。如果输入值为“200/1”,接口调用将报错。
      • IpProtocol 取值为 icmpgreall 时,端口号范围值为 -1/-1,表示不限制端口。
    • 如果通过安全组授权,应指定 SourceGroupId,即源安全组 ID。此时,根据是否跨账号授权,您可以选择设置源安全组所属的账号 SourceGroupOwnerAccount;
    • 如果通过 CIDR 授权,应指定 SourceCidrIp,即源 IP 地址段,必须使用 CIDR 格式。

授权一条入网请求规则

在控制台或者通过 API 创建一个安全组时,入网方向默认 deny all,即默认情况下您拒绝所有入网请求。这并不适用于所有的情况,所以您要适度地配置您的入网规则。

比如,如果您需要开启公网的 80 端口对外提供 HTTP 服务,因为是公网访问,您希望入网尽可能多访问,所以在 IP 网段上不应做限制,可以设置为 0.0.0.0/0,具体设置可以参考以下描述,其中,括号外为控制台参数,括号内为 OpenAPI 参数,两者相同就不做区分。

  • 网卡类型