關於安全群組
IBM Cloud® VPC 的安全群組提供了一種便捷的方式,讓您能根據虛擬伺服器執行個體的 IP 位址,對其套用建立過濾規則。 安全群組的目標包括虛擬伺服器執行個體的網路介面、端點閘道器以及負載平衡器。 建立安全群組時,應對其進行配置,以建立所需的網路資料流量型樣。
依預設,安全群組會設定拒絕所有入埠資料流量並允許所有出埠資料流量的規則。 將新規則新增至安全群組時,新規則會重新定義允許入埠或出埠資料流量的範圍。
規則具有_狀態性_。 若要具有 有狀態 規則,表示當您建立容許單向資料流量的規則時,該規則會自動允許反向資料流量。 例如,如果您建立規則允許連接埠 80 上的入站 TCP 流量,則安全群組也允許將連接埠 80 上的出站 TCP 流量回覆給原始主機。 您無需建立另一條規則。
安全群組的範圍限定為單一 VPC。 此範圍定義意味著,安全群組可附加至同一 VPC 內的任何安全群組目標。 您可以設定安全群組規則,以容許安全群組所有成員之間的資料流量。
當您建立虛擬私有雲時,系統會將其指派至預設的安全群組。 您可以修改預設安全群組設定及個別安全群組的規則。
當您建立使用安全群組且未指定安全群組的資源時,資源的主要網路介面會連接至該資源之 VPC 的 default 安全群組。
更新 default 安全群組的規則是與更新預設安全群組不同的處理程序。 如果您編輯預設安全群組的規則,則那些已編輯的規則隨後會套用至該群組的所有現行及未來伺服器。 如需相關資訊,請參閱 更新預設安全群組規則。
您無法將安全群組相互嵌套,但可以引用遠端安全群組。 在規則中引用遠端安全性群組時,該規則將套用至所有附加於該規則的引用安全性群組目標。
安全群組無法在相同地區的不同區域中參照其他安全群組。
安全群組目標
目標是指任何可附加或解除附加安全群組的資源。 安全群組的目標包括虛擬伺服器執行個體的網路介面、端點閘道器以及負載平衡器。
每個能夠發送和接收流量的資源,都可以為其配置一個安全群組。 資源可包含虛擬伺服器介面、裸機伺服器、負載平衡器、資料路徑中的任何終端點閘道,以及更多項目。
您可以將安全群組與資料路徑上的任何資源相關聯。
配額考量:
每個使用者建立的安全群組最多可支援 1,000 個目標。 預設安全群組會自動套用至 VPC 中的所有目標,不受 1,000 個目標的限制。 此行為可確保自動指派至預設安全群組不會限制佈建。
安全群組與網路 ACL
安全群組關聯於資源,而網路存取控制清單 (NACL) 關聯於子網路。
網路存取控制清單(NACL)適用於子網層級,因此子網內任何與NACL關聯的資源皆須遵循該NACL的規則。 不過,安全群組的情況並非如此。 安全群組必須明確指派給資源。 此外,與 NACL 不同,安全群組可以跨子網路甚至跨區域套用至多個資源。
NACL 是 無狀態。
因為 NACL 不是 有狀態,所以如果您想要在目標上允許雙向資料流量,則必須設定兩個規則。
安全群組指南
以下指南說明安全性群組的運作方式、規則的套用機制,以及將其附加至網路介面的最佳實務。
規則
- 每個安全群組都會定義不同的網路規則集,用以規範虛擬網路介面的進出流量。
- 安全群組規則只能是允許性質的。 依預設,資料流量會遭到封鎖。
- 會自動套用對安全群組規則的變更,並且可以隨時修改。
- 安全群組內規則的順序並不重要。 優先順序一律會落在限制最少的規則。
- 規則是有狀態的。 在安全群組變更之前建立的連線將不會受到影響。 新建立的連線須遵循建立連線時所適用的規則。
- 安全性群組不會覆寫虛擬伺服器執行個體或裸機伺服器上的作業系統防火牆。 即使作業系統上存在的防火牆比安全群組套用內容的限制更多,仍會強制執行作業系統規則。
- 若您的虛擬伺服器執行個體或裸機伺服器需要存取內部服務(例如更新伺服器、網路附加儲存裝置 (NAS) 或進階監控),請確保安全群組規則能容許這些內部服務的流量通過。
目標
- 一個安全群組可附加於多個目標。
- 可附加一個或多個安全性群組至:
- 虛擬網路介面
- 一個實例網路介面
- 裸機伺服器網路介面
- 終端點閘道
- 負載平衡器
- 一個 VPN 伺服器。
- 所有來自附加安全群組的規則將共同套用至目標。
- 若附加多個安全性群組,則依據所有群組中限制最寬鬆的規則來允許或阻擋流量。
定義安全群組規則
每個安全群組都由一組規則組成。 安全群組會在允許任何流量進出實例之前,先檢查其所有規則。 用來控制入埠資料流量的規則與用來控制出埠資料流量的規則無關。
當您建立新的安全群組時,一開始會限制所有入埠資料流量,並容許出埠資料流量。 因此,您必須將規則新增至群組,以允許送入的資料流量,並對出埠資料流量套用限制。
由於一個資源可與多個安全群組關聯,因此所有關聯安全群組的規則都會合併,形成單一規則集。 這組規則用於判斷流量是否應被拒絕或允許進出該資源。 對於您新增至安全群組的每個安全規則,您必須指定下列欄位的值:
-
方向-要施行的資料流量方向 (入埠或出埠)。
-
通訊協定-指出套用此規則的通訊協定。 值為
ICMP_TCP_UDP,或ANY,或 之一IPv4 protocols。- 若其值為
ANY,則表示此規則適用於ANY通訊協定。 那麼,指定端口範圍 ( PortMin, PortMax ) 便無效。 - 如果協議是
tcp或者udp,那麼規則還可以包含連接埠範圍(PortMin,PortMax)。 設定兩個連接埠,或兩個連接埠都不設定。 如果都未設定,則容許所有埠上的資料流量。 對於單一埠,您必須將這兩個埠設為相同的值。 - 當通訊協定為
icmp時,您可以選擇性地指定type內容。 如果已指定,則只容許 ICMP 資料流量用於指定的 ICMP 類型。 此外,如果您指定type,則可以選擇性地指定程式碼內容,以僅容許所指定 ICMP 程式碼的資料流量。
- 若其值為
-
遠端-說明此規則容許資料流量 (或來自其中的出埠規則) 的網路介面集。 您可以將此值指定為 IP 位址、CIDR 區塊或單一安全群組 (ID、CRN 及名稱) 的所有 ID。 如果省略此值,則會使用
0.0.0.0/0的 CIDR 區塊來容許來自任何來源 (或任何來源,用於出埠規則) 的資料流量。
您可以為安全群組規則命名。 然而,系統並未將名稱與規則的配置建立任何關聯。 例如,若您將某規則命名為「功能正常 inbound-https-from-my-subnet」,系統並不會驗證該規則是否如其名稱所暗示的那樣運作。 您有責任管理安全群組規則的名稱與設定,以確保其一致性(如有需要)。
若需瞭解如何透過命令列介面設定安全性群組規則的詳細 資訊,請參閱命令清單速查表。 若需瞭解如何透過 API 設定安全性群組規則的詳細資訊,請參閱 《 透過 API 為虛擬伺服器執行個體設定安全性群組 》。
限制
- 目前,ESP 協定封包僅支援具備 Gen2 特定設定檔的執行個體。 在其他配置檔的實例上,以及所有裸機伺服器上,進站與出站的ESP封包皆會被永久丟棄。 雖然可透過 VPC API 為 ESP 流量設定安全群組規則,但此類規則僅影響具備 Gen2 配置檔的執行個體。 ESP 協定未顯示於 IBM Cloud 主控台選項中,以避免不同世代的執行個體設定檔產生混淆。 如需更多資訊,請參閱 x86-64 實例設定檔。
開始使用
若要開始,請決定是否要為您的資源建立新的安全群組,並 建立您 的安全群組。
安全群組使用案例
建立安全群組是使用者套用規則的標準方式,這些規則會過濾進出其資源的網路資料流量型樣。 您執行下列動作的能力取決於您帳戶中的授權層次。 如果您有帳戶授權的相關問題,請聯絡您的管理者。
使用案例 1: 變更資源的預設安全群組
每個 VPC 都有預設安全群組,這是為使用者建立的安全群組。 該預設安全群組也具有預設規則。 在您透過新增或移除規則來自訂安全群組的設定之前,此預設規則是指派給您建立之安全群組的相同預設規則。
預設安全群組不同於新安全群組的預設規則。 您可以自訂預設安全群組的規則,以及分配給新安全群組的預設規則。
例如,假設您隸屬於某個組織,而某位擁有該組織帳戶存取權限的人員修改了預設安全群組的規則。 修改後,該規則與建立新安全性群組時預設的規則不同。 您的團隊成員是非常注重安全的客戶,他們會變更預設安全群組設定,以拒絕所有入埠及出埠網路資料流量。
在此範例中,當您建立資源時,該資源會初始分配至您虛擬私有雲(VPC)的預設安全群組。 此預設安全群組的規則會拒絕所有入站與出站網路流量,原因在於您那位注重安全的團隊成員所設定的拒絕規則。 因此,往返您新資源的流量將套用相同的拒絕行為。
若您對預設的安全群組規則不滿意,解決方案之一是建立具有自訂設定的全新安全群組,並將其套用至您的資源。 另一個解決方案是變更預設安全群組上的規則。 建立另一個具有自訂設定的安全群組是最簡單的解決方案,因為您可以建立僅適用於目標資源的規則。 若您修改預設安全性群組的規則,這些變更不僅適用於您欲影響的資源,同時也適用於所有其他被指派至該預設安全性群組的資源。
您在預設安全性群組上建立的任何新規則,皆會套用至所有當前及未來指派至該預設安全性群組的資源。
如需更新預設安全群組的相關資訊,請參閱 更新預設安全群組規則。
用例 2:在資源配置期間自訂安全群組與規則
下圖說明建立新資源時可能的自訂作業選項。 若使用者建立資源後未進一步指定要附加的安全群組,其新建立的資源將被分配至 VPC 的預設安全群組。 此預設安全性群組將採用預設的安全性群組規則,或遵循先前由您帳戶成員設定的自訂規則。
若使用者決定將新資源指派至新安全群組,該新安全群組將自動被指派至預設安全群組規則。 接著,使用者可選擇不採取進一步行動,或選擇自訂規則,為其新建立的安全群組建立自訂的安全群組規則。 這些新規則也適用於建立並指派給新安全群組的新資源:
![建立新資源時的安全性群組和安全性群組規則自訂選項")
使用案例 3: 容許安全群組成員之間的資料流量
設定安全群組的較慣用方法是使用依 IP 位址及埠過濾的特定規則來控制進出目標的資料流量。
設定安全性群組的更靈活方式,是允許來自其他目標的所有入站流量,只要這些目標同樣屬於該安全性群組。 當您允許安全群組成員之間進行通訊時,無需為每個現有成員與每個新成員之間分別設定個別權限。 當資源從安全性群組中新增或刪除時,權限將適用於所有成員。
例如,您可以在一個安全群組中包含主機 A 和主機 B,然後將主機 C 加入其中。 通常,在將主機 C 加入安全群組後,您需要執行維護作業,才能讓主機 A 和主機 B 能與主機 C 互傳流量。
若要讓此處理程序更容易,您可以定義一個規則,在其中容許所有資料流量,只要它來自群組的另一個成員即可。 隨後,當您向群組新增或移除成員時,規則會自動調整,允許群組成員之間相互傳輸流量。
下列使用者介面指示用於定義安全群組中的規則,以容許該安全群組成員之間的所有資料流量:
- 從瀏覽器中,開啟 IBM Cloud 主控台。
- 選取導覽功能表
,然後按一下基礎結構
> 網路 > 安全群組。
- 在安全群組中,選取您要修改的安全群組物件。
- 在入站規則表中點擊「建立 +」。 即會出現 建立入埠規則 視窗。
- 在 規範 區段中,選擇 TCP-UDP-ICMP。
- 在 來源類型 區段中,選取 安全群組。
- 按一下 建立 以套用這些變更。