Azure 防火牆是什麼?
Azure 防火牆是受控的雲端式網路安全性服務,可保護您的 Azure 虛擬網路資源。 它是完全具狀態的防火牆即服務,具有內建的高可用性和不受限制的雲端延展性。 您可以橫跨訂用帳戶和虛擬網路集中建立、強制執行以及記錄應用程式和網路連線原則。
Azure 防火牆中支援哪些功能?
若要了解 Azure 防火牆功能,請參閱 Azure 防火牆功能。
Azure 防火牆的一般部署模型是什麼?
您可以將「Azure 防火牆」部署在任何虛擬網路上,但客戶通常會將其部署在中央虛擬網路上,然後以中樞和支點模型方式,將其他虛擬網路與其對等互連。 接著,您便可以從對等互連的虛擬網路設定預設路由,使其指向此中央防火牆虛擬網路。 支援全域 VNet 對等互連,但不建議使用,因為跨區域會有潛在的效能和延遲問題。 為了獲得最佳效能,每個區域請部署一個防火牆。
此模型的優點是能夠集中控制不同訂用帳戶上的多個分支 VNET。 這也可讓您節省成本,因為您不需要在每個 VNet 中分別部署防火牆。 若要衡量節省的成本,應根據客戶流量模式,與相關的對等成本做比較。
如何安裝 Azure 防火牆?
您可以透過使用 Azure 入口網站、PowerShell、REST API 或範本,來設定「Azure 防火牆」。 如需逐步指示,請參閱教學課程:使用 Azure 入口網站部署和設定 Azure 防火牆。
有哪些 Azure 防火牆概念?
Azure 防火牆支援規則和規則集合。 規則集合是一組共用相同順序和優先順序的規則。 規則集合會依其優先順序執行。 DNAT 規則集合為優先順序較高的網路規則集合,其優先順序高於應用程式規則集合,且所有規則都將終止。
規則集合有三種類型:
- 應用程式規則:設定可從子網路存取的完整網域名稱 (FQDN)。
- 網路規則:設定包含來源位址、通訊協定、目的地連接埠及目的地位址的規則。
- NAT 規則:設定 DNAT 規則以允許傳入的網際網路或內部網路 (預覽) 連線。
如需詳細資訊,請參閱設定 Azure 防火牆規則。
Azure 防火牆是否支援輸入流量篩選?
Azure 防火牆支援輸入及輸出篩選。 輸入保護通常用於非 HTTP 通訊協定,例如 RDP、SSH 和 FTP 通訊協定。 針對輸入 HTTP 和 HTTPS 保護,請使用 Web 應用程式防火牆,例如 Azure Web 應用程式防火牆 (WAF),或 Azure 防火牆進階版的 TLS 卸載和深層封包檢查功能。
Azure 防火牆基本版是否支援強制通道?
是,Azure 防火牆版基本支援強制通道。
Azure 防火牆支援哪些記錄和分析服務?
Azure 防火牆已經與 Azure 監視器整合,可檢視和分析防火牆記錄。 記錄可以傳送至 Log Analytics、Azure 儲存體或事件中樞。 這些記錄可在 Log Analytics 中分析,也可透過其他工具 (例如 Excel 和 Power BI) 分析。 如需詳細資訊,請參閱教學課程:監視 Azure 防火牆記錄。
Azure 防火牆的運作方式與市集中現有的服務 (例如 NVA) 有何不同?
Azure 防火牆是受控、雲端式網路安全性服務,可以保護您的 Azure 虛擬網路資源。 這是完全具狀態的防火牆即服務,具有內建的高可用性和不受限制的雲端延展性。 它會與第三方安全性即服務 (SECaaS) 提供者預先整合,以提供進階的虛擬網路和分支網際網路連線安全性。 若要深入了解 Azure 網路安全性,請參閱 Azure 網路安全性。
應用程式閘道 WAF 與 Azure 防火牆有什麼不同?
Web 應用程式防火牆 (WAF) 是應用程式閘道的一個功能,可提供 Web 應用程式的集中式輸入保護,免於遭遇常見的攻擊和弱點。 Azure 防火牆可提供非 HTTP/S 通訊協定的輸入保護 (例如 RDP、SSH 和 FTP)、所有連接埠與通訊協定的輸出網路層級保護,以及輸出 HTTP/S 的應用程式層級保護。
網路安全性群組 (NSG) 和 Azure 防火牆有什麼不同?
「Azure 防火牆」服務可補足網路安全性群組功能。 兩者結合時,可提供更好的「深度防禦」網路安全性。 網路安全性群組提供分散式網路層流量過濾,以限制每個訂用帳戶中虛擬網路內資源的流量。 「Azure 防火牆」是完全具狀態的集中式網路防火牆即服務,可跨不同的訂用帳戶和虛擬網路,提供網路層級和應用程式層級的保護。
AzureFirewallSubnet 上是否支援網路安全性群組 (NSG)?
Azure 防火牆是受控服務,具有多個保護層,包括具備 NIC 層級 NSG (無法查看) 的平台保護。 AzureFirewallSubnet 上不需要子網路層級 NSG,並已停用以確保不會中斷服務。
如何使用我的服務端點設定 Azure 防火牆?
若要安全存取 PaaS 服務,建議使用服務端點。 您可以選擇在 Azure 防火牆的子網路中啟用服務端點,並在已連線的支點虛擬網路上將其停用。 如此一來,您便可以享有這兩個功能的好處:服務端點安全性和集中記錄所有流量。
Azure 防火牆的定價為何?
請參閱 Azure 防火牆定價。
如何停止和啟動 Azure 防火牆?
您可以使用 Azure PowerShell 的「解除配置」和「配置」方法。 針對設定為強制通道的防火牆,此程序稍有不同。
例如,針對未啟用管理 NIC 的防火牆:
# Stop an existing firewall
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$azfw.Deallocate()
Set-AzFirewall -AzureFirewall $azfw
# Start the firewall
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$vnet = Get-AzVirtualNetwork -ResourceGroupName "RG Name" -Name "VNet Name"
$publicip1 = Get-AzPublicIpAddress -Name "Public IP1 Name" -ResourceGroupName "RG Name"
$publicip2 = Get-AzPublicIpAddress -Name "Public IP2 Name" -ResourceGroupName "RG Name"
$azfw.Allocate($vnet,@($publicip1,$publicip2))
Set-AzFirewall -AzureFirewall $azfw
針對已啟用管理 NIC 的防火牆,停止會相同。 但若是要啟動,則需要將管理公用 IP 重新關聯至防火牆:
# Stop an existing firewall
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$azfw.Deallocate()
Set-AzFirewall -AzureFirewall $azfw
# Start the firewall
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$vnet = Get-AzVirtualNetwork -ResourceGroupName "RG Name" -Name "VNet Name"
$pip= Get-AzPublicIpAddress -ResourceGroupName "RG Name" -Name "azfwpublicip"
$mgmtPip2 = Get-AzPublicIpAddress -ResourceGroupName "RG Name" -Name "mgmtpip"
$azfw.Allocate($vnet, $pip, $mgmtPip2)
$azfw | Set-AzFirewall
針對安全虛擬中樞結構中的防火牆,停止是相同的,但啟動必須使用虛擬中樞識別碼:
# Stop and existing firewall
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$azfw.Deallocate()
Set-AzFirewall -AzureFirewall $azfw
# Start the firewall
$virtualhub = get-azvirtualhub -ResourceGroupName "RG name of vHUB" -name "vHUB name"
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "Azfw RG Name"
$azfw.Allocate($virtualhub.Id)
$azfw | Set-AzFirewall
配置和解除配置時,防火牆計費會停止,然後據以啟動。
注意
您必須將防火牆和公用 IP 重新配置到原始的資源群組和訂用帳戶。 執行停止/啟動時,防火牆的私人 IP 位址可能會變更為子網內的不同 IP 位址。 這可能會影響先前設定之路由表的連線。
如何在部署後設定可用性區域?
建議在初始防火牆部署期間設定可用性區域。 不過,在某些情況下,部署後可能會變更可用性區域。 必要條件如下:
- 防火牆部署在 VNet 中。 其不支援使用部署在安全虛擬中樞的防火牆。
- 防火牆的區域支援可用性區域。
- 所有連結的公用 IP 位址都會部署可用性區域。 在每個公用 IP 位址的屬性頁面中,確定 [可用性區域] 欄位存在,並且已設定您針對防火牆設定的相同區域。
只有在重新啟動防火牆時,才能重新設定可用性區域。 在您配置防火牆之後,並在使用 Set-AzFirewall
啟動防火牆之前,使用下列 Azure PowerShell 來修改防火牆的 [區域] 屬性:
$azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
$vnet = Get-AzVirtualNetwork -ResourceGroupName "RG Name" -Name "VNet Name"
$pip= Get-AzPublicIpAddress -ResourceGroupName "RG Name" -Name "azfwpublicip"
$mgmtPip2 = Get-AzPublicIpAddress -ResourceGroupName "RG Name" -Name "mgmtpip"
$azfw.Allocate($vnet, $pip, $mgmtPip2)
$azFw.Zones=1,2,3
$azfw | Set-AzFirewall
已知的服務限制有哪些?
針對 Azure 防火牆服務限制,請參閱 Azure 訂用帳戶和服務限制、配額與限制。
中樞虛擬網路中的 Azure 防火牆是否可以在多個輪幅虛擬網路之間轉寄和篩選網路流量?
是,您可以在中樞虛擬網路中,使用 Azure 防火牆來路由傳送和篩選多個輪幅虛擬網路之間的流量。 每個輪幅虛擬網路中的子網路,都必須有 UDR 指向 Azure 防火牆作為預設閘道,此案例才能正常運作。
Azure 防火牆可以在同一個虛擬網路或對等虛擬網路的子網路之間轉寄和篩選網路流量嗎?
是。 不過,若設定 UDR 在相同 VNET 中重新導向子網路之間的流量,則需要多加注意。 雖然對 UDR 而言,使用 VNET 位址範圍作為目標前置詞已足夠,但這也會使得所有流量透過 Azure 防火牆執行個體從一部機器路由至相同子網路中的另一部機器。 若要避免此狀況,需在下一個躍點類型為 VNET 的 UDR 中包括子網路的路由。 管理這些路由可能會很麻煩,而且容易出錯。 對於內部網路區隔的建議方法是使用網路安全性群組,而這不需要 UDR。
私人網路之間的 Azure 防火牆輸出 SNAT 嗎?
當目的地IP位址是每個私人IP範圍時,Azure 防火牆 不會 SNAT適用於專用網的 IANA RFC 1918 或 IANA RFC 6598。 如果您的組織使用私人網路的公用 IP 位址範圍,Azure 防火牆會將流量 SNAT 轉譯到 AzureFirewallSubnet 其中一個防火牆私人 IP 位址。 您可以將 Azure 防火牆設定為不要 SNAT 公用 IP 位址範圍。 如需詳細資訊,請參閱 Azure 防火牆 SNAT 私人 IP 位址範圍。
此外,應用程式規則所處理的流量一律為 SNAT。 如果要在記錄中看到 FQDN 流量的原始來源 IP 位址,可以使用具有目的地 FQDN 的網路規則。
受支援的網路虛擬設備是否強制進行通道/鏈結?
當您建立新的防火牆時,支援強制通道。 您無法為強制通道設定現有防火牆。 如需詳細資訊,請參閱 Azure 防火牆強制通道。
「Azure 防火牆」必須能夠直接連線到網際網路。 如果您的 AzureFirewallSubnet 學習到透過 BGP 連至您內部部署網路的預設路由,您必須將其覆寫為 0.0.0.0/0 UDR,且 NextHopType 值必須設為 [網際網路],以保有直接網際網路連線。
如果您的設定需要對內部部署網路使用強制通道,而且您可以決定網際網路目的地的目標 IP 首碼,則您可以透過 AzureFirewallSubnet 上的使用者定義路由,將使用內部部署網路的這些範圍設定為下一個躍點。 或者,您可以使用 BGP 來定義這些路由。
是否有任何防火牆資源群組的限制?
是。
- 防火牆和 VNet 必須處於相同的資源群組。
- 公用 IP 位址可以位於任何資源群組中。
- 防火牆、VNet 和公用 IP 位址全都必須在相同的訂用帳戶中。
萬用字元在應用程式規則的目標 URL 和目標 FQDN 中的運作方式為何?
- URL - 星號放置在最右側或最左側時可正常運作。 如果在左側,則不能是 FQDN 的一部分。
- FQDN - 在最左側放置星號時可正常運作。
- 一般 - 最左邊的星號表示系統會字面比對左側任何項目,亦即多個子網域和/或可能不必要的網域名稱變化會相符,請參閱下面的範例。
範例:
類型 | 規則 | 是否支援? | 正面範例 |
---|---|---|---|
TargetURL | www.contoso.com |
Yes | www.contoso.com www.contoso.com/ |
TargetURL | *.contoso.com |
Yes | any.contoso.com/ sub1.any.contoso.com |
TargetURL | *contoso.com |
Yes | example.anycontoso.com sub1.example.contoso.com contoso.com 警告:此萬用字元的使用方式也允許可能不合適/有風險的變化,例如 th3re4lcontoso.com ,因此請小心使用。 |
TargetURL | www.contoso.com/test |
Yes | www.contoso.com/test www.contoso.com/test/ www.contoso.com/test?with_query=1 |
TargetURL | www.contoso.com/test/* |
Yes | www.contoso.com/test/anything 注意: www.contoso.com/test 不相符 (最後斜線) |
TargetURL | www.contoso.*/test/* |
No | |
TargetURL | www.contoso.com/test?example=1 |
No | |
TargetURL | www.contoso.* |
No | |
TargetURL | www.*contoso.com |
No | |
TargetURL | www.contoso.com:8080 |
No | |
TargetURL | *.contoso.* |
No | |
TargetFQDN | www.contoso.com |
Yes | www.contoso.com |
TargetFQDN | *.contoso.com |
Yes | any.contoso.com 注意:若要特別允許 contoso.com ,規則便須包含 contoso.com。 否則,預設會捨棄連線,因為要求不符合任何規則。 |
TargetFQDN | *contoso.com |
Yes | example.anycontoso.com contoso.com |
TargetFQDN | www.contoso.* |
No | |
TargetFQDN | *.contoso.* |
No |
*佈建狀態:失敗* 是什麼意思?
每當套用設定變更時,Azure 防火牆會嘗試更新所有其基礎後端執行個體。 在罕見的情況下,其中一個後端執行個體可能無法使用新的設定進行更新,且更新程序會停止並處於失敗佈建狀態。 您的 Azure 防火牆仍可運作,但套用的設定可能處於不一致狀態,其中有些執行個體有先前的設定,而其他執行個體則具有已更新的規則集。 如果發生此情況,請嘗試再更新一次您的設定,直到作業成功,且您的防火牆處於 [成功] 佈建狀態。
Azure 防火牆如何處理計劃性維護和非計畫性失敗?
Azure 防火牆是由主動-主動設定中的幾個後端節點所組成。 針對任何計劃性維護,我們都有連線清空邏輯來妥善更新節點。 更新會規劃在每個 Azure 區域的非上班時間,以進一步限制中斷的風險。 針對非計畫性問題,我們會具現化新節點,以取代失敗節點。 新節點的連線通常會在失敗後 10 秒內重新建立。
連線清空如何運作?
針對任何計劃性維護,我們都有連線清空邏輯來妥善更新後端節點。 Azure 防火牆會等待 90 秒,以便現有連線關閉。 在前 45 秒內,後端節點不接受新的連線,並在剩餘時間內對所有傳入封包回應 RST
。 如果需要,用戶端可以自動重新建立與另一個後端節點的連線。
防火牆名稱是否有字元限制?
是。 防火牆名稱有 50 個字元的限制。
為什麼 Azure 防火牆需要 /26 子網路大小?
Azure 防火牆必須在調整規模時佈建更多虛擬機器執行個體。 /26 位址空間可確保防火牆有足夠的 IP 位址可容納調整。
當服務調整時,防火牆子網路大小是否需要變更?
否。 Azure 防火牆不需要大於 /26 的子網路。
如何增加防火牆輸送量?
Azure 防火牆初始輸送量容量為 2.5 - 3 Gbps,標準 SKU 擴增為 30 Gbps,進階 SKU 為 100 Gbps。 它會根據 CPU 使用量、輸送量和連線數目自動擴增。
Azure 防火牆需要多久的時間來擴增?
當平均輸送量或 CPU 耗用量為 60%,或連線數目使用量為 80% 時,Azure 防火牆會逐漸調整。 例如,當達到最大輸送量的 60% 時,就會開始擴增。 最大輸送量數目會根據防火牆 SKU 和已啟用的功能而有所不同。 如需詳細資訊,請參閱 Azure 防火牆效能。
擴增需要五到七分鐘。
執行效能測試時,請確定您至少測試 10 到 15 分鐘,並起始新連線以利用新建立的防火牆節點。
Azure 防火牆如何處理閒置的逾時?
當連線閒置逾時 (四分鐘沒有任何活動) 時,Azure 防火牆會藉由傳送 TCP RST 封包,正常地終止連線。
當虛擬機器擴展集規模縮減 (縮小) 或機群軟體升級期間,Azure 防火牆會如何處理 VM 執行個體關機情況?
當虛擬機器擴展集規模縮減 (縮小) 或機群軟體升級期間,Azure 防火牆 VM 執行個體可能會關機。 在這些情況下,新的連入連線會對其餘的防火牆執行個體進行負載平衡,且不會轉送到下一個防火牆執行個體。 45 秒後,防火牆會藉由傳送 TCP RST 封包開始拒絕現有的連線。 在另外 45 秒之後,防火牆 VM 會關閉。 如需詳細資訊,請參閱 Load Balancer TCP 重設和閒置逾時時間。
根據預設,Azure 防火牆允許存取 Active Directory 嗎?
否。 根據預設,Azure 防火牆會封鎖 Active Directory 存取。 若要允許存取,請設定 AzureActiveDirectory 服務標籤。 如需詳細資訊,請參閱 Azure 防火牆服務標籤。
我是否可以從以 Azure 防火牆威脅情報為基礎的篩選中排除 FQDN 或 IP 位址?
是,您可以使用 Azure PowerShell 來執行此動作:
# Add a Threat Intelligence allowlist to an Existing Azure Firewall.
# Create the allowlist with both FQDN and IPAddresses
$fw = Get-AzFirewall -Name "Name_of_Firewall" -ResourceGroupName "Name_of_ResourceGroup"
$fw.ThreatIntelWhitelist = New-AzFirewallThreatIntelWhitelist `
-FQDN @("fqdn1", "fqdn2", …) -IpAddress @("ip1", "ip2", …)
# Or Update FQDNs and IpAddresses separately
$fw = Get-AzFirewall -Name $firewallname -ResourceGroupName $RG
$fw.ThreatIntelWhitelist.IpAddresses = @($fw.ThreatIntelWhitelist.IpAddresses + $ipaddresses)
$fw.ThreatIntelWhitelist.fqdns = @($fw.ThreatIntelWhitelist.fqdns + $fqdns)
Set-AzFirewall -AzureFirewall $fw
為什麼即使 Azure 防火牆上沒有規則允許 TCP Ping 和類似的工具的流量,其也會成功連線到目標 FQDN?
TCP Ping 不會實際連線至目標 FQDN。 除非有明確的規則允許,否則 Azure 防火牆不允許連線至任何目標 IP 位址/FQDN。
TCP Ping 是特別的使用案例:若沒有允許的規則,防火牆本身仍會回應用戶端的 TCP Ping 要求,即使 TCP Ping 未到達目標 IP 位址/FQDN 也是如此。 在此情況下,系統不會記錄事件。 若有網路規則允許存取目標 IP 位址/FQDN,該 ping 要求便會到達目標伺服器,並將回應轉送回用戶端。 此事件會記錄在網路規則記錄中。
IP 群組支援的 IP 位址數目是否有限制?
是。 如需詳細資訊,請參閱 Azure 訂用帳戶和服務限制、配額與條件約束
是否可以將 IP 群組移至另一個資源群組?
否,目前不支援將 IP 群組移至另一個資源群組。
什麼是 Azure 防火牆的 TCP 閒置逾時?
網路防火牆的標準行為是確保 TCP 連線保持運作,並在沒有任何活動時立即關閉。 Azure 防火牆 TCP 閒置逾時時間為四分鐘。 此設定無法由使用者設定,但您可以連絡 Azure 支援人員,以增加輸入和輸出連線的閒置逾時最多達 15 分鐘。 無法變更東西向流量的閒置逾時。
如果閒置期間超過逾時值,即無法保證仍能維持 TCP 或 HTTP 工作階段。 常見作法是使用 TCP Keep-Alive。 此作法可讓連線保持長時間連線。 如需詳細資訊,請參閱 .NET 範例。
是否可以在不使用公用 IP 位址的情況下部署 Azure 防火牆?
是,但您必須在強制通道模式中設定防火牆。 此設定會建立管理介面,其具有 Azure 防火牆用於其作業的公用 IP 位址。 這個公用 IP 位址適用於管理流量。 它是由 Azure 平台專用,無法用於任何其他用途。 租用戶資料路徑網路可以在不使用公用 IP 位址的情況下設定,且網際網路流量可以強制通道傳送至另一個防火牆或完全封鎖。
Azure 防火牆會將客戶資料儲存在何處?
Azure 防火牆不會將客戶資料移動或儲存到其部署所在的區域外。
是否有自動備份 Azure 防火牆和原則的方式?
是。 如需詳細資訊,請參閱使用 Logic Apps 備份 Azure 防火牆和 Azure 防火牆原則。
卡達是否支援安全虛擬中樞 (vWAN) 的 Azure 防火牆?
否,卡達目前不支援安全虛擬中樞 (vWAN) 的 Azure 防火牆。
Azure 防火牆可支援多少個平行連線?
Azure 防火牆背後使用的 Azure 虛擬機器連線數目具有固定限制。 每個虛擬機器的作用中連線總數為 250k。
每個防火牆的總限制是虛擬機器連線限制 (250k) x 防火牆後端集區中的虛擬機器數目。 Azure 防火牆從兩部虛擬機器開始,並根據CPU使用量和輸送量擴增。
Azure 防火牆中的 SNAT TCP/UDP 連接埠重複使用行為為何?
Azure 防火牆目前會針對輸出 SNAT 流量使用 TCP/UDP 來源連接埠,且沒有閒置等候時間。 當 TCP/UDP 連線關閉時,使用的 TCP 連接埠會立即被視為可供即將到來的連線使用。
作為特定結構的因應措施,您可以使用 NAT 閘道搭配 Azure 防火牆來部署和調整,提供更廣泛的 SNAT 連接埠集區,以獲得變化性和可用性。
Azure 防火牆中的 NAT 行為為何?
特定 NAT 行為取決於防火牆的設定和所設定的 NAT 類型。 例如,防火牆具有輸入流量的 DNAT 規則,以及透過防火牆輸出流量的網路規則和應用程式規則。
如需詳細資訊,請參閱 Azure 防火牆 NAT 行為。