描述 Azure 網路安全性群組
網路安全性群組 (NSG) 可讓您篩選 Azure 虛擬網路中 Azure 資源的進出網路流量;例如:虛擬機器。 NSG 由定義流量篩選條件的規則所組成。 您可以將單一網路安全性群組與虛擬機器中的每個虛擬網路子網路及網路介面建立關聯。 不過,相同的網路安全性群組可以與您選擇的不同子網路和網路介面建立關聯。
在高度簡化的下列圖表中,您可以看到 Azure 虛擬網路有兩個子網路連線至網際網路,且每個子網路都有虛擬機器。 子網路 1 有指派給它的 NSG,它會篩選對 VM1 的輸入和輸出存取,而這需要較高層級的存取權。 相反地,VM2 可能代表不需要 NSG 的公開機器。
輸入和輸出安全性規則
NSG 由輸入和輸出安全性規則所組成。 系統會依優先順序使用五項資訊點:來源、來源連接埠、目的地、目的地連接埠和通訊協定來評估網路安全性群組的安全性規則,以允許或拒絕流量。 依據預設,Azure 會建立一系列的規則;三個輸入和三個輸出規則,以提供基準層級的安全性。 您無法移除預設規則,但可透過建立具有較高優先順序的新規則來加以覆寫。
每個規則都會指定下列一或多個屬性:
- 名稱:每個 NSG 規則都需要具有唯一的名稱,以描述其用途。 例如:AdminAccessOnlyFilter。
- 優先順序:系統會依優先順序來處理規則,較低的數字會優先處理。 當流量符合規則時,即會停止處理。 這表示將不會處理優先順序較低的任何其他規則 (較高的數字)。
- 來源或目的地:指定個別 IP 位址或 IP 位址範圍、服務標籤 (指定 Azure 服務的 IP 位址前置詞群組) 或應用程式安全性群組。 指定範圍、服務標籤或應用程式安全性群組,可讓您建立較少的安全性規則。
- 通訊協定:規則會檢查哪些網路通訊協定? 通訊協定可以是任何一個:TCP、UDP、ICMP 或任何協定。
- 方向:是否應將規則套用至輸入或輸出流量。
- 連接埠範圍:您可以指定個別或範圍的連接埠。 指定範圍可讓您在建立安全性規則時更有效率。
- 動作:最後,您必須決定觸發此規則時所發生的變動。
下列螢幕擷取畫面顯示所有 NSG 中包含的預設輸入規則和輸出。
預設輸入規則的描述如下:
AllowVNetInBound - AllowVNetInBound 規則的優先順序值最低,因此會優先處理。 回想一下,系統會先處理優先順序最低的規則。 此規則允許使用任何通訊協定,從具有 VirtualNetwork 服務標籤的來源流量到具有 VirtualNetwork 服務標籤之目的地的流量。 如果找到此規則的相符項目,則不會處理任何其他規則。 如果找不到相符項目,就會處理下一個規則。
AllowAzureLoadBalancerInBound - AllowAzureLoadBalancerInBound 規則是處理順位第二的規則,因為其優先順序值高於 AllowVNetInBound 規則。 此規則允許使用任何通訊協定,將具有 AzureLoadBalancer 服務標籤的來源流量傳送至任何連接埠上任何連接埠上具有 AzureLoadBalancer 服務標籤的目的地。 如果找到此規則的相符項目,則不會處理任何其他規則。 如果找不到相符項目,就會處理下一個規則。
DenyAllInBound - 此 NSG 中的最後一個規則是 DenyAllInBound 規則。 此規則會拒絕來自任何連接埠上任何來源 IP 位址的所有流量,使用任何通訊協定傳輸到任何連接埠上的任何其他 IP 位址。
總而言之,此 NSG 所指派至的任何虛擬網路子網路或網路介面卡,只會允許來自 Azure 虛擬網路或 Azure 負載平衡器的輸入流量 (由其各自的服務標籤定義)。 所有其他輸入網路流量都會遭到拒絕。 您無法移除預設規則,但可透過建立具有較高優先順序 (更低的優先順序值) 的新規則來加以覆寫。
網路安全性群組 (NSG) 和 Azure 防火牆有什麼不同?
既然您已了解網路安全性群組和 Azure 防火牆,由於這些功能都用於保護虛擬網路資源,因此您可能會想知道其不同之處。 「Azure 防火牆」服務可補足網路安全性群組功能。 兩者結合時,可提供更好的「深度防禦」網路安全性。 網路安全性群組提供分散式網路層流量過濾,以限制每個訂用帳戶中虛擬網路內資源的流量。 Azure 防火牆是完全具狀態的集中式網路防火牆即服務,可跨不同的訂用帳戶與虛擬網路提供網路與應用程式層級的保護。