當您在VPC子網內創建實例(云主機、云容器、云數據庫等)時,您可以使用系統提供的默認安全組default,您也可以創建其他安全組。無論是默認安全組,還是您創建的安全組,您均可以在安全組內設置出方向和入方向規則,以此控制出入實例的流量。
使用須知
在配置安全組規則之前,您需要先了解以下信息:
不同安全組之間的實例默認網絡隔離,無法互相訪問。
安全組默認拒絕所有來自外部的請求,即本安全組內的實例網絡互通,外部無法訪問安全組內的實例。您需要遵循白名單原則添加安全組入方向規則,允許來自外部的特定請求訪問安全組內的實例。
安全組入方向規則的源地址設置為0.0.0.0/0或::/0,表示允許或拒絕所有外部IP地址訪問您的實例,如果將“22、3389、8848”等高危端口暴露到公網,可能導致網絡入侵,造成業務中斷、數據泄露或數據勒索等嚴重后果。建議您將安全組規則設置為僅允許已知的IP地址訪問。
安全組的出方向規則一般默認全部放通,即允許安全組內的實例訪問外部。如果出方向規則被刪除,將會導致安全組內實例無法正常訪問外部,您可以參考下表重新添加配置。
| 方向 | 優先級 | 策略 | 類型 | 協議端口 | 目的地址 | 描述 |
|---|---|---|---|---|---|---|
| 出方向 | 1 | 允許 | IPv4 | 全部 | 0.0.0.0/0 | 針對全部IPv4協議,允許安全組內的實例可訪問外部任意IP和端口。 |
| 出方向 | 1 | 允許 | IPv6 | 全部 | ::/0 | 針對全部IPv6協議,允許安全組內的實例可訪問外部任意IP和端口。 |
通過本地服務器遠程登錄云主機
安全組默認拒絕所有來自外部的請求,如果您需要通過本地服務器遠程登錄安全組內的云主機,那么需要根據您的云主機操作系統類型,在安全組入方向添加對應的規則。
通過SSH遠程登錄Linux云主機,需要放通SSH(22)端口。
通過RDP遠程登錄Windows云主機,需要放通RDP(3389)端口。
| 操作系統類型 | 方向 | 優先級 | 策略 | 類型 | 協議端口 | 源地址 |
|---|---|---|---|---|---|---|
| Linux | 入方向 | 1 | 允許 | IPv4 | 自定義TCP:22 | IP地址:0.0.0.0/0 |
| Windows | 入方向 | 1 | 允許 | IPv4 | 自定義TCP:3389 | IP地址:0.0.0.0/0 |
注意源地址設置為0.0.0.0/0表示允許所有外部IP地址遠程登錄云主機,如果將當前端口暴露到公網,可能存在網絡安全風險,建議您將源IP設置為已知的IP地址,配置實例請參考下表。
| 云主機類型 | 方向 | 優先級 | 策略 | 類型 | 協議端口 | 源地址 |
|---|---|---|---|---|---|---|
| Linux | 入方向 | 1 | 允許 | IPv4 | 自定義TCP: 22 | IP地址:192.168.0.0/24 |
| Windows | 入方向 | 1 | 允許 | IPv4 | 自定義TCP: 3389 | IP地址:10.10.0.0/24 |
在本地服務器遠程連接云主機上傳或者下載文件
安全組默認拒絕所有來自外部的請求,如果您需要在本地服務器遠程連接云主機上傳或者下載文件,那么您需要開通FTP(20、21)端口。
| 方向 | 優先級 | 策略 | 類型 | 協議端口 | 源地址 |
|---|---|---|---|---|---|
| 入方向 | 1 | 允許 | IPv4 | 自定義TCP:20-21 | IP地址:0.0.0.0/0 |
注意
源地址設置為0.0.0.0/0表示允許所有外部IP地址遠程連接云主機上傳或者下載文件,如果將當前端口暴露到公網,可能存在網絡安全風險,建議您將源IP設置為已知的IP地址,配置示例請參見下表。
您需要在彈性云主機上先安裝FTP服務器程序,再查看20、21端口是否正常工作。
在云主機上搭建網站對外提供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 |
注意端口80、443需要在天翼云備案中心完成備案后,才可放開流量通路。
使用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地址或者子網網段。
云主機提供數據庫訪問服務
安全組默認拒絕所有來自外部的請求,如果您在云主機上部署了數據庫服務,允許其他實例通過內網訪問數據庫服務,則您需要在部署數據庫的云主機所在的安全組內,添加入方向規則,放通對應的端口,實現其他實例通過內網獲取數據庫數據的請求。常見的數據庫類型及其對應的端口如下:
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數據庫服務。 |
注意本示例中源地址提供的配置僅供參考,請您根據實際需求設置源地址。