更新时间:2024-03-05 GMT+08:00

安全组配置示例

本章节为您介绍一些常用的安全组的配置示例,包括远程登录云服务器,对外提供网站访问、不同安全组内实例内网互通等。

通常情况下,安全组默认拒绝所有来自外部的请求。您需要遵循白名单原则添加安全组入方向规则,允许来自外部的特定请求访问安全组内实例。具体示例如下:

安全组的出方向规则一般默认全部放通,即允许安全组内实例访问外部的所有请求出去,配置说明如表1所示。

表1 安全组默认出方向规则

规则方向

协议端口

目的地址

描述

出方向规则

全部

0.0.0.0/0

针对全部IPv4协议,允许安全组内的实例可访问外部IP的所有端口。

从本地服务器远程登录云服务器

安全组默认拒绝所有来自外部的请求,如果您需要从本地服务器远程登录云服务器,那么需要根据您的云服务器操作系统类型,在安全组入方向添加对应的规则。

  • 通过SSH远程登录Linux云服务器,需要放通SSH(22)端口,请参见表2
  • 通过RDP远程登录Windows云服务器,需要放通RDP(3389)端口,请参见表3
    表2 通过SSH远程登录Linux云服务器

    规则方向

    协议端口

    源地址

    入方向规则

    自定义TCP: 22

    IP地址:0.0.0.0/0

    表3 通过RDP远程登录Windows云服务器

    规则方向

    协议端口

    源地址

    入方向规则

    自定义TCP: 3389

    IP地址:0.0.0.0/0

    源地址设置为0.0.0.0/0表示允许所有外部IP远程登录云服务器,为了确保安全,建议您遵循最小原则,根据实际情况将源IP设置为特性的IP地址,配置示例请参见表4

    表4 通过特定IP地址远程登录云服务器

    云服务器类型

    规则方向

    协议端口

    源地址

    Linux云服务器

    入方向规则

    自定义TCP: 22

    IP地址:192.168.0.0/24

    Windows云服务器

    入方向规则

    自定义TCP: 3389

    IP地址:10.10.0.0/24

在本地服务器远程连接云服务器上传或者下载文件

安全组默认拒绝所有来自外部的请求,如果您需要在本地服务器远程连接云服务器上传或者下载文件,那么您需要开通FTP(20、21)端口。

表5 在本地服务器远程连接云服务器上传或者下载文件

规则方向

协议端口

源地址

入方向规则

自定义TCP: 20-21

IP地址:0.0.0.0/0

您需要在弹性云服务器上先安装FTP服务器程序,再查看20、21端口是否正常工作。

在云服务器上搭建网站对外提供Web服务

安全组默认拒绝所有来自外部的请求,如果您在云服器上搭建了可供外部访问的网站,则您需要在安全组入方向添加对应的规则,放通对应的端口,例如HTTP(80)、HTTPS(443)。

表6 云服务器上搭建网站对外提供Web服务

规则方向

协议端口

源地址

入方向规则

自定义TCP: 80

IP地址:0.0.0.0/0

入方向规则

自定义TCP: 443

IP地址:0.0.0.0/0

使用ping命令验证网络连通性

安全组默认拒绝所有来自外部的请求,如果您需要在云服器上使用ping命令验证网络的连通性,则您需要在安全组入方向添加对应的规则,放通ICMP端口。

表7 使用ping命令验证网络连通性

规则方向

协议端口

源地址

入方向规则

ICMP: 全部

IP地址:0.0.0.0/0

不同安全组内实例内网网络互通

同一个VPC内,位于不同安全组内的实例网络不通。如果您需要在同一个VPC内的实例之间共享数据,比如安全组sg-A内的云服务器访问安全组sg-B内的MySQL数据库,您需要通过在安全组sg-B中添加一条入方向规则,放通MySQL (3306)端口,允许来自安全组sg-A内云服务器的请求进入。

表8 不同安全组内实例内网互通

规则方向

协议端口

源地址

入方向规则

自定义TCP: 3306

安全组:sg-A

云服务器提供数据库访问服务

安全组默认拒绝所有来自外部的请求,如果您在云服器上部署了数据库服务,允许其他云服务器通过内网访问数据库服务,则您需要在部署数据库云服务器所在的安全组内,添加入方向规则,放通对应的端口,例如MySQL(3306)、Oracle(1521)、MS SQL(1433)、PostgreSQL(5432)、Redis(6379)。

表9 云服务器提供数据库访问服务

规则方向

协议端口

源地址

描述

入方向规则

自定义TCP: 3306

安全组:sg-A

允许安全组sg-A内云服务器访问MySQL数据库服务。

入方向规则

自定义TCP: 1521

安全组:sg-B

允许安全组sg-B内云服务器访问Oracle数据库服务。

入方向规则

自定义TCP: 1433

IP地址:172.16.3.21/32

允许私网IP地址为172.16.3.21的云服务器访问MS SQL数据库服务。

入方向规则

自定义TCP: 5432

IP地址:192.168.0.0/24

允许私网IP地址属于192.168.0.0/24网段的云服务器访问PostgreSQL数据库服务。

本示例中源地址提供的配置仅供参考,请您根据实际需求设置源地址。

限制云服务器访问外部网站

安全组的出方向规则一般默认全部放通,默认规则如表11所示。如果您需要限制服务器只能访问特定网站,则按照如下要求配置:

  1. 首先,您需要遵循白名单规则,在安全组出方向规则中添加指定的端口和IP地址。
    表10 不同安全组内实例内网互通

    规则方向

    协议端口

    源地址

    出方向规则

    自定义TCP: 80

    IP地址:132.15.XX.XX

    出方向规则

    自定义TCP: 443

    IP地址:145.117.XX.XX

  2. 其次,删除安全组出方向中原有放通全部流量的规则,如表11所示。
    表11 安全组默认出方向规则

    规则方向

    协议端口

    目的地址

    描述

    出方向规则

    全部

    0.0.0.0/0

    针对全部IPv4协议,允许安全组内的实例可访问外部IP的所有端口。