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

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: 云服务器ECS安全组实践(一)中我们简单介绍了安全组的一些规则和约束和实践,在创建一台云服务的时候,它作为几个必选参数之一,可见它的重要性。本文将继续安全组的介绍,本篇涉及到下面的几个内容: 授权和撤销安全组规则 加入安全组和离开安全组 阿里云的网络类型分为经典网络和VPC,他们对安全组支持不同的设置规则。

云服务器ECS安全组实践(一)中我们简单介绍了安全组的一些规则和约束和实践,在创建一台云服务的时候,它作为几个必选参数之一,可见它的重要性。本文将继续安全组的介绍,本篇涉及到下面的几个内容:

阿里云的网络类型分为经典网络和VPC,他们对安全组支持不同的设置规则。对于经典网络你可以设置下面的几个规则: 内网入方向、内网出方向、公网入方向、公网出方向。对于VPC网络可以设置: 内网入方向、内网出方向。

在开始本篇之前描述几个安全组内网通讯的概念:

  • 默认情况下只有同一个安全组的机器可以网络互通,即便同一个用户的两个安全组的机器内网网络也不通。这个对于经典网络和VPC网络都适用。所以经典网络的云服务器也是内网安全的。
  • 如果您的非同一个安全组的两台云服务网络内网可以互通而这又不符合您的预期,请检查您的安全组内网规则设置。如果内网协议存在下面的协议,建议您重新设置。如果是经典网络这样会导致您的内网暴漏给其它的访问。

    • 允许所有端口
    • 授权对象为CIDR网段 (SourceCidrIp): 0.0.0.0/0 或者 10.0.0.0/8的规则
  • 如果资源创建在不同的安全组内,想实现网络互通就需要通过安全组进行授权。对于内网访问,我们建议您使用源安全组授权不要使用CIDR网段。

安全规则主要是描述不同的访问权限,主要有下面的属性:

  • Policy: 授权策略 accept or drop
  • Priority: 优先级根据创建的时间降序排序匹配。规则优先级可选范围为1-100,默认值为1,即最高优先级。数字越大,代表优先级越低。
  • NicType:当对安全组进行相互授权时(即指定了SourceGroupId且没有指定SourceCidrIp),必须指定NicType为intranet。
  • 规则描述,通过安全组授权,NicType只能选择intranet,和通过CIDR授权只能二选一

    • SourceGroupId: 通过安全组,默认对SourceCidrIp授权
    • IpProtocol: tcp | udp | icmp | gre | all
    • PortRange: 例如 80/80
    • SourceGroupOwnerAccount 非可选,仅为跨帐号授权的时候
  • 通过CIDR授权规则:

    • SourceCidrIp: CIDR的网段
    • IpProtocol: tcp | udp | icmp | gre | all
    • PortRange: 例如 80/80
    • SourceGroupOwnerAccount 非可选,仅为跨帐号授权的时候

授权一条入网请求规则

当在控制台或者API创建一个安全组,是不存在任何的安全规则,意味着默认情况下您的入网请求全部是拒绝的。所以您要适度的配置您的入网规则。

如果需要开启公网的80端口对外提供HTTP服务,由于公网访问,我们期望的是入网尽可能多访问,所以在IP网段上不做限制,设置为 0.0.0.0/0。可以参考下面的属性,括号外为控制台参数,括号内为OpenApi参数,两者相同就不做区分。

  • 网卡类型(NicType):公网(internet)如果是VPC类型的只需要填写intranet, 通过EIP实现
  • 授权策略(Policy):允许(accept)
  • 规则方向(NicType):入网
  • 协议类型(IpProtocol):TCP(tcp)
  • 端口范围(PortRange):80/80
  • 授权对象(SourceCidrIp): 0.0.0.0/0
  • 优先级(Priority): 1

上面的建议仅对公网有效,内网请求严格不建议使用CIDR网段,请参加下文

禁止一个入网请求规则

禁止一条规则就比较简单。只需要配置一条拒绝策略,但是同时设置较低的优先级即可,这样当需要的时候您可以通过配置其它的高优先级的规则覆盖这条规则即可。例如下面就设置了拒绝6379端口被访问。

  • 网卡类型(NicType):内网(intranet)
  • 授权策略(Policy):拒绝(drop)
  • 规则方向(NicType):入网
  • 协议类型(IpProtocol):TCP(tcp)
  • 端口范围(PortRange):6379/6379
  • 授权对象(SourceCidrIp): 0.0.0.0/0
  • 优先级(Priority): 100

经典网络的内网安全组规则不要使用CIDR或者IP授权

对于经典网络的服务器,阿里云默认不开启任何内网的入规则。内网的授权一定要谨慎。为了安全考虑,非常不建议开启任何基于CIDR网段的授权,对于弹性计算来说内网的IP经常变化的,其次这个IP的网段是没有规律的,所以对于经典网络的内网我们只建议您通过安全组授权内网的访问。

例如您在安全组 sg-redis上构建了一个redis的集群,为了只允许特定的机器访问这个redis的服务器编组,例如 sg-web,您不需要配置任何的CIDR,只需要添加一条入规则即可,指定相关的安全组id即可。

  • 网卡类型(NicType):内网(intranet)
  • 授权策略(Policy):允许(accept)
  • 规则方向(NicType):入网
  • 协议类型(IpProtocol):TCP(tcp)
  • 端口范围(PortRange):6379/6379
  • 授权对象(SourceGroupId): sg-web
  • 优先级(Priority): 1

对于VPC类型的如果您已经通过多个VSwitch规划好了自己IP范围设置,您可以通过CIDR设置,但是如果您的VPC网段不够清晰的话也建议优先考虑使用安全组作为入规则。

将需要互相通信的云服务器加入同一个安全组

在上一篇中我们提到,一个云服务器最多可以属于5个安全组。还有一条原则是同一安全组之间的云服务器是网络互通的,如果您在规划的时候已经有多个安全组,而直接设置多个安全规则过于复杂的话,您可以选择需要内网通信的机器,将它们加入同一个安全组即可。

安全组是区分网络类型的,对于一个经典类型的云服务器只可以选择加入经典网络的安全组,对于VPC类型的云服务器只可以加入本VPC的安全组。

这里也不建议您将所有的云服务器都加入一个安全组,将会使得您的安全组规则设置变成梦魇。对于一个中大型应用来说,每个服务器编组的角色不同,要合理的规划自己的入方向请求和出方向请求是非常有必要的。

加入一个安全组非常简单,您可以在控制台选择一个云服务器,然后点击更多->选择安全组管理即可,或者选择实例详情,进入本实例安全组查看进行操作。

如果您对阿里云的OpenApi非常熟悉,您可以参考使用OpenApi弹性管理云服务器ECS,您可以通过OpenApi方便的进行批量操作, 对应的python片段如下:

def join_sg(sg_id, instance_id):
    request = JoinSecurityGroupRequest()
    request.set_InstanceId(instance_id)
    request.set_SecurityGroupId(sg_id)
    response = _send_request(request)
    return response

# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)
AI 代码解读

将云服务器移除安全组

如果云服务器加入不合适的安全组,将会导致暴漏或者Block您的服务,这个时候你可以选择将服务器从这个安全组中移除。由于云服务器必须属于一个安全组,您需要另外一个安全组。

加入一个安全组非常简单,您可以在控制台选择一个云服务器,然后更多->选择安全组管理即可,或者选择实例详情,进入本实例安全组查看进行操作。

将云服务器从安全组移出,将会导致这个云服务器和当前安全组内的网络不通,建议您做好充分的测试。

对应的python片段如下

def leave_sg(sg_id, instance_id):
    request = LeaveSecurityGroupRequest()
    request.set_InstanceId(instance_id)
    request.set_SecurityGroupId(sg_id)
    response = _send_request(request)
    return response

# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)
AI 代码解读

定义合理的安全组名称和TAG

合理的安全组名称和描述非常有助于您快速的识别当前的复杂的规则的组合含义。所以您可以在通过修改名称和描述来,同时安全组也支持TAG标签来设置。您可以通过TAG来分组管理自己的安全组。您可以在控制台直接设置,或者通过API来设置TAG

删除不需要的安全组

我们提到,安全组中的安全规则类似于一条条的白名单和黑名单。对于不需要的安全组请不要保留,以免错误的加入某个云服务器而造成不必要的麻烦。

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
祝犁
+关注
目录
打赏
0
21
21
0
354
分享
相关文章
阿里云服务器付费类型、地域、镜像、存储、带宽和安全组设置与选择注意事项参考
在我们通过自定义购买的方式购买阿里云服务器器ECS时,会有多个选项,有的新手用户可能并不是很清楚这些选项是什么,选择或设置时需要注意什么,本文将从付费类型、地域与可用区、镜像、存储、带宽和安全组等多个方面,为您详细解析云服务器购买过程中各个参数与配置的选择注意事项,以供参考。
134 66
安全体检 | 服务器的终极卫士
阿里云的安全体检是为用户提供的一项免费安全检测工具,旨在通过调用云安全中心和配置审计中的安全检测能力,汇总检测结果,涵盖病毒攻击、风险配置和服务器漏洞三方面。该服务帮助用户及时发现并解决潜在的安全问题,提升云上安全水平。与云服务诊断不同,安全体检更侧重于深层次的安全检测,确保服务器的安全稳定运行。
安全体检 | 服务器的终极卫士
阿里云服务器ecs和轻量应用服务器的区别——如何选择比较好?
阿里云ECS与轻量应用服务器对比:ECS适合企业专业场景,功能强大、配置灵活;轻量应用服务器基于ECS简化而来,面向个人开发者,适用于低访问量网站或学习测试,操作简单、成本低。两者在适用人群、使用场景、计费方式、网络带宽等方面各有差异,用户可根据需求选择。如需简易管理与低成本,选轻量应用服务器;追求高性能与复杂业务支持,则云服务器ECS更优。
阿里云服务器99元和199元与轻量应用服务器38元各自性能、适用场景与选择参考
2025年,阿里云推出了多款低价特惠云服务器,其中轻量应用云服务器2核2G 200M带宽 40G ESSD云盘38元1年,云服务器ECS 2核2G 3M带宽 40G ESSD Entry盘活动价99元1年,而2核4G 5M带宽 80G ESSD Entry盘则仅售199元1年。对于还未使用过阿里云轻量应用服务器和云服务器的用户来说,并不是很清楚他们各自有性能怎么样,主要使用场景有哪些,本文来做个简单介绍与对比,以供参考和选择。
阿里云服务器租用费用价格表:2025最新轻量+ECS+GPU优惠1年、1个月和1小时报价单
阿里云服务器租用费用价格表涵盖2025年最新轻量应用服务器、ECS云服务器及GPU服务器优惠报价。轻量应用服务器2核2G配置,一年仅68元(秒杀38元),适合个人开发者;ECS云服务器提供多种规格,如2核2G经济型99元/年、2核4G企业专享199元/年。高性能实例如4核16G游戏服务器70元/月,8核32G为160元/月。GPU服务器方面,T4计算卡4核15G配置低至1878.4元/月。此外,阿里云支持按小时计费,灵活满足不同需求。续费优惠政策明确,长周期享更高折扣,具体以官方页面为准。
阿里云服务器安全攻略参考:基础防护与云安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器除了提供基础的防护之外,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为您介绍阿里云服务器的基础安全防护机制,以及阿里云提供的各类云安全产品,帮助用户全面了解并选择合适的防护手段,为云上业务保驾护航。
ECS与VPS技术角力:从算力成本到免备案雷区,企业服务器选型合规指南
在数字化浪潮中,服务器选择至关重要。ECS(云服务器)和VPS(虚拟专用服务器)是热门选项。ECS基于云计算,提供高可用性和弹性伸缩,适合大型项目;VPS通过分割物理服务器实现资源独立,成本较低,适合小型应用。两者在网络、存储及计算性能上各有优劣,需根据需求选择。国内并不存在合法的免备案服务器,建议严格遵守法规,确保网站合法运营。
35 3
阿里云虚拟主机、轻量应用服务器、云服务器、云·速成美站、云·原生建站区别及选择参考
在选择阿里云产品完整自己网站搭建的时候,面对云虚拟主机、轻量应用服务器、云服务器ECS、云·速成美站和云·原生建站等多种选择,很多用户不是很清楚他们之间的区别。每种产品都有其独特的优势和适用场景,如何根据自己的需求和技术背景选择最适合的建站产品,成为了用户关注的焦点。本文将详细比较阿里云这五种建站产品的优势和劣势,以及它们的适用人群,以供选择参考。
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
212 4
阿里云 ECS 服务器面板如何选择?
阿里云ECS服务器面板是管理云服务器的工具,如同手机的控制中心。它简化了复杂操作,提供一键建站、监控状态、安全管理等功能。常用面板有宝塔(适合个人和小团队)、Websoft9(阿里云官方合作,开机即用)和cPanel(适合企业级需求)。新手使用面板可避免技术坑、节省时间和成本。选择时,根据需求和使用习惯决定:深度用户选Websoft9,极客选宝塔,企业选cPanel。
81 1

热门文章

最新文章

相关产品

  • 云服务器 ECS
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等