Konfigurace pravidel Azure Firewall
Pravidla překladu adres (NAT), pravidla sítě a pravidla aplikací ve službě Azure Firewall můžete nakonfigurovat pomocí klasických pravidel nebo zásad brány firewall. Služba Azure Firewall ve výchozím nastavení zamítá veškerý provoz, dokud ručně nenakonfigurujete pravidla tak, aby provoz povolovala. Pravidla se ukončují, takže zpracování pravidel se zastaví na shodě.
Zpracování pravidel pomocí klasických pravidel
Kolekce pravidel se zpracovávají podle typu pravidla v pořadí priority, nižší čísla na vyšší čísla od 100 do 65 000. Název kolekce pravidel může obsahovat pouze písmena, číslice, podtržítka, tečky nebo pomlčky. Musí začínat písmenem nebo číslem a končit písmenem, číslem nebo podtržítkem. Maximální délka názvu je 80 znaků.
V 100 krocích (100, 200, 300 atd.) je nejlepší nejdřív vysadit čísla priorit kolekce pravidel, abyste v případě potřeby měli místo pro přidání dalších kolekcí pravidel.
Zpracování pravidel pomocí zásad brány firewall
Pomocí zásad brány firewall jsou pravidla uspořádána do kolekcí pravidel a skupin kolekcí pravidel. Skupiny kolekcí pravidel obsahují nula nebo více kolekcí pravidel. Kolekce pravidel jsou typu NAT, Network nebo Applications. V rámci jedné skupiny pravidel můžete definovat více typů kolekce pravidel. V kolekci pravidel můžete definovat nula nebo více pravidel. Pravidla v kolekci pravidel musí být stejného typu (NAT, Network nebo Application).
Pravidla se zpracovávají na základě priority skupiny kolekcí pravidel a priority kolekce pravidel. Priorita je libovolné číslo mezi 100 (nejvyšší prioritou) až 65 000 (nejnižší priorita). Skupiny kolekcí pravidel s nejvyšší prioritou se zpracovávají jako první. Uvnitř skupiny kolekcí pravidel se nejprve zpracovávají kolekce pravidel s nejvyšší prioritou (nejnižším číslem).
Pokud je zásada brány firewall zděděná z nadřazené zásady, skupiny kolekcí pravidel v nadřazené zásadě mají vždy přednost bez ohledu na prioritu podřízené zásady.
Poznámka:
Pravidla aplikací se zpracovávají vždy po pravidlech sítě, která se zpracovávají po pravidlech DNAT bez ohledu na skupinu kolekcí pravidel nebo prioritu kolekce pravidel a dědičnost zásad.
Shrnutí:
Nadřazené zásady mají vždy přednost.
- Skupiny kolekcí pravidel se zpracovávají v pořadí priority.
- Kolekce pravidel se zpracovávají v pořadí priority.
- Pravidla DNAT, pak pravidla sítě a pak se zpracovávají pravidla aplikace.
Tady je příklad zásady:
Za předpokladu, že BaseRCG1 je priorita skupiny kolekcí pravidel (200), která obsahuje kolekce pravidel: DNATRC1, DNATRC3,NetworkRC1.
BaseRCG2 je priorita skupiny kolekcí pravidel (300), která obsahuje kolekce pravidel: AppRC2, NetworkRC2.
ChildRCG1 je priorita skupiny kolekcí pravidel (300), která obsahuje kolekce pravidel: ChNetRC1, ChAppRC1.
ChildRCG2 je skupina kolekcí pravidel, která obsahuje kolekce pravidel: ChNetRC2, ChAppRC2,ChDNATRC3.
Podle následující tabulky:
Name | Type | Priorita | Pravidla | Zděděno od |
---|---|---|---|---|
BaseRCG1 | Skupina kolekcí pravidel | 200 | 8 | Nadřazené zásady |
DNATRC1 | Kolekce pravidel DNAT | 600 | 7 | Nadřazené zásady |
DNATRC3 | Kolekce pravidel DNAT | 610 | 3 | Nadřazené zásady |
NetworkRC1 | Kolekce pravidel sítě | 800 | 0 | Nadřazené zásady |
BaseRCG2 | Skupina kolekcí pravidel | 300 | 3 | Nadřazené zásady |
AppRC2 | Kolekce pravidel aplikace | 1200 | 2 | Nadřazené zásady |
NetworkRC2 | Kolekce pravidel sítě | 1300 | 0 | Nadřazené zásady |
ChildRCG1 | Skupina kolekcí pravidel | 300 | 5 | - |
ChNetRC1 | Kolekce pravidel sítě | 700 | 3 | - |
ChAppRC1 | Kolekce pravidel aplikace | 900 | 2 | - |
ChildRCG2 | Skupina kolekcí pravidel | 650 | 9 | - |
ChNetRC2 | Kolekce pravidel sítě | 1100 | 2 | - |
ChAppRC2 | Kolekce pravidel aplikace | 2000 | 7 | - |
ChDNATRC3 | Kolekce pravidel DNAT | 3000 | 2 | - |
Počáteční zpracování:
Proces začíná prozkoumáním skupiny kolekcí pravidel (RCG) s nejnižším číslem, což je BaseRCG1 s prioritou 200. V této skupině vyhledává kolekce pravidel DNAT a vyhodnocuje je podle svých priorit. V tomto případě jsou nalezeny a zpracovány DNATRC1 (priorita 600) a DNATRC3 (priorita 610).
V dalším kroku se přesune na další RCG BaseRCG2 (priorita 200), ale nenajde žádnou kolekci pravidel DNAT.
Následně pokračuje do childRCG1 (priorita 300), a to i bez kolekce pravidel DNAT.
Nakonec zkontroluje ChildRCG2 (priorita 650) a najde kolekci pravidel ChDNATRC3 (priorita 3000).
Iterace v rámci skupin kolekcí pravidel:
Když se vrátíte do BaseRCG1, iterace bude pokračovat, tentokrát pro pravidla SÍTĚ. Byl nalezen pouze NetworkRC1 (priorita 800).
Pak se přesune na BaseRCG2, kde se nachází NetworkRC2 (priorita 1300).
Při přechodu na ChildRCG1 se jako pravidlo SÍTĚ zjistí ChNetRC1 (priorita 700).
Nakonec v ChildRCG2 najde ChNetRC2 (prioritu 1100) jako kolekci pravidel SÍTĚ.
Konečná iterace pro pravidla APLIKACE:
Když se vrátíte do BaseRCG1, proces iteruje pravidla APPLICATION, ale žádné se nenašly.
V BaseRCG2 identifikuje AppRC2 (priorita 1200) jako pravidlo APLIKACE.
V ChildRCG1 se jako pravidlo APLIKACE nachází ChAppRC1 (priorita 900).
Nakonec v ChildRCG2 vyhledá jako pravidlo APLIKACE ChAppRC2 (prioritu 2000).
Shrnutí: DNATRC1, DNATRC3, ChDNATRC3, NetworkRC1, NetworkRC2, ChNetRC1, ChNetRC1, ChNetRC2, AppRC2, ChAppRC1, ChAppRC2.
Tento proces zahrnuje analýzu skupin kolekcí pravidel podle priority a v každé skupině řazení pravidel podle jejich priorit pro každý typ pravidla (DNAT, NETWORK a APPLICATION).
Proto se nejprve zpracovávají všechna pravidla DNAT ze všech skupin kolekcí pravidel a analyzují skupiny kolekcí pravidel podle pořadí priority a řazení pravidel DNAT v rámci každé skupiny kolekcí pravidel podle pořadí priority. Pak stejný postup pro pravidla SÍTĚ a nakonec pro pravidla APPLICATION.
Analýza hrozeb
Pokud povolíte filtrování na základě analýzy hrozeb, jsou tato pravidla nejvyšší prioritou a vždy se zpracovávají jako první (před pravidly sítě a aplikací). Filtrování analýzy hrozeb může zakázat provoz před zpracováním nakonfigurovaných pravidel. Další informace najdete v tématu Filtrování na základě analýzy hrozeb na základě služby Azure Firewall.
IDPS
Pokud je IDPS nakonfigurovaný v režimu upozornění , modul IDPS funguje paralelně s logikou zpracování pravidla a generuje výstrahy na odpovídající podpisy pro příchozí i odchozí toky. Pro shodu podpisu IDPS se v protokolech brány firewall zaprotokoluje upozornění. Vzhledem k tomu, že modul IDPS funguje paralelně s modulem pro zpracování pravidel, může však provoz odepřený nebo povolený pravidly aplikace nebo sítě stále generovat další položku protokolu.
Pokud je IDPS nakonfigurovaný v režimu výstrah a zamítnutí , modul IDPS je vložený a aktivovaný po modulu pro zpracování pravidel. Oba moduly proto generují výstrahy a můžou blokovat odpovídající toky.
Přerušení relace provedené službou IDPS tiše blokuje tok. Proto se na úrovni PROTOKOLU TCP neposílají žádné protokoly RST. Vzhledem k tomu, že IDPS kontroluje provoz vždy po spárování pravidla sítě nebo aplikace (Allow/Deny) a označených v protokolech, může být zaznamenána další zpráva drop , kde se IDPS rozhodne relaci odepřít z důvodu shody podpisu.
Pokud je povolená kontrola protokolu TLS nešifrovaný i šifrovaný provoz, zkontroluje se.
Odchozí připojení
Pravidla sítě a pravidla aplikací
Pokud konfigurujete pravidla sítě a pravidla aplikace, použijí se pravidla sítě v pořadí priority před pravidly aplikace. Pravidla se ukončují. Pokud se tedy v pravidle sítě najde shoda, nezpracují se žádná jiná pravidla. Pokud je nakonfigurované, idPS se provádí u veškerého provozu procházení a shody podpisů, můžou ho IDPS upozorňovat nebo blokovat podezřelý provoz.
Pravidla aplikace pak vyhodnocují paket v pořadí priority, pokud se neshoduje žádné pravidlo sítě, a pokud je protokol HTTP, HTTPS nebo MSSQL.
V případě protokolu HTTP služba Azure Firewall hledá shodu pravidla aplikace podle hlavičky hostitele. V případě protokolu HTTPS azure Firewall hledá shodu pravidla aplikace pouze podle SNI.
V případě protokolu HTTPS kontrolovaných protokolem HTTP i TLS brána firewall ignoruje cílovou IP adresu paketu a použije IP adresu přeloženou SLUŽBou DNS z hlavičky hostitele. Brána firewall očekává, že v hlavičce hostitele získá číslo portu, jinak předpokládá standardní port 80. Pokud dojde k neshodě portů mezi skutečným portem TCP a portem v hlavičce hostitele, provoz se zahodí. Překlad DNS provádí Azure DNS nebo vlastní DNS, pokud je nakonfigurovaný v bráně firewall.
Poznámka:
Protokoly HTTP i HTTPS (s kontrolou protokolu TLS) jsou vždy vyplněny hlavičkou XFF (X-Forwarded-For) a rovnají se původní zdrojové IP adrese.
Pokud pravidlo aplikace obsahuje kontrolu protokolu TLS, modul pravidel brány firewall zpracuje SNI, hlavičku hostitele a také adresu URL odpovídající pravidlu.
Pokud se v pravidlech aplikace nenajde žádná shoda, paket se vyhodnotí jako kolekce pravidel infrastruktury. Pokud stále neexistuje shoda, paket se ve výchozím nastavení zamítá.
Poznámka:
Pravidla sítě je možné nakonfigurovat pro protokol TCP, UDP, ICMP nebo jakýkoli protokol IP. Jakýkoli protokol IP obsahuje všechny protokoly IP definované v dokumentu IANA (Internet Assigned Numbers Authority). Pokud je cílový port explicitně nakonfigurovaný, pravidlo se přeloží na pravidlo TCP+UDP. Před 9. listopadem 2020 znamená jakýkoli tcp, UDP nebo ICMP. Proto jste možná nakonfigurovali pravidlo před tímto datem pomocí protokolu = Any a cílových portů = *. Pokud nemáte v úmyslu povolit žádný protokol IP, jak je aktuálně definováno, upravte pravidlo tak, aby explicitně nakonfiguruje požadované protokoly (TCP, UDP nebo ICMP).
Příchozí připojení
Pravidla DNAT a pravidla sítě
Příchozí připojení k internetu nebo intranetu (Preview) je možné povolit konfigurací překladu adres cílové sítě (DNAT), jak je popsáno v tématu Filtrování příchozího internetového nebo intranetového provozu pomocí DNAT služby Azure Firewall pomocí webu Azure Portal. Pravidla překladu adres (NAT) se použijí podle priority před pravidly sítě. Pokud se najde shoda, provoz se přeloží podle pravidla DNAT a povolí ho brána firewall. Provoz proto není předmětem dalšího zpracování jinými pravidly sítě. Z bezpečnostníchdůvodůch
Pravidla aplikace se pro příchozí připojení nepoužijí. Pokud tedy chcete filtrovat příchozí provoz HTTP/S, měli byste použít firewall webových aplikací (WAF). Další informace najdete v tématu Co je Azure Web Application Firewall?
Příklady
Následující příklady ukazují výsledky některých z těchto kombinací pravidel.
Příklad 1
Připojení k google.com je povolené kvůli odpovídajícímu pravidlu sítě.
Pravidlo sítě
- Akce: Povolit
name | Protokol | Source type | Zdroj | Typ cíle | Cílová adresa | Cílové porty |
---|---|---|---|---|---|---|
Povolit web | TCP | IP adresa | * | IP adresa | * | 80,443 |
Pravidlo aplikace
- Akce: Odepřít
name | Source type | Zdroj | Protokol:port | Cílové plně kvalifikované názvy domén |
---|---|---|---|---|
Odepřít google | IP adresa | * | http:80,https:443 | google.com |
Výsledek
Připojení k google.com je povoleno, protože paket odpovídá pravidlu sítě Allow-Web . Zpracování pravidel se v tuto chvíli zastaví.
Příklad 2
Provoz SSH je odepřen, protože shromažďování pravidel sítě s vyšší prioritou blokuje.
Kolekce pravidel sítě 1
- Název: Allow-collection
- Priorita: 200
- Akce: Povolit
name | Protokol | Source type | Zdroj | Typ cíle | Cílová adresa | Cílové porty |
---|---|---|---|---|---|---|
Allow-SSH | TCP | IP adresa | * | IP adresa | * | 22 |
Kolekce pravidel sítě 2
- Název: Odepřít kolekci
- Priorita: 100
- Akce: Odepřít
name | Protokol | Source type | Zdroj | Typ cíle | Cílová adresa | Cílové porty |
---|---|---|---|---|---|---|
Odepřít SSH | TCP | IP adresa | * | IP adresa | * | 22 |
Výsledek
Připojení SSH jsou odepřena, protože kolekce pravidel sítě s vyšší prioritou blokuje. Zpracování pravidel se v tuto chvíli zastaví.
Změny pravidel
Pokud změníte pravidlo na odepření dříve povoleného provozu, všechny relevantní existující relace se zahodí.
Třícestné chování metody handshake
Azure Firewall jako stavová služba dokončí třícestný metodu handshake protokolu TCP pro povolený provoz ze zdroje do cíle. Například VNet-A do VNet-B.
Vytvoření pravidla povolení z virtuální sítě A do virtuální sítě B neznamená, že jsou povolena nová iniciovaná připojení z virtuální sítě B do virtuální sítě A.
V důsledku toho není potřeba vytvořit explicitní pravidlo zamítnutí z VNet-B do VNet-A.