Der Application Gateway WAF v2 hat einige neue Funktionen gegenüber der v1 mit sich gebracht, unter anderem die Möglichkeit zum Erstellen von «WAF Custom Rules». In diesem kurzen Artikel möchte ich auf diese «Custom Rules» eingehen und aufzeigen, wie du solche erfolgreich erstellen kannst. Den Artikel habe ich mit gewissen Hinweisen versehen, die in der Microsoft Dokumentation nur schwer oder gar nicht zu finden sind.
Funktionsübersicht WAF v1 vs v2
Die Funktionsübersicht und der Vergleich der v1 mit der v2 der Application Gateway WAF hat Microsoft übersichtlich unter folgendem Link dargestellt. Sollten dich zusätzlich zu den «Custom Rules» auch die weiteren Unterschiede interessieren, findest du diese dort.
Microsoft Docs Funktionübersicht & Vergleich
Application Gateway WAF v2 Custom Rules
Nun aber zum eigentlichen Thema, nämlich den WAF Custom Rules des Application Gateway. Um solche Custom Rules zu erstellen, kannst du ein ganz gewöhnlicher Application Gateway erstellen, wenn dieser noch nicht vorhanden ist. Bei der Erstellung brauchst du dich darauf zu achten, dass du beim Tiering «WAF V2» auswählst.
Kontrollieren der WAF Version
Falls du bereits über ein Application Gateway verfügst, dir aber nicht bekannt ist, um welche Version es sich dabei handelt, so kannst du das im Portal oder per PowerShell einfach prüfen. Im Portal ist dies direkt in der Overview ersichtlich.
Mit PowerShell ist das gleiche mit folgendem Befehl möglich und ergibt den Output wie im PrintScreen ersichtlich.
$appgw = Get-AzApplicationGateway -Name <AppGwName> -ResourceGroupName <ResourceGroupName>
$appgw.sku
Erstellen der WAF v2 Custom Rules
Nun da sichergestellt ist, dass du über die korrekte Version des Application Gateway verfügst, kannst du mit dem Erstellen der gewünschten «Custom Rules» starten. Azure bildet die WAF Custom Rules in einer eigenen Ressource ab, die wiederrum mit dem Application Gateway verknüpft ist. Dafür gehst du wie folgt vor.
- Im Application Gateway, unter «Settings» und «Web application firewall», klicke auf den Namen der bereits assoziierten Policy.
- Du wirst nun zu der «Application Gateway WAF policy» Ressource weitergeleitet. Dort navigiere zu «Custom rules» unter «Settings», wo du nun eine neue Custom Rule anlegen kannst.
- Wähle «Add custom rule»
Hinweis:
Entscheidest du dich bei den Custom Rules mit dem String «RequestUri» zu arbeiten, so beachte, dass nur der Pfad angegeben werden darf und nicht die volle URI. Die volle URI «https://graber.cloud/WebApp01» kürzt du also auf nur «/WebApp01».
Folgend ein Beispiel. Bei dieser «Custom Rule» wird die URI in Kleinbuchstaben transformiert und dann auf den Pfad «/webapp01» geprüft. Die Operation ist auf «is not» gestellt und die Aktion ganz unten bei «Then» auf «Deny traffic» gestellt. Somit ist jeglicher Verkehr der NICHT diesen URI-Pfad aufweist geblockt. Ist der URI-Pfad jedoch korrekt, wird der Verkehr zugelassen und die Standard-Regeln des Application Gateway treten zusätzlich in Kraft.
Hinweis zur Priorisierung:
Egal wie viele «Custom Rules» du erstellst, Azure wendet immer nur maximal eine einzige zutreffende an. Zuerst wird diejenige «Custom Rule» mit der niedrigsten Zahl bei der Priorität evaluiert (also Priorität 10 vor 11 vor 50…). Trifft diese Regel zu, werden keine weiteren Regeln mehr evaluiert und die Aktion der Regel tritt in Kraft (Beispielsweise «Deny traffic»). Trifft die Regel nicht zu, so wird die Nächste nach Priorität der Reihe nach evaluiert. Ist aber keine Regel zutreffend, dann wird der Verkehr grundsätzlich zugelassen und die Standard-Regeln treten in Kraft. «Custom Rules» werden IMMER als erstes evaluiert, bevor die bereits vorhandenen Standard-Regeln des Application Gateway.
Detailliertere Informationen zum Regelevaluierungsprozess sind im Artikel Azure Application Gateway WAF Rules Evaluation zu finden.
Mit dieser Anleitung und den Hinweisen bist du nun bereit deine eigenen «Custom Rules» mit der «Application Gateway WAF v2» zu erstellen.
Quellen:
https://docs.microsoft.com/en-us/azure/application-gateway/overview-v2?WT.mc_id=AZ-MVP-5004129
Ein Gedanke zu „Application Gateway WAF v2 Custom Rules“