我们介绍了几个常见的安全组应用案例,同时包括专有网络(VPC)和经典网络的安全组设置说明。
PS1:创建安全组和添加安全组规则的详细操作,请参见创建安全组 和添加安全组规则。
PS2:常用端口,请参见ECS 实例常用端口介绍。
PS3:常用端口的安全组规则配置,请参见安全组规则的典型应用。
案例 1:实现内网互通
场景举例:经典网络里,如果需要在同一个地域内不同账号或不同安全组的ECS实例之间拷贝资源,你可以通过安全组设置实现两台ECS实例内网互通后再拷贝。
案例 2:只允许特定IP地址远程登录到实例
场景举例:如果你的ECS实例被肉鸡,你可以修改远程登录端口号,并设置只允许特定的IP地址远程登录到你的ECS实例。
案例 3:只允许实例访问外部特定IP地址
场景举例:如果你的ECS实例被肉鸡,对外恶意扫描或发包,你可以通过安全组设置你的ECS实例只能访问外部特定IP或端口。
案例 4:允许远程连接实例
场景举例:你可以通过公网或内网远程连接到实例上,管理实例。
案例 5:允许公网通过HTTP、HTTPS等服务访问实例
场景举例:你在实例上架设了一个网站,希望你的用户能通过HTTP或HTTPS服务访问到您的网站。
案例 1:实现内网互通
使用安全组实现相同地域不同账号下或不同安全组内ECS实例间的内网互通。有两种情况:
场景 1:实例属于同一个地域、同一个账号
场景 2:实例属于同一个地域、不同账号
PS:对于VPC网络类型的ECS实例,如果它们在同一个VPC网络内,可以通过安全组规则实现内网互通。如果ECS实例不在同一个VPC内(无论是否属于同一个账号或在同一个地域里),你可以 使用高速通道实现VPC互通。
场景 1:同一地域、同一账号
同一地域、同一账号的2个实例,如果在同一个安全组内,默认内网互通,不需要设置。如果在不同的安全组内,默认内网不通,此时,根据网络类型做不同的设置:
VPC
处于同一个VPC内的ECS实例,在实例所在安全组中分别添加一条安全组规则,授权另一个安全组内的实例访问本安全组内的实例,实现内网互通。安全组规则如下表所示。
经典网络
在实例所在安全组中分别添加一条安全组规则,授权另一个安全组内的实例访问本安全组内的实例,实现内网互通。安全组规则如下表所示。
场景 2:同一地域、不同账号
这部分的描述仅适用于经典网络类型的ECS实例。
同一个地域内、不同账号下,经典网络实例可以通过安全组授权实现内网互通。比如:
UserA在华东1有一台经典网络的ECS实例InstanceA(内网IP:A.A.A.A),InstanceA所属的安全组为GroupA。
UserB在华东1有一台经典网络的ECS实例InstanceB(内网IP:B.B.B.B),InstanceB所属的安全组为GroupB。
在GroupA中添加安全组规则,授权InstanceB内网访问InstanceA,如下表所示。
在GroupB中添加安全组规则,授权InstanceA内网访问InstanceB,如下表所示。
PS:出于安全性考虑,经典网络的内网入方向规则,授权类型优先选择安全组访问;如果选择地址段访问,则仅支持单IP授权,授权对象的格式只能是 a.b.c.d/32,其中IP地址应根据你的实际需求设置,仅支持IPv4,子网掩码必须是/32。
案例 2:只允许特定IP地址远程登录到实例
如果你只想让某些特定IP地址远程登录到实例,可以参考以下示例的步骤在实例所在安全组里添加规则(以Linux实例为例,设置只让特定IP地址访问TCP 22端口):
案例 3:只允许实例访问外部特定IP地址
如果你只想让实例访问特定的IP地址,参考以下示例的步骤在实例所在安全组中添加安全组规则:
1、禁止实例以任何协议访问所有公网IP地址,优先级应低于允许访问的规则(如本例中设置优先级为2)。安全组规则如下表所示。
2、允许实例访问特定公网IP地址,优先级应高于拒绝访问的安全组规则的优先级(如本例中设置为1)。
添加了安全组规则后,在连接实例,执行 ping、telnet 等测试。如果实例只能访问允许访问的IP地址,说明安全组规则已经生效。
案例 4:允许远程连接实例
允许远程连接ECS实例分为两种情况:
场景 1:允许公网远程连接指定实例
场景 2:允许内网其他账号下的某台ECS实例或所有ECS实例远程连接指定实例
场景 1:允许公网远程连接实例
如果要允许公网远程连接实例,参考以下示例添加安全组规则。
1)VPC:添加如下所示安全组规则。
2)经典网络:添加如下表所示安全组规则。
自定义远程连接端口的详细操作,请参见服务器默认远程端口修改。
场景 2:允许内网其他账号下某个安全组内的ECS实例远程连接您的实例
如果你的账号与同地域其他账号内网互通,而且你想允许内网其他账号下某个安全组内的ECS实例远程连接实例,按以下示例添加安全组规则。
允许内网其他账号某个实例内网IP地址连接你的实例
1)VPC:先保证2个账号的实例 通过高速通道内网互通,再添加如下表所示的安全组规则。
2)经典网络:应添加如下表所示的安全组规则。
允许内网其他账号某个安全组里的所有ECS实例连接您的实例
1)VPC类型的实例,先保证2个账号的实例 通过高速通道内网互通,再添加如下表所示的安全组规则。
2)经典网络实例,添加如下表所示的安全组规则。
案例 5:允许公网通过HTTP、HTTPS等服务访问实例
如果你在实例上架设了一个网站,希望你的用户能通过HTTP或HTTPS服务访问到你的网站,你需要在实例所在安全组中添加以下安全组规则。
1)VPC:假设允许公网上所有IP地址访问你的网站,添加如下表所示的安全组规则。
2)经典网络:假设允许公网上所有IP地址访问你的网站,添加如下表所示的安全组规则。
PS1:如果你无法通过http://公网 IP 地址访问你的实例,请参见检查TCP 80端口是否正常工作。
PS2:80端口是HTTP服务默认端口。如果要使用其他端口,如8080端口,你必须修改Web服务器配置文件中监听端口设置,具体操作,请参见修改nginx/Tomcat等Web服务的端口监听地址或 ECS Windows Server修改IIS监听的IP地址。