弹性计算Clouder认证:企业级云上网络构建——课时6:如何规划云上网络的安全性?

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 弹性计算Clouder认证:企业级云上网络构建——课时6:如何规划云上网络的安全性?

思考:小云应该如何规划云上网络的安全性?


小云通过规划多个VPC实现网络隔离后,还需要考虑:

  1. VPC访问控制:在VPC部署业务服务器,如何保障其安全性?
  2. 跨VPC之间网络的打通:不同地域和不同VPC之间提供了隔离效果,那如果需要将其互联互通,应该怎么做?

 

  1. 关于第一点,如何保障VPC内业务服务器的安全性,通常有两种做法:
  • 安全组:是一种实例级别的虚拟防火墙,能够控制ECS云服务器等云资源的出入站流量。安全组的入方向规则控制ECS云服务器的入站流量,出方向规则控制ECS云服务器的出站流量。阿里云上的安全组是一种有状态的防火墙,在安全组中,小云可以在入和出两个方向设置允许和拒绝规则来实现流量管控,由于安全组是有状态防火墙,小云只需要在入站方向设置允许或拒绝规则即可,例如小云只需要允许安全组入方向的TCP 协议的80端口,不需要主动允许出方向的TCP协议的 80端口,外部依旧能够访问到小云的网站,因为安全组会自动发现,出站的流量和入站的流量相关,会自动放通,这就是有状态防火墙的特点。
  • 网络ACL:网络访问控制列表(ACL)是 VPC 中子网级别的虚拟防火墙网络 ACL 与交换机必须进行关联才能对子网内的实例产生影响,实现对一个或多个子网流量的访问控制。网络ACL在入和出两个方向都可以设置允许和拒绝规则,其规则与安全组相似,入方向规则控制相关服务的入站流量,出方向规则控制相关服务的出站流量,小云可以对网络 ACL 的规则进行自主设置自定规则。网络 ACL 的规则是无状态的,设置入站规则允许某些请求后,需要同时设置相应的出站规则否则可能会导致某些请求无法响应,必须同时设置入站和出站规则才能正常通信的情况,称为无状态流量管控。例如小云只在入方向设置了允许TCP协议的80端口通过,但是没有在出方向设置允许TCP协议的80端口通过, 此时外部将无法访问到小云的80端口。
  1. 关于第二点,如何打通不同VPC,将在下一小节中重点讲解。

 

思考:如果小云需要确保外部用户只能访问服务器的80端口,即外部用户只能访问网站,其他剩余的所有端口都无法访问,具体应该如何实现?

小云需要使用安全组网络ACL完成专有网络VPC中的服务器端口进行访问限制。单独使用安全组或网络ACL均可帮助小云完成服务器端口访问的限制,但是为了更好的展示安全组和网络ACL的作用,本例中将同时设置它们。

如下图所示,安全组是ECS 云服务器实例级别的,需要绑定到具体的云服务器才能生效,网络ACL是子网级别的,需要绑定具体的交换机才能生效


 

 

小云通过安全组网络ACL实现对外只开放HTTP 协议的 80端口号,具体流程如下:

  1. 新建并配置名为HTTP80-TEST的安全组,在入方向开放HTTP 协议的 80端口号,并拒绝其他访问;
  2. 新建具有公网能力的服务器,使用1步骤中创建的HTTP80-TEST的安全组,并部署一个网页用于访问权限的测试;
  3. 新建网络ACL,并绑定到子网,在网络ACL的入和出方向同时开放HTTP 协议的 80端口;
  4. 前面三个步骤过程中,会多次测试外网访问ECS 80端口,从而验证安全组和ACL是否生效。

 

1. 新建并配置名为HTTP80-TEST的安全组,在入方向开放HTTP 协议的 80端口号,并拒绝其他访问

  • 访问专有网络VPC控制台,点击创建专有网络页面,进行如下配置后,点击确定,完成测试专有网络和交换机创建
  1. 专有网络名称:VPC-HZ-1
  2. IPv4网段:192.168.0.0/16
  3. 交换机名称:VSW-HZ-1
  4. 交换机可用区:杭州 可用区G
  5. 交换机IPv4网段:192.168.1.0/24

image.png

333.png

image.png

  • 创建安全组页面中,进行如下配置后,点击确定,完成安全组创建
  1. 安全组名称:HTTP80-TEST
  2. 网络:VPC-HZ-1
  3. 访问规则:确保入方向包含,允许源IP 0.0.0.0/0访问目的端口为HTTP(80)和SSH(22)的两条策略,删除其他条目。


 image.png


2. 新建具有公网能力的服务器,使用1步骤中创建的HTTP80-TEST的安全组,并部署一个网页用于访问权限的测试

上一步中,小云已经完成了测试安全组HTTP80-TEST的创建,并且规则已经设置好,现在只需要在购买新服务器时,绑定这个安全组,即可测试安全组中的规则是否生效,需要注意的是,在新购买ECS云服务器时,至少要绑定一个安全组。

  • 访问ECS控制台,购买如下配置的云服务器ECS实例,需要注意的是,VPC网络、交换机和安全组分别选用我们上面创建的资源。

实例名称和主机名

ecs-test

付费类型

按量计费

地域

华东1(杭州)

可用区

杭州可用区G

网络

VPC-HZ-1

交换机

VSW-HZ-1

实例规格

突发性能实例 t5 1vCPU 2GiB内存

镜像

公共镜像CentOS 7.9 64

系统盘

高效云盘40G

公网IP

分配公网IPV4地址

安全组

HTTP80-TEST

 

  • 部署网站通过Workbench远程连接刚刚创建的ECS实例,部署一个网站用于安全规则的测试,登录服务器后,输入以下指令完成Apache软件的安装和配置:
yum install httpd -y
echo ECS-TEST > /var/www/html/index.html
systemctl enable httpd --now
systemctl start httpd
systemctl status httpd

image.png

image.png

  • 测试网站是否可以访问,在浏览器中,输入ECS 云服务器的公网地址,可以看到网站的页面正常打开,说明安全组已经开放了80端口的访问:

image.png

 

3. 新建网络ACL,并绑定到子网,在网络ACL的入和出方向同时开放HTTP 协议的 80端口

  • 接下来测试网络ACL的流量管控,访问网络ACL控制台,点击创建网络AC,所属专有网络选择上一步创建的专有网络VPC-HZ-1,名称为ACL-HZ-1,点击确定,完成ACL创建。

image.png

image.png

  • 配置网络ACL,完成网络ACL的创建后还需要进行两个步骤的操作:关联交换机配置入&出方向规则,需要注意的时,网络ACL是无状态的,需要同时开放入和出方向的80端口才能正常通信

image.png

 

  • 关联交换机,选择前面创建的交换机VSW-HZ-1,点击确定关联

image.png

image.png

  • 删除默认入&出方向规则,删除入和出两个方向的默认规则,因为这两个规则的所有全部放通,小云只需要放通TCP 80即可。

image.png

image.png

  • 测试网站是否可以访问,在浏览器中,输入ECS 云服务器的公网地址,虽然安全组是放行了80端口,但是网络ACL中,没有放行,这导致最终网页访问是失败的,这符合预期,后面在ACL中放行80端口,即可正常打开。

image.png

 

  • 配置入&出方向规则,放行80端口,其中:
  1. 入方向规则:点击管理入方向规则添加一条规则,规则名称为开放80端口,策略为允许,协议类型为TCP,源地址为0.0.0.0/0,目的端口范围为80/80,确认无误后,点击确定,完成添加。
  2. 出方向规则:点击管理出方向规则添加一条规则,规则名称为允许出方向流量,策略为允许,协议类型为TCP,源地址为0.0.0.0/0,目的端口范围为1/65535,确认无误后,点击确定,完成添加。

提示1:这里的 0.0.0.0/0 特指任何来源,80/80是指端口范围,两个都是80,特指80这一个端口,如果是1/65535,那就是表示从1到65535的端口范围

提示2:需要注意到,出方向中源地址是指ECS等云产品本身,所以出方向只需要指定目的地址,由于用户一般是使用本机随机端口来访问WEB服务器的80端口,所以这里目的端口范围不能设置为80/80,而是1/65535,与-1/-1类似表示允许访问所有目的地址的端口。

image.png

  • 测试网站是否可以访问,在浏览器中,输入ECS 云服务器的公网地址,发现已经可以正常打开页面:

image.png

 

经过如上测试,得出以下结论:

  1. 安全组实例级别有状态的虚拟防火墙,只需要在入方向允许具体的端口即可,在云服务器ECS实例级别进行访问控制推荐使用安全组
  2. 网络ACL子网级别无状态的虚拟防火墙,需要同时在入和出两个方向允许流量才可以访问,通常适用于整个子网中,所有云资源的集中管控,范围比安全组更大,适用于大规模整个子网的整体规则管控


安全组和网络ACL对比:

 

安全组

网络ACL

级别

ECS等云资源实例级别管控

特定子网级别的流量管控

功能

支持允许规则和拒绝规则

支持允许规则和拒绝规则

是否有状态

有,返回数据流会被自动允许,不受任何规则影响

无,返回数据流必须被规则明确允许

何时生效

只有云资源绑定了安全组才会受到影响,可以为不同的实例绑定不同的安全组,实现更精细化配置

只要子网绑定了网络ACL,整个子网中的所有云资源都会受到影响

 


练习实验:企业级云上网络构建

https://developer.aliyun.com/adc/scenario/exp/65e54c7876324bbe9e1fb18665719179

相关文章
|
1月前
|
弹性计算 网络协议 关系型数据库
网络技术基础阿里云实验——企业级云上网络构建实践
实验地址:<https://developer.aliyun.com/adc/scenario/65e54c7876324bbe9e1fb18665719179> 本文档指导在阿里云上构建跨地域的网络环境,涉及杭州和北京两个地域。任务包括创建VPC、交换机、ECS实例,配置VPC对等连接,以及设置安全组和网络ACL规则以实现特定服务间的互访。例如,允许北京的研发服务器ECS-DEV访问杭州的文件服务器ECS-FS的SSH服务,ECS-FS访问ECS-WEB01的SSH服务,ECS-WEB01访问ECS-DB01的MySQL服务,并确保ECS-WEB03对外提供HTTP服务。
|
7月前
|
存储 数据管理 对象存储
云存储Clouder认证:存储应用与数据管理—课时10:实验练习与认证考试
云存储Clouder认证:存储应用与数据管理—课时10:实验练习与认证考试
257 0
|
7月前
|
存储 数据管理 文件存储
云存储Clouder认证:存储应用与数据管理—课时9:课程总结与补充
云存储Clouder认证:存储应用与数据管理—课时9:课程总结与补充
83 0
|
7月前
|
存储 弹性计算 数据管理
云存储Clouder认证:存储应用与数据管理—课时8:如何做好网站高可用
云存储Clouder认证:存储应用与数据管理—课时8:如何做好网站高可用
92 0
|
7月前
|
存储 数据管理 对象存储
云存储Clouder认证:存储应用与数据管理—课时7:如何做好网站加速
云存储Clouder认证:存储应用与数据管理—课时7:如何做好网站加速
82 0
|
7月前
|
存储 编解码 数据管理
云存储Clouder认证:存储应用与数据管理—课时6:如何做好数据处理
云存储Clouder认证:存储应用与数据管理—课时6:如何做好数据处理
116 0
|
7月前
|
存储 数据管理 对象存储
云存储Clouder认证:存储应用与数据管理—课时5:如何做好数据管理
云存储Clouder认证:存储应用与数据管理—课时5:如何做好数据管理
113 0
|
7月前
|
存储 安全 数据管理
云存储Clouder认证:存储应用与数据管理—课时4:如何做好数据安全
云存储Clouder认证:存储应用与数据管理—课时4:如何做好数据安全
88 0
|
7月前
|
存储 运维 数据管理
云存储Clouder认证:存储应用与数据管理—课时3:如何做好权限控制
云存储Clouder认证:存储应用与数据管理—课时3:如何做好权限控制
198 0
|
7月前
|
存储 数据管理 文件存储
云存储Clouder认证:存储应用与数据管理—课时2:存储选型
云存储Clouder认证:存储应用与数据管理—课时2:存储选型
134 0