阿里云安全组的正确使用及层级设计

本文涉及的产品
AI安全态势管理免费试用,1000次,有效期3个月
简介: 本文介绍如何正确使用阿里云安全组策略及层级设计使用。

前言

安全组是阿里云服务安全领域一个重要的概念。安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。可以通过配置安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。

目前很多使用安全组的工程师都知道,在创建了安全组以后,需要配置入方向和出方向的规则,用于控制是允许或拒绝某些特定IP段对安全组内资源的访问。但很多工程师不知道这个安全组的的概念,以及对安全组访问的授权类型的理解。很多工程师只创建一个安全组或只使用默认的安全组,这样给安全组规则的管理带来一定的复杂性,同时也带来一定的安全风险。

下图是大家经常使用的场景,多个不同类型的实例使用相同的安全组,针对不同实例的访问分别设置访问规则。
_1

下面会给大家介绍一下安全组的的概念,以及如何按层级设计使用安全组。

安全组的特性

安全组有以下几个特性:

  1. 同一安全组内的实例之间默认内网网络互通,不同安全组的实例之间默认内网不通。
  2. 可以通过安全组规则授权两个安全组之间互访。

实验1:同一安全组内的实例访问需要添加安全组访问规则吗?

_2
Step 1: 创建安全组,命名为sg-test, 不创建任何规则;
Step 2:启动2台ECS A和B,同时都加入到安全组sg-test;
Step 3:登录到ECS A上,ping B的内网地址,可以ping 通;
Step 4:给ECS B加一个弹性IP;
Step 5:在ECS A上ping B的外网地址,不通!
Step 6: 给安全组sg-test加一条访问规则,允许ECS A的访问;
Step 7: 再次在ECS A上ping B,可以ping 通。

从上面测试步骤和结果,我们验证了同一个安全组内的实例之间是可以相互访问的,并且不需要设置任何访问规则。如果是通过外网访问,需要设置访问规则。

实验2:通过安全组规则授权实现一个安全组内的实例访问另外一个安全组

_3
Step 1:创建安全组sg-1,sg-2,不加任何访问规则;
Step 2:将ECS A加入到安全组sg-1,将ECS B加入到sg-2;
Step 3:登录到ECS A,ping B。现在结果是不通的!
Step 4:在sg-2中添加安全组规则,协议类型选择全部ICMP(IPv4),授权类型选择安全组访问,授权对象选择sg-1,这时sg-1里面没有添加任何安全组规则;
Step 5:这时在ECS A上再次ping B,可以ping 通!
_7

此实验描述了如何进行安全组之间的授权,即允许一个安全组内的实例访问另一个安全组内的实例。

安全组的层级设计

因为有了安全组的授权访问,可以实现让一个安全组的实例访问另外一个安全组内的实例。所以我们可以实现下面的安全组层级设计:

AWS

这里有3个安全组:
sg-web是面向用户的,放置Application Load Balancer(ALB)可以将类似于HTTP 80,HTTPS 443端口开放给所有人;
sg-app安全组内放置EC2,允许sg-web安全组访问应用(端口8080),同时开放SSH 22端口给指定的IP,便于管理员登录进行管理和维护;
sg-rds安全组开放数据库访问端口给应用,即授权给sg-app,这样保证只有安全组sg-app内的服务才能访问数据库。
_4

阿里云

_5

阿里云安全组跟AWS安全组的不同

  1. 授权策略:阿里云安全组授权策略有允许和拒绝,AWS安全组缺省是允许,没有拒绝的设置。
  2. 统一性:AWS很多服务都是使用了安全组,比如Load Balancer、EC2、RDS,它们可以方便地基于层级来使用安全组。阿里云在统一性方面做的稍微欠缺一些,SLB负载均衡通过使用访问控制策略组来进行访问控制,数据库使用白名单和安全组来进行控制。(如理解有误,请告知。)

参考资料

  1. 云服务器 ECS > 安全 > 安全组 > 安全组概述
  2. AWS 文档 » Amazon EC2 » 用户指南(适用于 Linux 实例) » 网络与安全性 » Linux 实例的 Amazon EC2 安全组
相关文章
|
弹性计算 网络协议 安全
宝塔面板放行阿里云端口命令操作教程
布署宝塔面板阿里云服务器需要开放哪些端口?阿里云服务器“安全组设置”详解
2386 1
|
机器学习/深度学习 人工智能 达摩院
10万亿!达摩院发布全球最大AI预训练模型M6
今天,阿里巴巴达摩院公布多模态大模型M6最新进展,其参数已从万亿跃迁至10万亿,成为全球最大的AI预训练模型。
9253 0
10万亿!达摩院发布全球最大AI预训练模型M6
|
Oracle 安全 关系型数据库
如何在openGauss/PostgreSQL手动清理XLOG/WAL 文件?
openGauss/PostgreSQL中的预写式日志WAL(Write Ahead Log),又名Xlog或redo log,相当于oracle的online redo log, 不同的是oracle online redo log是提前创建几组滚动使用,但在opengauss中只需要本配置参数控制WAL日志的周期,数据库会一直的创建并自动清理,但存在一些情况WAL日志未清理导致目录空间耗尽,或目录空间紧张时手动删除wal日志时,比如如何确认在非归档模式下哪些WAL日志文件可以安全删除?
2176 0
|
存储 C语言
用加法器实现补码的加/减运算
用加法器实现补码的加/减运算
1098 0
|
机器学习/深度学习 人工智能 自然语言处理
技术创新领域,AI(AIGC)是否会让TRIZ“下岗”?
法思诺创新直播间探讨了AI(AIGC)是否将取代TRIZ的问题。专家赵敏认为,AI与TRIZ在技术创新领域具有互补性,结合两者更务实。TRIZ提供结构化分析框架,AI加速数据处理和方案生成。DeepSeek、Gemini等AI也指出,二者各有优劣,应在复杂创新中协同使用。企业应建立双轨知识库,重构人机混合创新流程,实现全面升级。结论显示,AI与TRIZ互补远超竞争,结合二者是未来技术创新的关键。
507 0
|
存储 人工智能 自然语言处理
手猫助手Agent技术探索总结(1)
手猫助手Agent技术探索总结
661 6
|
编解码 算法 图形学
【unity小技巧】减少Unity中的构建打包大小
【unity小技巧】减少Unity中的构建打包大小
1184 1
|
C++
【洛谷 P1044】[NOIP2003 普及组] 栈 题解(递归+记忆化搜索)
**NOIP2003普及组栈问题**:给定操作数序列1到n,仅允许push(进栈)和pop(出栈)操作。目标是计算所有可能的输出序列总数。输入包含一个整数n(1≤n≤18)。示例输入3,输出5。当队列空时返回1,栈空则只能入栈,栈非空时可入栈或出栈。AC C++代码利用记忆化搜索求解。
400 1
|
存储 编解码 Unix
PyMuPDF 1.24.4 中文文档(十三)(2)
PyMuPDF 1.24.4 中文文档(十三)
681 0
|
存储 API 对象存储
对象存储OSS产品常见问题之图片无法加载排查如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
1920 0