WAF-szabályzat konfigurálása Azure PowerShell használatával

A webalkalmazási tűzfalra (WAF) vonatkozó szabályzat határozza meg azokat az ellenőrzéseket, amelyekre szükség van, amikor egy kérés megérkezik az Azure Front Doorba.

Ez a cikk bemutatja, hogyan konfigurálhat olyan WAF-szabályzatot, amely néhány egyéni szabályból áll, és engedélyezve van az Azure által felügyelt alapértelmezett szabálykészlet.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

Mielőtt elkezdene sebességkorlát-szabályzatot beállítani, állítsa be a PowerShell-környezetet, és hozzon létre egy Azure Front Door-profilt.

A PowerShell-környezet beállítása

Az Azure PowerShell olyan parancsmagok készletét kínálja, amelyek az Azure Resource Manager modellt használják az Azure-erőforrások kezeléséhez.

Az Azure PowerShellt telepítheti a helyi számítógépen és bármely PowerShell-munkamenetben használhatja. Az azure-beli hitelesítő adatokkal való bejelentkezéshez kövesse az oldalon található utasításokat. Ezután telepítse az Az PowerShell-modult.

Bejelentkezés az Azure-ba

Connect-AzAccount

Az Azure Front Door modul telepítése előtt győződjön meg arról, hogy telepítve van a PowerShellGet aktuális verziója. Futtassa a következő parancsot, és nyissa meg újra a PowerShellt.

Install-Module PowerShellGet -Force -AllowClobber

Az Az.FrontDoor modul telepítése

Install-Module -Name Az.FrontDoor

Azure Front Door-profil létrehozása

Hozzon létre egy Azure Front Door-profilt a Gyorsútmutató: Azure Front Door-profil létrehozása című rövid útmutató utasításait követve.

Egyéni szabály HTTP-paraméterek alapján

Az alábbi példa bemutatja, hogyan konfigurálhat egyéni szabályt két egyezési feltétellel a New-AzFrontDoorWafMatchConditionObject használatával. A kérések a hivatkozó által definiált megadott webhelyről származnak, és a lekérdezési sztring nem tartalmazza a következőt password: .

$referer = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Equal -Selector "Referer" -MatchValue "www.mytrustedsites.com/referpage.html"
$password = New-AzFrontDoorWafMatchConditionObject -MatchVariable QueryString -OperatorProperty Contains -MatchValue "password"
$AllowFromTrustedSites = New-AzFrontDoorWafCustomRuleObject -Name "AllowFromTrustedSites" -RuleType MatchRule -MatchCondition $referer,$password -Action Allow -Priority 1

Egyéni szabály HTTP-kérési módszer alapján

Hozzon létre egy put metódust blokkoló szabályt a New-AzFrontDoorWafCustomRuleObject használatával.

$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2

Egyéni szabály létrehozása méretkényszer alapján

Az alábbi példa egy 100 karakternél hosszabb URL-címmel rendelkező szabályblokkoló kéréseket hoz létre Azure PowerShell használatával.

$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3

Felügyelt alapértelmezett szabálykészlet hozzáadása

Az alábbi példa egy felügyelt alapértelmezett szabálykészletet hoz létre Azure PowerShell használatával.

$managedRules =  New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version 1.0

Biztonsági szabályzat konfigurálása

Keresse meg az Azure Front Door-profilt tartalmazó erőforráscsoport nevét a használatával Get-AzResourceGroup. Ezután konfiguráljon egy biztonsági szabályzatot az előző lépésekben létrehozott szabályokkal a New-AzFrontDoorWafPolicy használatával a megadott erőforráscsoportban, amely tartalmazza az Azure Front Door-profilt.

$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention

Kapcsolja a biztonsági szabályzat objektumát egy meglévő Azure Front Door előtér-gazdagéphez, és frissítse az Azure Front Door tulajdonságait. Először kérje le az Azure Front Door objektumot a Get-AzFrontDoor paranccsal. Ezután állítsa az előtér WebApplicationFirewallPolicyLink tulajdonságot az resourceId$myWAFPolicy$ előző lépésben létrehozott értékre a Set-AzFrontDoor paranccsal.

Az alábbi példa az erőforráscsoport nevét myResourceGroupFD1 használja azzal a feltételezéssel, hogy létrehozta az Azure Front Door-profilt a Gyorsútmutató: Azure Front Door létrehozása című útmutató utasításaival. Emellett a következő példában cserélje le a elemet $frontDoorName az Azure Front Door-profil nevére.

   $FrontDoorObjectExample = Get-AzFrontDoor `
     -ResourceGroupName myResourceGroupFD1 `
     -Name $frontDoorName
   $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $myWAFPolicy.Id
   Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Megjegyzés

Csak egyszer kell beállítania a WebApplicationFirewallPolicyLink tulajdonságot, hogy biztonsági szabályzatot csatoljon egy Azure Front Door-előtérhez. A rendszer automatikusan alkalmazza az ezt követő szabályzatfrissítéseket az előtérre.

Következő lépések