您可以使用 Azure 網路安全性群組,篩選在 Azure 虛擬網路中往返 Azure 資源間的網路流量。 網路安全性群組包含安全性規則,用來允許或拒絕進出多種 Azure 資源類型的輸入和輸出網路流量。 針對每個規則,您可以指定來源與目的地、連接埠和通訊協定。
本文說明網路安全組規則的屬性,以及 Azure 所套用 的預設安全性規則 。 它也描述如何修改規則屬性,以建立 增強式安全性規則。
安全性規則
視 Azure 訂用帳戶限制而定,網路安全性群組可包含多個規則。 每個規則都會指定下列屬性:
屬性 | 說明 |
---|---|
名稱 | 網路安全性群組內的唯一名稱。 名稱長度最多可達 80 個字元。 開頭必須是文字字元,結尾必須是文字字元或 _ 。 名稱可以包含字元或. 、- 、\_ 。 |
優先順序 | 100 到 4096 之間的數字。 系統會依照優先權順序處理規則,較低的數字會在較高的數字之前處理,因為較低的數字具有較高的優先順序。 一旦流量符合規則,處理就會停止。 因此,不會處理優先順序較低(數字較高)且具有與優先順序較高(數字較低)的規則相同屬性的任何規則。 為確保自訂規則始終優先處理,Azure 預設安全性規則被賦予最低的優先順序(最高的數字)。 |
來源或目的地 | 您可以指定 Any、個別 IP 位址、CIDR 區塊(例如 10.0.0.0/24)、服務標記或應用程式安全組。 針對 Azure 資源,請使用指派給資源的私人 IP 位址。 在 Azure 將公用 IP 位址轉譯為輸入流量的私人 IP 位址之後,網路安全組會處理流量。 他們會先處理流量,再將私人IP位址轉譯為輸出流量的公用IP位址。 輸入範圍、服務標籤或應用程式安全組,以減少所需的安全性規則數目。 增強式安全性規則允許在單一規則中指定多個個別IP位址和範圍。 不過,您無法在單一規則中指定多個服務標籤或應用程式群組。 增強型安全性規則僅適用於透過 Resource Manager 部署模型建立的網路安全組。 在傳統部署模型中,無法在單一規則中指定多個IP位址和範圍。 如果來源是子網 10.0.1.0/24(VM1 所在的位置),而目的地為子網 10.0.2.0/24(VM2 所在的位置),網路安全組會篩選 VM2 的流量。 發生此行為是因為 NSG 與 VM2 的網路介面相關聯。 |
通訊協定 | [TCP]、[UDP]、[ICMP]、[ESP]、[AH] 或 [任何]。 ESP 和 AH 通訊協定目前無法透過 Azure 入口網站取得,但可透過 ARM 範本使用。 |
方向 | 規則是否套用至輸入或輸出流量。 |
連接埠範圍 | 您可以指定個別連接埠或連接埠範圍。 例如,您可以指定 80 或 10000-10005。 指定範圍讓您可建立較少的安全性規則。 擴增安全性規則只能在透過 Resource Manager 部署模型建立的網路安全性群組中建立。 您無法在透過傳統部署模型建立之網路安全性群組的相同安全性規則中指定多個連接埠與連接埠範圍。 |
動作 | 允許或拒絕 |
安全性規則會根據五元組 (來源、來源連接埠、目的地、目的地連接埠和通訊協定) 資訊進行評估並套用。 您無法使用相同的優先順序和方向建立兩個安全性規則。 會為現有的連線建立流程記錄。 根據流量記錄的連接狀態,允許或拒絕通訊。 流量紀錄允許網路安全群組有狀態記錄。 例如,如果您針對連接埠 80 的任何位址指定輸出安全性規則,則不需要為輸出流量的回應指定輸入安全性規則。 只有在外部起始通訊時,才需要指定輸入安全性規則。 反之亦然。 如果允許透過連接埠的輸入流量,則不需要指定輸出安全性規則來回應透過連接埠的流量。
當您移除允許連線的安全性規則時,現有的聯機會保持不中斷。 網路安全組規則只會影響新的連線。 網路安全組中的新規則或更新的規則會完全套用至新的連線,讓現有連線不受變更影響。
您可以在網路安全性群組中建立的安全性規則數量有所限制。 如需詳細資訊,請參閱 Azure 限制。
預設安全性規則
Azure 會在您建立的每個網路安全性群組中,建立下列預設規則:
輸入
AllowVNetInBound
優先順序 | 來源 | 來源連接埠 | 目的地 | 目的地連接埠 | 通訊協定 | 存取權 |
---|---|---|---|---|---|---|
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | 任何 | 允許 |
AllowAzureLoadBalancerInBound
優先順序 | 來源 | 來源連接埠 | 目的地 | 目的地連接埠 | 通訊協定 | 存取 |
---|---|---|---|---|---|---|
65001 | AzureLoadBalancer | 0-65535 | 0.0.0.0/0 | 0-65535 | 任何 | 允許 |
DenyAllInbound
優先順序 | 來源 | 來源連接埠 | 目的地 | 目的地港口 | 通訊協定 | 存取 |
---|---|---|---|---|---|---|
65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | 任何 | 拒絕 |
輸出
AllowVnetOutBound
優先順序 | 來源 | 來源端口 | 目的地 | 目的地港口 | 通訊協定 | 存取 |
---|---|---|---|---|---|---|
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | 任何 | 允許 |
AllowInternetOutBound
優先順序 | 來源 | 來源連接埠 | 目的地 | 目的地連接埠 | 通訊協定 | 存取 |
---|---|---|---|---|---|---|
65001 | 0.0.0.0/0 | 0-65535 | 網際網路 | 0-65535 | 任何 | 允許 |
DenyAllOutBound
優先順序 | 來源 | 來源連接埠 | 目的地 | 目的地港口 | 通訊協定 | 存取 |
---|---|---|---|---|---|---|
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 服務的虛擬網路整合 ,以了解網路安全組如何與其建立關聯。
若要了解如何使用網路安全性群組來評估流量,請參閱網路安全性群組的運作方式。
遵循本快速入門 教學課程,建立網路安全組。
如果您熟悉網路安全性群組,並且有管理需求,請參閱管理網路安全性群組。
如果您有通訊問題,因而需要對網路安全性群組進行疑難排解,請參閱診斷虛擬機器網路流量篩選問題。
了解如何啟用網路安全性群組流量記錄,分析進出與網路安全性群組相關聯資源的網路流量。