Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma política de WAF (firewall de aplicativo Web) define as inspeções necessárias quando uma solicitação chega ao Azure Front Door.
Este artigo mostra como configurar uma política WAF para Azure Front Door Standard ou Premium que consiste em algumas regras personalizadas e que tenha o conjunto de regras padrão gerenciado pelo Azure ativado. Regras personalizadas se aplicam tanto ao nível Standard quanto ao Premium. Conjuntos de regras gerenciados, como o Conjunto de Regras Padrão, exigem o nível Premium.
Regras personalizadas e o Conjunto de Regras Padrão são opcionais; inclua um ou ambos para atender às suas necessidades. Você define o modo de política WAF (Detecção ou Prevenção) quando cria a política em uma etapa posterior.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Um perfil Standard ou Premium do Azure Front Door. Se precisar criar um, veja Quickstart: Crie um perfil Azure Front Door Standard/Premium usando PowerShell. Os exemplos deste artigo usam um perfil Premium porque conjuntos de regras gerenciadas exigem o nível Premium.
Azure Cloud Shell ou Azure PowerShell.
As etapas deste artigo executam os cmdlets do Azure PowerShell interativamente no Azure Cloud Shell. Para executar os cmdlets no Cloud Shell, selecione Open Cloud Shell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e cole-o no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell no portal do Azure.
Você também pode instalar o Azure PowerShell localmente para executar os cmdlets. Se você executar o PowerShell localmente, faça login no Azure usando o cmdlet Connect-AzAccount.
Os módulos do PowerShell
Az.CdneAz.FrontDoor. Use oAz.Cdnmódulo para trabalhar com recursos Azure Front Door Standard e Premium, e oAz.FrontDoormódulo para trabalhar com recursos WAF. Instale ambos os módulos executando os seguintes comandos:Install-Module -Name Az.Cdn Install-Module -Name Az.FrontDoor
Regra personalizada com base em parâmetros HTTP
O exemplo a seguir mostra como configurar uma regra personalizada com duas condições de correspondência usando New-AzFrontDoorWafMatchConditionObject. As solicitações são provenientes de um site específico, conforme definido pelo referenciador. Além disso, a cadeia de caracteres de consulta não contém a 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
Regra personalizada baseada em um método de solicitação HTTP
Crie uma regra bloqueando um método PUT usando New-AzFrontDoorWafCustomRuleObject.
$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2
Crie uma regra personalizada com base na restrição de tamanho
O exemplo a seguir cria uma regra que bloqueia requisições com URL maior que 100 caracteres usando o Azure PowerShell.
$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3
Adicionar um conjunto de regras padrão gerenciado
Conjuntos de regras gerenciadas estão disponíveis no Azure Front Door Premium. O exemplo a seguir cria um objeto gerenciado de Conjunto de Regras Padrão usando Azure PowerShell.
$managedRules = New-AzFrontDoorWafManagedRuleObject -Type Microsoft_DefaultRuleSet -Version 2.2
Observação
Conjuntos de regras gerenciadas exigem o Azure Front Door Premium. Azure Front Door Standard suporta apenas regras personalizadas. Este exemplo usa Microsoft_DefaultRuleSet versão 2.2. Para todas as versões disponíveis, veja grupos de regras e regras DRS do Firewall de Aplicativo Web.
Criar uma política de WAF
Crie uma política WAF que inclua as regras personalizadas e o Conjunto de Regras Padrão gerenciado das etapas anteriores usando New-AzFrontDoorWafPolicy. Defina -Sku para Premium_AzureFrontDoor incluir regras gerenciadas, ou para Standard_AzureFrontDoor apenas para regras personalizadas.
$myWAFPolicy = New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Sku Premium_AzureFrontDoor -CustomRule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention
Associe a política WAF ao seu endpoint
Para Azure Front Door Standard e Premium, você associa uma política WAF ao seu endpoint criando uma política de segurança no perfil do Azure Front Door. Uma política de segurança associa sua política de WAF aos domínios que você quer que o WAF proteja.
Recupere seu endpoint usando Get-AzFrontDoorCdnEndpoint e substitua o grupo de recursos, o perfil e o nome do endpoint pelos seus próprios. Depois, use New-AzFrontDoorCdnSecurityPolicy para associar o nome de host padrão do endpoint à sua política de WAF.
$frontDoorEndpoint = Get-AzFrontDoorCdnEndpoint -ResourceGroupName $resourceGroupName -ProfileName $frontDoorProfileName -EndpointName $frontDoorEndpointName
$securityPolicyAssociation = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallAssociationObject `
-PatternsToMatch @("/*") `
-Domain @(@{"Id"=$($frontDoorEndpoint.Id)})
$securityPolicyParameters = New-AzFrontDoorCdnSecurityPolicyWebApplicationFirewallParametersObject `
-Association $securityPolicyAssociation `
-WafPolicyId $myWAFPolicy.Id
New-AzFrontDoorCdnSecurityPolicy `
-Name 'MySecurityPolicy' `
-ProfileName $frontDoorProfileName `
-ResourceGroupName $resourceGroupName `
-Parameter $securityPolicyParameters
Observação
Uma política de segurança se aplica aos domínios em sua associação. Para proteger mais domínios, adicione-os à associação ou crie políticas de segurança adicionais.