網路安全性群組
您可以使用 Azure 網路安全性群組,篩選在 Azure 虛擬網路中往返 Azure 資源間的網路流量。 網路安全性群組包含安全性規則,用來允許或拒絕進出多種 Azure 資源類型的輸入和輸出網路流量。 針對每個規則,您可以指定來源與目的地、連接埠和通訊協定。
本文說明網路安全性群組規則的屬性、套用的預設安全性規則,以及您可修改哪些規則屬性以建立增強型安全性規則。
安全性規則
視 Azure 訂用帳戶限制而定,網路安全性群組可包含多個規則。 每個規則都會指定下列屬性:
屬性 | 說明 |
---|---|
名稱 | 網路安全性群組內的唯一名稱。 名稱長度最多可達 80 個字元。 開頭必須是文字字元,結尾也必須是文字字元或 '_'。 名稱可包含文字字元或 '.'、'-'、'_'。 |
優先順序 | 100 到 4096 之間的數字。 系統會依照優先權順序處理規則,較低的數字會在較高的數字之前處理,因為較低的數字具有較高的優先順序。 一旦流量符合規則,處理就會停止。 因此,如果有較低優先順序 (較高數字) 的規則具有與較高優先順序之規則相同的屬性存在,則不會進行處理。 Azure 預設安全性規則的編號最高,而優先順序最低,以確保一律先處理自訂規則。 |
來源或目的地 | 任何或個別的 IP 位址、無類別網域間路由 (CIDR) 區塊 (例如 10.0.0.0/24)、服務標籤或應用程式安全性群組。 如果您指定 Azure 資源的位址,請指定指派給資源的私人 IP 位址。 在 Azure 將公用 IP 位址轉換為私人 IP 位址以處理輸入流量後,系統才會針對網路安全性群組進行處理;而在將私人 IP 位址轉換為公用 IP 位址以處理輸出流量前,才會針對其進行處理。 當您指定範圍、服務標籤或應用程式安全性群組時,需要較少的安全性規則。 在規則中指定多個個別 IP 位址和範圍 (您無法指定多個服務標籤或應用程式群組) 的功能也稱為增強型安全性規則。 擴增安全性規則只能在透過 Resource Manager 部署模型建立的網路安全性群組中建立。 您無法在透過傳統部署模型建立的網路安全性群組中指定多個 IP 位址和 IP 位址範圍。 如果來源指向子網路 10.0.1.0/24 (VM1 所在的位置),而目的地指向子網路 10.0.2.0/24 (VM2 所在的位置),這表示 NSG 的目的是篩選 VM2 的網路流量,而 NSG 與 VM2 的網路介面相關聯。 |
通訊協定 | [TCP]、[UDP]、[ICMP]、[ESP]、[AH] 或 [任何]。 ESP 和 AH 通訊協定目前無法透過 Azure 入口網站取得,但可透過 ARM 範本使用。 |
方向 | 規則適用於連入還是連出流量。 |
連接埠範圍 | 您可以指定個別連接埠或連接埠範圍。 例如,您可以指定 80 或 10000-10005。 指定範圍讓您可建立較少的安全性規則。 擴增安全性規則只能在透過 Resource Manager 部署模型建立的網路安全性群組中建立。 您無法在透過傳統部署模型建立之網路安全性群組的相同安全性規則中指定多個連接埠與連接埠範圍。 |
動作 | 允許或拒絕 |
安全性規則會根據五元組 (來源、來源連接埠、目的地、目的地連接埠和通訊協定) 資訊進行評估並套用。 您無法使用相同的優先順序和方向建立兩個安全性規則。 會為現有的連線建立流程記錄。 根據流量記錄的連接狀態,允許或拒絕通訊。 流量記錄允許網路安全性群組是具狀態。 例如,如果您針對連接埠 80 的任何位址指定輸出安全性規則,則不需要為輸出流量的回應指定輸入安全性規則。 只有在外部起始通訊時,才需要指定輸入安全性規則。 反之亦然。 如果允許透過連接埠的輸入流量,則不需要指定輸出安全性規則來回應透過連接埠的流量。
當您移除允許連線的安全性規則時,現有的連線可能不會中斷。 修改網路安全性群組規則只會影響新連線。 在網路安全性群組中建立新規則或更新現有的規則時,只會將該規則套用至新的連線。 不會以新的規則對現有的連線進行重新評估。
您可以在網路安全性群組中建立的安全性規則數量有所限制。 如需詳細資訊,請參閱 Azure 限制。
預設安全性規則
Azure 會在您建立的每個網路安全性群組中,建立下列預設規則:
連入
AllowVNetInBound
優先順序 | 來源 | 來源連接埠 | Destination | 目的地連接埠 | 通訊協定 | Access |
---|---|---|---|---|---|---|
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | 任何 | 允許 |
AllowAzureLoadBalancerInBound
優先順序 | 來源 | 來源連接埠 | Destination | 目的地連接埠 | 通訊協定 | Access |
---|---|---|---|---|---|---|
65001 | AzureLoadBalancer | 0-65535 | 0.0.0.0/0 | 0-65535 | 任何 | 允許 |
DenyAllInbound
優先順序 | 來源 | 來源連接埠 | Destination | 目的地連接埠 | 通訊協定 | Access |
---|---|---|---|---|---|---|
65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | 任何 | 拒絕 |
輸出
AllowVnetOutBound
優先順序 | 來源 | 來源連接埠 | Destination | 目的地連接埠 | 通訊協定 | Access |
---|---|---|---|---|---|---|
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | 任何 | 允許 |
AllowInternetOutBound
優先順序 | 來源 | 來源連接埠 | Destination | 目的地連接埠 | 通訊協定 | Access |
---|---|---|---|---|---|---|
65001 | 0.0.0.0/0 | 0-65535 | 網際網路 | 0-65535 | 任何 | 允許 |
DenyAllOutBound
優先順序 | 來源 | 來源連接埠 | Destination | 目的地連接埠 | 通訊協定 | Access |
---|---|---|---|---|---|---|
65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | 任何 | 拒絕 |
在 [來源] 和 [目的地] 欄中,VirtualNetwork、AzureLoadBalancer和 Internet 都是服務標籤,而不是 IP 位址。 在 [通訊協定] 欄中,[任何] 包含 TCP、 UDP 和 ICMP。 建立規則時,您可以指定 [TCP]、[UDP]、[ICMP] 或 [任何]。 [來源] 和 [目的地] 欄中的 0.0.0.0/0 代表所有位址。 用戶端 (例如 Azure 入口網站、Azure CLI 或 PowerShell) 可以使用 * 或任何表示此運算式。
您無法移除預設規則,但可以建立較高優先順序的規則來覆寫預設規則。
增強型安全性規則
增強型安全性規則可簡化虛擬網路的安全性定義,讓您定義更大且複雜的網路安全性原則 (但規則比較少)。 您可以將多個連接埠和多個明確 IP 位址與範圍,合併成易於了解的單一安全性規則。 在規則的來源、目的地和連接埠欄位中使用增強型規則。 若要簡化安全性規則定義的維護,請合併增強型安全性規則與服務標籤或應用程式安全性群組。 您可以在規則中指定的位址、範圍和連接埠數量會有所限制。 如需詳細資訊,請參閱 Azure 限制。
服務標籤
服務標籤代表來自指定 Azure 服務的一組 IP 位址首碼。 這有助於將網路安全性規則頻繁更新造成的複雜性降到最低。
如需詳細資訊,請參閱 Azure 服務標記。 如需如何使用儲存體服務標記來限制網路存取的範例,請參閱限制對 PaaS 資源的網路存取。
應用程式安全性群組
應用程式安全性群組可讓您將網路安全性設定為應用程式結構的自然延伸,以便分組虛擬機器,並定義以那些群組為基礎的網路安全性原則。 您可以大規模重複使用您的安全性原則,而不需進行明確 IP 位址的手動維護。 若要深入了解,請參閱應用程式安全性群組。
Azure 平台的考量
主機節點的虛擬 IP:基本的基礎結構服務,例如 DHCP、DNS、IMDS 和健康情況監控是透過虛擬化主機 IP 位址 168.63.129.16 和 169.254.169.254 所提供。 這些 IP 位址屬於 Microsoft,而且是針對此目的唯一用於所有地區的虛擬 IP。 根據預設,除非以每個服務特定的服務標籤為目標,否則這些服務不會受限於設定的網路安全性群組。 若要覆寫此基本基礎結構通訊,您可以使用下列網路安全性群組規則的服務標記,藉此建立安全性規則以拒絕流量: AzurePlatformDNS、AzurePlatformIMDS、AzurePlatformLKM。 了解如何診斷網路流量篩選及診斷網路路由。
授權 (金鑰管理服務):必須授權在虛擬機器中執行的 Windows 映像。 若要確保授權,授權要求會傳送至處理此類查詢的金鑰管理服務主機伺服器。 此要求是透過連接埠 1688 輸出。 若為使用預設路由 0.0.0.0/0組態的部署,將會停用此平台規則。
負載平衡集區中的虛擬機器:套用的來源連接埠和位址範圍是來自原始電腦,而不是負載平衡器。 目的地連接埠和位址範圍屬於目的地電腦,而不是負載平衡器。
Azure 服務執行個體:虛擬網路子網路中會部署數個 Azure 服務的執行個體,例如 HDInsight、應用程式服務環境及虛擬機器擴展集。 如需您可以部署到虛擬網路的完整服務清單,請參閱 Azure 服務的虛擬網路。 將網路安全性群組套用至部署資源的子網路之前,請先熟悉每個服務的連接埠需求。 如果您拒絕服務所需要的連接埠,服務就無法正常運作。
傳送外寄電子郵件:Microsoft 建議您利用已驗證的 SMTP 轉送服務 (通常透過 TCP 連接埠 587 連線,但也可透過其他連接埠連線),從 Azure 虛擬機器傳送電子郵件。 SMTP 轉送服務是專為寄件者信譽所設計,可將第三方電子郵件提供者拒絕訊息的可能性降到最低。 這類 SMTP 轉送服務包括但不限於 Exchange Online Protection 和 SendGrid。 不論您的訂用帳戶類型為何,在 Azure 中使用 SMTP 轉送服務不受限制。
如果您在 2017 年 11 月 15 日前建立了 Azure 訂用帳戶,除了能夠使用 SMTP 轉送服務,您還可以直接透過 TCP 連接埠 25 傳送電子郵件。 如果您在 2017 年 11 月 15 日後建立了訂用帳戶,您可能無法直接透過連接埠 25 傳送電子郵件。 透過連接埠 25 的連出通訊行為取決於您擁有的訂用帳戶類型,如下所示:
Enterprise 合約:針對部署在標準 Enterprise 合約訂用帳戶中的 VM,將不會封鎖 TCP 通訊埠 25 上的輸出 SMTP 連線。 但是,不保證外部網域會接受來自 VM 的傳入電子郵件。 如果您的電子郵件已由外部網域拒絕或篩選,您應聯繫外部網域的電子郵件服務提供者來解決問題。 Azure 支援不會涵蓋這些問題。
針對 Enterprise 開發/測試訂用帳戶,預設會封鎖連接埠 25。 您可能可以移除此區塊。 若想要求移除區塊,請移至 Azure 入口網站的 Azure 虛擬網路資源,在 [診斷和解決] 設定頁面的 [無法傳送電子郵件 {SMTP-Port 25}] 執行診斷。 這會自動免除符合資格的企業開發/測試訂用帳戶。
在訂用帳戶受到此區豁免,而且停止然後啟動 VM 之後,該訂用帳戶內的所有 VM 之後都會受到豁免。 豁免僅適用於要求的訂用帳戶,且僅適用於直接路由至網際網路的虛擬機器流量。
隨用隨付:所有資源的輸出連接埠 25 通訊都遭到封鎖。 無法進行任何移除限制的要求,因為要求未獲授權。 如果您必須從虛擬機器傳送電子郵件,就必須使用 SMTP 轉送服務。
MSDN、Azure Pass、Azure in Open、Education 和免費試用:所有資源的輸出連接埠 25 通訊都遭到封鎖。 無法進行任何移除限制的要求,因為要求未獲授權。 如果您必須從虛擬機器傳送電子郵件,就必須使用 SMTP 轉送服務。
雲端服務提供者:所有資源的輸出連接埠 25 通訊都遭到封鎖。 無法進行任何移除限制的要求,因為要求未獲授權。 如果您必須從虛擬機器傳送電子郵件,就必須使用 SMTP 轉送服務。
下一步
- 若要了解虛擬網路中可部署哪些 Azure 資源,並使這些資源與網路安全性群組產生關聯,請參閱 Azure 服務的虛擬網路整合
- 若要了解如何使用網路安全性群組來評估流量,請參閱網路安全性群組的運作方式。
- 如果您從未建立過網路安全性群組,可以完成快速教學課程,以取得一些建立體驗。
- 如果您熟悉網路安全性群組,並且有管理需求,請參閱管理網路安全性群組。
- 如果您有通訊問題,因而需要對網路安全性群組進行疑難排解,請參閱診斷虛擬機器網路流量篩選問題。
- 了解如何啟用網路安全性群組流量記錄,分析進出與網路安全性群組相關聯資源的網路流量。