阿里云安全组的正确使用及层级设计
前言
安全组是阿里云服务安全领域一个重要的概念。安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。可以通过配置安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。
目前很多使用安全组的工程师都知道,在创建了安全组以后,需要配置入方向和出方向的规则,用于控制是允许或拒绝某些特定IP段对安全组内资源的访问。但很多工程师不知道这个安全组的组的概念,以及对安全组访问的授权类型的理解。很多工程师只创建一个安全组或只使用默认的安全组,这样给安全组规则的管理带来一定的复杂性,同时也带来一定的安全风险。
下图是大家经常使用的场景,多个不同类型的实例使用相同的安全组,针对不同实例的访问分别设置访问规则。
下面会给大家介绍一下安全组的组的概念,以及如何按层级设计使用安全组。
安全组的特性
安全组有以下几个特性:
- 同一安全组内的实例之间默认内网网络互通,不同安全组的实例之间默认内网不通。
- 可以通过安全组规则授权两个安全组之间互访。
实验1:同一安全组内的实例访问需要添加安全组访问规则吗?
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:通过安全组规则授权实现一个安全组内的实例访问另外一个安全组
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 通!
此实验描述了如何进行安全组之间的授权,即允许一个安全组内的实例访问另一个安全组内的实例。
安全组的层级设计
因为有了安全组的授权访问,可以实现让一个安全组的实例访问另外一个安全组内的实例。所以我们可以实现下面的安全组层级设计:
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内的服务才能访问数据库。
阿里云
阿里云安全组跟AWS安全组的不同
- 授权策略:阿里云安全组授权策略有允许和拒绝,AWS安全组缺省是允许,没有拒绝的设置。
- 统一性:AWS很多服务都是使用了安全组,比如Load Balancer、EC2、RDS,它们可以方便地基于层级来使用安全组。阿里云在统一性方面做的稍微欠缺一些,SLB负载均衡通过使用访问控制策略组来进行访问控制,数据库使用白名单和安全组来进行控制。(如理解有误,请告知。)
参考资料
- 云服务器 ECS > 安全 > 安全组 > 安全组概述
- AWS 文档 » Amazon EC2 » 用户指南(适用于 Linux 实例) » 网络与安全性 » Linux 实例的 Amazon EC2 安全组
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
教你用阿里云服务器ECS安装宝塔面板?(Linux Centos版)
教程目的:帮助小白用户,快速学会安装宝塔控制面板,并通过宝塔控制面板快速搭建建站环境。 所需材料: 1、云服务器一台,系统推荐用Linux Centos 2、远程工具:XShell或者FinalShell 3、宝塔控制面板: 宝塔控制面板安装步骤如下: 1、使用远程工具XShell,链接你的Linux服务器。信息填写如下: 上面这个图,点击左上角的“+”,出现此图,你可以服务器的公网ip及端口填写,协议选SSH,顺便写个名称,标记一下。下完之后点击“用户身份验证”,如下图。 上图,填写你服务器的用户名和密码,并点击确认,最后点击左上角箭头,再点击你保存设置的那个服务器名称,既可以进入安装环境。 2、输入如下代码, yuminstall-ywget&&wget-Oinstall.shhttp://download.bt.cn/install/install.sh&&shinstall.sh 建议复制粘贴到对话框,然后回车键enter 它会自动下载并运行install.sh 这里询问你是否安装面板,输入y。这个面板应该是一直在完善当中,就例如这块,其实应该加...
- 下一篇
阿里云怎么没有华北4地域节点?
阿里云华北地区目前有4个地域节点,即华北1、华北2、华北3、华北5,那么为什么没有华北4呢?华北4在哪个城市呢?阿里云没有华北4地域节点。 为什么没有华北4? 华北地区的地域有:华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特),那么华北4哪去了?阿里云暂时没有华北4地域节点!可能是4个数字不吉利吧。可以移步:地域和可用区 - 阿里云,地域更新。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路