一些常用的安全组的配置示例,包括远程登录云服务器,对外提供网站访问、不同安全组内实例内网互通等。
通常情况下,安全组默认拒绝所有来自外部的请求。您需要遵循白名单原则添加安全组入方向规则,允许来自外部的特定请求访问安全组内实例。具体示例如下:
- 从本地服务器远程登录云服务器
- 在本地服务器远程连接云服务器上传或者下载文件
- 在云服务器上搭建网站对外提供Web服务
- 使用ping命令验证网络连通性
- 不同安全组内实例内网网络互通
- 云服务器提供数据库访问服务
- 限制云服务器访问外部网站
安全组的出方向规则一般默认全部放通,即允许安全组内实例访问外部的所有请求出去,配置说明如表1所示。
规则方向 | 优先级 | 策略 | 类型 | 协议端口 | 目的地址 | 描述 |
---|---|---|---|---|---|---|
出方向规则 | 100 | 允许 | IPv4 | 全部 | 0.0.0.0/0 | 针对全部IPv4协议,允许安全组内的实例可访问外部IP的所有端口。 |
出方向规则 | 100 | 允许 | IPv6 | 全部 | ::/0 | 针对全部IPv6协议,允许安全组内的实例可访问外部IP的所有端口。 |
[表1安全组默认出方向规则] |
从本地服务器远程登录云服务器
安全组默认拒绝所有来自外部的请求,如果您需要从本地服务器远程登录云服务器,那么需要根据您的云服务器操作系统类型,在安全组入方向添加对应的规则。
-
通过SSH远程登录Linux云服务器,需要放通SSH(22)端口,请参见表2。
-
通过RDP远程登录Windows云服务器,需要放通RDP(3389)端口,请参见表3。
规则方向 优先级 策略 类型 协议端口 源地址 入方向规则 1 允许 IPv4 自定义TCP: 22 IP地址:0.0.0.0/0 [表2通过SSH远程登录Linux云服务器] 规则方向 优先级 策略 类型 协议端口 源地址 入方向规则 1 允许 IPv4 自定义TCP: 3389 IP地址:0.0.0.0/0 [表3通过RDP远程登录Windows云服务器]
rel="nofollow">表4。
云服务器类型 | 规则方向 | 优先级 | 策略 | 类型 | 协议端口 | 源地址 |
---|---|---|---|---|---|---|
Linux云服务器 | 入方向规则 | 1 | 允许 | IPv4 | 自定义TCP: 22 | IP地址:192.168.0.0/24 |
Windows云服务器 | 入方向规则 | 1 | 允许 | IPv4 | 自定义TCP: 3389 | IP地址:10.10.0.0/24 |
[表4通过特定IP地址远程登录云服务器] |
在本地服务器远程连接云服务器上传或者下载文件
安全组默认拒绝所有来自外部的请求,如果您需要在本地服务器远程连接云服务器上传或者下载文件,那么您需要开通FTP(20、21)端口。
规则方向 | 优先级 | 策略 | 类型 | 协议端口 | 源地址 |
---|---|---|---|---|---|
入方向规则 | 1 | 允许 | IPv4 | 自定义TCP: 20-21 | IP地址:0.0.0.0/0 |
[表5在本地服务器远程连接云服务器上传或者下载文件] |
在云服务器上搭建网站对外提供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 |
[表6云服务器上搭建网站对外提供Web服务] |
使用ping命令验证网络连通性
安全组默认拒绝所有来自外部的请求,如果您需要在云服器上使用ping命令验证网络的连通性,则您需要在安全组入方向添加对应的规则,放通ICMP端口。
规则方向 | 优先级 | 策略 | 类型 | 协议端口 | 源地址 |
---|---|---|---|---|---|
入方向规则 | 1 | 允许 | IPv4 | ICMP: 全部 | IP地址:0.0.0.0/0 |
入方向规则 | 1 | 允许 | IPv6 | ICMP: 全部 | IP地址:::/0 |
[表7使用ping命令验证网络连通性] |
不同安全组内实例内网网络互通
同一个VPC内,位于不同安全组内的实例网络不通。如果您需要在同一个VPC内的实例之间共享数据,比如安全组sg-A内的云服务器访问安全组sg-B内的MySQL数据库,您需要通过在安全组sg-B中添加一条入方向规则,放通MySQL (3306)端口,允许来自安全组sg-A内云服务器的请求进入。
规则方向 | 优先级 | 策略 | 类型 | 协议端口 | 源地址 |
---|---|---|---|---|---|
入方向规则 | 1 | 允许 | IPv4 | 自定义TCP: 3306 | 安全组:sg-A |
[表8不同安全组内实例内网互通] |
云服务器提供数据库访问服务
安全组默认拒绝所有来自外部的请求,如果您在云服器上部署了数据库服务,允许其他云服务器通过内网访问数据库服务,则您需要在部署数据库云服务器所在的安全组内,添加入方向规则,放通对应的端口,例如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范围内的云服务器访问PostgreSQL数据库服务。 |
[表9云服务器提供数据库访问服务] |
限制云服务器访问外部网站
安全组的出方向规则一般默认全部放通,默认规则如表11所示。如果您需要限制服务器只能访问特定网站,则按照如下要求配置:
-
首先,您需要遵循白名单规则,在安全组出方向规则中添加指定的端口和IP地址。
规则方向 优先级 策略 类型 协议端口 源地址 出方向规则 1 允许 IPv4 自定义TCP: 80 IP地址:132.15.XX.XX 出方向规则 1 允许 IPv4 自定义TCP: 443 IP地址:145.117.XX.XX [表10不同安全组内实例内网互通] -
其次,删除安全组出方向中原有放通全部流量的规则,如表11所示。
规则方向 优先级 策略 类型 协议端口 目的地址 描述 出方向规则 100 允许 IPv4 全部 0.0.0.0/0 针对全部IPv4协议,允许安全组内的实例可访问外部IP的所有端口。 出方向规则 100 允许 IPv6 全部 ::/0 针对全部IPv6协议,允许安全组内的实例可访问外部IP的所有端口。 [表11安全组默认出方向规则]
以上内容来自华为云虚拟私有云VPC