云服务器 ECS 安全 > ECS安全组实践(三)

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
运维安全中心(堡垒机),免费版 6个月
应用型负载均衡 ALB,每月750个小时 15LCU
简介:


ECS安全组实践(三)

在安全组的使用过程中,通常会将所有的云服务器放置在同一个安全组中,从而可以减少初期配置的工作量。但从长远来看,业务系统网络的交互将变得复杂和不可控。在执行安全组变更时,您将无法明确添加和删除规则的影响范围。

合理规划和区分不同的安全组将使得您的系统更加便于调整,梳理应用提供的服务并对不同应用进行分层。这里推荐您对不同的业务规划不同的安全组,设置不同的安全组规则。

区分不同的安全组

公网服务的云服务器和内网服务器尽量属于不同的安全组

是否对外提供公网服务,包括主动暴露某些端口对外访问(例如 80、443 等),被动地提供(例如云服务器具有公网 IP、EIP、NAT 端口转发规则等)端口转发规则,都会导致自己的应用可能被公网访问到。

2 种场景的云服务器所属的安全组规则要采用最严格的规则,建议拒绝优先,默认情况下应当关闭所有的端口和协议,仅仅暴露对外提供需要服务的端口,例如 80、443。由于仅对属于对外公网访问的服务器编组,调整安全组规则时也比较容易控制。

对于对外提供服务器编组的职责应该比较明晰和简单,避免在同样的服务器上对外提供其它的服务。例如 MySQL、Redis 等,建议将这些服务安装在没有公网访问权限的云服务器上,然后通过安全组的组组授权来访问。

如果当前有公网云服务器已经和其它的应用在同一个安全组 SG_CURRENT。您可以通过下面的方法来进行变更。

1.梳理当前提供的公网服务暴露的端口和协议,例如 80、443。

2.新创建一个安全组,例如 SG_WEB, 然后添加相应的端口和规则。

说明:授权策略:允许,协议类型:ALL, 端口: 80/80,授权对象: 0.0.0.0/0, 授权策略:允许,协议类型:ALL,端口: 443/443 授权对象: 0.0.0.0/0。

3.选择安全组 SG_CURRENT, 然后添加一条安全组规则,组组授权,允许 SG_WEB 中的资源访问SG_CURRENT。

说明:授权策略:允许,协议类型:ALL,端口:-1/-1,授权对象:SG_WEB,优先级:按照实际情况自定义[1-100]。

4.将一台需要切换安全组的实例 ECS_WEB_1 添加到新的安全组中。

  • 在 ECS 控制台中,选择 安全组管理。
  • 选择 SG_WEB > 管理实例 > 添加实例,选择实例 ECS_WEB_1 加入到新的安全组 SG_WEB 中,确认 ECS_WEB_1 实例的流量和网络工作正常。

5.将 ECS_WEB_1 从原来的安全组中移出。

  • 在 ECS 控制台中,选择 安全组管理。
  • 选择 SG_CURRENT > 管理实例 > 移出实例,选择 ECS_WEB_1 ,从 SG_CURRENT 移除,测试网络连通性,确认流量和网络工作正常。
  • 如果工作不正常,将 ECS_WEB_1 仍然加回到安全组 SG_CURRENT 中,检查设置的 SG_WEB 暴露的端口是否符合预期,然后继续变更。

6.执行其它的服务器安全组变更。

不同的应用使用不同的安全组

在生产环境中,不同的操作系统大多情况下不会属于同一个应用分组来提供负载均衡服务。提供不同的服务意味着需要暴露的端口和拒绝的端口是不同的,建议不同的操作系统尽量归属于不同的安全组。

例如,对于 Linux 操作系统,可能需要暴露 TCP(22)端口来实现 SSH,对 Windows 可能需要开通 TCP(3389) 远程桌面连接。

除了不同的操作系统归属不同的安全组,即便同一个镜像类型,提供不同的服务,如果之间不需要通过内网进行访问的话,最好也划归不同的安全组。这样方便解耦,并对未来的安全组规则进行变更,做到职责单一。

在规划和新增应用时,除了考虑划分不同的虚拟交换机配置子网,也应该同时合理的规划安全组。使用网段+安全组约束自己作为服务提供者和消费者的边界。

具体的变更流程参见上面的操作步骤。

生产环境和测试环境使用不同的安全组

为了更好的做系统的隔离,在实际开发过程中,您可能会构建多套的测试环境和一套线上环境。为了更合理的做网络隔离,您需要对不同的环境配置使用不通的安全策略,避免因为测试环境的变更刷新到了线上影响线上的稳定性。

通过创建不同的安全组,限制应用的访问域,避免生产环境和测试环境联通。同时也可以对不同的测试环境分配不同的安全组,避免多套测试环境之间互相干扰,提升开发效率。

仅对需要公网访问子网或者云服务器分配公网 IP

不论是经典网络还是专有网络 (VPC) 中,合理的分配公网 IP 可以让系统更加方便地进行公网管理,同时减少系统受攻击的风险。在专有网络的场景下,创建虚拟交换机时,建议您尽量将需要公网访问的服务区的 IP 区间放在固定的几个交换机(子网 CIDR)中,方便审计和区分,避免不小心暴露公网访问。

在分布式应用中,大多数应用都有不同的分层和分组,对于不提供公网访问的云服务器尽量不提供公网IP,如果是有多台服务器提供公网访问,建议您配置公网流量分发的负载均衡服务来公网服务,提升系统的可用性,避免单点。

对于不需要公网访问的云服务器尽量不要分配公网 IP。专有网络中当您的云服务器需要访问公网的时候,优先建议您使用 NAT 网关,用于为 VPC 内无公网 IP 的 ECS 实例提供访问互联网的代理服务,您只需要配置相应的 SNAT 规则即可为具体的 CIDR 网段或者子网提供公网访问能力,具体配置参见 SNAT。避免因为只需要访问公网的能力而在分配了公网 IP(EIP) 之后也向公网暴露了服务。

最小原则

安全组应该是白名单性质的,所以需尽量开放和暴露最少的端口,同时尽可能少地分配公网 IP。若想访问线上机器进行任务日志或错误排查的时候直接分配公网 IP 或者挂载 EIP 虽然简便,但是毕竟会将整个机器暴露在公网之上,更安全的策略是建议通过跳板机来管理。

使用跳板机

跳板机由于其自身的权限巨大,除了通过工具做好审计记录。在专有网络中,建议将跳板机分配在专有的虚拟交换机之中,对其提供相应的 EIP 或者 NAT 端口转发表。

首先创建专有的安全组 SG_BRIDGE,例如开放相应的端口,例如 Linux TCP(22) 或者 Windows RDP(3389)。为了限制安全组的入网规则,可以限制可以登录的授权对象为企业的公网出口范围,减少被登录和扫描的概率。

然后将作为跳板机的云服务器加入到该安全组中。为了让该机器能访问相应的云服务器,可以配置相应的组授权。例如在 SG_CURRENT 添加一条规则允许 SG_BRIDGE 访问某些端口和协议。

使用跳板机 SSH 时,建议您优先使用 SSH 密钥对而不是密码登录。

总之,合理的安全组规划使您在扩容应用时更加游刃有余,同时让您的系统更加安全。

原文链接

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
6天前
|
机器学习/深度学习 弹性计算 运维
云计算系列之阿里云ECS服务器管理实战
本文档介绍了阿里云ECS(Elastic Compute Service)的基本概念、实例管理、磁盘操作、快照与镜像功能及其应用场景,最后通过具体案例解析ECS的实际应用。ECS是阿里云提供的高效、可靠的云计算服务,支持多种业务需求,如Web应用、高并发网站、数据库等,帮助企业快速构建稳定安全的应用,提升运维效率,降低IT成本。文档还详细说明了ECS实例的创建方式、连接方法及日常管理操作,帮助用户更好地利用ECS服务。
30 2
云计算系列之阿里云ECS服务器管理实战
|
1天前
|
存储 弹性计算 数据库
阿里云服务器ECS产品试用、ECS试用攻略、试用宝典及试用产品续用相关活动介绍
阿里云服务器ECS产品免费试用是阿里云为新手用户提供的免费体验的权益,旨在为新手开发者提供 0 成本高质量的上云体验服务,打造开放,敏捷的开发者环境。阿里云为广大用户提供基础版、企业版试用产品服务(二选一),帮您0门槛轻松体验1个月,基础版最高可试用4核 (vCPU) 8 GiB配置,企业版最高可最高可试用8核 (vCPU) 16 GiB。本文为大家介绍云服务器ECS产品试用、试用宝典、ECS试用攻略及试用产品续用相关活动,以供参考。
|
3天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
17 3
|
6天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
7天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
7天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
44 1
|
15天前
|
存储 弹性计算 安全
阿里云第七代云服务器ECS性能、适用场景与价格参考
阿里云第七代云服务器ECS(Elastic Compute Service)作为阿里云最新一代的高性能计算产品,凭借其基于最新硬件架构和虚拟化技术的全面升级,在计算能力、存储性能、网络传输速度以及灵活性等多个方面实现了显著提升。这一代云服务器旨在为用户提供更为强大、稳定且可定制的云端基础设施服务,广泛适用于从基础的Web托管到复杂的高性能计算等多种应用场景。
|
14天前
|
弹性计算 网络安全
阿里云国际OpenAPI多接口快速管理ECS服务器教程
阿里云国际OpenAPI多接口快速管理ECS服务器教程
|
8天前
|
存储 弹性计算 编解码
通过阿里云的活动租赁云服务器时如何选择实例规格?选择指南参考
新手用户通过阿里云的活动租赁云服务器的时候实例规格应该怎么选?目前在阿里云的活动中,可选的云服务器类型除了轻量应用服务器之外,云服务器的主要实例规格有经济型e、通用算力型u1和计算型c7与c8y、通用型g7与g8y、内存型r7与r8y等实例,但是对于新手来说,由于是初次购买,实例规格往往不知道怎么选择了。本文为大家展示阿里云目前活动中各云服务器实例规格性能、适用场景以及选择指南参考。