Azure Firewall a Application Gateway pro virtuální sítě
K zabezpečení úloh aplikací Azure používejte ochranná opatření, jako je ověřování a šifrování v samotných aplikacích. Vrstvy zabezpečení můžete přidat do virtuálních sítí, které hostují aplikace. Tyto vrstvy zabezpečení pomáhají chránit příchozí toky aplikace před nezamýšleným použitím. Omezují také odchozí toky na internet jenom na koncové body, které vaše aplikace vyžaduje. Tento článek popisuje služby zabezpečení virtuální sítě Azure , jako jsou Azure DDoS Protection, Azure Firewall a Azure Application Gateway. Popisuje také, kdy použít jednotlivé služby a možnosti návrhu sítě, které je kombinují.
DDoS Protection v kombinaci s osvědčenými postupy návrhu aplikací poskytuje vylepšené funkce omezení rizik DDoS, které zlepšují ochranu před útoky DDoS. Pro každou hraniční virtuální síť byste měli povolit ochranu před útoky DDoS.
Azure Firewall je spravovaná brána firewall nové generace, která poskytuje možnosti překladu adres (NAT). Azure Firewall filtruje pakety na základě IP adres a portů TCP (Transmission Control Protocol) nebo UDP (User Datagram Protocol). Může filtrovat provoz pomocí atributů založených na aplikacích, jako jsou HTTP(S) a SQL. Azure Firewall také používá analýzu hrozeb Od Microsoftu, která pomáhá identifikovat škodlivé IP adresy. Další informace najdete v dokumentaci ke službě Azure Firewall.
Azure Firewall Premium zahrnuje všechny funkce služby Azure Firewall Standard, kromě funkcí, jako je kontrola protokolu TLS (Transport Layer Security) a detekce neoprávněných vniknutí (IDPS).
Application Gateway je nástroj pro vyrovnávání zatížení spravovaného webového provozu a úplný reverzní proxy server HTTP, který může provádět šifrování a dešifrování protokolu SSL (Secure Socket Layer). Application Gateway zachovává původní IP adresu klienta v
X-Forwarded-Forhlavičce HTTP. Application Gateway také používá Azure Web Application Firewall ke kontrole webového provozu a detekci útoků na vrstvě HTTP. Další informace najdete v dokumentaci ke službě Application Gateway.Firewall webových aplikací je volitelný doplněk ke službě Application Gateway. Kontroluje požadavky HTTP a zabraňuje útokům webové vrstvy, jako je například injektáž SQL a skriptování mezi weby. Další informace najdete v dokumentaci ke službě Firewall webových aplikací.
Tyto služby Azure se vzájemně doplňují. V závislosti na vašich potřebách může použití jedné služby lépe vyhovovat vašim úlohám. Tyto služby ale můžete používat společně, abyste zajistili optimální ochranu v síťové i aplikační vrstvě. Pomocí následujícího rozhodovacího stromu a příkladů v tomto článku vyberte nejlepší možnost zabezpečení pro virtuální síť vaší aplikace.
Azure Firewall a Application Gateway používají různé technologie, které pomáhají zabezpečit různé typy toků dat.
| Tok aplikace | Je možné filtrovat pomocí služby Azure Firewall | Je možné filtrovat podle firewallu webových aplikací ve službě Application Gateway. |
|---|---|---|
| Provoz HTTP z místního prostředí nebo z internetu do Azure (příchozí) | Ano | Ano |
| Přenosy HTTP z Azure do místního prostředí nebo internetu (odchozí) | Ano | Ne |
| Provoz bez HTTP (příchozí nebo odchozí) | Ano | Ne |
Návrh se může pro každou aplikaci lišit v závislosti na síťových tocích, které vyžaduje. Následující diagram obsahuje zjednodušený rozhodovací strom, který vám pomůže zvolit doporučený přístup pro vaši aplikaci. Tato volba závisí na tom, jestli je aplikace publikovaná prostřednictvím protokolu HTTP(S) nebo jiného protokolu.
Tento článek popisuje široce doporučené návrhy uvedené v vývojovém diagramu a návrhy vhodné pro méně běžné scénáře:
Pouze Azure Firewall: Tento návrh použijte, pokud ve virtuální síti nejsou žádné webové aplikace. Řídí příchozí provoz do aplikací i odchozí provoz.
Pouze Application Gateway: Tento návrh použijte, pokud jsou ve virtuální síti a skupinách zabezpečení sítě (NSG) pouze webové aplikace, které poskytují dostatečné filtrování výstupu. Azure Firewall poskytuje funkce, které pomáhají zabránit několika scénářům útoku, jako je exfiltrace dat a IDPS. V důsledku toho se návrh služby Application Gateway obvykle nedoporučuje, takže není součástí předchozího vývojového diagramu.
Paralelně služba Azure Firewall a Application Gateway: Tento návrh použijte, pokud chcete, aby služba Application Gateway chránila aplikace HTTP před webovými útoky a službou Azure Firewall, aby chránila všechny ostatní úlohy a filtruje odchozí provoz. Azure Firewall a Application Gateway jsou paralelně běžným návrhem.
Application Gateway před službou Azure Firewall: Tento návrh použijte, pokud chcete, aby služba Azure Firewall kontroluje veškerý provoz, firewall webových aplikací k ochraně webového provozu a aplikaci k identifikaci zdrojové IP adresy klienta. Tento návrh s kontrolou služby Azure Firewall Premium a TLS podporuje také kompletní scénář SSL.
Azure Firewall před službou Application Gateway: Tento návrh použijte, pokud chcete, aby služba Azure Firewall kontroluje a filtruje provoz před dosažením služby Application Gateway. Vzhledem k tomu, že Azure Firewall nešifruje provoz HTTPS, je jeho přidaná funkce do služby Application Gateway omezená. Tento scénář není zdokumentovaný v předchozím vývojovém diagramu.
Variace těchto základních návrhů jsou popsány dále v tomto článku a zahrnují:
Můžete přidat další reverzní proxy služby, jako je brána služby Azure API Management nebo Azure Front Door. Prostředky Azure můžete také nahradit síťovými virtuálními zařízeními jiných společností než Microsoft.
Poznámka
V následujících scénářích se jako příklad úlohy webové aplikace používá virtuální počítač Azure. Tyto scénáře jsou platné i pro jiné typy úloh, jako jsou kontejnery nebo Azure Web Apps. U nastavení, která zahrnují privátní koncové body, zvažte doporučení ve scénářích služby Azure Firewall ke kontrole provozu směřujícího do privátního koncového bodu.
Návrh pouze pro Azure Firewall
Pokud ve virtuální síti nejsou žádné webové úlohy, které by mohly využívat firewall webových aplikací, můžete použít pouze návrh služby Azure Firewall. Návrh v tomto příkladu je jednoduchý, ale můžete zkontrolovat tok paketů, abyste lépe porozuměli složitějším návrhům. V tomto návrhu se veškerý příchozí provoz odesílá do služby Azure Firewall prostřednictvím tras definovaných uživatelem pro připojení z místních nebo jiných virtuálních sítí Azure. Je adresovaná veřejné IP adrese služby Azure Firewall pro připojení z veřejného internetu, jak je znázorněno v následujícím diagramu. Trasy definované uživatelem směrují odchozí provoz z virtuálních sítí Azure do služby Azure Firewall, jak je znázorněno v následujícím dialogovém okně.
Následující tabulka shrnuje toky provozu pro tento scénář.
| Flow | Prochází bránou Application Gateway nebo firewallem webových aplikací. | Prochází bránou Azure Firewall |
|---|---|---|
| Přenosy HTTP z internetu nebo z místního prostředí do Azure | Není k dispozici | Ano |
| Přenosy HTTP z Azure do internetu nebo z místního prostředí | Není k dispozici | Ano |
| Provoz mimo PROTOKOL HTTP z internetu nebo z místního prostředí do Azure | Není k dispozici | Ano |
| Provoz mimo HTTP (S) z Azure do internetu nebo do místního prostředí | Není k dispozici | Ano |
Azure Firewall nekontroluje příchozí provoz HTTP(S). Může ale použít pravidla aplikace založené na vrstvě 3 a vrstvy 4 a plně kvalifikovaný název domény (FQDN). Azure Firewall kontroluje odchozí provoz HTTP(S) v závislosti na úrovni služby Azure Firewall a na tom, jestli konfigurujete kontrolu protokolu TLS:
Azure Firewall Standard kontroluje pouze atributy vrstvy 3 a 4 paketů v pravidlech sítě a hlavičku HTTP hostitele v pravidlech aplikace.
Azure Firewall Premium přidává funkce, jako je kontrola dalších hlaviček HTTP (jako je uživatelský agent) a povolení kontroly protokolu TLS pro hlubší analýzu paketů. Azure Firewall ale není stejný jako firewall webových aplikací. Pokud máte ve virtuální síti webové úlohy, doporučujeme používat firewall webových aplikací.
Následující příklad procházky paketem ukazuje, jak klient přistupuje k aplikaci hostované virtuálním počítačem z veřejného internetu. Diagram obsahuje jenom jeden virtuální počítač pro zjednodušení. Kvůli vyšší dostupnosti a škálovatelnosti je za nástrojem pro vyrovnávání zatížení několik instancí aplikací. V tomto návrhu azure Firewall kontroluje příchozí připojení z veřejného internetu a odchozí připojení z virtuálního počítače podsítě aplikace pomocí trasy definované uživatelem.
V tomto příkladu Azure Firewall automaticky nasadí několik instancí s front-endovou IP adresou
192.168.100.4a interními adresami v rozsahu192.168.100.0/26. Za normálních okolností tyto instance nejsou viditelné pro správce Azure. Při řešení potíží se sítí ale může být užitečné vědět o nich.Pokud provoz pochází z místní virtuální privátní sítě (VPN) nebo bránu Azure ExpressRoute místo internetu, klient spustí připojení k IP adrese virtuálního počítače. Nespustí připojení k IP adrese brány firewall a brána firewall ve výchozím nastavení nespustí zdrojový překlad adres (NAT).
Architektura
Následující diagram znázorňuje tok provozu a předpokládá, že IP adresa instance je 192.168.100.7.
Workflow
Klient spustí připojení k veřejné IP adrese služby Azure Firewall.
- Zdrojová IP adresa:
ClientPIP - Cílová IP adresa:
AzFwPIP
- Zdrojová IP adresa:
Požadavek na veřejnou IP adresu služby Azure Firewall se distribuuje do back-endové instance brány firewall, která je
192.168.100.7v tomto příkladu. Pravidlo překladu cílových adres (DNAT) služby Azure Firewall přeloží cílovou IP adresu na IP adresu aplikace uvnitř virtuální sítě. Azure Firewall také implementuje překlad zdrojových síťových adres (SNAT) na paket, pokud používá DNAT. Další informace najdete v tématu známé problémy se službou Azure Firewall. Virtuální počítač uvidí v příchozím paketu následující IP adresy:- Zdrojová IP adresa:
192.168.100.7 - Cílová IP adresa:
192.168.1.4
- Zdrojová IP adresa:
Virtuální počítač odpoví na žádost aplikace, která obrátí zdrojové i cílové IP adresy. Příchozí tok nevyžaduje trasu definovanou uživatelem, protože zdrojová IP adresa je IP adresa služby Azure Firewall. Trasy definované uživatelem v diagramu
0.0.0.0/0slouží k odchozím připojením, aby se zajistilo, že pakety do veřejného internetu procházejí bránou Azure Firewall.- Zdrojová IP adresa:
192.168.1.4 - Cílová IP adresa:
192.168.100.7
- Zdrojová IP adresa:
Azure Firewall vrátí zpět operace SNAT a DNAT a doručí odpověď klientovi.
- Zdrojová IP adresa:
AzFwPIP - Cílová IP adresa:
ClientPIP
- Zdrojová IP adresa:
Návrh pouze služby Application Gateway
Tento návrh popisuje scénář, ve kterém ve virtuální síti existují jenom webové aplikace, a kontrola odchozího provozu pomocí skupin zabezpečení sítě stačí k ochraně odchozích toků do internetu.
Poznámka
Tento návrh nedoporučujeme, protože použití služby Azure Firewall k řízení odchozích toků, místo abyste se museli spoléhat výhradně na skupiny zabezpečení sítě, pomáhá zabránit scénářům útoku, jako je exfiltrace dat. Pomocí služby Azure Firewall můžete zajistit, aby vaše úlohy odesílaly data jenom do schváleného seznamu adres URL. Skupiny zabezpečení sítě také pracují pouze ve vrstvě 3 a vrstvě 4 a nepodporují plně kvalifikované názvy domén.
Klíčovým rozdílem oproti předchozímu návrhu služby Azure Firewall je to, že Application Gateway neslouží jako směrovací zařízení s překladem adres (NAT). Místo toho funguje jako úplný reverzní proxy aplikace. Tento přístup znamená, že Služba Application Gateway zastaví webovou relaci od klienta a vytvoří samostatnou relaci s jedním ze svých back-endových serverů. Příchozí připojení HTTP z internetu se odesílají na veřejnou IP adresu služby Application Gateway a připojení z Azure nebo z místního prostředí používají privátní IP adresu brány. Vrácení provozu z virtuálních počítačů Azure se řídí standardním směrováním virtuální sítě zpět do služby Application Gateway. Další informace najdete v další části tohoto článku. Odchozí internetové toky z virtuálních počítačů Azure se přesouvají přímo na internet.
Následující tabulka shrnuje toky provozu.
| Flow | Prochází bránou Application Gateway nebo firewallem webových aplikací. | Prochází bránou Azure Firewall |
|---|---|---|
| Přenosy HTTP z internetu nebo z místního prostředí do Azure | Ano | Není k dispozici |
| Přenosy HTTP z Azure do internetu nebo z místního prostředí | Ne | Není k dispozici |
| Provoz mimo PROTOKOL HTTP z internetu nebo z místního prostředí do Azure | Ne | Není k dispozici |
| Provoz mimo HTTP (S) z Azure do internetu nebo do místního prostředí | Ne | Není k dispozici |
Architektura
Následující příklad procházky paketem ukazuje, jak klient přistupuje k aplikaci hostované virtuálním počítačem z veřejného internetu.
Workflow
Klient spustí připojení k veřejné IP adrese služby Application Gateway.
- Zdrojová IP adresa:
ClientPIP - Cílová IP adresa:
AppGwPIP
- Zdrojová IP adresa:
Požadavek na veřejnou IP adresu služby Application Gateway se distribuuje do back-endové instance brány, která je
192.168.200.7v tomto příkladu. Instance služby Application Gateway, která obdrží požadavek, zastaví připojení z klienta a vytvoří nové připojení s jedním z back-endů. Back-end uvidí instanci služby Application Gateway jako zdrojovou IP adresu. Application Gateway vloží hlavičkuX-Forwarded-ForHTTP s IP adresou původního klienta.- Zdrojová IP adresa, což je privátní IP adresa instance služby Application Gateway:
192.168.200.7 - Cílová IP adresa:
192.168.1.4 -
X-Forwarded-Forzáhlaví:ClientPIP
- Zdrojová IP adresa, což je privátní IP adresa instance služby Application Gateway:
Virtuální počítač odpoví na žádost aplikace a vrátí zpět zdrojové i cílové IP adresy. Virtuální počítač se může spojit se službou Application Gateway, takže nepotřebuje trasu definovanou uživatelem.
- Zdrojová IP adresa:
192.168.1.4 - Cílová IP adresa:
192.168.200.7
- Zdrojová IP adresa:
Instance služby Application Gateway odpoví na klienta.
- Zdrojová IP adresa:
AppGwPIP - Cílová IP adresa:
ClientPIP
- Zdrojová IP adresa:
Application Gateway přidává metadata do hlaviček HTTP paketů, například hlavičku X-Forwarded-For , která obsahuje IP adresu původního klienta. Některé aplikační servery potřebují zdrojovou IP adresu klienta pro obsluhu obsahu specifického pro geografickou polohu nebo pro protokolování. Další informace najdete v tématu Fungování aplikační brány.
V tomto příkladu je IP adresa
192.168.200.7jednou z instancí nasazených službou Application Gateway automaticky. Má interní privátní front-endovou IP adresu192.168.200.4. Tyto jednotlivé instance jsou obvykle pro správce Azure neviditelné. Rozdíl ale může být užitečný, například při řešení problémů se sítí.Tok je podobný, pokud klient pochází z místní sítě přes vpn nebo bránu ExpressRoute. Rozdíl je, že klient přistupuje k privátní IP adrese služby Application Gateway místo veřejné IP adresy.
Poznámka
Další informace o X-Forwarded-For hlavičce a o tom, jak zachovat název hostitele v požadavku, naleznete v tématu Zachování původního hostitele HTTP.
Paralelní návrh služby Azure Firewall a Application Gateway
Kvůli jednoduchosti a flexibilitě je často nejlepší spustit službu Application Gateway a Azure Firewall paralelně.
Tento návrh implementujte, pokud ve virtuální síti existují webové i ne webové úlohy. Firewall webových aplikací ve službě Application Gateway pomáhá chránit příchozí provoz do webových úloh. Azure Firewall kontroluje příchozí provoz pro ostatní aplikace. Azure Firewall pokrývá odchozí toky z obou typů úloh.
Příchozí připojení HTTP z internetu by se měla odesílat na veřejnou IP adresu služby Application Gateway. Připojení HTTP z Azure nebo z místního prostředí by se měla odesílat na jeho privátní IP adresu. Směrování standardní virtuální sítě odesílá pakety ze služby Application Gateway do cílových virtuálních počítačů a z cílových virtuálních počítačů zpět do služby Application Gateway. Další informace najdete v další části tohoto článku.
U příchozích připojení jiných než HTTP(S) by měl provoz cílit na veřejnou IP adresu služby Azure Firewall, pokud pochází z veřejného internetu. Provoz by se měl odesílat přes trasy definované uživatelem, pokud pochází z jiných virtuálních sítí Azure nebo místních sítí. Všechny odchozí toky z virtuálních počítačů Azure se přesměrují do služby Azure Firewall pomocí trasy definované uživatelem.
Následující tabulka shrnuje toky provozu pro tento scénář.
| Flow | Prochází bránou Application Gateway nebo firewallem webových aplikací. | Prochází bránou Azure Firewall |
|---|---|---|
| Přenosy HTTP z internetu nebo z místního prostředí do Azure | Ano | Ne |
| Přenosy HTTP z Azure do internetu nebo z místního prostředí | Ne | Ano |
| Provoz mimo PROTOKOL HTTP z internetu nebo z místního prostředí do Azure | Ne | Ano |
| Provoz mimo HTTP (S) z Azure do internetu nebo do místního prostředí | Ne | Ano |
Tento návrh poskytuje mnohem podrobnější filtrování výchozího přenosu dat než výhradně použití skupin zabezpečení sítě. Pokud například aplikace potřebují připojení ke konkrétnímu účtu Azure Storage, můžete použít filtry založené na plně kvalifikovaném názvu domény. U filtrů založených na plně kvalifikovaném názvu domény aplikace neodesílají data do podvodných účtů úložiště. Pokud používáte jenom skupiny zabezpečení sítě, nemůžete tomuto scénáři zabránit. Tento návrh se často používá, když odchozí provoz vyžaduje filtrování na základě plně kvalifikovaného názvu domény. Jedním ze scénářů je omezení odchozího provozu z clusteru AKS.
Architektury
Následující diagram znázorňuje tok provozu pro příchozí připojení HTTP(S) z vnějšího klienta.
Následující diagram znázorňuje tok provozu pro odchozí připojení ze síťových virtuálních počítačů k internetu. Jedním z příkladů je připojení k back-endovým systémům nebo získání aktualizací operačního systému.
Kroky toku paketů pro každou službu jsou stejné jako v předchozích samostatných možnostech návrhu.
Application Gateway před návrhem služby Azure Firewall
Tento návrh je podrobněji vysvětlený v síti nulové důvěryhodnosti pro webové aplikace se službou Azure Firewall a službou Application Gateway. Tento článek se zaměřuje na porovnání s ostatními možnostmi návrhu. V této topologii prochází příchozí webový provoz přes bránu Azure Firewall i firewall webových aplikací. Firewall webových aplikací poskytuje ochranu ve vrstvě webové aplikace. Azure Firewall slouží jako centrální bod protokolování a řízení a kontroluje provoz mezi službou Application Gateway a back-endovými servery. V tomto návrhu se Application Gateway a Azure Firewall nesednou paralelně, ale jeden před druhým.
Tento návrh ve službě Azure Firewall Premium podporuje kompletní scénáře, kdy Azure Firewall použije kontrolu protokolu TLS k provádění šifrovaného provozu mezi službou Application Gateway a webovým back-endem.
Tento návrh je vhodný pro aplikace, které potřebují identifikovat příchozí zdrojové IP adresy klienta. Dá se například použít k poskytování obsahu specifického pro geografickou polohu nebo k protokolování. Služba Application Gateway před návrhem služby Azure Firewall zachycuje zdrojovou IP adresu příchozího paketu X-Forwarded-For v hlavičce, aby webový server viděl původní IP adresu v této hlavičce. Další informace najdete v tématu Fungování aplikační brány.
Příchozí připojení HTTP z internetu je potřeba odeslat na veřejnou IP adresu služby Application Gateway. Připojení HTTP z Azure nebo z místního prostředí by se měla odesílat na jeho privátní IP adresu. Trasy definované uživatelem ze služby Application Gateway zajišťují směrování paketů přes službu Azure Firewall. Další informace najdete v další části tohoto článku.
U příchozích připojení jiných než HTTP(S) by měl provoz cílit na veřejnou IP adresu služby Azure Firewall, pokud pochází z veřejného internetu. Provoz by se měl odesílat přes trasy definované uživatelem, pokud pochází z jiných virtuálních sítí Azure nebo místních sítí. Všechny odchozí toky z virtuálních počítačů Azure se přesměrují do služby Azure Firewall pomocí trasy definované uživatelem.
Důležitým aspektem tohoto návrhu je, že Azure Firewall Premium vidí provoz se zdrojovou IP adresou z podsítě služby Application Gateway. Pokud je tato podsíť nakonfigurovaná s privátní IP adresou (v 10.0.0.0/8192.168.0.0/16172.16.0.0/12, , nebo100.64.0.0/10), Azure Firewall Premium zpracovává provoz ze služby Application Gateway jako interní a nepoužívá pravidla IDPS pro příchozí provoz. Proto doporučujeme upravit privátní předpony IDPS v zásadách služby Azure Firewall. Tato úprava zajišťuje, že podsíť služby Application Gateway není považována za interní zdroj, který umožňuje použití příchozích a odchozích podpisů IDPS na provoz. Další informace o směrech pravidel IDPS služby Azure Firewall a předponách privátních IP adres pro IDPS najdete v pravidlech IDPS služby Azure Firewall.
Následující tabulka shrnuje toky provozu pro tento scénář.
| Flow | Prochází bránou Application Gateway nebo firewallem webových aplikací. | Prochází bránou Azure Firewall |
|---|---|---|
| Přenosy HTTP z internetu nebo z místního prostředí do Azure | Ano | Ano |
| Přenosy HTTP z Azure do internetu nebo z místního prostředí | Ne | Ano |
| Provoz mimo PROTOKOL HTTP z internetu nebo z místního prostředí do Azure | Ne | Ano |
| Provoz mimo HTTP (S) z Azure do internetu nebo do místního prostředí | Ne | Ano |
Pro webový provoz z místního prostředí nebo z internetu do Azure služba Azure Firewall kontroluje toky, které firewall webových aplikací umožňuje. V závislosti na tom, jestli služba Application Gateway šifruje back-endový provoz, což je provoz ze služby Application Gateway na aplikační servery, může dojít k různým scénářům:
Application Gateway šifruje provoz podle principů nulové důvěryhodnosti, jako je šifrování TLS od konce do konce a Azure Firewall přijímá šifrovaný provoz. Azure Firewall Standard může dál používat pravidla kontroly, jako je filtrování vrstvy 3 a 4 v pravidlech sítě, nebo filtrování plně kvalifikovaného názvu domény v pravidlech aplikace pomocí hlavičky SNI (TLS Server Name Indication). Azure Firewall Premium poskytuje podrobnější přehled o kontrole protokolu TLS, jako je filtrování na základě adresy URL.
Pokud služba Application Gateway odesílá nešifrovaný provoz na aplikační servery, azure Firewall uvidí příchozí provoz ve formátu prostého textu. Kontrola protokolu TLS není ve službě Azure Firewall nutná.
Pokud je ve službě Azure Firewall povolená IP adresa IDPS, ověří se, že hlavička hostitele HTTP odpovídá cílové IP adrese. K provedení tohoto ověření potřebuje překlad adres IP pro plně kvalifikovaný název domény zadaný v hlavičce hostitele. Tento překlad názvů je možné provést pomocí privátních zón Azure DNS a výchozího nastavení DNS služby Azure Firewall. Dá se také dosáhnout pomocí vlastních serverů DNS, které je potřeba nakonfigurovat v nastavení služby Azure Firewall. Pokud nemáte přístup pro správu k virtuální síti, ve které je nasazená služba Azure Firewall, druhá metoda je jedinou možností. Jedním z příkladů je použití instancí služby Azure Firewall nasazených v centrech zabezpečených službou Azure Virtual WAN.
Architektura
Pro zbytek toků, které zahrnují příchozí provoz mimo PROTOKOL HTTP a veškerý odchozí provoz, poskytuje Služba Azure Firewall kontrolu zprostředkovatele identity a kontrolu protokolu TLS tam, kde je to vhodné. Poskytuje také filtrování plně kvalifikovaného názvu domény v pravidlech sítě na základě DNS.
Workflow
Síťový provoz z veřejného internetu se řídí tímto tokem:
Klient spustí připojení k veřejné IP adrese služby Application Gateway.
- Zdrojová IP adresa:
ClientPIP - Cílová IP adresa:
AppGwPIP
- Zdrojová IP adresa:
Požadavek na veřejnou IP adresu služby Application Gateway se distribuuje do back-endové instance brány, která je
192.168.200.7v tomto příkladu. Instance služby Application Gateway zastaví připojení z klienta a vytvoří nové připojení s jedním z back-endů. Trasu definovanou uživatelem v192.168.1.0/24podsíti služby Application Gateway předává paket do služby Azure Firewall a zachová cílovou IP adresu webové aplikaci.- Zdrojová IP adresa, což je privátní IP adresa instance služby Application Gateway:
192.168.200.7 - Cílová IP adresa:
192.168.1.4 -
X-Forwarded-Forzáhlaví:ClientPIP
- Zdrojová IP adresa, což je privátní IP adresa instance služby Application Gateway:
Azure Firewall se na provoz nevztahuje na SNAT, protože provoz směřuje na privátní IP adresu. Přesměruje provoz na virtuální počítač aplikace, pokud to pravidla povolují. Další informace najdete v tématu Rozsahy privátních IP adres pro SNAT služby Azure Firewall. Pokud ale provoz dosáhne pravidla aplikace v bráně firewall, úloha uvidí zdrojovou IP adresu konkrétní instance brány firewall, která paket zpracovala, protože proxy služby Azure Firewall připojení.
- Zdrojová IP adresa, pokud je provoz povolený pravidlem sítě služby Azure Firewall a je privátní IP adresou jedné z instancí služby Application Gateway:
192.168.200.7 - Zdrojová IP adresa, pokud je provoz povolený pravidlem aplikace služby Azure Firewall a je privátní IP adresou jedné z instancí služby Azure Firewall:
192.168.100.7 - Cílová IP adresa:
192.168.1.4 -
X-Forwarded-Forzáhlaví:ClientPIP
- Zdrojová IP adresa, pokud je provoz povolený pravidlem sítě služby Azure Firewall a je privátní IP adresou jedné z instancí služby Application Gateway:
Virtuální počítač odpoví na požadavek, který obrátí zdrojové i cílové IP adresy. Trasu definovanou uživatelem zachytí
192.168.200.0/24paket odesílaný zpět do služby Application Gateway, přesměruje ho do služby Azure Firewall a zachová cílovou IP adresu směrem ke službě Application Gateway.- Zdrojová IP adresa:
192.168.1.4 - Cílová IP adresa:
192.168.200.7
- Zdrojová IP adresa:
Azure Firewall na provoz znovu nepoužije SNAT, protože přejde na privátní IP adresu a přesměruje provoz do služby Application Gateway.
- Zdrojová IP adresa:
192.168.1.4 - Cílová IP adresa:
192.168.200.7
- Zdrojová IP adresa:
Instance služby Application Gateway odpoví na klienta.
- Zdrojová IP adresa:
AppGwPIP - Cílová IP adresa:
ClientPIP
- Zdrojová IP adresa:
Odchozí toky z virtuálních počítačů do veřejného internetu procházejí bránou Azure Firewall, kterou definuje trasy definované uživatelem 0.0.0.0/0 .
Jako variantu tohoto návrhu můžete nakonfigurovat privátní DNAT ve službě Azure Firewall tak, aby úloha aplikace viděla IP adresy instancí služby Azure Firewall jako zdroj a nejsou vyžadovány žádné trasy definované uživatelem. Zdrojová IP adresa klientů aplikací je již zachována v X-Forwarded-For hlavičce HTTP službou Application Gateway. Takže pokud Azure Firewall na provoz použije DNAT, neztratí se žádné informace. Další informace najdete v tématu Filtrování příchozího internetového nebo intranetového provozu pomocí DNAT zásad služby Azure Firewall pomocí webu Azure Portal.
Azure Firewall před návrhem služby Application Gateway
Tento návrh umožňuje službě Azure Firewall filtrovat a zahodit škodlivý provoz, než dosáhne služby Application Gateway. Může například používat funkce, jako je filtrování na základě analýzy hrozeb. Další výhodou je, že aplikace získá stejnou veřejnou IP adresu pro příchozí i odchozí provoz bez ohledu na protokol. Existují tři režimy, ve kterých můžete teoreticky nakonfigurovat Azure Firewall:
Azure Firewall s pravidly DNAT: Azure Firewall prohodí pouze IP adresy ve vrstvě IP adres, ale nezpracuje datovou část. V důsledku toho se nezmění žádná hlavička HTTP.
Azure Firewall se zakázanými pravidly aplikací a kontrolou protokolu TLS: Azure Firewall se může podívat na hlavičku SNI v protokolu TLS, ale nešifruje ji. Z brány firewall se vytvoří nové připojení TCP k dalšímu segmentu směrování. V tomto příkladu je to Application Gateway.
Azure Firewall s povolenými pravidly aplikací a kontrolou protokolu TLS: Azure Firewall prohledá obsah paketů a dešifruje je. Slouží jako proxy server HTTP a může nastavit hlavičky
X-Forwarded-ForHTTP tak, aby zachovaly IP adresu. Nicméně, zobrazí se klientovi certifikát vygenerovaný vlastním držitelem. U internetových aplikací není použití samogenerovaného certifikátu možnost, protože se klientům aplikací z prohlížeče odešle upozornění zabezpečení.
V prvních dvou možnostech, které jsou jedinými platnými možnostmi pro internetové aplikace, azure Firewall aplikuje SNAT na příchozí provoz bez nastavení hlavičky X-Forwarded-For . V důsledku toho aplikace nemůže zobrazit původní IP adresu požadavků HTTP. Pro úlohy správy, jako je řešení potíží, můžete získat skutečnou IP adresu klienta pro konkrétní připojení tím, že ji propojíte s protokoly SNAT služby Azure Firewall.
Výhody tohoto scénáře jsou omezené, protože pokud nepoužíváte kontrolu protokolu TLS a prezentujete klientům certifikáty generované svým držitelem, Azure Firewall vidí jenom šifrovaný provoz, který přechází do služby Application Gateway. Tento scénář je obvykle možný pouze pro interní aplikace. Může se ale jednat o scénáře, ve kterých je tento návrh upřednostňovaný. Jedním ze scénářů je, že v síti existuje dříve jiná brána firewall webových aplikací (například pomocí služby Azure Front Door), která může zachytit původní zdrojovou IP adresu v X-Forwarded-For hlavičce HTTP. Tento návrh můžete také preferovat, pokud se vyžaduje mnoho veřejných IP adres, protože Služba Application Gateway podporuje jednu IP adresu.
Příchozí toky HTTP z veřejného internetu by měly cílit na veřejnou IP adresu služby Azure Firewall. Azure Firewall bude DNAT a SNAT pakety na privátní IP adresu služby Application Gateway. Z jiných virtuálních sítí Azure nebo místních sítí by se provoz HTTP (S) měl odesílat na privátní IP adresu služby Application Gateway a předávat je prostřednictvím služby Azure Firewall s trasy definovanými uživatelem. Standardní směrování virtuální sítě zajišťuje, že se při použití pravidel DNAT vrací provoz z virtuálních počítačů Azure zpět do služby Application Gateway a ze služby Application Gateway do služby Azure Firewall. Pro provoz z místního prostředí nebo z Azure použijte trasy definované uživatelem v podsíti služby Application Gateway. Další informace najdete v další části tohoto článku. Veškerý odchozí provoz z virtuálních počítačů Azure do internetu se odesílá přes trasy definované uživatelem přes bránu Azure Firewall.
Následující tabulka shrnuje toky provozu pro tento scénář.
| Flow | Prochází bránou Application Gateway nebo firewallem webových aplikací. | Prochází bránou Azure Firewall |
|---|---|---|
| Přenosy HTTP z internetu nebo z místního prostředí do Azure | Ano | Ano |
| Přenosy HTTP z Azure do internetu nebo z místního prostředí | Ne | Ano |
| Provoz mimo PROTOKOL HTTP z internetu nebo z místního prostředí do Azure | Ne | Ano |
| Provoz mimo HTTP (S) z Azure do internetu nebo do místního prostředí | Ne | Ano |
U příchozího provozu HTTP (S) azure Firewall obvykle nešifruje provoz. Místo toho se použijí zásady IDPS, které nevyžadují kontrolu protokolu TLS, jako je filtrování na základě IP adres nebo použití hlaviček HTTP.
Architektura
Aplikace nevidí původní zdrojovou IP adresu webového provozu. Azure Firewall použije SNAT na pakety, které přicházejí do virtuální sítě. Pokud se chcete tomuto problému vyhnout, před bránou firewall použijte služby Azure Front Door. Azure Front Door před vstupem do virtuální sítě Azure vloží IP adresu klienta jako hlavičku HTTP.
Workflow
Síťový provoz z veřejného internetu se řídí tímto tokem:
Klient spustí připojení k veřejné IP adrese služby Azure Firewall.
- Zdrojová IP adresa:
ClientPIP - Cílová IP adresa:
AzFWPIP
- Zdrojová IP adresa:
Požadavek na veřejnou IP adresu služby Azure Firewall se distribuuje do back-endové instance brány firewall, která je
192.168.100.7v tomto příkladu. Azure Firewall aplikuje DNAT na webový port, obvykle TCP 443, na privátní IP adresu instance služby Application Gateway. Azure Firewall také použije SNAT při provádění DNAT. Další informace najdete v tématu známé problémy se službou Azure Firewall.- Zdrojová IP adresa, což je privátní IP adresa instance služby Azure Firewall:
192.168.100.7 - Cílová IP adresa:
192.168.200.4
- Zdrojová IP adresa, což je privátní IP adresa instance služby Azure Firewall:
Application Gateway vytvoří novou relaci mezi instancí, která zpracovává připojení a jeden z back-endových serverů. Původní IP adresa klienta není v paketu.
- Zdrojová IP adresa, což je privátní IP adresa instance služby Application Gateway:
192.168.200.7 - Cílová IP adresa:
192.168.1.4 -
X-Forwarded-Forzáhlaví:192.168.100.7
- Zdrojová IP adresa, což je privátní IP adresa instance služby Application Gateway:
Virtuální počítač odpoví službou Application Gateway, která obrátí zdrojové i cílové IP adresy:
- Zdrojová IP adresa:
192.168.1.4 - Cílová IP adresa:
192.168.200.7
- Zdrojová IP adresa:
Application Gateway odpoví na zdrojovou IP adresu SNAT instance služby Azure Firewall. Azure Firewall vidí interní IP adresu služby Application Gateway,
.4jako zdrojovou IP adresu, i když připojení pochází z konkrétní instance služby Application Gateway, jako je.7.- Zdrojová IP adresa:
192.168.200.4 - Cílová IP adresa:
192.168.100.7
- Zdrojová IP adresa:
Azure Firewall vrátí zpět SNAT a DNAT a odpoví na klienta.
- Zdrojová IP adresa:
AzFwPIP - Cílová IP adresa:
ClientPIP
- Zdrojová IP adresa:
Application Gateway potřebuje veřejnou IP adresu, aby ji microsoft mohl spravovat, i když nemá nakonfigurované žádné naslouchací procesy pro aplikace.
Poznámka
Výchozí trasa do 0.0.0.0/0 podsítě služby Application Gateway, která odkazuje na službu Azure Firewall, není podporovaná, protože přeruší provoz roviny řízení, který služba Application Gateway vyžaduje, aby správně fungovala.
Místní klienti
Předchozí návrhy zobrazují příchozí klienty aplikací z veřejného internetu. Místní sítě také přistupují k aplikacím. Většina předchozích informací a toků provozu je stejná jako u internetových klientů, ale existují některé důležité rozdíly:
Brána VPN nebo brána ExpressRoute se nachází před bránou Azure Firewall nebo službou Application Gateway.
Firewall webových aplikací používá privátní IP adresu služby Application Gateway.
Azure Firewall nepodporuje DNAT pro privátní IP adresy, takže k odesílání příchozího provozu do služby Azure Firewall z bran VPN nebo ExpressRoute musíte použít trasy definované uživatelem.
Nezapomeňte ověřit upozornění týkající se vynucených tunelů pro službu Application Gateway a pro službu Azure Firewall. I když vaše úloha nepotřebuje odchozí připojení k veřejnému internetu, nemůžete vložit výchozí trasu, jako je
0.0.0.0/0služba Application Gateway, která odkazuje na místní síť, protože přeruší řízení provozu. U služby Application Gateway musí výchozí trasa odkazovat na veřejný internet.
Architektura
Následující diagram znázorňuje paralelní návrh služby Application Gateway a služby Azure Firewall. Klienti aplikací pocházejí z místní sítě, která je připojená k Azure přes VPN nebo ExpressRoute:
I když se všichni klienti nacházejí místně nebo v Azure, služba Application Gateway a Azure Firewall musí mít veřejné IP adresy. Tyto veřejné IP adresy umožňují Společnosti Microsoft spravovat služby.
Hvězdicová topologie
Návrhy v tomto článku se týkají hvězdicové topologie. Sdílené prostředky v centrální centrální virtuální síti se připojují k aplikacím v samostatných paprskových virtuálních sítích prostřednictvím partnerských vztahů virtuálních sítí.
Architektura
Azure Firewall je nasazený ve virtuální síti centrálního centra. Předchozí diagram ukazuje, jak nasadit službu Application Gateway v centru. Aplikační týmy často spravují komponenty, jako jsou služby Application Gateway nebo brány API Management. V tomto scénáři jsou tyto komponenty nasazené v paprskových virtuálních sítích.
Věnujte zvláštní pozornost trasy definované uživatelem v paprskových sítích. Když aplikační server v paprsku přijímá provoz z konkrétní instance služby Azure Firewall, jako je
192.168.100.7IP adresa v předchozích příkladech, měl by posílat zpětný provoz zpět do stejné instance. Pokud trasu definovanou uživatelem v paprsku nastaví další segment směrování provozu adresovaného do centra na IP adresu služby Azure Firewall (192.168.100.4v předchozích diagramech), můžou návratové pakety skončit v jiné instanci služby Azure Firewall. Tato situace způsobuje asymetrické směrování. Pokud máte trasy definované uživatelem v paprskových virtuálních sítích, nezapomeňte odesílat provoz do sdílených služeb v centru prostřednictvím služby Azure Firewall. Tyto trasy definované uživatelem nezahrnují předponu podsítě služby Azure Firewall.Předchozí doporučení platí stejně pro podsíť služby Application Gateway a všechny ostatní síťové virtuální zařízení nebo reverzní proxy servery, které mohou být nasazeny ve virtuální síti centra.
Další segment směrování pro podsítě služby Application Gateway nebo Azure Firewall nemůžete nastavit prostřednictvím statických tras s typem dalšího segmentu směrování
Virtual Network. Tento typ dalšího segmentu směrování je platný pouze v místní virtuální síti, nikoli v partnerských vztazích virtuálních sítí. Další informace o trasách definovanou uživatelem a typech dalšího směrování najdete v tématu Směrování provozu virtuální sítě.
Asymetrické směrování
Následující diagram znázorňuje, jak paprsky odesílají provoz SNAT zpět do nástroje pro vyrovnávání zatížení Azure Firewall. Toto nastavení způsobí asymetrické směrování.
Pokud chcete tento problém vyřešit, definujte trasy definované uživatelem v paprsku bez podsítě služby Azure Firewall a pouze podsítě, ve kterých se nacházejí sdílené služby. V předchozím diagramu by správné trasy definované uživatelem v paprsku měly obsahovat 192.168.1.0/24pouze . Neměl by obsahovat celý rozsah 192.168.0.0/16, který je označen červeně.
Integrace s dalšími produkty Azure
Službu Azure Firewall a Application Gateway můžete integrovat s dalšími produkty a službami Azure.
Brána služby API Management
Integrujte služby reverzního proxy serveru, jako je API Management, bránu do předchozích návrhů, aby poskytovaly funkce, jako je omezování rozhraní API nebo proxy ověřování. Integrace brány služby API Management nemá významný vliv na návrhy. Klíčovým rozdílem je, že místo jednoho reverzního proxy služby Application Gateway jsou dvě reverzní proxy servery zřetězený za sebou.
Další informace najdete v průvodci návrhem integrace služby API Management a služby Application Gateway ve virtuální síti a bran rozhraní API vzorů aplikací pro mikroslužby.
AKS
U úloh, které běží v clusteru AKS, můžete službu Application Gateway nasadit nezávisle na clusteru. Nebo ho můžete integrovat s clusterem AKS pomocí kontroleru příchozího přenosu dat služby Application Gateway. Když nakonfigurujete konkrétní objekty na úrovních Kubernetes, jako jsou služby a příchozí přenos dat, služba Application Gateway se automaticky přizpůsobí bez nutnosti dalších ručních kroků.
Azure Firewall hraje důležitou roli v zabezpečení clusteru AKS. Poskytuje požadovanou funkci pro filtrování odchozího provozu z clusteru AKS na základě plně kvalifikovaného názvu domény, nejen IP adresy. Další informace najdete v tématu Omezení síťového provozu pomocí služby Azure Firewall v AKS.
Při kombinování služby Application Gateway a služby Azure Firewall za účelem ochrany clusteru AKS je nejlepší použít možnost paralelního návrhu. Application Gateway s firewallem webových aplikací zpracovává příchozí požadavky na připojení k webovým aplikacím v clusteru. Azure Firewall povoluje pouze explicitně povolená odchozí připojení. Další informace o možnosti paralelního návrhu najdete v tématu Základní architektura clusteru AKS.
Azure Front Door
Azure Front Door má funkce, které se překrývají se službou Application Gateway v několika oblastech. Obě služby poskytují firewall webových aplikací, přesměrování zpracování SSL a směrování založené na adrese URL. Klíčovým rozdílem je ale to, že zatímco Služba Application Gateway pracuje ve virtuální síti, azure Front Door je globální decentralizovaná služba.
Návrh virtuální sítě můžete někdy zjednodušit nahrazením služby Application Gateway decentralizovanou službou Azure Front Door. Většina návrhů popsaných v tomto článku stále platí, s výjimkou možnosti umístit službu Azure Firewall před Službu Azure Front Door.
Jedním ze scénářů je použití služby Azure Firewall před službou Application Gateway ve vaší virtuální síti. Application Gateway vloží hlavičku X-Forwarded-For s IP adresou instance brány firewall, nikoli IP adresou klienta. Alternativním řešením je použít Službu Azure Front Door před bránou firewall k vložení IP adresy klienta jako hlavičky X-Forwarded-For před vstupem do virtuální sítě a dosažením služby Azure Firewall.
Svůj původ můžete také zabezpečit pomocí služby Azure Private Link ve službě Azure Front Door Premium.
Další informace o rozdílech mezi těmito dvěma službami nebo o tom, kdy je použít, najdete v tématu Nejčastější dotazy ke službě Azure Front Door.
Další síťová virtuální zařízení
Produkty Microsoftu nejsou jedinou volbou pro implementaci firewallu webových aplikací ani funkcí brány firewall nové generace v Azure. Široká škála partnerů Microsoftu poskytuje síťová virtuální zařízení. Koncepty a návrhy jsou v podstatě stejné jako v tomto článku, ale existují některé důležité aspekty:
Partnerské síťové virtuální zařízení pro bránu firewall nové generace můžou poskytovat větší kontrolu a flexibilitu pro konfigurace překladu adres (NAT), které Azure Firewall nepodporuje. Mezi příklady patří DNAT z místního prostředí nebo DNAT z internetu bez SNAT.
Síťová virtuální zařízení spravovaná v Azure, jako je Application Gateway a Azure Firewall, snižují složitost v porovnání se síťovými virtuálními zařízeními, kde uživatelé potřebují zvládnout škálovatelnost a odolnost napříč mnoha zařízeními.
Při použití síťových virtuálních zařízení v Azure použijte nastavení aktivní-aktivní a automatické škálování , aby tato zařízení nebyla kritickým bodem pro aplikace spuštěné ve virtuální síti.
Přispěvatelů
Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.
Hlavní autor:
- Jose Moreno | Hlavní zákaznický inženýr
Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
Další informace o technologiích komponent:
- Co je Application Gateway?
- Co je Azure Firewall?
- Co je Azure Front Door?
- AKS
- Co je virtuální síť?
- Co je Firewall webových aplikací?
- Základní architektura pro cluster AKS
Související prostředky
Prozkoumejte související architektury: