安全组:为云主机网卡提供安全控制,按照指定的安全规则对进出网卡的TCP/UDP/ICMP等数据包进行有效过滤。
功能框架
安全组与安全规则
安全组通过安全规则控制和过滤进出网卡的流量。一个安全组可以添加多条安全规则。根据创建规则可以分为系统规则和自定义规则:
- 系统规则:安全组内的网卡默认允许相互访问,系统会自动添加相应的出/入方向规则,该规则优先级高于所有自定义规则,且不可修改或删除。如需取消组内互通,可以停用该规则。
- 自定义规则:用户自定义添加到安全组的规则。
- 作用方向:安全规则对流量来源或目的进行控制,按控制的流量流向,可分为入方向规则和出方向规则:
- 入方向规则:针对由外部进入网卡的流量,主要控制流量来源。
- 出方向规则:针对由网卡向外发送的流量,主要控制流量目的。
- 作用对象:安全规则的生效对象,包括源和目的
- 源:与入方向规则对应,支持使用IP地址/段或安全组作为源
- IP地址/段:允许/拒绝来自该IP地址/段的流量访问组内网卡。
- 安全组:允许/拒绝另一个安全组内的网卡访问当前安全组内的网卡。
- 目的:与出方向规则对应,支持使用IP地址/段或安全组作为目的
- IP地址/段:允许/拒绝组内网卡访问该IP地址/段。
- 安全组:允许/拒绝当前安全组内的网卡访问另一个安全组内的网卡。
- 源:与入方向规则对应,支持使用IP地址/段或安全组作为源
- 协议&端口:规则作用的数据包协议和对应端口:
-
- ALL:表示涵盖所有协议类型,此时不能指定端口。
- TCP:支持1-65535端口。
- UDP:支持1-65535端口。
- ICMP:默认起始结束端口均为-1,表示支持全部的ICMP协议。
示例:- 设置入方向规则,协议TCP,源IP段192.168.12.0/24,端口1000,策略允许,表示允许来自192.168.12.0/24网段的流量使用TCP协议访问组内网卡的1000端口
- 设置出方向规则,协议UDP,目的IP段192.168.12.0/24,端口1000-1001,策略允许,表示允许组内网卡使用UDP协议访问192.168.12.0/24网段的1000和1001端口。
-
- 行为:针对满足规则匹配条件的流量所应采取的具体动作,包括允许和拒绝:
- 允许:允许网络请求流量流入或流出网卡。
- 拒绝:不允许网络请求流量流入或流出网卡。
- 优先级:
- 由于安全组同时支持黑名单和白名单机制,同一源/目的上被设置多条规则时,可能发生冲突。设置优先级后,同一源/目的优先级最高的规则生效。
- 支持的优先级范围:1-100,数值越大,优先级越低。
安全组与网卡
网卡加入安全组后,才会受安全规则的控制。一张网卡可以加入多个安全组。
- 安全组优先级:
- 网卡加入多个安全组时,可设置安全组优先级,网卡将首先匹配优先级较高的安全组下的规则。
- 所有管理员安全组优先级高于租户/子账户安全组。
- 其他流量控制策略:作用于未被安全组规定的流量
- 网卡加入安全组后,除安全规则规定外,默认允许其他所有出方向流量,拒绝其他所有入方向流量。
- 用户也可以自定义调整该策略,控制未被安全组规定的流量。
安全组与权限
安全组分为管理员安全组和租户/子账户安全组。通常,管理员安全组由管理员创建、归管理员所有,租户/子账户安全组由租户/子账户创建,归租户/子账户所有。
- 租户/子账户只能查看和操作自己所有的安全组。
- 管理员可以查看和管理全部安全组,其中,管理员安全组可以被绑定到任意云主机,租户/子账户安全组只能被绑定到与其所有者一致的云主机。
安全组VS防火墙
防火墙管控南北向流量,作用于整个VPC。安全组作用于云主机虚拟网卡,侧重保护VPC内部东西向通信安全。二者相辅相成,互为补充,具体区别如下:
| 对比项 | 安全组 | 防火墙 |
|---|---|---|
| 作用范围 | 云主机虚拟网卡 | 整个VPC网络 |
| 部署方式 | 分布式 | 集中式 |
| 部署位置 | 云主机 | VPC路由器 |
| 配置策略 | 支持允许、拒绝策略 | 可自定义允许、丢弃或拒绝策略 |
| 优先级 | 自定义优先级顺序 | 自定义优先级顺序 |
| 规则匹配 | 源IP/安全组、目的IP/安全组、源端口、目的端口、协议 | 源IP、源端口、目的IP、目的端口、协议、报文状态 |
注意事项
- 若使用安全组同时使用其他网络服务(如负载均衡、路由表等),需确保其他网络服务所需要的安全组规则已添加至该安全组中。
- 公有网络、扁平网络和VPC网络均支持安全组服务,安全组服务均由安全组网络服务模块提供,使用方法均相同:使用iptables进行云主机的安全控制。
- 安全组实际上是一个分布式防火墙,每次规则变化、加入/删除网卡都会导致多个云主机上的安全组规则被更新。