安全组配置示例
- 通过本地服务器远程登录云服务器
- 在本地服务器远程连接云服务器上传或者下载文件(FTP)
- 在云服务器上搭建网站对外提供Web服务
- 使用ping命令验证网络连通性
- 实现不同安全组的实例内网网络互通
- 云服务器提供数据库访问服务
- 限制云服务器访问外部网站
如果您的安全组规则配置完成后不生效,请您提交工单联系客服处理。
使用须知
在配置安全组规则之前,您需要先了解以下信息:
- 不同安全组之间的实例默认网络隔离,无法互相访问。
- 安全组默认拒绝所有来自外部的请求,即本安全组内的实例网络互通,外部无法访问安全组内的实例。
- 安全组入方向规则的源地址设置为0.0.0.0/0或::/0,表示允许或拒绝所有外部IP地址访问您的实例,如果将“22、3389、8848”等高危端口暴露到公网,可能导致网络入侵,造成业务中断、数据泄露或数据勒索等严重后果。建议您将安全组规则设置为仅允许已知的IP地址访问。
- 安全组的出方向规则一般默认全部放通,即允许安全组内的实例访问外部。
在本地服务器远程连接云服务器上传或者下载文件(FTP)
安全组默认拒绝所有来自外部的请求,如果您需要在本地服务器远程连接云服务器上传或者下载文件,那么您需要开通FTP(20、21)端口。
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
---|---|---|---|---|---|
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 20-21 |
IP地址:0.0.0.0/0 |
- 源地址设置为0.0.0.0/0表示允许所有外部IP地址远程连接云服务器上传或者下载文件,如果将当前端口暴露到公网,可能存在网络安全风险,建议您将源IP设置为已知的IP地址,配置示例请参见表6。
- 您需要在弹性云服务器上先安装FTP服务器程序,再查看20、21端口是否正常工作。安装FTP服务器的操作请参见搭建FTP站点(Windows)、搭建FTP站点(Linux)。
在云服务器上搭建网站对外提供Web服务
安全组默认拒绝所有来自外部的请求,如果您在云服务器上搭建了可供外部访问的网站,则您需要在安全组入方向添加对应的规则,放通对应的端口,例如HTTP(80)、HTTPS(443)。
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
---|---|---|---|---|---|
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 80 |
IP地址:0.0.0.0/0 |
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 443 |
IP地址:0.0.0.0/0 |
使用ping命令验证网络连通性
ICMP协议用于网络消息的控制和传递,因此在进行一些基本测试操作之前,需要开通ICMP协议访问端口。比如,您需要在某个个人PC上使用ping命令来验证云服务器的网络连通性,则您需要在云服务器所在安全组的入方向添加以下规则,放通ICMP端口。
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
---|---|---|---|---|---|
入方向 |
1 |
允许 |
IPv4 |
ICMP: 全部 |
IP地址:0.0.0.0/0 |
入方向 |
1 |
允许 |
IPv6 |
ICMP: 全部 |
IP地址:::/0 |
实现不同安全组的实例内网网络互通
同一个VPC内,位于不同安全组内的实例网络不通。如果您需要在同一个VPC内的实例之间共享数据,比如安全组sg-A内的云服务器访问安全组sg-B内的MySQL数据库,您需要通过在安全组sg-B中添加一条入方向规则,允许来自安全组sg-A内云服务器的内网请求进入。
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
---|---|---|---|---|---|
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 3306 |
安全组:sg-A |
如果您通过中间网络实例在不同子网的实例之间转发流量,如安全组应用示例中的“控制虚拟IP访问安全组内实例”,子网Subnet-A的ECS通过虚拟IP和子网Subnet-B的ECS互相通信。由于存在中间网络实例,此时安全组规则的源地址选择实例所在的安全组时,无法放通中间网络实例转发的流量,源地址必须设置成中间网络实例的私有IP地址或者子网网段。
云服务器提供数据库访问服务
- MySQL(3306)
- Oracle(1521)
- MS SQL(1433)
- PostgreSQL(5432)
- Redis(6379)
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
描述 |
---|---|---|---|---|---|---|
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 3306 |
安全组:sg-A |
允许安全组sg-A内云服务器访问MySQL数据库服务。 |
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 1521 |
安全组:sg-B |
允许安全组sg-B内云服务器访问Oracle数据库服务。 |
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 1433 |
IP地址:172.16.3.21/32 |
允许私网IP地址为172.16.3.21的云服务器访问MS SQL数据库服务。 |
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 5432 |
IP地址:192.168.0.0/24 |
允许私网IP地址属于192.168.0.0/24网段的云服务器访问PostgreSQL数据库服务。 |
入方向 |
1 |
允许 |
IPv4 |
自定义TCP: 6379 |
IP地址组:ipGroup-A |
允许私网IP地址属于IP地址组ipGroup-A范围内的云服务器访问Redis数据库服务。 |
本示例中源地址提供的配置仅供参考,请您根据实际需求设置源地址。
限制云服务器访问外部网站
安全组的出方向规则一般默认全部放通,默认规则如表12所示。如果您需要限制服务器只能访问特定网站,则按照如下要求配置:
- 首先,您需要遵循白名单规则,在安全组出方向规则中添加指定的端口和IP地址。
表11 限制云服务器访问外部网站 方向
优先级
策略
类型
协议端口
目的地址
描述
出方向
1
允许
IPv4
自定义TCP: 80
IP地址:132.15.XX.XX
允许安全组内云服务器访问指定的外部网站,网站地址为http://132.15.XX.XX:80。
出方向
1
允许
IPv4
自定义TCP: 443
IP地址:145.117.XX.XX
允许安全组内云服务器访问指定的外部网站,网站地址为https://145.117.XX.XX:443。
- 其次,删除安全组出方向中原有放通全部流量的规则,如表12所示。