Plánování a implementace skupin zabezpečení sítě (NSG) a skupin zabezpečení aplikací (ASG)

Dokončeno

K filtrování síťového provozu mezi prostředky Azure ve virtuální síti Azure můžete použít skupinu zabezpečení sítě Azure. Skupina zabezpečení sítě obsahuje pravidla zabezpečení umožňující povolit nebo odepřít příchozí nebo odchozí síťový provoz několika typů prostředků Azure. Pro každé pravidlo můžete zadat zdroj a cíl, port a protokol.

Skupiny zabezpečení sítě (NSG)

Pravidla zabezpečení

Skupina zabezpečení sítě obsahuje tolik pravidel, kolik potřebujete, v rámci limitů předplatného Azure. Každé pravidlo určuje následující vlastnosti:

Vlastnost Vysvětlení
Název Jedinečný název v rámci skupiny zabezpečení sítě. Název může mít délku až 80 znaků. Musí začínat znakem slova a musí končit znakem slova nebo znakem _. Název může obsahovat znaky slova nebo ".", '-', '_'.
Priorita Číslo v rozsahu od 100 do 4096. Pravidla se zpracovávají v pořadí podle priority, přičemž nižší čísla, která mají vyšší prioritu, se zpracovávají před vyššími čísly. Jakmile provoz odpovídá pravidlu, zpracování se zastaví. V důsledku toho se nezpracují všechna pravidla s nižšími prioritami (vyššími čísly), která mají stejné atributy jako pravidla s vyššími prioritami.
Výchozí pravidla zabezpečení Azure mají nejvyšší číslo s nejnižší prioritou, aby se zajistilo, že vlastní pravidla budou vždy zpracována jako první.
Zdroj nebo cíl Všechny nebo určitá IP adresa, blok CIDR (například 10.0.0.0/24), značka služby nebo skupina zabezpečení aplikace Pokud zadáváte adresu prostředku Azure, zadejte privátní IP adresu přiřazenou k tomuto prostředku. Skupiny zabezpečení sítě se zpracovávají poté, co Azure přeloží veřejnou IP adresu na privátní IP adresu pro příchozí provoz, a před tím, než Azure přeloží privátní IP adresu na veřejnou IP adresu pro odchozí provoz. Při zadávání rozsahu, značky služby nebo skupiny zabezpečení aplikace je potřeba méně pravidel zabezpečení. Možnost zadat více jednotlivých IP adres a rozsahů (nemůžete zadat více značek služeb nebo skupin aplikací) v pravidle se označuje jako rozšířená pravidla zabezpečení. Rozšířená pravidla zabezpečení je možné vytvářet pouze ve skupinách zabezpečení sítě vytvořených prostřednictvím modelu nasazení Resource Manager. Ve skupinách zabezpečení sítě vytvořených prostřednictvím modelu nasazení Classic nemůžete zadat více IP adres a rozsahů IP adres.
Protokol TCP, UDP, ICMP, ESP, AH nebo any. Protokoly ESP a AH nejsou v současné době dostupné prostřednictvím webu Azure Portal, ale je možné je použít prostřednictvím šablon Azure Resource Manageru.
Směr Určuje, jestli se pravidlo vztahuje na příchozí nebo odchozí provoz.
Rozsah portů Můžete zadat určitý port nebo rozsah portů. Můžete zadat například 80 nebo 10000-10005. Zadání rozsahů umožňuje vytvářet méně pravidel zabezpečení. Rozšířená pravidla zabezpečení je možné vytvářet pouze ve skupinách zabezpečení sítě vytvořených prostřednictvím modelu nasazení Resource Manager. Ve skupinách zabezpečení sítě vytvořených prostřednictvím modelu nasazení Classic nemůžete zadat více portů ani rozsahů portů ve stejných pravidlech zabezpečení.
Akce Povolit nebo odepřít

Pravidla zabezpečení se vyhodnocují a použijí na základě informací o pěti řazených kolekcích členů (1. zdroj, 2. zdrojový port, 3. cíl, 4. cílový port a 5. protokol). Nemůžete vytvořit dvě pravidla zabezpečení se stejnou prioritou a směrem. Pro stávající připojení se vytvoří záznam toku. Komunikace se povoluje nebo odepírá na základě stavu připojení v záznamu toku. Záznam toku umožňuje, aby skupina zabezpečení sítě byla stavová. Pokud zadáte odchozí pravidlo zabezpečení pro všechny adresy například přes port 80, není potřeba zadávat příchozí pravidlo zabezpečení pro reakci na odchozí provoz. Příchozí pravidlo zabezpečení je potřeba zadat pouze v případě, že se komunikace zahajuje externě. Opačně to platí také. Pokud je přes port povolený příchozí provoz, není potřeba zadávat odchozí pravidlo zabezpečení pro reakci na provoz přes tento port.

Existující připojení nemusí být přerušena, když odeberete pravidlo zabezpečení, které připojení povolilo. Úprava pravidel skupiny zabezpečení sítě ovlivní pouze nová připojení. Při vytvoření nového pravidla nebo aktualizaci existujícího pravidla ve skupině zabezpečení sítě se použije jenom na nová připojení. Stávající připojení se znovu nevyhodnotují s novými pravidly.

Jak skupiny zabezpečení sítě filtrují síťový provoz

Do virtuální sítě Azure můžete nasadit prostředky z několika služeb Azure. Ke každé podsíti virtuální sítě a každému síťovému rozhraní na virtuálním počítači můžete přiřadit jednu nebo žádnou skupinu zabezpečení sítě. Stejnou skupinu zabezpečení sítě můžete přidružit k libovolnému počtu podsítí a síťových rozhraní. Následující obrázek znázorňuje různé scénáře nasazení skupin zabezpečení sítě, aby umožňovaly síťový provoz do a z internetu přes port TCP 80:

Diagram znázorňující příklad nasazení skupin zabezpečení sítě pro povolení síťového provozu do a z internetu přes port TCP 80

Na obrázku spolu s následujícím textem se dozvíte, jak Azure zpracovává příchozí a odchozí pravidla pro skupiny zabezpečení sítě:

Příchozí provoz

V případě příchozího provozu Azure zpracuje pravidla ve skupině zabezpečení sítě přidružené k podsíti, pokud existuje, a pak pravidla ve skupině zabezpečení sítě přidružené k síťovému rozhraní, pokud existuje. Tento proces zahrnuje také provoz uvnitř podsítě.

  • Virtuální počítač 1: Zpracovávají se pravidla zabezpečení v NSG1 , protože je přidružená k podsíti 1 a virtuální počítač 1 je v podsíti 1. Pokud jste nevytvořili pravidlo, které povoluje příchozí port 80, výchozí pravidlo zabezpečení DenyAllInbound zakáže provoz. Provoz se nevyhodnocuje skupinou zabezpečení sítě 2, protože je přidružený k síťovému rozhraní. Pokud NSG1 ve svém pravidlu zabezpečení povoluje port 80, NSG2 zpracuje provoz. Pokud pro virtuální počítač chcete povolit příchozí provoz přes port 80, skupina NSG1 i NSG2 musí obsahovat pravidlo povolující příchozí provoz přes port 80 z internetu.
  • VM2: Pravidla v NSG1 se zpracovávají, protože virtuální počítač 2 je také v podsíti 1. Vzhledem k tomu, že virtuální počítač 2 nemá přidruženou skupinu zabezpečení sítě k síťovému rozhraní, přijímá veškerý provoz povolený prostřednictvím NSG1 nebo je odepřen veškerý provoz odepřený skupinou zabezpečení sítě 1. Pokud je skupina zabezpečení sítě přidružená k podsíti, povolí se nebo se odepře provoz do všech prostředků ve stejné podsíti.
  • VM3: Vzhledem k tomu, že k podsíti 2 není přidružená žádná skupina zabezpečení sítě, provoz se do podsítě povoluje a zpracovává skupina zabezpečení sítě 2, protože skupina zabezpečení sítě je přidružená k síťovému rozhraní připojenému k virtuálnímu počítači VM3.
  • VM4: Provoz do virtuálního počítače je povolený , protože skupina zabezpečení sítě není přidružená k podsíti 3 nebo síťovému rozhraní ve virtuálním počítači. Pokud k podsíti a síťovému rozhraní není přidružená žádná skupina zabezpečení sítě, povolí se přes ně průchod veškerého síťového provozu.

Odchozí provoz

V případě odchozího provozu Azure nejprve zpracuje pravidla ve skupině zabezpečení sítě přidružené k síťovému rozhraní, pokud existuje, a pak pravidla ve skupině zabezpečení sítě přidružené k podsíti, pokud existuje. Tento proces zahrnuje také provoz uvnitř podsítě.

  • Virtuální počítač 1: Zpracovávají se pravidla zabezpečení v NSG2 . Výchozí pravidlo zabezpečení AllowInternetOutbound v sadě NSG1 i NSG2 povoluje provoz, pokud nevytváříte pravidlo zabezpečení, které zakazuje odchozí provoz na internet přes port 80. Pokud skupina zabezpečení sítě 2 v pravidle zabezpečení odmítne port 80, provoz odmítne a skupina zabezpečení sítě 1 ho nikdy nevyhodnotí. Pokud chcete na virtuálním počítači zakázat odchozí provoz přes port 80, jedna ze skupin zabezpečení sítě nebo obě musí obsahovat pravidlo zakazující odchozí provoz přes port 80 do internetu.
  • VM2: Veškerý provoz se odesílá přes síťové rozhraní do podsítě, protože síťové rozhraní připojené k virtuálnímu počítači VM2 nemá přidruženou skupinu zabezpečení sítě. Zpracují se pravidla ve skupině NSG1.
  • VM3: Pokud skupina zabezpečení sítě 2 v pravidle zabezpečení odmítne port 80, provoz se zamítá. Pokud NSG2 neodmítá port 80, povolí výchozí pravidlo zabezpečení AllowInternetOutbound v NSG2 provoz, protože k podsíti 2 není přidružená žádná skupina zabezpečení sítě.
  • VM4: Veškerý síťový provoz je povolený z virtuálního počítače VM4, protože skupina zabezpečení sítě není přidružená k síťovému rozhraní připojenému k virtuálnímu počítači nebo k podsíti 3.

Provoz uvnitř podsítě

Je důležité si uvědomit, že pravidla zabezpečení ve skupině zabezpečení sítě přidružené k podsíti můžou ovlivnit připojení mezi virtuálními počítači v rámci této skupiny. Ve výchozím nastavení můžou virtuální počítače ve stejné podsíti komunikovat na základě výchozího pravidla NSG, které povoluje provoz uvnitř podsítě. Pokud do NSG1 přidáte pravidlo, které zakazuje veškerý příchozí a odchozí provoz, virtuální počítač 1 a VM2 nebudou moct vzájemně komunikovat.

Agregovaná pravidla použitá na síťové rozhraní můžete snadno zobrazit v platných pravidlech zabezpečení pro síťové rozhraní. Pomocí funkce Ověření toku protokolu IP v nástroji Azure Network Watcher můžete také určit, jestli je povolená komunikace směřující do síťového rozhraní nebo z něj. Ověření toku protokolu IP můžete použít k určení, jestli je komunikace povolená nebo odepřená. Kromě toho použijte ověření toku protokolu IP k zobrazení identity pravidla zabezpečení sítě zodpovědného za povolení nebo zamítnutí provozu.

Skupiny zabezpečení sítě jsou přidružené k podsítím nebo k virtuálním počítačům a cloudovým službám nasazenými v modelu nasazení Classic a k podsítím nebo síťovým rozhraním v modelu nasazení Resource Manager.

Pokud nemáte konkrétní důvod, doporučujeme přidružit skupinu zabezpečení sítě k podsíti nebo síťovému rozhraní, ale ne obojí. Vzhledem k tomu, že může docházet ke konfliktům mezi pravidly ve skupině zabezpečení sítě přidružené k podsíti a pravidly ve skupině zabezpečení sítě přidružené k síťovému rozhraní, můžou nastat neočekávané problémy s komunikací vyžadující řešení.

Skupiny zabezpečení aplikací (ASG)

Skupiny zabezpečení aplikací umožňují konfigurovat zabezpečení sítě jako přirozené rozšíření struktury aplikace. Můžete seskupovat virtuální počítače a na základě těchto skupin definovat zásady zabezpečení sítě. Zásady zabezpečení můžete opakovaně používat ve velkém měřítku bez potřeby ruční údržby explicitních IP adres. O složitost explicitních IP adres a několika skupin pravidel se stará platforma a vy se tak můžete zaměřit na obchodní logiku. Pro lepší pochopení skupin zabezpečení aplikací si představte následující příklad:

Diagram znázorňující příklad skupin zabezpečení sítě Azure a skupin zabezpečení aplikací

Na předchozím obrázku jsou NIC1 a NIC2 členy skupiny zabezpečení aplikace AsgWeb. NIC3 je členem skupiny zabezpečení aplikace AsgLogic. NIC4 je členem skupiny zabezpečení aplikace AsgDb. I když každé síťové rozhraní (NIC) v tomto příkladu je členem pouze jedné skupiny zabezpečení sítě, síťové rozhraní může být členem více skupin zabezpečení aplikací až do limitů Azure. Žádné ze síťových rozhraní nemá přidruženou skupinu zabezpečení sítě. Skupina NSG1 je přidružená k oběma podsítím a obsahuje následující pravidla:

Allow-HTTP-Inbound-Internet

Toto pravidlo je potřeba k povolení provozu směřujícího z internetu na webové servery. Vzhledem k tomu, že příchozí provoz z internetu je odepřen výchozím pravidlem zabezpečení DenyAllInbound, není pro skupiny zabezpečení aplikací AsgLogic nebo AsgDb potřeba žádné další pravidlo.

Priorita Source Zdrojové porty Cíl Cílové porty Protokol Přístup
100 Internet * AsgWeb 80 TCP Povolit

Deny-Database-All

Vzhledem k tomu, že výchozí pravidlo zabezpečení AllowVNetInBound povoluje veškerou komunikaci mezi prostředky ve stejné virtuální síti, je toto pravidlo potřeba k odepření provozu ze všech prostředků.

Priorita Source Zdrojové porty Cíl Cílové porty Protokol Přístup
120 * * AsgDb 1433 Všechny Odepřít

Allow-Database-BusinessLogic

Toto pravidlo povoluje provoz ze skupiny zabezpečení aplikace AsgLogic do skupiny zabezpečení aplikace AsgDb. Priorita tohoto pravidla je vyšší než priorita pravidla Deny-Database-All. Díky tomu se toto pravidlo zpracuje před pravidlem Deny-Database-All, takže se povolí provoz ze skupiny zabezpečení aplikace AsgLogic, zatímco veškerý ostatní provoz se zablokuje.

Priorita Source Zdrojové porty Cíl Cílové porty Protokol Přístup
110 AsgLogic * AsgDb 1433 TCP Povolit

Síťová rozhraní, která jsou členy skupiny zabezpečení aplikace, používají pravidla, která určují jako zdroj nebo cíl. Pravidla nemají vliv na jiná síťová rozhraní. Pokud síťové rozhraní není členem skupiny zabezpečení aplikace, pravidlo se nepoužije na síťové rozhraní, i když je skupina zabezpečení sítě přidružená k podsíti.

Pro skupiny zabezpečení aplikací platí následující omezení:

  • Existuje omezení počtu skupin zabezpečení aplikací, které můžete mít v předplatném, a dalších omezení souvisejících se skupinami zabezpečení aplikací.

  • Všechna síťová rozhraní přiřazená ke skupině zabezpečení aplikace musí existovat ve stejné virtuální síti jako první síťové rozhraní přiřazené ke skupině zabezpečení aplikace. Pokud se například první síťové rozhraní přiřazené ke skupině zabezpečení aplikace AsgWeb nachází ve virtuální síti VNet1, pak všechna další síťová rozhraní přiřazená ke skupině zabezpečení aplikace ASGWeb musí existovat ve virtuální síti VNet1. Do stejné skupiny zabezpečení aplikace nemůžete přidat síťová rozhraní z různých virtuálních sítí.

  • Pokud zadáte skupinu zabezpečení aplikací jako zdroj a cíl v pravidle zabezpečení, síťová rozhraní v obou skupinách zabezpečení aplikací musí existovat ve stejné virtuální síti.

    • Příkladem by bylo, kdyby asgLogic měla síťová rozhraní z virtuální sítě VNet1 a AsgDb měla síťová rozhraní z virtuální sítě VNet2. V tomto případě by nebylo možné přiřadit AsgLogic jako zdroj a AsgDb jako cíl v pravidle. Všechna síťová rozhraní pro zdrojové i cílové skupiny zabezpečení aplikací musí existovat ve stejné virtuální síti.

Pokud chcete minimalizovat počet potřebných pravidel zabezpečení a nutnost jejich změn, naplánujte potřebné skupiny zabezpečení aplikací a vytvářejte pravidla s použitím značek služeb nebo skupin zabezpečení aplikací, a ne jednotlivých IP adres nebo rozsahů IP adres, pokud je to možné.