Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Webový aplikační firewall Azure Application Gateway (WAF) v2 přichází s předem nakonfigurovanou sadou pravidel, která je spravována platformou a nabízí ochranu před mnoha různými typy útoků. Mezi tyto útoky patří skriptování mezi weby, injektáž SQL a další. Pokud jste správce WAF, můžete chtít napsat vlastní pravidla pro rozšíření základních pravidel (CRS). Vaše vlastní pravidla můžou na základě odpovídajících kritérií blokovat, povolit nebo protokolovat požadovaný provoz. Pokud je zásada WAF nastavená na režim detekce a aktivuje se vlastní pravidlo blokování, zaprotokoluje se požadavek a neprovedou se žádné blokující akce.
Vlastní pravidla umožňují vytvořit si pravidla, která se vyhodnocují pro každý požadavek procházející přes WAF. Tato pravidla mají vyšší prioritu než ostatní pravidla ve spravovaných sadách pravidel. Vlastní pravidla obsahují název pravidla, prioritu pravidla a pole shodných podmínek. Pokud jsou tyto podmínky splněné, provede se akce (pro povolení, blokování nebo protokolování). Pokud se aktivuje vlastní pravidlo a provede se akce povolení nebo blokování, neprovedou se žádné další akce z vlastních nebo spravovaných pravidel. V případě, že vlastní pravidlo aktivuje akci povolení nebo blokování, se mohou stále zobrazovat protokolové události pro shody pravidel z nakonfigurované sady pravidel (Základní sada pravidel/výchozí sada pravidel), ale tato pravidla se nevynucují. Události protokolu se zobrazují pouze kvůli optimalizaci vynucené modulem WAF pro paralelní zpracování pravidel a lze je bezpečně ignorovat. Vlastní pravidla je možné povolit nebo zakázat na vyžádání.
Můžete například blokovat všechny požadavky z IP adresy v rozsahu 192.168.5.0/24. V tomto pravidle je operátor IPMatch, hodnoty shody jsou rozsah adres IP (192.168.5.0/24) a akce je blokovat provoz. Také nastavíte název, prioritu a stav povoleného nebo zakázaného pravidla.
Vlastní pravidla podporují použití složené logiky k vytváření pokročilejších pravidel, která splňují vaše bezpečnostní potřeby. Můžete například použít dvě vlastní pravidla k vytvoření následující logiky ((rule1:Condition 1 a rule1:Condition 2) nebo rule2:Condition 3). Tato logika znamená, že pokud jsou splněny podmínky 1 a podmínka 2 nebo pokud je splněna podmínka 3, měl by WAF provést akci uvedenou ve vlastních pravidlech.
Různé odpovídající podmínky v rámci stejného pravidla se vždy skládají pomocí a. Například zablokujte provoz z konkrétní IP adresy a jenom v případě, že používají určitý prohlížeč.
Pokud chcete použít nebo mezi dvěma různými podmínkami, musí být tyto dvě podmínky v různých pravidlech. Pokud například používáte konkrétní prohlížeč, zablokujte provoz z konkrétní IP adresy nebo zablokujte provoz.
Regulární výrazy jsou podporovány také ve vlastních pravidlech, stejně jako v sadách pravidel CRS. Příklady najdete v tématu Příklady 3 a 5 v tématu Vytvoření a použití vlastních pravidel firewallu webových aplikací.
Poznámka:
Maximální počet vlastních pravidel WAF je 100. Další informace o limitech služby Application Gateway najdete v tématu Limity, kvóty a omezení předplatného a služeb Azure.
Upozornění
Všechna pravidla přesměrování použitá na úrovni aplikační brány budou obcházet vlastní pravidla WAF. Další informace najdete v tématu Přehled přesměrování služby Application Gateway.
Povolení vs. blokování
Povolení a blokování provozu je jednoduché pomocí vlastních pravidel. Můžete například blokovat veškerý provoz přicházející z rozsahu IP adres. Pokud požadavek pochází z konkrétního prohlížeče, můžete nastavit další pravidlo, které povolí provoz.
Pokud chcete něco povolit, ujistěte se, že -Action
je parametr nastavený na Povolit. Pokud chcete něco zablokovat, ujistěte se, že -Action
je parametr nastavený na Blokovat.
$AllowRule = New-AzApplicationGatewayFirewallCustomRule `
-Name example1 `
-Priority 2 `
-RuleType MatchRule `
-MatchCondition $condition `
-Action Allow `
-State Enabled
$BlockRule = New-AzApplicationGatewayFirewallCustomRule `
-Name example2 `
-Priority 2 `
-RuleType MatchRule `
-MatchCondition $condition `
-Action Block `
-State Enabled
Předchozí $BlockRule
mapuje na následující vlastní pravidlo v Azure Resource Manageru:
"customRules": [
{
"name": "blockEvilBot",
"priority": 2,
"ruleType": "MatchRule",
"action": "Block",
"state": "Enabled",
"matchConditions": [
{
"matchVariables": [
{
"variableName": "RequestHeaders",
"selector": "User-Agent"
}
],
"operator": "Contains",
"negationCondition": false,
"matchValues": [
"evilbot"
],
"transforms": [
"Lowercase"
]
}
]
}
],
Toto vlastní pravidlo obsahuje název, prioritu, akci a pole shodných podmínek, které musí být splněny, aby se akce uskutečnila. Další vysvětlení těchto polí najdete v následujících popisech polí. Například vlastní pravidla najdete v tématu Vytvoření a použití vlastních pravidel firewallu webových aplikací.
Poznámka:
Vlastní pravidla WAF nepodporují povolení nebo blokování požadavků na základě názvů souborů nebo typů souborů.
Pole pro vlastní pravidla
Název [volitelné]
Název pravidla. Zobrazí se v protokolech.
Povolit pravidlo [volitelné]
Zapněte nebo vypněte toto pravidlo. Vlastní pravidla jsou ve výchozím nastavení povolená.
Priorita [povinné]
- Určuje pořadí vyhodnocování pravidel. Nižší hodnota, dřívější vyhodnocení pravidla. Povolený rozsah je od 1 do 100.
- Musí být jedinečné pro všechna vlastní pravidla. Pravidlo s prioritou 40 se vyhodnocuje před pravidlem s prioritou 80.
Typ pravidla [povinné]
V současné době musí být matchRule.
Proměnná pro shodu [povinné]
Musí to být jedna z proměnných:
- RemoteAddr – Adresa/rozsah IPv4 vzdáleného připojení počítače
- RequestMethod – metoda požadavku HTTP
- QueryString – proměnná v URI
- PostArgs – argumenty odeslané v textu POST. Vlastní pravidla používající tuto proměnnou shody se použijí pouze v případě, že je hlavička Content-Type nastavená na application/x-www-form-urlencoded a multipart/form-data. U CRS verze 3.2 nebo vyšší se podporuje další typ
application/json
obsahu, sada pravidel ochrany robota a vlastní pravidla geografické shody. - RequestUri – identifikátor URI požadavku
- RequestHeaders – hlavičky požadavku
- RequestBody – Tato proměnná obsahuje celý text požadavku jako celek. Vlastní pravidla používající tuto proměnnou shody se použijí pouze v případě, že je hlavička Content-Type nastavená na
application/x-www-form-urlencoded
typ média. Další typyapplication/soap+xml, application/xml, text/xml
obsahu jsou podporovány ve verzi CRS 3.2 nebo vyšší, sada pravidel pro ochranu proti botům a vlastní pravidla pro geografickou shodu. - RequestCookies – soubory cookie žádosti
Selektor [volitelné]
Popisuje pole kolekce matchVariable. Například, pokud je matchVariable RequestHeaders, selektor může být na hlavičce User-Agent.
Operátor [povinný]
Musí to být jeden z následujících operátorů:
- IPMatch – používá se pouze v případě, že je proměnná Match RemoteAddr a podporuje pouze protokol IPv4.
- Equal – vstup je stejný jako MatchValue
- Any – Neměl by mít MatchValue. Doporučuje se použít možnost Přizpůsobit proměnnou s platným selektorem.
- Obsahuje
- LessThan
- GreaterThan
- Menší nebo rovno
- Větší nebo rovno
- Začíná s
- KoncíS
- Regex (Regulární výraz)
- Geomatch
Negační podmínka [nepovinné]
Neguje aktuální podmínku.
Transformace [volitelné]
Seznam řetězcových hodnot určujících transformace, které se mají použít před pokusem o shodu. Mezi dostupné transformace patří:
- Malá písmena
- Velká písmena
- Zastřihnout
- dekódování URL
- Kódování URL
- Odebrat hodnoty null
- HtmlEntityDecode
Porovnání hodnot [povinné]
Seznam hodnot, proti kterým lze porovnávat, který lze považovat za spojený pomocí operátoru OR. Může to být například IP adresy nebo jiné řetězce. Formát hodnoty závisí na předchozím operátoru.
Poznámka:
Pokud waF používá základní sadu pravidel (CRS) 3.1 nebo jinou starší verzi CRS, hodnota shody povoluje jenom písmena, číslice a interpunkční znaménka. Uvozovky a mezery "
'
se nepodporují.
Mezi podporované hodnoty metody požadavku HTTP patří:
- získej
- hlava
- PŘÍSPĚVEK
- MOŽNOSTI
- VLOŽIT
- VYMAZAT
- ZÁPLATA
Akce [požadována]
Pokud se v režimu detekce zásad WAF aktivuje vlastní pravidlo, akce se vždy protokoluje bez ohledu na hodnotu akce nastavenou na vlastní pravidlo.
- Allow – Autorizuje transakci a přeskočí všechna ostatní pravidla. Zadaný požadavek se přidá do seznamu povolení a jakmile dojde k shodě, zastaví se další vyhodnocování požadavku a ten se odešle do fondu back-endového systému. Pravidla, která jsou na seznamu povolených, se nevyhodnocují pro žádná další vlastní pravidla ani spravovaná pravidla.
- Blok – Blokuje nebo protokoluje transakci na základě secDefaultAction (režim detekce/prevence).
- Režim prevence – Blokuje transakci na základě SecDefaultAction. Stejně jako u
Allow
akce se požadavek vyhodnotí a přidá do seznamu blokovaných položek, vyhodnocení se zastaví a požadavek se zablokuje. Všechny požadavky po splnění stejných podmínek se nevyhodnotí a zablokují se. - Režim detekce – Protokoluje transakci na základě SecDefaultAction, po kterém je vyhodnocení zastaveno. Jakékoli žádosti po splnění stejných podmínek nejsou vyhodnoceny a jsou zapsány do protokolu.
- Režim prevence – Blokuje transakci na základě SecDefaultAction. Stejně jako u
- Protokol – Umožňuje pravidlu zapisovat do protokolu, ale nechá zbytek pravidel běžet pro vyhodnocení. Ostatní vlastní pravidla se vyhodnocují v pořadí podle priority, za nimi následují spravovaná pravidla.
Kopírování a duplikování vlastních pravidel
Vlastní pravidla se dají duplikovat v rámci dané zásady. Při duplikování pravidla musíte zadat jedinečný název pravidla a jedinečnou hodnotu priority. Kromě toho je možné vlastní pravidla zkopírovat z jedné zásady WAF služby Application Gateway do druhé, pokud jsou zásady ve stejném předplatném. Při kopírování pravidla z jedné zásady do druhé musíte vybrat zásadu WAF služby Application Gateway, do které chcete pravidlo zkopírovat. Jakmile vyberete zásadu WAF, musíte pravidlu dát jedinečný název a přiřadit pořadí priority.
Vlastní pravidla geografického shodování
Vlastní pravidla umožňují vytvářet přizpůsobená pravidla tak, aby vyhovovala přesným potřebám vašich aplikací a zásad zabezpečení. Přístup k webovým aplikacím můžete omezit podle země nebo oblasti. Další informace najdete v tématu Vlastní pravidla Geomatch.