Delen via


Aangepaste azure WAF-regels voor geomatch gebruiken om de netwerkbeveiliging te verbeteren

Web Application Firewalls (WAF's) zijn een belangrijk hulpprogramma waarmee webtoepassingen worden beschermd tegen schadelijke aanvallen. Ze kunnen webverkeer filteren, bewaken en stoppen met zowel vooraf ingestelde als aangepaste regels. U kunt uw eigen regel maken die door de WAF wordt gecontroleerd op elke aanvraag die het ontvangt. Aangepaste regels hebben een hogere prioriteit dan de beheerde regels en worden eerst gecontroleerd.

Een van de krachtigste functies van Azure Web Application Firewall is aangepaste regels voor geomatch. Met deze regels kunt u webaanvragen koppelen aan de geografische locatie waar ze vandaan komen. Mogelijk wilt u aanvragen van bepaalde plaatsen die bekend staan om schadelijke activiteiten stoppen of wilt u aanvragen van plaatsen die belangrijk zijn voor uw bedrijf toestaan. Aangepaste regels voor geomatch kunnen u ook helpen bij het volgen van gegevenssoevereine en privacywetten door de toegang tot uw webtoepassingen te beperken op basis van de locatie van de personen die ze gebruiken.

Gebruik de prioriteitsparameter verstandig wanneer u aangepaste regels voor geomatch gebruikt om onnodige verwerking of conflicten te voorkomen. Azure WAF evalueert regels in de volgorde die wordt bepaald door de prioriteitsparameter, een numerieke waarde tussen 1 en 100, met lagere waarden die een hogere prioriteit aangeven. De prioriteit moet uniek zijn voor alle aangepaste regels. Wijs een hogere prioriteit toe aan kritieke of specifieke regels voor uw webtoepassingsbeveiliging en lagere prioriteit aan minder essentiële of algemene regels. Dit zorgt ervoor dat WAF de meest geschikte acties toepast op uw webverkeer. Het scenario waarin u bijvoorbeeld een expliciet URI-pad identificeert, is het meest specifiek en moet een regel met een hogere prioriteit hebben dan andere typen patronen. Dit beveiligt een kritiek pad op de toepassing met de hoogste prioriteit, terwijl meer algemeen verkeer kan worden geëvalueerd in andere aangepaste regels of beheerde regelsets.

Als u de alinea beter wilt begrijpen voor een technisch publiek met behulp van de huidige gespannen en actieve stem, kunt u deze als volgt herschrijven:

Test uw regels altijd voordat u ze toepast op productie en bewaak regelmatig de prestaties en impact ervan. Door deze aanbevolen procedures te volgen, kunt u de beveiliging van uw webtoepassing verbeteren met behulp van de kracht van aangepaste regels voor geomatch.

In dit artikel maakt u kennis met aangepaste azure WAF-regels voor geomatch en leert u hoe u deze maakt en beheert met behulp van Azure Portal, Bicep en Azure PowerShell.

Aangepaste regelpatronen voor geomatch

Met aangepaste regels voor geomatch kunt u voldoen aan diverse beveiligingsdoelen, zoals het blokkeren van aanvragen van gebieden met een hoog risico en het toestaan van aanvragen vanaf vertrouwde locaties. Ze zijn met name effectief bij het beperken van DDoS-aanvallen (Distributed Denial-of-Service), die proberen uw webtoepassing te beschadigen met een groot aantal aanvragen van verschillende bronnen. Met aangepaste regels voor geomatch kunt u direct regio's aanwijzen en blokkeren die het meeste DDoS-verkeer genereren, terwijl u nog steeds toegang verleent aan legitieme gebruikers. In dit artikel leert u meer over verschillende aangepaste regelpatronen die u kunt gebruiken om uw Azure WAF te optimaliseren met behulp van aangepaste regels voor geomatch.

Scenario 1: Verkeer van alle landen blokkeren, met uitzondering van 'x'

Aangepaste regels voor geomatch zijn handig wanneer u het verkeer van alle landen wilt blokkeren, met een beperking. Als uw webtoepassing bijvoorbeeld uitsluitend geschikt is voor gebruikers in de Verenigde Staten, kunt u een aangepaste regel voor geomatch formuleren die alle aanvragen die niet afkomstig zijn van de VERENIGDE Staten belemmert. Met deze strategie wordt het kwetsbaarheid voor aanvallen van uw webtoepassing geminimaliseerd en wordt onbevoegde toegang vanuit andere regio's geweigerd. Deze specifieke techniek maakt gebruik van een negatievoorwaarde om dit verkeerspatroon te vergemakkelijken. Raadpleeg de volgende portal-, Bicep- en PowerShell-voorbeelden voor het maken van een aangepaste regel voor geomatch die verkeer van alle landen, met uitzondering van de VS, blokkeert:

Portalvoorbeeld - Application Gateway

Screenshot showing the Application Gateway WAF add custom rule screen.

Portalvoorbeeld - Front Door

Screenshot showing the Front Door WAF add custom rule screen.

Notitie

U ziet dat u azure Front Door WAF gebruikt SocketAddr als de overeenkomstvariabele en niet RemoteAddr. De RemoteAddr variabele is het oorspronkelijke IP-adres van de client dat meestal via de X-Forwarded-For aanvraagheader wordt verzonden. De SocketAddr variabele is het bron-IP-adres dat de WAF ziet.

Bicep-voorbeeld - Application Gateway

properties: {
    customRules: [
      {
        name: 'GeoRule1'
        priority: 10
        ruleType: 'MatchRule'
        action: 'Block'
        matchConditions: [
          {
            matchVariables: [
              {
                variableName: 'RemoteAddr'
              }
            ]
            operator: 'GeoMatch'
            negationConditon: true
            matchValues: [
              'US'
            ]
            transforms: []
          }
        ]
        state: 'Enabled'
      }

Bicep-voorbeeld - Front Door

properties: {
    customRules: {
      rules: [
        {
          name: 'GeoRule1'
          enabledState: 'Enabled'
          priority: 10
          ruleType: 'MatchRule'
          matchConditions: [
            {
              matchVariable: 'SocketAddr'
              operator: 'GeoMatch'
              negateCondition: true
              matchValue: [
                'US'
              ]
              transforms: []
            }
          ]
          action: 'Block'
        }

Azure PowerShell-voorbeeld - Application Gateway

$RGname = "rg-waf "
$policyName = "waf-pol"
$variable = New-AzApplicationGatewayFirewallMatchVariable -VariableName RemoteAddr
$condition = New-AzApplicationGatewayFirewallCondition -MatchVariable $variable -Operator GeoMatch -MatchValue "US" -NegationCondition $true
$rule = New-AzApplicationGatewayFirewallCustomRule -Name GeoRule1 -Priority 10 -RuleType MatchRule -MatchCondition $condition -Action Block
$policy = Get-AzApplicationGatewayFirewallPolicy -Name $policyName -ResourceGroupName $RGname
$policy.CustomRules.Add($rule)
Set-AzApplicationGatewayFirewallPolicy -InputObject $policy

Azure PowerShell-voorbeeld - Front Door

$RGname = "rg-waf"
$policyName = "wafafdpol"
$matchCondition = New-AzFrontDoorWafMatchConditionObject -MatchVariable SocketAddr -OperatorProperty GeoMatch -MatchValue "US" -NegateCondition $true
$customRuleObject = New-AzFrontDoorWafCustomRuleObject -Name "GeoRule1" -RuleType MatchRule -MatchCondition $matchCondition -Action Block -Priority 10
$afdWAFPolicy= Get-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $RGname
Update-AzFrontDoorWafPolicy -InputObject $afdWAFPolicy -Customrule $customRuleObject

Scenario 2: verkeer van alle landen blokkeren, behalve 'x' en 'y' die gericht zijn op de URI 'foo' of 'bar'

Overweeg een scenario waarin u aangepaste regels voor geomatch moet gebruiken om verkeer van alle landen te blokkeren, met uitzondering van twee of meer specifieke regels die gericht zijn op een specifieke URI. Stel dat uw webtoepassing specifieke URI-paden heeft die alleen zijn bedoeld voor gebruikers in de VS en Canada. In dit geval maakt u een aangepaste regel voor geomatch die alle aanvragen blokkeert die niet afkomstig zijn van deze landen.

Dit patroon verwerkt nettoladingen van aanvragen van de VS en Canada via de beheerde regelsets, het vangen van schadelijke aanvallen, terwijl aanvragen van alle andere landen worden geblokkeerd. Deze aanpak zorgt ervoor dat alleen uw doelgroep toegang heeft tot uw webtoepassing, waardoor ongewenst verkeer van andere regio's wordt voorkomen.

Als u mogelijke fout-positieven wilt minimaliseren, neemt u de landcode-ZZ op in de lijst om IP-adressen vast te leggen die nog niet zijn toegewezen aan een land in de gegevensset van Azure. Deze techniek maakt gebruik van een negatevoorwaarde voor het geolocatietype en een niet-negatevoorwaarde voor de URI-overeenkomst.

Als u een aangepaste regel voor geomatch wilt maken die verkeer van alle landen, met uitzondering van de VS en Canada, blokkeert naar een opgegeven URI, raadpleegt u de portal-, Bicep- en Azure PowerShell-voorbeelden.

Portalvoorbeeld - Application Gateway

Screenshot showing add custom rule for Application Gateway.

Portalvoorbeeld - Front Door

Screenshot showing add custom rule for Front Door.

Bicep-voorbeeld - Application Gateway

properties: {
    customRules: [
      {
        name: 'GeoRule2'
        priority: 11
        ruleType: 'MatchRule'
        action: 'Block'
        matchConditions: [
          {
            matchVariables: [
              {
                variableName: 'RemoteAddr'
              }
            ]
            operator: 'GeoMatch'
            negationConditon: true
            matchValues: [
              'US'
              'CA'
            ]
            transforms: []
          }
          {
            matchVariables: [
              {
                variableName: 'RequestUri'
              }
            ]
            operator: 'Contains'
            negationConditon: false
            matchValues: [
              '/foo'
              '/bar'
            ]
            transforms: []
          }
        ]
        state: 'Enabled'
      }

Bicep-voorbeeld - Front Door

properties: {
    customRules: {
      rules: [
        {
          name: 'GeoRule2'
          enabledState: 'Enabled'
          priority: 11
          ruleType: 'MatchRule'
          matchConditions: [
            {
              matchVariable: 'SocketAddr'
              operator: 'GeoMatch'
              negateCondition: true
              matchValue: [
                'US'
                'CA'
              ]
              transforms: []
            }
            {
              matchVariable: 'RequestUri'
              operator: 'Contains'
              negateCondition: false
              matchValue: [
                '/foo'
                '/bar'
              ]
              transforms: []
            }
          ]
          action: 'Block'
        }

Azure PowerShell-voorbeeld - Application Gateway

$RGname = "rg-waf "
$policyName = "waf-pol"
$variable1a = New-AzApplicationGatewayFirewallMatchVariable -VariableName RemoteAddr
$condition1a = New-AzApplicationGatewayFirewallCondition -MatchVariable $variable1a -Operator GeoMatch -MatchValue @(“US”, “CA”) -NegationCondition $true
$variable1b = New-AzApplicationGatewayFirewallMatchVariable -VariableName RequestUri
$condition1b = New-AzApplicationGatewayFirewallCondition -MatchVariable $variable1b -Operator Contains -MatchValue @(“/foo”, “/bar”) -NegationCondition $false
$rule1 = New-AzApplicationGatewayFirewallCustomRule -Name GeoRule2 -Priority 11 -RuleType MatchRule -MatchCondition $condition1a, $condition1b -Action Block
$policy = Get-AzApplicationGatewayFirewallPolicy -Name $policyName -ResourceGroupName $RGname
$policy.CustomRules.Add($rule1)
Set-AzApplicationGatewayFirewallPolicy -InputObject $policy

Azure PowerShell-voorbeeld - Front Door

$RGname = "rg-waf"
$policyName = "wafafdpol"
$matchCondition1a = New-AzFrontDoorWafMatchConditionObject -MatchVariable SocketAddr -OperatorProperty GeoMatch -MatchValue @(“US”, "CA") -NegateCondition $true
$matchCondition1b = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty Contains -MatchValue @(“/foo”, “/bar”) -NegateCondition $false
$customRuleObject1 = New-AzFrontDoorWafCustomRuleObject -Name "GeoRule2" -RuleType MatchRule -MatchCondition $matchCondition1a, $matchCondition1b -Action Block -Priority 11
$afdWAFPolicy= Get-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $RGname
Update-AzFrontDoorWafPolicy -InputObject $afdWAFPolicy -Customrule $customRuleObject1

Scenario 3: verkeer specifiek van land x blokkeren

U kunt aangepaste regels voor geomatch gebruiken om verkeer van specifieke landen te blokkeren. Als uw webtoepassing bijvoorbeeld veel schadelijke aanvragen van land x ontvangt, maakt u een aangepaste regel voor geomatch om alle aanvragen uit dat land te blokkeren. Hierdoor wordt uw webtoepassing beschermd tegen mogelijke aanvallen en wordt de resourcebelasting verminderd. Pas dit patroon toe om meerdere kwaadwillende of vijandige landen te blokkeren. Voor deze techniek is een overeenkomstvoorwaarde vereist voor het verkeerspatroon. Zie de volgende portal-, Bicep- en Azure PowerShell-voorbeelden om verkeer van land x te blokkeren.

Portalvoorbeeld - Application Gateway

Screenshot showing the application gateway add custom rule screen.

Portalvoorbeeld - Front Door

Screenshot showing the front door add custom rule screen.

Bicep-voorbeeld - Application Gateway

properties: {
    customRules: [
      {
        name: 'GeoRule3'
        priority: 12
        ruleType: 'MatchRule'
        action: 'Block'
        matchConditions: [
          {
            matchVariables: [
              {
                variableName: 'RemoteAddr'
              }
            ]
            operator: 'GeoMatch'
            negationConditon: false
            matchValues: [
              'US'
            ]
            transforms: []
          }
        ]
        state: 'Enabled'
      }

Bicep-voorbeeld - Front Door

properties: {
    customRules: {
      rules: [
        {
          name: 'GeoRule3'
          enabledState: 'Enabled'
          priority: 12
          ruleType: 'MatchRule'
          matchConditions: [
            {
              matchVariable: 'SocketAddr'
              operator: 'GeoMatch'
              negateCondition: false
              matchValue: [
                'US'
              ]
              transforms: []
            }
          ]
          action: 'Block'
        }

Azure PowerShell-voorbeeld - Application Gateway

$RGname = "rg-waf "
$policyName = "waf-pol"
$variable2 = New-AzApplicationGatewayFirewallMatchVariable -VariableName RemoteAddr
$condition2 = New-AzApplicationGatewayFirewallCondition -MatchVariable $variable2 -Operator GeoMatch -MatchValue "US" -NegationCondition $false
$rule2 = New-AzApplicationGatewayFirewallCustomRule -Name GeoRule3 -Priority 12 -RuleType MatchRule -MatchCondition $condition2 -Action Block
$policy = Get-AzApplicationGatewayFirewallPolicy -Name $policyName -ResourceGroupName $RGname
$policy.CustomRules.Add($rule2)
Set-AzApplicationGatewayFirewallPolicy -InputObject $policy

Azure PowerShell-voorbeeld - Front Door

$RGname = "rg-waf"
$policyName = "wafafdpol"
$matchCondition2 = New-AzFrontDoorWafMatchConditionObject -MatchVariable SocketAddr -OperatorProperty GeoMatch -MatchValue "US" -NegateCondition $false
$customRuleObject2 = New-AzFrontDoorWafCustomRuleObject -Name "GeoRule3" -RuleType MatchRule -MatchCondition $matchCondition2 -Action Block -Priority 12
$afdWAFPolicy= Get-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $RGname
Update-AzFrontDoorWafPolicy -InputObject $afdWAFPolicy -Customrule $customRuleObject2

Antipatronen voor aangepaste regels voor geomatch

Vermijd antipatronen bij het gebruik van aangepaste regels voor geomatch, zoals het instellen van de aangepaste regelactie allow in plaats van block. Dit kan onbedoelde gevolgen hebben, zoals het toestaan van verkeer om de WAF te omzeilen en uw webtoepassing mogelijk bloot te stellen aan andere bedreigingen.

In plaats van een allow actie te gebruiken, gebruikt u een block actie met een negatevoorwaarde, zoals wordt weergegeven in eerdere patronen. Dit zorgt ervoor dat alleen verkeer van de gewenste landen is toegestaan en het WAF blokkeert al het andere verkeer.

Scenario 4: verkeer van land x toestaan

Vermijd het instellen van de aangepaste regel voor geomatch om verkeer van een specifiek land toe te staan. Als u bijvoorbeeld verkeer van de Verenigde Staten wilt toestaan vanwege een groot klantenbestand, kan het maken van een aangepaste regel met de actie allow en de waarde United States eruit zien als de oplossing. Met deze regel is echter al het verkeer van de Verenigde Staten toegestaan, ongeacht of deze een schadelijke nettolading heeft of niet, omdat de allow actie verdere verwerking van beheerde regelsets omzeilt. Daarnaast verwerkt de WAF nog steeds verkeer van alle andere landen en verbruikt het resources. Hierdoor wordt uw webtoepassing blootgesteld aan schadelijke aanvragen van de Verenigde Staten die de WAF anders zou blokkeren.

Scenario 5: verkeer van alle provincies toestaan, met uitzondering van 'x'

Vermijd het instellen van de regelactie voor allow en het opgeven van een lijst met landen die moeten worden uitgesloten wanneer aangepaste regels voor geomatch worden gebruikt. Als u bijvoorbeeld verkeer vanuit alle landen wilt toestaan, met uitzondering van de Verenigde Staten, waarbij u schadelijke activiteiten vermoedt, kan deze aanpak onbedoelde gevolgen hebben. Het kan verkeer van niet-geverifieerde of onveilige landen of landen met een lage of geen beveiligingsstandaard toestaan, waardoor uw webtoepassing wordt blootgesteld aan potentiële beveiligingsproblemen of aanvallen. Als u de allow actie voor alle landen gebruikt, met uitzondering van de VS, geeft de WAF aan om de verwerking van nettoladingen van aanvragen op basis van beheerde regelsets te stoppen. Alle regelevaluatie wordt beëindigd zodra de aangepaste regel is allow verwerkt, waardoor de toepassing wordt blootgesteld aan ongewenste aanvallen.

Gebruik in plaats daarvan een meer beperkende en specifieke regelactie, zoals blokkeren, en geef een lijst met landen op die moeten worden toegestaan met een negate-voorwaarde. Dit zorgt ervoor dat alleen verkeer van vertrouwde en geverifieerde bronnen toegang heeft tot uw webtoepassing terwijl verdacht of ongewenst verkeer wordt geblokkeerd.

Volgende stappen