阿里云服务器安全组设置教程及常见问题解答

在我们购买阿里云服务器之后,需要添加安全组规则,来控制ECS实例的出入站流量。适用于允许或拒绝特定网络流量、封锁不必要的端口、限制特定协议的流量和配置应用程序访问权限等使用场景。本文主要介绍如何通过ECS控制台添加安全组规则,以及安全组配置、安全组规则设定、主机处罚与解禁流程、资源限额管理等问题。

一、阿里云服务器安全组设置教程

云服务器安全组适用于以下场景:
1.当您的应用需要与ECS实例所在安全组之外的网络相互通信,但请求发起后进入长时间等待状态时,您需要优先设置安全组规则。
2.当您在运营应用的过程中发现部分请求来源有恶意攻击行为,您可以添加拒绝访问的安全组规则实行隔离策略。

操作步骤

1.进入安全组页面。

  • 登录ECS管理控制台。
  • 在左侧导航栏,选择网络与安全 > 安全组。
  • 在顶部菜单栏左上角处,选择地域。

2.找到目标安全组,在操作列中,单击管理规则。

3.选择安全组规则所属的方向。

  • 如果安全组的网络类型为专有网络,请选择入方向或出方向。
  • 如果安全组的网络类型为经典网络,请选择入方向、出方向、公网入方向或公网出方向。

4.添加安全组规则。
方式一:快速添加安全组规则
适用于快速设置常用的TCP协议规则,您单击快速添加后,只需要设置授权策略、授权对象,并选中一个或多个端口便能完成。

方式二:手动添加安全组规则
您需要设置授权策略、优先级、协议类型、端口范围、授权对象等信息。具体操作步骤如下:
单击手动添加。
在规则列表中,配置新增的安全组规则。单条规则如何设置,请参见安全组规则。
在规则的操作列中,单击保存。

以下示例演示了如何在安全组中添加安全组规则。

二、阿里云服务器安全组设置常见问题解答

1.什么是安全组?

安全组是一种虚拟防火墙。用于设置单台或多台云服务器的网络访问控制,它是重要的网络安全隔离手段,您可以在云端划分安全域。
每台ECS实例至少属于一个安全组,在创建实例时必须指定安全组。

2.为什么要在创建ECS实例时选择安全组?

在创建ECS实例之前,必须选择安全组来划分应用环境的安全域,授权安全组规则进行合理的网络安全隔离。

如果您在创建ECS实例时不选择安全组,创建的ECS实例会分配到一个固定的安全组(即默认安全组),建议您将实例移出默认安全组并加入新的安全组,以实现网络安全隔离。

3.创建ECS实例前,未创建安全组怎么办?

如果您在创建ECS实例之前未创建安全组,您可以选择默认安全组。默认的安全组放行了常用端口,如TCP 22端口、3389端口等。

4.为什么ECS实例加入安全组时提示规则数量超限?

作用于一台ECS实例(主网卡)的安全组规则数量上限 = 该实例允许加入的安全组数量 * 每个安全组的最大规则数量。

如果提示加入安全组失败,作用在该实例上的安全组规则数量已达上限,表示当前ECS实例上的规则总数已经超过数量上限。建议您重新选择其他安全组。

5.专有网络VPC类型ECS实例的安全组数量上限调整后,只对调整日期后新增的安全组生效吗?

不是。该上限调整对调整日期之前和之后创建的所有专有网络VPC类型的ECS实例的安全组都生效。

6.安全组在什么情况下会使用默认安全组规则?

在以下情况中会使用默认安全组规则:

  • 通过ECS管理控制台在一个地域首次创建ECS实例时,如果您尚未创建安全组,可以选择系统自动创建的默认安全组,类型为普通安全组。默认安全组采用默认安全规则。入方向放行ICMP协议、SSH 22端口、RDP 3389端口,授权对象为全网段(0.0.0.0/0),优先级为100,您还可以勾选放行HTTP 80端口和HTTPS 443端口。出方向允许所有访问。
  • 您在ECS管理控制台上创建安全组时默认的安全组规则,入方向放行ICMP协议、SSH 22端口、RDP 3389端口、HTTP 80端口和HTTPS 443端口,授权对象为全网段(0.0.0.0/0)。

7.不同安全组的ECS实例如何实现内网互通?

同一账号或者不同账号下两个安全组之间的实例默认内网都是隔离的。

8.同一安全组的ECS实例如何实现内网隔离?

加入同一个普通安全组内的实例之间默认允许所有协议、端口互相访问,您可以修改普通安全组内的网络连通策略,实现组内隔离。

9.同一个ECS实例中的两块弹性网卡如何进行流量隔离?

ECS实例绑定了两块弹性网卡,如果您尝试使用安全组将这两块网卡进行流量隔离,会发现无法使用安全组实现同一个ECS实例中两块网卡的流量隔离。原因是,安全组作用于ECS实例操作系统之外的虚拟网络设备上,默认情况下,同一ECS实例两块网卡的流量会在操作系统内部进行路由和转发,两块弹性网卡间的网络流量不会经过安全组,因此无法使用安全组进行流量隔离。

您可以使用操作系统的命名空间(namespace)机制,将ECS实例的两块网卡加入到不同的namespace,使得两块网卡之间的网络流量发往操作系统之外,这样网络流量才会经过安全组,才能够使用安全组进行流量隔离。

10.为什么我配置安全组后还是无法访问服务?

控制台安全组放行某个端口,只能说明安全组没有限制这个端口的访问,不能说明这个端口已经开启。如需外网访问ECS服务器的端口,需要满足以下三个必要条件:

  • 安全组规则放行该端口。
  • 对应端口的程序软件是启动运行状态,并且监听地址为0.0.0.0(您可通过执行netstat -ano |findstr 端口号命令来检测端口是否处于监听状态)。
  • 已关闭ECS实例内部防火墙,或者防火墙已放行该端口。

设置安全组规则后如果发现业务无法访问,您需要排查业务服务是否启动、服务端口和安全组规则是否一致等问题。

11.弹性网卡如何加入到安全组?

您可以通过变更ECS实例所在的安全组来更新弹性网卡主网卡的安全组,也可以修改辅助弹性网卡的属性来修改弹性网卡所属的安全组。

12.普通安全组和企业级安全组是否支持相互转换?

不支持,普通安全组和企业级安全组无法相互转换。如需更换安全组类型,您可通过新建安全组并克隆安全组规则以更改安全组类型。

13.什么场景下我需要添加安全组规则?

在以下场景中,您需要添加安全组规则,以确保ECS实例能够被正常访问:

  • ECS实例所在的安全组没有添加过安全组规则,也没有默认安全组规则。当ECS实例需要访问公网,或访问当前地域下其他安全组中的ECS实例时,您需要添加安全组规则。
  • 搭建的应用没有使用默认端口,而是自定义了一个端口或端口范围。此时,您必须在测试应用连通前放行自定义的端口或端口范围。例如,您在ECS实例上搭建Nginx服务时,通信端口选择监听在TCP 8000,但您的安全组只放行了80端口,则您需要添加安全规则,保证Nginx服务能被访问。

14.安全组规则中协议和端口之间是什么关系?

添加安全组规则时,您必须指定通信端口或端口范围,然后安全组根据允许或拒绝策略决定是否转发数据到ECS实例。安全组规则中协议和端口信息如下表所示。

协议类型端口显示范围应用场景
全部-1/-1,表示不限制端口。不支持设置。可用于完全互相信任的应用场景。
全部 ICMP(IPv4)-1/-1,表示不限制端口。不支持设置。使用ping程序检测ECS实例之间的通信状况。
全部 ICMP(IPv6)-1/-1,表示不限制端口。不支持设置。使用ping6程序检测ECS实例之间的通信状况。
全部 GRE-1/-1,表示不限制端口。不支持设置。用于VPN服务。
自定义 TCP自定义端口范围,有效的端口值是1 ~ 65535。必须采用<开始端口>/<结束端口>的格式。例如80/80表示端口80,1/22表示1到22端口。可用于允许或拒绝一个或几个连续的端口。
自定义 UDP自定义端口范围,有效的端口值是1 ~ 65535。必须采用<开始端口>/<结束端口>的格式。例如80/80表示端口80,1/22表示1到22端口。可用于允许或拒绝一个或几个连续的端口。

其中,TCP协议类型端口的常用应用场景如下表所示。

应用场景协议类型端口显示范围说明
连接服务器SSH22/22用于SSH远程连接到Linux实例。连接ECS实例后您可以修改端口号。
连接服务器TELNET23/23用于Telnet远程登录ECS实例。
连接服务器RDP3389/3389用于通过远程桌面协议连接到Windows实例。连接ECS实例后您可以修改端口号。
网站服务HTTP80/80ECS实例作为网站或Web应用服务器。
网站服务HTTPS443/443ECS实例作为支持HTTPS协议的网站或Web应用服务器。
数据库MS SQL1433/1433ECS实例作为MS SQL服务器。
数据库Oracle1521/1521ECS实例作为Oracle SQL服务器。
数据库MySQL3306/3306ECS实例作为MySQL服务器。
数据库PostgreSQL5432/5432ECS实例作为PostgreSQL服务器。
数据库Redis6379/6379ECS实例作为Redis服务器。

15.安全组规则授权对象中的IP地址和CIDR地址块是什么关系?

IP地址是单一的IP地址,例如192.168.0.100、2408:4321:180:1701:94c7:bc38:3bfa:。CIDR地址块是IP地址段,例如192.168.0.0/24、2408:4321:180:1701:94c7:bc38:3bfa:***/128。

CIDR(Classless Inter-Domain Routing)是互联网中一种新的寻址方式,与传统的A类、B类和C类寻址模式相比,CIDR在IP地址分配方面更为高效。CIDR采用斜线记法,表示为:IP地址/网络ID的位数。

  • 示例一:CIDR格式换算为IP地址网段
    例如10.0.0.0/8,换算为32位二进制地址:00001010.00000000.00000000.00000000。其中/8表示8位网络ID,即32位二进制地址中前8位是固定不变的,对应网段为:00001010.00000000.00000000.0000000000001010.11111111.11111111.11111111。则换算为十进制后,10.0.0.0/8表示:子网掩码为255.0.0.0,对应网段为10.0.0.010.255.255.255。
  • 示例二:IP地址网段换算为CIDR格式
    例如192.168.0.0192.168.31.255,后两段IP换算为二进制地址:00000000.0000000000011111.11111111,可以得出前19位(8*2+3)是固定不变的,则换算为CIDR格式后,表示为:192.168.0.0/19。

16.为什么无法访问TCP 25端口?

TCP 25端口是默认的邮箱服务端口。基于安全考虑,云服务器ECS的25端口默认受限,建议您使用465端口发送邮件。

17.为什么安全组里自动添加了很多内网相关的安全组规则?

以下两种情况可能导致您的安全组里自动添加了很多规则:

  • 如果您访问过DMS,安全组中就会自动添加相关的规则。
  • 如果您近期通过阿里云数据传输DTS功能迁移过数据,安全组中会自动添加DTS的服务IP地址相关的规则。

18.安全组规则配置错误会造成什么影响?

安全组配置错误会导致ECS实例在私网或公网与其他设备之间的访问失败,例如:

  • 无法从本地远程连接(SSH)Linux实例或者远程桌面连接Windows实例。
  • 无法远程ping ECS实例的公网IP。
  • 无法通过HTTP或HTTPS协议访问ECS实例提供的Web服务。
  • 无法通过内网访问其他ECS实例。

19.安全组的入方向规则和出方向规则区分计数吗?

不区分。每个安全组的入方向规则与出方向规则的总数不能超过200。

20.是否可以调整安全组规则的数量上限?

不可以,每个安全组最多可以包含200条安全组规则。一台ECS实例中的每个弹性网卡默认最多可以加入5个安全组,所以一台ECS实例的每个弹性网卡最多可以包含1000条安全组规则,能够满足绝大多数场景的需求。

如果当前数量上限无法满足您的使用需求,建议您按照以下步骤操作:

  • 检查是否存在冗余规则。您也可以提交工单,阿里云技术支持将提供检查服务。
  • 如果存在冗余规则,请清除冗余规则。如果不存在冗余规则,您可以创建多个安全组。

如果您已开通了云防火墙服务,也可以通过云防火墙创建VPC边界访问控制策略(管控两个VPC间的流量),减少ECS安全组规则的数量。

21.我配置的安全组规则,各规则的优先级排序是怎么样的?

优先级的取值范围为1~100,数值越小,代表优先级越高。

同类型安全组规则间的依赖优先级决定最终执行的规则。当ECS实例加入了多个安全组时,多个安全组会从高到低依次匹配规则。最终生效的安全组规则如下:

  • 如果两条安全组规则只有授权策略不同:拒绝策略的规则生效,允许策略的规则不生效。
  • 如果两条安全组规则只有优先级不同:优先级高的规则生效。

22.如何对安全组规则的不合规变更进行审计和预警?

您可以在配置审计(Config)中创建审计规则,对安全组规则的合规性进行审计,并将审计结果投递到日志服务SLS中。当账号下的安全组规则有不符合审计规则的变更时,您能够通过日志服务SLS收到告警通知。

23.如何禁止RAM用户(子账号)配置安全组规则?

如果您需要禁止RAM用户(子账号)配置安全组规则,可以参考如下RAM配置,来禁用配置安全组规则的API接口。

{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ecs:AuthorizeSecurityGroup",
"ecs:AuthorizeSecurityGroupEgress",
"ecs:RevokeSecurityGroup",
"ecs:RevokeSecurityGroupEgress",
"ecs:ModifySecurityGroupRule",
"ecs:ModifySecurityGroupEgressRule",
"ecs:ModifySecurityGroupPolicy",
"ecs:ModifySecurityGroupAttribute",
"ecs:ConfigureSecurityGroupPermissions"
],
"Resource": "*"
}
]
}

24.收到违法阻断网站整改通知,怎么办?

在互联网有害信息记录中,您可以查看存在有害信息的域名或URL、处罚动作、处罚原因及处罚时间。您在确认该域名或URL中的有害信息已经移除或不存在时,可以申请解除访问封禁。

25.收到对外攻击需要整改的通知,怎么办?

在处罚记录中,您可以查看详细的处罚结果、处罚原因及处罚时段。如果您不认同处罚结果,可以反馈申诉。收到您的处罚记录反馈后,阿里云将再次核验,确认处罚的正确性和有效性,并判断是否继续维持处罚或立即结束处罚。

官网相关地址直达:
1.阿里云活动中心(可实时查询阿里云官方最新活动信息):https://www.aliyun.com/activity
2.阿里云服务器ECS相关活动:https://www.aliyun.com/daily-act/ecs/activity_selection
3.云小站(代金券发布平台):https://www.aliyun.com/minisite/goods

通过以上阿里云服务器安全组设置的详细教程和常见问题解答,我们了解了如何为ECS实例配置安全组规则以保障网络安全,并掌握了处理常见问题的技巧。合理配置安全组是确保云服务器安全稳定运行的重要步骤,它不仅能帮助我们防御网络攻击,还能优化网络流量管理。希望本文能帮助您更好地掌握阿里云安全组的设置与管理,确保您的业务在云端安全无忧地运行。

本文原创链接:https://www.tengxunyun8.com/8926.html
版权所有,如未注明,均为原创,转载请注明