決定網路安全性群組的有效規則
每個網路安全性群組及其定義的安全性規則都會獨立進行評估。 Azure 會處理設定中每個虛擬機器所定義每個規則中的條件。
- 針對輸入流量,Azure 會先處理任何相關聯子網路的網路安全性群組安全性規則,然後處理任何相關聯的網路介面。
- 針對輸出流量,程序會反轉。 Azure 會先針對任何相關聯的網路介面評估網路安全性群組安全性規則,接著處理任何相關聯的子網路。
- 針對輸入和輸出評估程序,Azure 也會檢查如何套用子網路內部流量的規則。
Azure 最後為虛擬機器套用已定義安全性規則的方式會決定規則的整體有效性。
關於有效安全性規則的須知事項
讓我們探索如何在虛擬網路內定義和處理網路安全性群組規則,以產生有效的規則。
請考慮下列虛擬網路設定,其中顯示控制虛擬機器 (VM) 流量的網路安全性群組 (NSG)。 此設定需要安全性規則,才能透過網路介面,透過 TCP 連接埠 80 管理網際網路的出入網路流量。
在此虛擬網路設定中,有三個子網路。 子網路 1 包含兩個虛擬機器:VM 1 和 VM 2。 子網路 2 和子網路 3 分別包含一個虛擬機器:VM 3 和 VM 4。 每個 VM 都有網路介面卡 (NIC)。
Azure 會評估每個 NSG 設定,以判斷有效的安全性規則:
評估 | 子網路 NSG | NIC NSG | 輸入規則 | 輸出規則 |
---|---|---|---|---|
VM 1 | 子網路 1 NSG 1 |
NIC NSG 2 |
NSG 1 子網路規則的優先順序高於 NSG 2 NIC 規則 | NSG 2 NIC 規則的優先順序高於 NSG 1 子網路規則 |
VM 2 | 子網路 1 NSG 1 |
NIC none |
NSG 1 子網路規則同時套用至子網路和 NIC | Azure 預設規則會套用至 NIC 而 NSG 1 子網路規則僅會套用至子網路 |
VM 3 | 子網路 2 none |
NIC NSG 2 |
Azure 預設規則會套用至子網路 而 NSG 2 規則會套用至 NIC |
NSG 2 NIC 規則會套用至 NIC 和子網路 |
VM 4 | 子網路 3 none |
NIC none |
Azure 預設規則會同時套用至子網路和 NIC 且允許所有輸入流量 |
Azure 預設規則會同時套用至子網路和 NIC 且允許所有輸出流量 |
輸入流量有效規則
Azure 會處理設定中所有 VM 的輸入流量規則。 Azure 會識別 VM 是否為 NSG 的成員,及其是否有相關聯的子網路或 NIC。
建立 NSG 時,Azure 會建立群組的預設安全性規則
DenyAllInbound
。 預設行為是拒絕來自網際網路的所有輸入流量。 如果 NSG 有子網路或 NIC,則子網路或 NIC 的規則可以覆寫預設的 Azure 安全性規則。VM 中子網路的 NSG 輸入規則優先於相同 VM 中 NIC 的 NSG 輸入規則。
輸出流量有效規則
Azure 會先檢查所有 VM 中 NIC 的 NSG 關聯,以處理輸出流量的規則。
建立 NSG 時,Azure 會建立群組的預設安全性規則
AllowInternetOutbound
。 預設行為是允許所有連至網際網路的輸出流量。 如果 NSG 有子網路或 NIC,則子網路或 NIC 的規則可以覆寫預設的 Azure 安全性規則。VM 中 NIC 的 NSG 輸出規則優先於相同 VM 中子網路的 NSG 輸出規則。
建立有效角色時的考量事項
請檢閱下列關於為虛擬網路中機器建立有效安全性規則的考量事項。
考慮允許所有流量。 如果您將虛擬機器放在子網路內或利用網路介面,則不需要將子網路或 NIC 與網路安全性群組建立關聯。 此方法會根據預設的 Azure 安全性規則,允許透過子網路或 NIC 的所有網路流量。 如果您不擔心在特定層級控制資源的流量,請勿將該層級的資源與網路安全性群組建立關聯。
考慮允許規則的重要性。 當您建立網路安全性群組時,您必須為群組中的子網路和網路介面定義允許規則,以確保流量可以通過。 如果您的網路安全性群組中有子網路或 NIC,則必須在每個層級定義允許規則。 否則,針對任何未提供允許規則定義的層級都會拒絕流量。
考慮子網路內部流量。 與子網路相關聯的網路安全性群組安全性規則可能會影響子網路中所有虛擬機器之間的流量。 根據預設,Azure 允許相同子網路中的虛擬機器彼此傳送流量 (稱為子網路內部流量)。 您可以定義網路安全性群組中的規則來拒絕所有輸入和輸出流量,以禁止子網路內部流量。 此規則可防止子網路中的所有虛擬機器彼此通訊。
考慮規則優先順序。 網路安全性群組的安全性規則會依優先順序處理。 若要確保一律處理特定的安全性規則,請將最低的可能優先順序值指派給規則。 最好保留優先順序編號中的間距,例如 100、200、300 等等。 編號中的間距可讓您新增規則,而不需要編輯現有的規則。
檢視有效的安全性規則
如果您有數個網路安全性群組,而且不確定所要套用的安全性規則,您可以使用 Azure 入口網站中的有效的安全性規則連結。 您可以使用連結來確認哪些安全性規則會套用至您的電腦、子網路和網路介面。