创建安全组
操作场景
安全组实际是网络流量访问策略,由入方向规则和出方向规则共同组成。
您在创建实例时(如ECS),必须将实例加入一个安全组,如果此前您还未创建任何安全组,那么系统会自动为您创建默认安全组并关联至该实例。除了默认安全组,您还可以创建自定义安全组,并配置安全组规则控制特定流量的访问请求。
预设安全组说明
创建安全组的时候,您可以选择系统预设规则。安全组预设规则中预先配置了入方向规则和出方向规则,您可以根据业务选择所需的预设规则,快速完成安全组的创建。
预设安全组:通用Web服务器
适用场景:
- 外部远程登录安全组内实例;
- 外部使用ping命令验证安全组内实例的网络连通性;
- 安全组内实例用作Web服务器对外提供网站访问服务。
方向 | 类型和协议端口 | 源地址/目的地址 | 规则说明 |
---|---|---|---|
入方向 | 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协议访问网站。 |
入方向 | ICMP: 全部 (IPv4) | 0.0.0.0/0 | 针对ICMP(IPv4)协议,允许外部所有IP访问安全组内实例的所有端口,用于外部使用ping命令验证安全组内实例的网络连通性。 |
入方向 | 全部(IPv4) 全部(IPv6) |
当前安全组 | 针对全部协议,允许安全组内实例通过内网网络相互通信。 |
出方向 | 全部(IPv4) 全部(IPv6) |
0.0.0.0/0 ::/0 |
针对全部协议,允许所有流量从安全组内实例流出,用于访问外部。 |
预设安全组:开放全部端口
适用场景:
- 开放全部端口即允许任意流量出入安全组内的实例。
注意此操作存在一定安全风险,请您谨慎选择。
方向 | 类型和协议端口 | 源地址/目的地址 | 规则说明 |
---|---|---|---|
入方向 | 全部(IPv4) 全部(IPv6) |
当前安全组 | 针对全部协议,允许安全组内实例通过内网网络相互通信。 |
入方向 | 全部(IPv4) 全部(IPv6) |
0.0.0.0/0 ::/0 |
针对全部协议,允许外部所有IP访问安全组内实例的所有端口,即任意流量可流入安全组内实例。 |
出方向 | 全部(IPv4) 全部(IPv6) |
0.0.0.0/0 ::/0 |
针对全部协议,允许所有流量从安全组内实例流出,用于访问外部。 |
预设安全组:自定义
适用场景:
- 该预设规则的入方向未放通任何端口,即外部任意流量均无法流入安全组内实例。请您根据业务需求自行添加安全组规则。
方向 | 类型和协议端口 | 源地址/目的地址 | 规则说明 |
---|---|---|---|
入方向 | 全部(IPv4) 全部(IPv6) |
当前安全组 | 针对全部协议,允许安全组内实例通过内网网络相互通信。 |
出方向 | 全部(IPv4) 全部(IPv6) |
0.0.0.0/0 ::/0 |
针对全部协议,允许所有流量从安全组内实例流出,用于访问外部。 |
操作步骤
- 登录管理控制台,进入“虚拟私有云>访问控制>安全组”。
- 在安全组列表右上方,单击“创建安全组”,进入“创建安全组”页面。
- 根据界面提示,设置安全组参数,设置完成后,点击“确定”,完成安全组创建。
以下是安全组参数说明表。
参数 | 参数说明 | 取值样例 |
---|---|---|
名称 | 必选参数。 输入安全组的名称。要求如下: 长度范围为1-64位。 名称由中文、英文字母、数字、下划线(_)、中划线(-)、点(.)组成。 |
sg-AB |
模板 | 必选参数。 安全组预设规则中预先配置了入方向规则和出方向规则,您可以根据业务选择所需的预设规则,快速完成安全组的创建。 |
通用Web服务器 |
描述 | 可选参数。 安全组的描述信息。 描述信息内容不能超过255个字符,且不能包含“<”和“>”。 |
- |
添加安全组规则
操作场景
安全组实际是网络流量访问策略,由入方向规则和出方向规则共同组成。常见的安全组规则应用场景包括:允许或者拒绝特定来源的网络流量、允许或拒绝特定协议的网络流量、屏蔽不需要开放的端口、以及配置服务器的特定访问权限等。
使用须知
配置安全组规则前,您需要规划好安全组内实例的访问策略。
安全组的规则数量有限制,请您尽量保持安全组内规则的简洁。
在安全组规则中放开某个端口后,您还需要确保实例内对应的端口也已经放通,安全组规则才会对实例生效。
安全组入方向规则的源地址设置为0.0.0.0/0或::/0,表示允许或拒绝所有外部IP地址访问您的实例,如果将“22、3389、8848”等高危端口暴露到公网,可能导致网络入侵,造成业务中断、数据泄露或数据勒索等严重后果。建议您将安全组规则设置为仅允许已知的IP地址访问。
通常情况下,同一个安全组内的实例默认网络互通。当同一个安全组内实例网络不通时,可能情况如下有:
- 当实例属于同一个VPC时,请您检查入方向规则中,是否删除了同一个安全组内实例互通对应的规则。
- 不同VPC的网络不通,所以当实例属于同一个安全组,但属于不同VPC时,网络不通。
在安全组内添加安全组规则
- 登录管理控制台,进入“虚拟私有云>访问控制>安全组”。
- 在安全组列表中,单击目标安全组所在行的操作列下的“配置规则”,进入安全组规则配置页面。
- 在“入方向规则”页签,单击“添加规则”,弹出“添加入方向规则”对话框。
- 根据界面提示,设置入方向规则参数,单击“新增”按钮,可以依次增加多条入方向规则。
- 入方向规则设置完成后,单击“确定”,返回入方向规则列表,可以查看添加的入方向规则。
- 在“出方向规则”页签,单击“添加规则”,弹出“添加出方向规则”页签。
- 根据界面提示,设置出方向规则参数,单击“新增”按钮,可以依次增加多条出方向规则。
- 出方向规则设置完成后,单击“确定”,返回出方向规则列表,可以查看添加的出方向规则。
下表是入、出方向规则参数说明表。
参数 | 说明 | 取值样例 |
---|---|---|
优先级 | 安全组规则优先级。 优先级可选范围为1-100,默认值为1,即最高优先级。优先级数字越小,规则优先级级别越高。 |
1 |
入方向 策略 |
安全组规则策略,支持的策略如下: 如果“策略”设置为允许,表示允许源地址访问安全组内云主机的指定端口。 如果“策略”设置为拒绝,表示拒绝源地址访问安全组内云主机的指定端口。 安全组规则匹配流量时,首先按照优先级进行排序,其次按照策略排序,拒绝策略高于允许策略。 |
允许 |
出方向 策略 |
安全组规则策略,支持的策略如下: 如果“策略”设置为允许,表示允许安全组内的云主机访问目的地址的指定端口。 如果“策略”设置为拒绝,表示拒绝安全组内的云主机访问目的地址的指定端口。 安全组规则匹配流量时,首先按照优先级进行排序,其次按照策略排序,拒绝策略高于允许策略。 |
允许 |
类型 | 源地址支持的IP地址类型,如下: IPv4 IPv6 |
IPv4 |
入方向 协议端口 |
安全组规则中用来匹配流量的网络协议类型,目前支持TCP、UDP、ICMP和GRE协议。 安全组规则中用来匹配流量的目的端口,取值范围为:1~65535。 在入方向规则中,表示外部访问安全组内实例的指定端口。 端口填写支持下格式: 单个端口:例如22 连续端口:例如22-30 多个端口:例如22,23-30,一次最多支持20个不连续端口组, 端口组之间不能重复。 全部端口:为空或1-65535。 |
TCP 22或22-30或20,22-30 |
出方向 协议端口 |
安全组规则中用来匹配流量的网络协议类型,目前支持TCP、UDP、ICMP和GRE协议。 安全组规则中用来匹配流量的目的端口,取值范围为:1~65535。 在出方向规则中,表示安全组内实例访问外部地址的指定端口。 端口填写支持下格式: 单个端口:例如22 连续端口:例如22-30 多个端口:例如22,23-30,一次最多支持20个不连续端口组, 端口组之间不能重复。 全部端口:为空或1-65535。 |
TCP 22或22-30或20,22-30 |
源地址 | 在入方向规则中,用来匹配外部请求的源地址,支持以下格式: IP地址:表示源地址为某个固定的IP地址。当源地址选择IP地址时,您可以在一个框内同时输入或者粘贴多个IP地址,不同IP地址以“,”隔开。一个IP地址生成一条安全组规则。 单个IP地址:IP地址/掩码。单个IPv4地址示例为192.168.10.10/32;单个IPv6地址示例为2002:50::44/128。 IP网段:IP地址/掩码。IPv4网段示例为192.168.52.0/24;IPv6网段示例为2407:c080:802:469::/64。 所有IP地址:0.0.0.0/0表示匹配所有IPv4地址;::/0表示匹配所有IPv6地址。 安全组:表示源地址为另外一个安全组,您可以在下拉列表中,选择同一个区域内的其他安全组。当安全组A内有实例a,安全组B内有实例b,在安全组A的入方向规则中,放通源地址为安全组B的流量,则来自实例b的内网访问请求被允许进入实例a。 IP地址组:表示源地址为一个IP地址组,IP地址组是一个或者多个IP地址的集合。您可以在下拉列表中,选择可用的IP地址组。对于安全策略相同的IP网段和IP地址,此处建议您使用IP地址组简化管理。 |
IP地址: 192.168.52.0/24,10.0.0.0/24 |
目的地址 | 在出方向规则中,用来匹配内部请求的目的地址。支持以下格式: IP地址:表示目的地址为某个固定的IP地址。当目的地址选择IP地址时,您可以在一个框内同时输入或者粘贴多个IP地址,不同IP地址以“,”隔开。一个IP地址生成一条安全组规则。 单个IP地址:IP地址/掩码。单个IPv4地址示例为192.168.10.10/32;单个IPv6地址示例为2002:50::44/128。 IP网段:IP地址/掩码。IPv4网段示例为192.168.52.0/24;IPv6网段示例为2407:c080:802:469::/64。 所有IP地址:0.0.0.0/0表示匹配所有IPv4地址;::/0表示匹配所有IPv6地址。 安全组:表示源地址为另外一个安全组,您可以在下拉列表中,选择同一个区域内的其他安全组。当安全组A内有实例a,安全组B内有实例b,在安全组A的入方向规则中,放通源地址为安全组B的流量,则来自实例b的内网访问请求被允许进入实例a。 IP地址组:表示源地址为一个IP地址组,IP地址组是一个或者多个IP地址的集合。您可以在下拉列表中,选择可用的IP地址组。对于安全策略相同的IP网段和IP地址,此处建议您使用IP地址组简化管理。 |
IP地址: 192.168.52.0/24,10.0.0.0/24 |
描述 | 安全组规则的描述信息,非必填项。描述信息内容不能超过255个字符,且不能包含“<”和“>”。 | - |
检查安全组规则是否生效
在安全组规则中放开某个端口后,您还需要确保实例内对应的端口也已经放通,安全组规则才会对实例生效。
假设您在某台ECS上部署了网站,希望用户能通过HTTP(80)端口访问到您的网站,则您需要先在ECS所在安全组的入方向中,添加下表中的规则,放通HTTP(80)端口。
方向 | 优先级 | 策略 | 类型 | 协议端口 | 源地址 |
---|---|---|---|---|---|
入方向 | 1 | 允许 | IPv4 | 自定义TCP:80 | IP地址:0.0.0.0/0 |
安全组规则添加完成后,您需要执行以下操作,检查云主机内端口开放情况,并验证配置是否生效。
登录云主机,检查云主机端口开放情况。
检查Linux云主机端口:执行命令netstat -an | grep 80,查看TCP 80端口是否被监听。
若回显类似下图所示,说明80端口已开通。
检查Windows云主机端口:打开命令执行窗口(CMD),执行命令netstat -an | findstr 80,查看TCP 80端口是否被监听。
若回显类似下图所示,说明80端口已开通。
打开浏览器,在地址栏里输入“http://云主机的弹性公网IP地址”。如果访问成功,说明安全组规则已经生效。