若要保護 Azure 應用程序工作負載,可以在應用程序本身使用保護措施,例如身份驗證和加密。 還可以將安全層添加到托管應用程序的 (VM) 虛擬機。 層保護來自用戶的入站流。 它們還保護應用程序可能需要的到 Internet 的出站流。 本文介紹 Azure 虛擬網絡 安全服務(例如 Azure 防火墻 和 Azure 應用程序網關、何時使用每個服務)以及組合兩者的網絡設計選項。
Azure 防火墻托管的下一代防火墻,它通過 NAT (網絡地址) 。 Azure 防火墻基于 Internet 協(xié)議 (IP) 地址以及傳輸控制協(xié)議和用戶數(shù)據報協(xié)議 (TCP/UDP) 端口,或基于應用程序的 HTTP (S) 或 SQL 屬性進行數(shù)據包篩選。 Azure 防火墻 Microsoft 威脅情報來識別惡意 IP 地址。 有關詳細信息,請參閱 Azure 防火墻 文檔。
Azure 防火墻 高級版包括標準Azure 防火墻的所有功能以及其他功能,例如 TLS 檢查和入侵檢測和保護系統(tǒng) (IDPS) 。
Azure 應用程序網關 托管 Web 流量負載均衡器以及 HTTP (S) 完全反向代理,可以執(zhí)行安全套接字層 (SSL) 加密和解密。 應用程序網關還使用 Web 應用程序防火墻來檢查 Web 流量并檢測 HTTP 層上的攻擊。 有關詳細信息,請參閱應用程序 網關文檔。
Azure Web 應用程序防火墻 (WAF) 是一項可選添加Azure 應用程序網關。 它提供對 HTTP 請求的檢查,并防止 Web 層上的惡意攻擊,例如SQL注入或跨站點腳本。 有關詳細信息,請參閱 Web 應用程序防火墻文檔。
這些 Azure 服務是互補的。 其中一種可能最適合工作負荷,也可以將它們一起用于網絡層和應用程序層的最佳保護。 使用以下決策樹和本文中的示例來確定應用程序虛擬網絡的最佳安全選項。
Azure 防火墻Azure 應用程序網關使用不同的技術,并且它們支持不同流的安全化:
應用程序Flow | 可以按Azure 防火墻 | 可以通過應用程序網關上的 WAF 進行篩選 |
---|---|---|
HTTP (S) 從本地/Internet 到 Azure 的流量 (入站) | 是 | 是 |
HTTP (S) 從 Azure 到本地/Internet 的流量 (出站) | 是 | 否 |
非 HTTP (S) 流量、入站/出站 | 是 | 否 |
根據應用程序所需的網絡流,設計可能因應用程序不同而不同。 下圖提供了一個簡化的決策樹,可幫助選擇應用程序的建議方法。 決策取決于應用程序是通過 HTTP (S) 還是某些其他協(xié)議發(fā)布:
本文將介紹流程圖中廣泛推薦的設計,以及適用于不太常見方案其他設計:
Azure 防火墻虛擬網絡中不存在 Web 應用程序時,單獨使用 。 它將控制到應用程序的入站流量和出站流量。
僅應用程序網關,當只有 Web 應用程序在虛擬網絡中,并且網絡安全組 (NSG ) 提供足夠的輸出篩選。 通常不建議使用此方案,因為 NSG 上具有Azure 防火墻功能。 該功能可以防止許多攻擊 (例如數(shù)據外泄) ,因此,上述流程圖中未記錄此方案。
Azure 防火墻應用程序網關并行運行,這是最常見的設計之一。 當你希望保護 HTTP Azure 應用程序網關 S (應用程序) Web 攻擊,Azure 防火墻保護所有其他工作負荷并篩選出站流量時,請使用此組合。
應用程序網關位于Azure 防火墻,當你想要Azure 防火墻檢查所有流量時,WAF 用于保護 Web 流量,應用程序知道客戶端的源 IP 地址。 通過Azure 防火墻 高級版和 TLS 檢查,此設計還支持端到端 SSL 方案。
Azure 防火墻網關的前面,Azure 防火墻在流量到達應用程序網關之前檢查和篩選流量。 由于Azure 防火墻不會解密 HTTPS 流量,因此它添加到應用程序網關的功能會受到限制。 此方案未記錄在以上流程圖中。
本文的最后一部分介紹了以前基本設計的變體。 這些變體包括:
本地應用程序客戶端。
中心和分支網絡。
Azure Kubernetes 服務 (AKS) 實現(xiàn)。
可以添加其他反向代理服務,例如 API Management網關或 Azure Front Door。 或者,可以將 Azure 資源替換為第三 方網絡虛擬設備。
如果虛擬網絡中沒有任何可受益于 WAF 的基于 Web 的工作負荷,則只能Azure 防火墻。 在這種情況下,設計很簡單,但查看數(shù)據包流將有助于了解更復雜的設計。
下表總結了此方案的流量流:
流向 | 通過應用程序網關/WAF | 完成Azure 防火墻 |
---|---|---|
HTTP (S) Internet/onprem 到 Azure 的流量 | 空值 | 是 (請參閱下面的) |
HTTP (S) Azure 到 Internet/onprem 的流量 | 空值 | 是 |
非 HTTP (S) Internet/onprem 到 Azure 的流量 | 空值 | 是 |
非 HTTP (S) Azure 到 Internet/onprem 的流量 | 空值 | 是 |
Azure 防火墻不會檢查入站 HTTP (S) 流量。 但它將能夠應用 L3/L4 規(guī)則和基于 FQDN 的應用程序規(guī)則。 Azure 防火墻檢查出站 HTTP (S) 流量,具體取決于Azure 防火墻層以及是否配置 TLS 檢查:
Azure 防火墻標準僅檢查網絡規(guī)則中數(shù)據包的 3-4 層屬性,以及應用程序規(guī)則中的主機 HTTP 標頭。
Azure 防火墻 高級版添加一些功能,例如檢查其他 HTTP 標頭 (如用戶代理) 啟用 TLS 檢查,以便進行更深入的數(shù)據包分析。 Azure 防火墻不等同于 Web 應用程序防火墻。 如果虛擬網絡中具有 Web 工作負載,強烈建議使用 WAF。
下面的數(shù)據包演練示例演示客戶端如何從公共 Internet 訪問 VM 托管的應用程序。 為簡單起見,該圖僅包含一個 VM。 為了提高可用性和可伸縮性,負載均衡器后面會有多個應用程序實例。
客戶端啟動與客戶端的公共 IP 地址Azure 防火墻:
源 IP 地址:ClientPIP
目標 IP 地址:AzFwPIP
AZURE 防火墻目標 NAT (DNAT) 規(guī)則 將目標 IP 地址轉換為虛擬網絡中的應用程序 IP 地址。 如果Azure 防火墻 為 DNAT, (SNAT) SNAT 的源 NAT。 有關詳細信息,請參閱Azure 防火墻 已知問題。 VM 在傳入數(shù)據包中看到以下 IP 地址:
源 IP 地址:192.168.100.7
目標 IP 地址:192.168.1.4
VM 會響應應用程序請求,并反轉源和目標 IP 地址。 入站流不需要用戶定義的路由 (UDR) ,因為源 IP Azure 防火墻 IP 地址。 圖中 0.0.0.0/0 的 UDR 用于出站連接,以確保發(fā)往公共 Internet 的數(shù)據包通過Azure 防火墻。
源 IP 地址:192.168.1.4
目標 IP 地址:192.168.100.7
最后,Azure 防火墻會撤消 SNAT 和 DNAT 操作,并將響應傳遞給客戶端:
源 IP 地址: AzFwPIP
目標 IP 地址: ClientPIP
在此設計中,Azure 防火墻使用 UDR 檢查來自公共 internet 的傳入連接和來自應用程序子網 VM 的出站連接。
IP 地址 192.168.100.7
是 Azure 防火墻服務在其中部署的一個實例,其中包含前端 IP 地址 192.168.100.4
。 Azure 管理員通常不會看到這些單獨的實例。 但請注意,在某些情況下,這種區(qū)別很有用,例如,在對網絡問題進行故障排除時。
如果流量來自本地虛擬專用網絡 (VPN) 或 Azure ExpressRoute 網關而不是 internet,則客戶端將啟動到 VM 的 IP 地址的連接。 它不會啟動與防火墻的 IP 地址的連接,并且每個默認情況下,防火墻將不執(zhí)行源 NAT。
此設計涵蓋了虛擬網絡中僅存在 web 應用程序的情況,并且通過 Nsg 檢查出站流量足以保護出站流到 internet。
備注
這不是一種建議的設計,因為使用 Azure 防火墻來控制出站流 (而不是僅 Nsg) 將阻止某些攻擊方案,例如 data 滲透,這會確保工作負荷僅將數(shù)據發(fā)送到已批準的 Url 列表。
與以前的設計相比,只有 Azure 防火墻的主要區(qū)別是,應用程序網關不能充當帶有 NAT 的路由設備。 它表現(xiàn)為完整的反向應用程序代理。 也就是說,應用程序網關會從客戶端停止 web 會話,并使用其后端服務器之一建立單獨的會話。
下表匯總了流量流:
流向 | 通過應用程序網關/WAF | 通過 Azure 防火墻 |
---|---|---|
HTTP (S) 從 internet/onprem 到 Azure 的流量 | 是 | 空值 |
HTTP (S) 從 Azure 到 internet/onprem 的流量 | 否 | 空值 |
非 HTTP (S) 從 internet/onprem 到 Azure 的流量 | 否 | 空值 |
非 HTTP (S) 從 Azure 到 internet/onprem 的流量 | 否 | 空值 |
以下數(shù)據包審核示例演示客戶端如何從公共 internet 訪問 VM 托管的應用程序。
客戶端開始連接到 Azure 應用程序網關的公共 IP 地址:
源 IP 地址: ClientPIP
目標 IP 地址: AppGwPIP
接收請求的應用程序網關實例將停止來自客戶端的連接,并與一個后端建立新連接。 后端會將應用程序網關實例視為源 IP 地址。 應用程序網關插入帶有原始客戶端 IP 地址 的 X 轉發(fā)的 HTTP 標頭。
源 IP 地址: 192.168.200.7 (應用程序網關實例的專用 IP 地址)
目標 IP 地址:192.168.1。4
X 轉發(fā)的標頭: ClientPIP
VM 會應答應用程序請求,并反向源和目標 IP 地址。 VM 已知道如何訪問應用程序網關,因此不需要 UDR。
源 IP 地址:192.168.1。4
目標 IP 地址:192.168.200。7
最后,應用程序網關實例會應答客戶端:
源 IP 地址: AppGwPIP
目標 IP 地址: ClientPIP
Azure 應用程序網關會將元數(shù)據添加到數(shù)據包 HTTP 標頭,如包含原始客戶端 IP 地址的 X 轉發(fā)的 標頭。 某些應用程序服務器需要源客戶端 IP 地址來提供地理位置特定的內容,或用于日志記錄。 有關詳細信息,請參閱應用程序網關的工作原理。
IP 地址 192.168.200.7
是 Azure 應用程序網關服務在其中部署的一個實例,其中包含前端 IP 地址 192.168.200.4
。 Azure 管理員通常不會看到這些單獨的實例。 但請注意,在某些情況下,這種區(qū)別很有用,例如,在對網絡問題進行故障排除時。
如果客戶端來自于 VPN 或 ExpressRoute 網關的本地網絡,則流類似。 不同之處在于,客戶端訪問應用程序網關的專用 IP 地址,而不是公共地址。
由于其簡易性和靈活性,并行運行應用程序網關和 Azure 防火墻通常是最佳方案。
如果在虛擬網絡中混合使用 web 工作負載和非 web 工作負載,則可實現(xiàn)此設計。 Azure WAF 保護發(fā)往 web 工作負荷的入站流量,Azure 防火墻將檢查其他應用程序的入站流量。 Azure 防火墻將涵蓋這兩種工作負荷類型的出站流。
下表總結了這種情況下的流量:
流向 | 通過應用程序網關/WAF | 通過 Azure 防火墻 |
---|---|---|
HTTP (S) 從 internet/onprem 到 Azure 的流量 | 是 | 否 |
HTTP (S) 從 Azure 到 internet/onprem 的流量 | 否 | 是 |
非 HTTP (S) 從 internet/onprem 到 Azure 的流量 | 否 | 是 |
非 HTTP (S) 從 Azure 到 internet/onprem 的流量 | 否 | 是 |
此設計比 Nsg 提供更精細的出口篩選。 如果應用程序需要連接到特定的 Azure 存儲帳戶,則可以使用 完全限定的域名 (基于 FQDN) 的篩選器。 對于基于 FQDN 的篩選器,應用程序不會將數(shù)據發(fā)送到惡意存儲帳戶。 只能使用 Nsg 阻止該方案。 此設計通常用于出站流量需要基于 FQDN 的篩選的位置。 一個例子就是 限制來自 Azure Kubernetes 服務群集的出口流量。
下圖說明了來自外部客戶端的入站連接的流量流:
下圖說明了從網絡 Vm 到 internet 的出站連接的流量流。 例如,連接到后端系統(tǒng)或獲取操作系統(tǒng)更新:
每個服務的數(shù)據包流步驟與以前的獨立設計選項相同。
在此選項中,入站 web 流量通過 Azure 防火墻和 WAF。 WAF 提供 web 應用程序層保護。 Azure 防火墻充當中心日志記錄和控制點,并檢查應用程序網關和后端服務器之間的流量。 應用程序網關和 Azure 防火墻并不并行,而是另一個。
利用azure 防火墻高級版,這種設計可以支持端到端方案,在此方案中,Azure 防火墻應用 TLS 檢查來對應用程序網關和 web 后端之間的加密流量進行 idp。
此設計適用于需要了解傳入客戶端源 IP 地址的應用程序,例如,用于提供地理位置特定的內容或用于日志記錄。 Azure 防火墻 SNATs 傳入流量,從而更改原始源 IP 地址。 Azure 防火墻前面的應用程序網關在 X 轉發(fā) 的標頭中捕獲傳入數(shù)據包的源 IP 地址,以便 web 服務器可以在此標頭中看到原始 IP 地址。 有關詳細信息,請參閱應用程序網關的工作原理。
下表總結了此方案的流量流:
流向 | 通過應用程序網關/WAF | 完成Azure 防火墻 |
---|---|---|
HTTP (S) Internet/onprem 到 Azure 的流量 | 是 | 是 |
HTTP (S) Azure 到 Internet/onprem 的流量 | 否 | 是 |
非 HTTP (S) Internet/onprem 到 Azure 的流量 | 否 | 是 |
非 HTTP (S) Azure 到 Internet/onprem 的流量 | 否 | 是 |
對于從本地或 Internet 到 Azure 的 Web 流量,Azure 防火墻將檢查 WAF 已允許的流。 根據應用程序網關是否加密后端流量 (從應用程序網關到應用程序服務器) 流量,你將有兩種不同的可能方案:
應用程序網關按照零信任原則加密流量 (端到端 TLS 加密) ,Azure 防火墻接收加密的流量。 不過,Azure 防火墻標準版將能夠應用檢查規(guī)則,例如網絡規(guī)則中的 L3/L4 篩選,或者使用 TLS 服務器名稱指示 (SNI) 標頭在應用程序規(guī)則中篩選 FQDN。 Azure 防火墻 高級版IDPS 提供更深入的可見性,例如基于 URL 的篩選。
如果應用程序網關將未加密的流量發(fā)送到應用程序服務器,Azure 防火墻將看到以純文本格式的入站流量。 在中不需要 TLS Azure 防火墻。
如果 IDPS 在 Azure 防火墻中啟用,它將驗證 HTTP 主機標頭是否與目標 IP 匹配。 為此,它將需要主機標頭中指定的 FQDN 的名稱解析。 此名稱解析可以通過使用 Azure DNS 專用區(qū)域 和默認 Azure 防火墻 DNS 設置Azure DNS。 此外,還可通過自定義 DNS 服務器實現(xiàn)此目的,這些服務器需要在設置Azure 防火墻配置。 (有關詳細信息,請參閱 Azure 防火墻 DNS設置.) 如果沒有對部署 Azure 防火墻 的虛擬網絡的管理訪問權限,則只能使用后一種方法。 例如,在虛擬 WAN 安全中心部署 Azure 防火墻。
對于流的其余部分 (入站非 HTTP (S) 流量和任何出站流量) ,Azure 防火墻 將在適當?shù)臅r候提供 IDPS 檢查和 TLS 檢查。 它還在基于 DNS 的網絡規(guī)則中提供基于 FQDN 的篩選。
來自公共 Internet 的網絡流量遵循以下流程:
客戶端啟動與客戶端的公共 IP 地址Azure 應用程序網關:
源 IP 地址:ClientPIP
目標 IP 地址:AppGwPIP
應用程序網關實例停止來自客戶端的連接,并建立與其中一個后端的新連接。 應用程序網關子網中的 UDR 將數(shù)據包轉發(fā)到 192.168.1.0/24
Azure 防火墻,同時將目標 IP 保留到 Web 應用程序:
源 IP 地址:192.168.200.7 (應用程序網關實例實例的專用 IP)
目標 IP 地址:192.168.1.4
X-Forwarded-For 標頭:ClientPIP
Azure 防火墻不會對流量進行 SNAT,因為流量將進入專用 IP 地址。 如果規(guī)則允許,它會將流量轉發(fā)到應用程序 VM。 有關詳細信息,請參閱 Azure 防火墻SNAT。
源 IP 地址:192.168.200.7 (應用程序網關實例實例的專用 IP)
目標 IP 地址:192.168.1.4
X-Forwarded-For 標頭:ClientPIP
VM 會響應請求,并反轉源和目標 IP 地址。 用于捕獲發(fā)回應用程序網關的數(shù)據包的 UDR,將其重定向到Azure 防火墻,同時將目標 IP 保留 192.168.200.0/24
到應用程序網關。
源 IP 地址:192.168.1.4
目標 IP 地址:192.168.200.7
此處Azure 防火墻不會對流量進行 SNAT,因為它將進入專用 IP 地址,并且將流量轉發(fā)到應用程序網關。
源 IP 地址:192.168.1.4
目標 IP 地址:192.168.200.7
最后,應用程序網關實例回答客戶端:
源 IP 地址:AppGwPIP
目標 IP 地址:ClientPIP
從 VM 到公共 Internet 的出站流Azure 防火墻 UDR 定義的到 0.0.0.0/0
。
此設計Azure 防火墻在惡意流量到達應用程序網關之前進行篩選和丟棄。 例如,它可以應用基于威脅情報的篩選等功能。 另一個好處是,應用程序為入站和出站流量獲取相同的公共 IP 地址。
此方案的好處有限,因為Azure 防火墻只會看到發(fā)到應用程序網關的加密流量。 在某些情況下,此設計是首選。 例如,如果網絡服務器中較早有另一個 WAF (,則Azure Front Door) 。 或者,如果需要多個公共 IP 地址,則設計是首選。
下表總結了此方案的流量流:
流向 | 通過應用程序網關/WAF | 完成Azure 防火墻 |
---|---|---|
HTTP (S) Internet/onprem 到 Azure 的流量 | 是 | 是 (請參閱下面的) |
HTTP (S) Azure 到 Internet/onprem 的流量 | 否 | 是 |
非 HTTP (S) Internet/onprem 到 Azure 的流量 | 否 | 是 |
非 HTTP (S) Azure 到 Internet/onprem 的流量 | 否 | 是 |
對于入站 HTTP (S) 流量,Azure 防火墻通常不會解密流量。 而是應用不需要 TLS 檢查的 IDPS 策略,例如基于 IP 的篩選或 HTTP 標頭。
應用程序看不到 Web 流量的原始源 IP 地址;Azure 防火墻數(shù)據包進入虛擬網絡時進行 SNAT。 若要避免此問題,請使用 Azure Front Door 前面的防火墻。 Azure Front Door在客戶端進入 Azure 虛擬網絡之前,將客戶端的 IP 地址作為 HTTP 標頭注入。
來自公共 Internet 的網絡流量遵循以下流程:
客戶端啟動與客戶端的公共 IP 地址Azure 防火墻:
源 IP 地址:ClientPIP
目標 IP 地址:AzFWPIP
該Azure 防火墻 WEB 端口(通常為 TCP 443)連接到應用程序網關實例的專用 IP 地址。 Azure 防火墻 DNAT 時也使用 SNAT。 有關詳細信息,請參閱Azure 防火墻 已知問題:
源 IP 地址:192.168.100.7 (實例的專用 IP Azure 防火墻地址)
目標 IP 地址:192.168.200.4
應用程序網關在處理連接的實例與后端服務器之一之間建立一個新會話。 客戶端的原始 IP 地址不在數(shù)據包中:
源 IP 地址:192.168.200.7 (應用程序網關實例實例的專用 IP)
目標 IP 地址:192.168.1.4
X-Forwarded-For 標頭:192.168.100.7
VM 會回答應用程序網關,并反轉源和目標 IP 地址:
源 IP 地址:192.168.1.4
目標 IP 地址:192.168.200.7
應用程序網關回復實例的 SNAT Azure 防火墻 IP 地址。 即使連接來自特定的應用程序網關實例(如 )Azure 防火墻應用程序網關的內部 IP 地址 .7
.4
作為源 IP:
源 IP 地址:192.168.200.4
目標 IP 地址:192.168.100.7
最后,Azure 防火墻 SNAT 和 DNAT 并回答客戶端:
源 IP 地址:AzFwPIP
目標 IP 地址:ClientPIP
即使應用程序網關沒有為應用程序配置偵聽器,它仍然需要公共 IP 地址,以便 Microsoft 可以管理它。
備注
不支持應用程序網關子網中指向 Azure 防火墻 的默認路由,因為它會中斷正確操作應用程序所需的控制平面 0.0.0.0/0
Azure 應用程序網關。
上述設計都顯示來自公共 Internet 的應用程序客戶端。 本地網絡也會訪問應用程序。 上述大部分信息和流量流與 Internet 客戶端相同,但存在一些明顯的差異:
VPN 網關或 ExpressRoute 網關位于 Azure 防火墻 或應用程序網關的前面。
WAF 使用應用程序網關的專用 IP 地址。
Azure 防火墻專用 IP 地址不支持 DNAT。 因此,必須使用 UDR 將入站流量發(fā)送到Azure 防火墻 VPN 或 ExpressRoute 網關的流量。
請確保驗證有關事件 和 的強制 隧道 Azure 應用程序網關注意事項 Azure 防火墻。 即使工作負荷不需要到公共 Internet 的出站連接,也無法為應用程序網關注入指向本地網絡的默認路由,否則會中斷控制流量。 0.0.0.0/0
對于Azure 應用程序網關,默認路由需要指向公共 Internet。
下圖顯示了并行Azure 應用程序網關Azure 防火墻設計。 應用程序客戶端來自通過 VPN 或 ExpressRoute 連接到 Azure 的本地網絡:
即使所有客戶端都位于本地或 Azure 中,Azure 應用程序網關Azure 防火墻都需要具有公共 IP 地址。 公共 IP 地址允許 Microsoft 管理服務。
本文中的設計仍 適用于中心分支 拓撲。 中心虛擬網絡中的共享資源通過虛擬網絡對等互連連接到單獨分支虛擬網絡中的應用程序。
此拓撲的一些注意事項包括:
該Azure 防火墻部署在中心虛擬網絡中。 不過,應用程序團隊通常管理Azure 應用程序網關或 Azure API Management網關等組件。 這些組件部署在分支虛擬網絡中。
特別注意分支網絡中 UDR:當分支中的應用程序服務器接收來自特定 Azure 防火墻 實例的流量(如前面的示例中的地址)時,它應發(fā)送回同一實例的返回 192.168.100.7
流量。 如果分支中的 UDR 將發(fā)送到中心的流量的下一躍點設置到) 上圖中的 Azure 防火墻 IP 地址 (,則返回數(shù)據包最終可能會在不同的 Azure 防火墻 實例上, 192.168.100.4
從而導致非對稱路由。 確保分支 VNet 中具有 UDR,以通過 Azure 防火墻 將流量發(fā)送到中心中的共享服務,則這些 UDR 不包含 Azure 防火墻 子網的前綴。
前面的建議同樣適用于應用程序網關子網以及可能部署在中心 VNet 中的其他任何網絡虛擬設備或反向代理。
無法為應用程序網關設置下一躍點,或Azure 防火墻下一躍點類型為 的靜態(tài)路由設置子網 Virtual Network
。 此下一躍點類型僅在本地 VNet 中有效,在 VNet 對等互連中無效。 有關用戶定義的路由和下一躍點類型的信息,請參閱 虛擬網絡流量路由。
下圖顯示了分支如何將 SNA 點流量發(fā)回到該分支的 ALB Azure 防火墻。 此設置會導致非對稱路由:
若要解決此問題,請定義分支中的 UDR,Azure 防火墻子網,但僅定義共享服務所在的子網。 在示例中,分支中的正確 UDR 應僅包含 192.168.1.0/24。 它不應包含整個 192.168.0.0/16,用紅色標記。
可以將 Azure 防火墻 Azure 應用程序網關與其他 Azure 產品和服務集成。
將反向代理服務 (API Management 網關)集成到以前的設計中,以提供 API 限制或身份驗證代理等功能。 集成API Management網關不會極大地改變設計。 主要區(qū)別在于,有兩個相互鏈接的反向代理,而不是單個應用程序網關反向代理。
有關詳細信息,請參閱在虛擬網絡中集成API Management應用程序網關的設計 指南和 微服務的應用程序模式 API 網關。
對于在 AKS 群集上運行的工作負荷,Azure 應用程序網關群集獨立部署。 或者,可以使用入口控制器 將其與 AKS Azure 應用程序網關集成。 在 Kubernetes 級別配置某些對象 (例如服務和入口) ,應用程序網關會自動調整,而無需額外的手動步驟。
Azure 防火墻在 AKS 群集安全性中扮演著重要角色。 它提供所需的功能,以基于 FQDN(而不只是 IP 地址)篩選來自 AKS 群集的出口流量。 有關詳細信息,請參閱控制 AKS 群集節(jié)點 的出口流量。
將應用程序網關和Azure 防火墻來保護 AKS 群集時,最好使用并行設計選項。 具有 WAF 的應用程序網關處理對群集中 Web 應用程序的入站連接請求。 Azure 防火墻只允許顯式允許的出站連接。
Azure Front Door 功能部分與Azure 應用程序網關。 例如,這兩個服務都提供 Web 應用程序防火墻、SSL 卸載和基于 URL 的路由。 一個主要區(qū)別是,Azure 應用程序網關虛擬網絡內部,Azure Front Door是一種分散式全局服務。
有時,可以通過將應用程序網關替換為分散式網關來簡化Azure Front Door。 此處所述的大多數(shù)設計都保持有效,但將Azure 防火墻放在前一個Azure Front Door。
一個有趣的用例是Azure 防火墻虛擬網絡中應用程序網關前面的應用程序網關。 如前文所述,應用程序網關注入的標頭將包含防火墻實例的 IP 地址,而不是 X-Forwarded-For
客戶端的 IP 地址。 解決方法是,在Azure Front Door之前,使用防火墻前面的地址將客戶端的 IP 地址注入為標頭,然后流量進入虛擬網絡并命中 X-Forwarded-For
Azure 防火墻。
有關這兩個服務之間的差異或何時使用每個服務,請參閱兩者之間的常見問題Azure Front Door。
Microsoft 產品并不是在 Azure 中實現(xiàn) Web 應用程序防火墻或下一代防火墻功能的唯一選擇。 各種 Microsoft 合作伙伴為 NVA (網絡) 。 概念和設計實質上與本文中的概念和設計相同,但有一些重要注意事項:
用于下一代防火墻的合作伙伴 NVA 可能會為應用程序不支持的 NAT 配置提供更高的控制Azure 防火墻。 示例包括來自本地的 DNAT 或來自 Internet 的 DNAT(不含 SNAT)。
與 NVA 相比, (網關和 Azure 防火墻) 等 Azure 托管的 NVA 可以降低復雜性,因為用戶需要處理多個設備中的可伸縮性和復原能力。
在 Azure 中使用 NVA 時,請使用 主動-主動 和自動縮放設置,因此這些設備不是虛擬網絡中運行的應用程序的瓶頸。