Egyéni szabályok a Web Application Firewall v2 esetében az Azure Application Gatewayen

A Azure-alkalmazás Gateway Web Application Firewall (WAF) v2 előre konfigurált, platform által felügyelt szabálykészlettel rendelkezik, amely számos különböző típusú támadással szemben nyújt védelmet. Ezek a támadások közé tartozik a helyek közötti szkriptelés, az SQL-injektálás és mások. Ha Ön WAF-rendszergazda, érdemes lehet saját szabályokat írnia az alapvető szabálykészlet (CRS) szabályainak kibővítéséhez. Az egyéni szabályok egyező feltételek alapján blokkolhatják, engedélyezhetik vagy naplózhatják a kért forgalmat. Ha a WAF-szabályzat észlelési módra van állítva, és egy egyéni blokkszabály aktiválódik, a rendszer naplózza a kérést, és nem hajt végre blokkoló műveletet.

Az egyéni szabályok lehetővé teszik, hogy saját szabályokat hozzon létre, amelyeket a rendszer kiértékel a WAF-on áthaladó minden egyes kéréshez. Ezek a szabályok magasabb prioritással rendelkeznek, mint a felügyelt szabálykészletek többi szabálya. Az egyéni szabályok szabálynevet, szabályprioritást és egy egyező feltételek tömböt tartalmaznak. Ha ezek a feltételek teljesülnek, a rendszer műveletet hajt végre (az engedélyezés, a letiltás vagy a naplózás érdekében). Ha egy egyéni szabály aktiválódik, és engedélyező vagy letiltó műveletet hajt végre, a rendszer nem értékel ki további egyéni vagy felügyelt szabályokat. Az egyéni szabályok igény szerint engedélyezhetők vagy letilthatók.

Letilthatja például a 192.168.5.0/24 tartomány ip-címéről érkező összes kérést. Ebben a szabályban az operátor IPMatch, a matchValues az IP-címtartomány (192.168.5.0/24), a művelet pedig a forgalom blokkolása. A szabály nevét, prioritását és engedélyezett/letiltott állapotát is beállíthatja.

Az egyéni szabályok támogatják az összetettségi logika használatát a biztonsági igényeknek megfelelő speciális szabályok létrehozásához. Két egyéni szabály használatával például létrehozhatja a következő logikát (szabály1:1 . feltétel és szabály1:2. feltétel) vagy szabály2:3. feltételt). Ez a logika azt jelenti, hogy ha az 1 . és a 2. feltétel teljesül, vagy a 3. feltétel teljesül, a WAF-nek meg kell tennie az egyéni szabályokban megadott műveletet.

Az ugyanazon szabályon belüli különböző egyező feltételek használata és használata mindig összetett. Tiltsa le például a forgalmat egy adott IP-címről, és csak akkor, ha egy bizonyos böngészőt használ.

Ha két különböző feltételt szeretne használni , akkor a két feltételnek különböző szabályokban kell lennie. Tiltsa le például egy adott IP-címről érkező forgalmat, vagy tiltsa le a forgalmat, ha egy adott böngészőt használ.

A reguláris kifejezések az egyéni szabályokban is támogatottak, csakúgy, mint a CRS-szabálykészletekben. Példák: 3. és 5 . példa az egyéni webalkalmazási tűzfalszabályok létrehozása és használata című témakörben.

Feljegyzés

A WAF egyéni szabályainak maximális száma 100. Az Application Gateway korlátaival kapcsolatos további információkért lásd az Azure-előfizetések és -szolgáltatások korlátait, kvótáit és korlátozásait.

Figyelem

Az Application Gateway szintjén alkalmazott átirányítási szabályok megkerülik a WAF egyéni szabályait. Az átirányítási szabályokról további információt az Application Gateway átirányítási áttekintésében talál.

Engedélyezése és blokkolása

A forgalom engedélyezése és blokkolása egyszerű egyéni szabályokkal. Letilthatja például az IP-címek tartományából érkező összes forgalmat. Létrehozhat egy másik szabályt a forgalom engedélyezéséhez, ha a kérés egy adott böngészőből származik.

Ha engedélyezni szeretne valamit, győződjön meg arról, hogy a -Action paraméter Engedélyezés értékre van állítva. Ha blokkolni szeretne valamit, győződjön meg arról, hogy a -Action paraméter Blokk értékre van állítva.

$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

Az előző $BlockRule leképezések a következő egyéni szabályra képezhetők le az Azure Resource Managerben:

"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"
            ]
          }
        ]
      }
    ], 

Ez az egyéni szabály egy nevet, prioritást, egy műveletet és egyező feltételek tömböt tartalmaz, amelyeket teljesíteni kell a művelet végrehajtásához. A mezők további magyarázatát a következő mezőleírásokban talál. Például egyéni szabályok: Egyéni webalkalmazási tűzfalszabályok létrehozása és használata.

Egyéni szabályok mezői

Név [nem kötelező]

A szabály neve. Megjelenik a naplókban.

Szabály engedélyezése [nem kötelező]

Kapcsolja be/ki a szabályt. Az egyéni szabályok alapértelmezés szerint engedélyezve vannak.

Prioritás [kötelező]

  • Meghatározza a szabály értékelési sorrendjét. Minél alacsonyabb az érték, annál korábbi a szabály kiértékelése. Az engedélyezett tartomány 1–100.
  • Minden egyéni szabálynak egyedinek kell lennie. A 40 prioritású szabály kiértékelése a 80-ás prioritású szabály előtt történik.

Szabály típusa [kötelező]

Jelenleg a MatchRule-nak kell lennie.

Változó egyeztetése [kötelező]

A változók egyikének kell lennie:

  • RemoteAddr – A távoli számítógép-kapcsolat IPv4-címe/tartománya
  • RequestMethod – HTTP-kérési módszer
  • QueryString – Változó az URI-ban
  • PostArgs – A POST törzsben küldött argumentumok. Az egyezés változót használó egyéni szabályok csak akkor lesznek alkalmazva, ha a "Content-Type" fejléc "application/x-www-form-urlencoded" és "multipart/form-data" értékre van állítva. A CRS 3.2-es vagy újabb verziója, a robotvédelmi szabálykészlet és az egyéni szabályok földrajzi egyeztetése további tartalomtípusokat application/json is támogat.
  • RequestUri – A kérelem URI-ja
  • RequestHeaders – A kérés fejlécei
  • RequestBody – Ez a változó a teljes kérelemtörzset tartalmazza. Az egyezési változót használó egyéni szabályok csak akkor lesznek alkalmazva, ha a "Content-Type" fejléc médiatípusra application/x-www-form-urlencoded van beállítva. További tartalomtípusok application/soap+xml, application/xml, text/xml támogatottak a CRS 3.2-es vagy újabb verziójával, a robotvédelmi szabálykészlettel és az egyéni szabályok földrajzi egyeztetésével.
  • RequestCookies – A kérés cookie-k

Választó [nem kötelező]

A matchVariable gyűjtemény mezője. Ha például a matchVariable a RequestHeaders, a választó a User-Agent fejlécen lehet.

Operátor [kötelező]

Az alábbi operátorok egyikének kell lennie:

  • IPMatch – csak akkor használatos, ha a változó egyeztetése RemoteAddr, és csak az IPv4-et támogatja
  • Egyenlőség – a bemenet megegyezik a MatchValue értékével
  • Bármely – Nem lehet MatchValue. Azt javasoljuk, hogy érvényes választóval egyezzen a változóval.
  • Tartalmazza
  • LessThan
  • GreaterThan
  • LessThanOrEqual
  • GreaterThanOrEqual
  • BeginsWith
  • EndsWith
  • Regex
  • Geomatch

Negate feltétel [nem kötelező]

Az aktuális feltételt nem lehet kivenni.

Átalakítás [nem kötelező]

Azoknak a sztringeknek a listája, amelyen az átalakítások neve szerepel, mielőtt a rendszer megkísérelné az egyeztetést. Ezek lehetnek a következő átalakítások:

  • Kisbetűs
  • Nagybetűs
  • Berendezés
  • UrlDecode
  • UrlEncode
  • RemoveNulls
  • HtmlEntityDecode

Értékek egyeztetése [kötelező]

Azoknak az értékeknek a listája, amelyek az OR'ed értéknek tekinthetők. Lehet például IP-cím vagy más sztring. Az értékformátum az előző operátortól függ.

Támogatott HTTP-kérési metódusértékek a következők:

  • KAP
  • HEAD
  • POST
  • BEÁLLÍTÁSOK
  • PUT
  • Törlés...
  • JAVÍTÁS

Művelet [kötelező]

WAF-szabályzatészlelési módban, ha egy egyéni szabály aktiválódik, a rendszer mindig naplózza a műveletet, függetlenül az egyéni szabályon beállított műveleti értéktől.

  • Engedélyezés – Engedélyezi a tranzakciót, kihagyva az összes többi szabályt. A megadott kérés hozzá lesz adva az engedélyezési listához, és a megfeleltetés után a kérés leállítja a további kiértékelést, és elküldi a háttérkészletnek. Az engedélyezési listán szereplő szabályokat a rendszer nem értékeli ki további egyéni szabályok vagy felügyelt szabályok esetében.
  • Blokk – Letiltja vagy naplózza a tranzakciót a SecDefaultAction (észlelési/megelőzési mód) alapján.
    • Megelőzési mód – Letiltja a tranzakciót a SecDefaultAction alapján. A művelethez hasonlóan Allow a kérelem kiértékelése és a blokklistához való hozzáadása után a rendszer leállítja a kiértékelést, és letiltja a kérést. Az azonos feltételeknek megfelelő kéréseket a rendszer nem értékeli ki, és letiltja.
    • Észlelési mód – Naplózza a tranzakciót a SecDefaultAction alapján, amely után a kiértékelés leáll. Az azonos feltételeknek megfelelő kéréseket a rendszer nem értékeli ki, és csak naplózza.
  • Napló – Lehetővé teszi, hogy a szabály a naplóba írjon, de lehetővé teszi a többi szabály futtatását a kiértékeléshez. A többi egyéni szabályt prioritás szerinti sorrendben értékeli ki a rendszer, majd a felügyelt szabályokat.

Egyéni szabályok másolása és duplikálása

Az egyéni szabályok duplikálhatók egy adott szabályzatban. Egy szabály duplikálásakor meg kell adnia a szabály egyedi nevét és egy egyedi prioritási értéket. Emellett az egyéni szabályok átmásolhatók az Egyik Application Gateway WAF-szabályzatából egy másikba, ha a szabályzatok ugyanabban az előfizetésben találhatók. Amikor egy szabályt az egyik házirendből a másikba másol, ki kell választania azt az Application Gateway WAF-házirendet, amelybe a szabályt át szeretné másolni. Miután kiválasztotta a WAF-szabályzatot, egyedi nevet kell adnia a szabálynak, és prioritási rangot kell hozzárendelnie.

Földrajzi egyeztetéses egyéni szabályok

Az egyéni szabályok segítségével testre szabott szabályokat hozhat létre az alkalmazások és a biztonsági szabályzatok pontos igényeinek megfelelően. A webalkalmazásokhoz való hozzáférést ország/régió szerint korlátozhatja. További információ: Geomatch egyéni szabályok.

Következő lépések