安全组五元组规则介绍

简介: 四元组规则配置简单但不够灵活,无法满足某些场景的防火墙控制需求,五元组规则完全兼容四元组规则并提供更大的灵活性。

安全组四元组规则的局限

五元组是通信术语。通常是指源IP地址,源端口,目的IP地址,目的端口和传输层协议。在云计算中通常用五元组来描述一个安全组规则。阿里云的安全组规则在设计之初做了简化,只支持四元组规则:

  (源IP,目的IP,目的端口,传输层协议)

而且在实际规则设置过程中,并不是四元组中的每个属性都是允许用户设置的,具体地:

  • 入规则,目的IP不允许设置,目的IP=规则所属安全组下所有IP
  • 出规则,源IP不允许设置,源IP=规则所属安全组下所有IP

这样的设计在多数场景的确简化了用户设置,但也有不够灵活的问题:

  • 入规则,无法限定源端口范围,所有源端口都放行
  • 入规则,无法限定目的IP,当前安全组下所有IP都放行
  • 出规则,无法限定源IP,当前安全组下所有IP都放行
  • 出规则,无法限定源端口范围,所有源端口都放行

如果用户想精确控制源IP,源端口,目的IP,目的端口以及传输层协议,那就需要使用下面介绍的五元组规则。

五元组规则带来更大灵活性

五元组规则的定义:

  (源IP,源端口,目的IP,目的端口,传输层协议)

五元组出规则举例:

源IP:        172.16.2.0/32
源端口:      22
目的IP:      10.12.9.70/32
目的端口:    不限制
传输层协议:  TCP
授权策略:    Drop

这条出规则禁止172.16.2.0/32通过22端口对10.12.9.70/32发起TCP访问。

已知需要五元组的典型场景

  • 某些平台类网络产品会接入第三方厂商的解决方案为用户提供网络服务,为了防范这些产品对用户ECS发起非法访问就需要5元组规则精确控制出、入流量
  • 一个默认组内不通安全组,如果你想精确控制组内若干ECS之间可以互相访问,则需要在安全组内设置5元组规则

使用OpenAPI设置五元组规则需要注意的几点

  • 在授权、解除授权操作时,参数:SecurityGroupId,SourceGroupId,SourceCidrIp,SourcePortRange,DestGroupId,DestCidrIp,PortRange之间有何约束关系,可能是刚开始容易造成混乱的问题,现说明如下:

入规则:

参数 含义&约束关系
SecurityGroupId 当前入规则所属的安全组ID,也是目的安全组ID
DestCidrIp 目的IP范围,可选参数,如果指定DestCidrIp,则可以更精细地控制入规则生效的目的IP范围;如果不指定则入规则生效的IP范围=SecurityGroupId这个安全组下的所有IP
PortRange 目的端口范围,必选参数
DestGroupId 不允许输入。因为入规则的目的安全组ID一定是SecurityGroupId
SourceGroupId 入规则的源安全组ID,SourceGroupId与SourceCidrIp二者必选其一,如果二者都指定,则SourceCidrIp优先
SourceCidrIp 入规则的源IP范围,SourceGroupId与SourceCidrIp二者必选其一,如果二者都指定,则SourceCidrIp优先
SourcePortRange 源端口范围,可选参数,不填则不限制源端口

出规则:

参数 含义&约束关系
SecurityGroupId 当前出规则所属的安全组ID,也是源安全组ID
DestCidrIp 出规则目的IP,DestGroupId与DestCidrIp二者必选其一,如果二者都指定,则DestCidrIp优先
PortRange 目的端口范围,必选参数
DestGroupId 出规则的目的安全组ID。DestGroupId与DestCidrIp二者必选其一,如果二者都指定,则DestCidrIp优先
SourceGroupId 不允许输入,因为出规则的源安全组ID一定是SecurityGroupId
SourceCidrIp 出规则的源IP范围,可选参数,如果指定SourceCidrIp则会更精细地限定出规则生效的源IP;如果不指定,则生效的源IP=SecurityGroupId这个安全组下的所有IP
SourcePortRange 源端口范围,可选参数,不填则不限制源端口
  • 安全组的OpenAPI是完全向前兼容的,基于最新的OpenAPI,你既可以授权、解除授权满足五元组的规则,也可以继续授权、解除授权只满足四元组的规则。相关OpenAPI的帮助文档链接:
    AuthorizeSecurityGroup

AuthorizeSecurityGroupEgress
RevokeSecurityGroup
RevokeSecurityGroupEgress

相关文章
|
网络协议 网络虚拟化 数据中心
一文彻悟容器网络通信
作者:云原生应用平台 - 陈赟豪(环河)本文深入浅出地介绍了容器网络出现的背景、容器网络的CNI插件及分类对比,描述了容器网络插件的Pod同节点和跨节点通信过程及其应用场景,让读者能过通过简短的篇幅窥见容器网络的真谛。背景容器网络为何出现在一个汽车发动机的生产车间中,汽车发动机的各个组件会存在一定的顺序进行组装,这就要求有直接关系的组件必须知道下一个组件的具体位置。当一个汽车发动机组装完成后,距离
1711 0
一文彻悟容器网络通信
|
前端开发 调度 UED
React 执行过程中 Fiber 的优先级是如何确定的?
【10月更文挑战第27天】React能够更加智能地管理任务的执行顺序,在保证用户交互体验的同时,充分利用系统资源,提高应用的整体性能和响应速度。
|
10月前
|
Ubuntu 安全 Shell
Ubuntu 精通之路:12 个核心知识点从入门到高手
掌握这些知识点需要不断的学习和实践。建议在实际工作中多应用,将理论与实践相结合。遇到问题多查阅文档,多与社区交流。只有不断实践,不断积累,才能真正掌握 Ubuntu。
|
11月前
|
人工智能 JSON 安全
“创生”而非“扮演”:Zyantine项目中的AI人格工程化实践
《自衍体》雄辩地证明了一个核心观点:人格即架构(Personality is Architecture)。一个稳定、深刻、富有吸引力的AI人格,并非来自于几句简单的“角色扮演”描述,而是源于一个精心设计的、内在逻辑严密的系统架构。对于追求更高阶AI Agent的开发者而言,掌握这种“人格工程学”,将是未来的核心竞争力。
|
数据采集 监控 API
淘宝淘口令 API 接口全攻略
### 淘口令 API 及相关服务简介 **一、淘口令 API(item_password)** - **功能**:将淘口令转换为商品链接或获取商品信息,支持生成自定义淘口令。 - **申请流程**:注册账号、创建应用、获取凭证、申请权限。 - **调用示例(Python)**:通过签名和请求参数调用接口,生成淘口令。 **二、第三方 API 服务** - **适用场景**:简化开发流程,支持高佣转链、淘口令解析等功能。 - **推荐接口**:万能淘口令生成、淘口令解析真实 URL。
1139 4
|
安全 数据库 开发者
鸿蒙5开发宝藏案例分享---应用架构实战技巧
本文深入探讨鸿蒙应用架构设计与线程通信实战技巧,涵盖分层架构(产品定制层、基础特性层、公共能力层)的实际应用,通过代码示例讲解如何降低耦合、实现多端复用。同时解析子线程安全更新UI的实现方式,利用 `TaskDispatcher` 和 `Emitter` 进行线程间通信。此外,还分享模块化设计中 HAP、HAR、HSP 的选择与动态加载技巧,以及官方文档未明确提及的开发经验。帮助开发者将理论转化为实践,提升应用性能与可维护性。
|
存储 程序员 调度
[计算机组成原理(唐朔飞 第2版)]第一章 计算机系统概论 & 第二章 计算机的发展及应用(学习复习笔记)
[计算机组成原理(唐朔飞 第2版)]第一章 计算机系统概论 & 第二章 计算机的发展及应用(学习复习笔记)
|
算法 安全 5G
|
网络协议 Linux Ruby
CentOS7各个版本镜像下载地址
CentOS7各个版本镜像下载地址
43981 0
|
SQL 存储 BI
什么是视图?详细解析与应用指南
【8月更文挑战第31天】
2891 0

热门文章

最新文章