操作场景
安全组实际是网络流量访问策略,由入方向规则和出方向规则共同组成,用来控制流入/流出安全组内实例(如ECS)的流量。常见的安全组规则应用场景包括:允许或者拒绝特定来源的网络流量、允许或拒绝特定协议的网络流量、屏蔽不需要开放的端口、以及配置实例的特定访问权限等。
以下是多种添加安全组规则的操作入口,请按需选择:
- 在安全组内添加安全组规则:使用该功能时,需要根据界面提示,依次配置安全组规则的策略、优先级、类型、协议端口、源地址或目的地址。
- 快速添加多条安全组规则:使用该功能,您可以快速添加部分常用端口协议对应的规则,包括远程登录和ping测试、常用Web服务和数据库服务所需的端口协议。
- 在安全组中一键放通常见端口:使用该功能,您可以在安全组中一键放通常见端口,同时满足以下场景:
- 远程登录云服务器
- 在云服务器内使用ping命令测试网络连通性
- 云服务器用作Web服务器对外提供网站访问服务
使用须知
在添加安全组规则之前,请您务必了解以下信息:
- 安全组中包括入方向规则和出方向规则,用来控制安全组内实例的入方向和出方向的网络流量,规则的组成说明,请参见安全组规则。
- 实例关联多个安全组时,流量按照优先级匹配安全组规则,匹配顺序说明,请参见流量匹配安全组规则的顺序。
- 安全组的规则数量有限制,请您尽量保持安全组内规则的简洁,请参见安全组的使用限制。
- 在安全组规则中放开某个端口后,您还需要确保实例内对应的端口也已经放通,安全组规则才会对实例生效,具体请参见检查安全组规则是否生效。
- 安全组入方向规则的源地址设置为0.0.0.0/0或::/0,表示允许或拒绝所有外部IP地址访问您的实例,如果将“22、3389、8848”等高危端口暴露到公网,可能导致网络入侵,造成业务中断、数据泄露或数据勒索等严重后果。建议您将安全组规则设置为仅允许已知的IP地址访问。
- 通常情况下,同一个安全组内的实例默认网络互通。当同一个安全组内实例网络不通时,可能情况如下:
- 当实例属于同一个VPC时,请您检查入方向规则中,是否删除了同一个安全组内实例互通对应的规则,规则详情如表1所示。
表1 安全组内实例互通规则
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址/目的地址 |
入方向 |
1 |
允许 |
IPv4 |
全部 |
源地址:当前安全组(Sg-A) |
入方向 |
1 |
允许 |
IPv6 |
全部 |
源地址:当前安全组(Sg-A) |
- 不同VPC的网络不通,所以当实例属于同一个安全组,但属于不同VPC时,网络不通。
您可以通过VPC对等连接连通不同的VPC。
配置示例
配置安全组规则前,您需要规划好安全组内实例的访问策略,安全组规则配置原则如下:
- 如果实例需要对外提供服务,则应添加入方向规则,允许外部请求访问安全组内实例。
- 如果实例遇到外部网络攻击,则应添加入方向规则,拒绝有安全风险的外部请求访问安全组内实例。
- 如果实例需要访问外部网络,则应添加出方向规则,允许内部请求访问外部。
- 如果不再需要管控某些入方向或出方向流量时,可删除对应的安全组规则,以精简规则配置。
- 如果需要复制其他安全组内的规则,可使用导入/导出安全组规则或者克隆安全组功能,具体请参见跨区域及跨账号迁移安全组。
更多安全组规则配置示例请参见安全组配置示例。
添加安全组规则
在安全组内添加安全组规则
- 进入安全组列表页面。
- 在安全组列表中,单击目标安全组所在行的操作列下的“配置规则”。
进入安全组规则配置页面。
- 在“入方向规则”页签,单击“添加规则”。
弹出“添加入方向规则”对话框。
- 根据界面提示,设置入方向规则参数。
单击
,可以依次增加多条入方向规则。
图1 添加安全组入方向规则
表2 入方向规则参数说明
参数 |
说明 |
取值样例 |
优先级 |
安全组规则优先级。
优先级可选范围为1-100,默认值为1,即最高优先级。优先级数字越小,规则优先级级别越高。 |
1 |
策略 |
安全组规则策略,支持的策略如下:
- 如果“策略”设置为允许,表示允许源地址访问安全组内云服务器的指定端口。
- 如果“策略”设置为拒绝,表示拒绝源地址访问安全组内云服务器的指定端口。
安全组规则匹配流量时,首先按照优先级进行排序,其次按照策略排序,拒绝策略高于允许策略,更多信息请参见流量匹配安全组规则的顺序。 |
允许 |
类型 |
|
IPv4 |
协议端口 |
安全组规则中用来匹配流量的网络协议类型,目前支持TCP、UDP、ICMP和GRE协议。 |
TCP |
安全组规则中用来匹配流量的目的端口,取值范围为:1~65535。
在入方向规则中,表示外部访问安全组内实例的指定端口。
端口填写支持下格式:
- 单个端口:例如22
- 连续端口:例如22-30
- 多个端口:例如22,23-30,一次最多支持20个不连续端口组, 端口组之间不能重复。
- 全部端口:为空或1-65535
|
22或22-30 |
源地址 |
在入方向规则中,用来匹配外部请求的源地址,支持以下格式:
|
IP地址:
192.168.52.0/24,10.0.0.0/24 |
描述 |
安全组规则的描述信息,非必填项。
描述信息内容不能超过255个字符,且不能包含“<”和“>”。 |
- |
- 入方向规则设置完成后,单击“确定”。
返回入方向规则列表,可以查看添加的入方向规则。
- 在“出方向规则”页签,单击“添加规则”。
弹出“添加出方向规则”页签。
- 根据界面提示,设置出方向规则参数。
单击
,可以依次增加多条出方向规则。
图2 添加安全组出方向规则
表3 出方向规则参数说明
参数 |
说明 |
取值样例 |
优先级 |
安全组规则优先级。
优先级可选范围为1-100,默认值为1,即最高优先级。优先级数字越小,规则优先级级别越高。 |
1 |
策略 |
安全组规则策略,支持的策略如下:
- 如果“策略”设置为允许,表示允许安全组内的云服务器访问目的地址的指定端口。
- 如果“策略”设置为拒绝,表示拒绝安全组内的云服务器访问目的地址的指定端口。
安全组规则匹配流量时,首先按照优先级进行排序,其次按照策略排序,拒绝策略高于允许策略,更多信息请参见流量匹配安全组规则的顺序。 |
允许 |
类型 |
|
IPv4 |
协议端口 |
安全组规则中用来匹配流量的网络协议类型,目前支持TCP、UDP、ICMP和GRE协议。 |
TCP |
安全组规则中用来匹配流量的目的端口,取值范围为:1~65535。
在出方向规则中,表示安全组内实例访问外部地址的指定端口。
端口填写支持下格式:
- 单个端口:例如22
- 连续端口:例如22-30
- 多个端口:例如22,23-30,一次最多支持20个不连续端口组, 端口组之间不能重复。
- 全部端口:为空或1-65535
|
22或22-30 |
目的地址 |
在出方向规则中,用来匹配内部请求的目的地址。支持以下格式:
|
IP地址:
192.168.52.0/24,10.0.0.0/24 |
描述 |
安全组规则的描述信息,非必填项。
描述信息内容不能超过255个字符,且不能包含“<”和“>”。 |
- |
- 出方向规则设置完成后,单击“确定”。
返回出方向规则列表,可以查看添加的出方向规则。
在安全组规则中放开某个端口后,您还需要确保实例内对应的端口也已经放通,安全组规则才会对实例生效,具体方法请参见检查安全组规则是否生效。
快速添加多条安全组规则
- 进入安全组列表页面。
- 在安全组列表中,单击目标安全组所在行的操作列下的“配置规则”。
进入安全组规则配置页面。
- 在“入方向规则”页签,单击“快速添加规则”。
弹出“快速添加入方向规则”对话框。
- 根据界面提示,设置入方向规则参数。
图3 快速添加安全组入方向规则
表4 入方向规则参数说明
参数 |
说明 |
取值样例 |
常见协议端口 |
提供常用的协议端口供您快速设置,选择类型如下:
|
SSH (22) |
类型 |
|
IPv4 |
源地址 |
在入方向规则中,用来匹配外部请求的源地址,支持以下格式:
|
IP地址:
192.168.52.0/24,10.0.0.0/24 |
策略 |
安全组规则策略,支持的策略如下:
- 如果“策略”设置为允许,表示允许源地址访问安全组内云服务器的指定端口。
- 如果“策略”设置为拒绝,表示拒绝源地址访问安全组内云服务器的指定端口。
安全组规则匹配流量时,首先按照优先级进行排序,其次按照策略排序,拒绝策略高于允许策略,更多信息请参见流量匹配安全组规则的顺序。 |
允许 |
优先级 |
安全组规则优先级。
优先级可选范围为1-100,默认值为1,即最高优先级。优先级数字越小,规则优先级级别越高。 |
1 |
描述 |
安全组规则的描述信息,非必填项。
描述信息内容不能超过255个字符,且不能包含“<”和“>”。 |
- |
- 入方向规则设置完成后,单击“确定”。
返回入方向规则列表,可以查看添加的入方向规则。
- 在“出方向规则”页签,单击“快速添加规则”。
弹出“快速添加出方向规则”页签。
- 根据界面提示,设置出方向规则参数。
图4 快速添加安全组出方向规则
表5 出方向规则参数说明
参数 |
说明 |
取值样例 |
常见协议端口 |
提供常用的协议端口供您快速设置,选择类型如下:
|
SSH (22) |
类型 |
|
IPv4 |
目的地址 |
在出方向规则中,用来匹配内部请求的目的地址。支持以下格式:
|
IP地址:
192.168.52.0/24,10.0.0.0/24 |
优先级 |
安全组规则优先级。
优先级可选范围为1-100,默认值为1,即最高优先级。优先级数字越小,规则优先级级别越高。 |
1 |
策略 |
安全组规则策略,支持的策略如下:
- 如果“策略”设置为允许,表示允许安全组内的云服务器访问目的地址的指定端口。
- 如果“策略”设置为拒绝,表示拒绝安全组内的云服务器访问目的地址的指定端口。
安全组规则匹配流量时,首先按照优先级进行排序,其次按照策略排序,拒绝策略高于允许策略,更多信息请参见流量匹配安全组规则的顺序。 |
允许 |
描述 |
安全组规则的描述信息,非必填项。
描述信息内容不能超过255个字符,且不能包含“<”和“>”。 |
- |
- 出方向规则设置完成后,单击“确定”。
返回出方向规则列表,可以查看添加的出方向规则。
在安全组规则中放开某个端口后,您还需要确保实例内对应的端口也已经放通,安全组规则才会对实例生效,具体方法请参见检查安全组规则是否生效。
在安全组中一键放通常见端口
- 进入安全组列表页面。
- 在安全组列表中,单击目标安全组的名称超链接。
进入安全组详情页面。
- 根据情况,选择“入方向规则”或者“出方向规则”页签,单击“一键放通常见端口”。
弹出常见端口列表页面。
您可以一键放通的常见端口详细说明如
表6所示。
表6 一键放通常见端口说明
方向 |
类型和协议端口 |
源地址/目的地址 |
规则用途 |
入方向 |
TCP: 22 (IPv4) |
0.0.0.0/0 |
针对TCP(IPv4)协议,允许外部所有IP访问安全组内云服务器的SSH(22)端口,用于远程登录Linux云服务器。 |
TCP: 3389 (IPv4) |
0.0.0.0/0 |
针对TCP(IPv4)协议,允许外部所有IP访问安全组内云服务器的RDP(3389)端口,用于远程登录Windows云服务器。 |
TCP: 80 (IPv4) |
0.0.0.0/0 |
针对TCP(IPv4)协议,允许外部所有IP访问安全组内云服务器的HTTP(80)端口,用于通过HTTP协议访问网站。 |
TCP: 443 (IPv4) |
0.0.0.0/0 |
针对TCP(IPv4)协议,允许外部所有IP访问安全组内云服务器的HTTPS(443)端口,用于通过HTTPS协议访问网站。 |
TCP : 20-21 (IPv4) |
0.0.0.0/0 |
针对TCP(IPv4)协议,允许外部所有IP访问安全组内云服务器的FTP(20和21)端口,用于远程连接云服务器上传或者下载文件。 |
ICMP: 全部 (IPv4) |
0.0.0.0/0 |
针对ICMP(IPv4)协议,允许外部所有IP访问安全组内云服务器的所有端口,用于通过ping命令测试云服务器的网络连通性。 |
出方向 |
全部 (IPv4)
全部 (IPv6) |
0.0.0.0/0
::/0 |
针对全部协议,允许安全组内的云服务器可访问外部任意IP和端口。 |
- 根据界面提示,单击“确定”。
完成操作后,可以在安全组规则列表页面查看添加的安全组规则。
在安全组规则中放开某个端口后,您还需要确保实例内对应的端口也已经放通,安全组规则才会对实例生效,具体方法请参见检查安全组规则是否生效。
检查安全组规则是否生效
在安全组规则中放开某个端口后,您还需要确保实例内对应的端口也已经放通,安全组规则才会对实例生效。
假设您在某台ECS上部署了网站,希望用户能通过HTTP(80)端口访问到您的网站,则您需要先在ECS所在安全组的入方向中,添加
表7中的规则,放通HTTP(80)端口。
表7 安全组规则示例
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 80 |
IP地址:0.0.0.0/0 |
安全组规则添加完成后,您需要执行以下操作,检查云服务器内端口开放情况,并验证配置是否生效。
- 登录云服务器,检查云服务器端口开放情况。
- 检查Linux云服务器端口
执行以下命令,查看TCP 80端口是否被监听。
netstat -an | grep 80
若回显类似图5,说明80端口已开通。
图5 Linux TCP 80端口验证结果
- 检查Windows云服务器端口
- 通过“开始菜单 > 运行 > cmd”,打开命令执行窗口。
- 执行以下命令,查看TCP 80端口是否被监听。
netstat -an | findstr 80
若回显类似图6,说明TCP 80端口已开通。
图6 Windows TCP 80端口验证结果
- 打开浏览器,在地址栏里输入“http://云服务器的弹性公网IP地址”。
如果访问成功,说明安全组规则已经生效。