Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ Anwendungsgateway V2
Die Azure Application Gateway Web Application Firewall (WAF) v2 enthält ein vorkonfiguriertes, plattformverwaltetes Ruleset, das vor vielen verschiedenen Arten von Angriffen schützt. Zu diesen Angriffen gehören Cross-Site-Scripting, SQL-Injection und andere. WAF-Administratoren können die Regeln des Kernregelsatzes (Core Rule Set, CRS) bei Bedarf durch selbst geschriebene Regeln erweitern. Ihre benutzerdefinierten Regeln können den angeforderten Datenverkehr basierend auf übereinstimmenden Kriterien blockieren, zulassen oder protokollieren. Wenn Sie die WAF-Richtlinie auf erkennungsmodus und benutzerdefinierte Blockregeltrigger festlegen, wird die Anforderung protokolliert und keine Blockierungsaktion ausgeführt.
Verwenden Sie benutzerdefinierte Regeln, um eigene Regeln zu erstellen, die der WAF für jede Anforderung auswertet. Diese Regeln haben eine höhere Priorität als die restlichen Regeln in den verwalteten Regelsätzen. Die benutzerdefinierten Regeln enthalten einen Regelnamen, eine Regelpriorität und ein Array von Abgleichsbedingungen. Wenn diese Bedingungen erfüllt sind, führt die WAF eine Aktion aus, um zuzulassen, zu blockieren oder zu protokollieren. Wenn eine benutzerdefinierte Regel ausgelöst wird und die WAF eine Zulassungs- oder Blockaktion ausführt, führt die WAF keine weiteren Aktionen aus benutzerdefinierten oder verwalteten Regeln aus. Im Falle, dass eine benutzerdefinierte Regel eine Zulassungs- oder Blockaktion auslöst, können dennoch einige Protokollereignisse für Übereinstimmungen mit konfigurierten Regelsätzen (Core Rule Set/Default Rule Set) angezeigt werden, aber diese Regeln werden nicht durchgesetzt. Die Protokollereignisse werden lediglich aufgrund der vom WAF-Modul erzwungenen Optimierung für die parallele Regelverarbeitung angezeigt und können sicher ignoriert werden. Sie können benutzerdefinierte Regeln bei Bedarf aktivieren oder deaktivieren.
So können beispielsweise alle Anforderungen von einer IP-Adresse im Bereich 192.168.5.0/24 blockiert werden. In dieser Regel ist der Operator IPMatch, „matchValues“ ist der IP-Adressbereich (192.168.5.0/24), und die Aktion ist die Blockierung des Datenverkehrs. Außerdem legen Sie den Namen, die Priorität und den Status "Aktiviert" oder "Deaktiviert" der Regel fest.
Benutzerdefinierte Regeln unterstützen die Verwendung von Verknüpfungslogik zur Erstellung komplexerer Regeln für Ihre individuellen Sicherheitsanforderungen. Sie können beispielsweise zwei benutzerdefinierte Regeln verwenden, um die folgende Logik zu erstellen: ((Regel1:Bedingung 1 und Regel1:Bedingung 2) oder Regel2:Bedingung 3). Diese Logik bedeutet, dass die WAF die in den benutzerdefinierten Regeln angegebene Aktion ausführen soll, wenn Bedingung 1 und Bedingung 2 erfüllt sind oder wenn Bedingung 3 erfüllt ist.
Verschiedene Abgleichsbedingungen innerhalb der gleichen Regel sind immer durch und verknüpft. Beispiel: Blockieren des Datenverkehrs von einer bestimmten IP-Adresse nur bei Verwendung eines bestimmten Browsers.
Wenn Sie oder zwischen zwei verschiedenen Bedingungen verwenden möchten, müssen sich die beiden Bedingungen in unterschiedlichen Regeln befinden. Beispiel: Blockieren des Datenverkehrs von einer bestimmten IP-Adresse oder Blockieren des Datenverkehrs bei Verwendung eines bestimmten Browsers.
Benutzerdefinierte Regeln unterstützen auch reguläre Ausdrücke, genau wie in den CRS-Regelets. Entsprechende Beispiele finden Sie unter Erstellen und Verwenden von benutzerdefinierten Regeln für Web Application Firewall v2 auf Application Gateway in den Beispielen 3 und 5.
Hinweis
Sie können bis zu 100 benutzerdefinierte WAF-Regeln erstellen. Weitere Informationen zu Application Gateway-Grenzwerten finden Sie unter Grenzwerte für Azure-Abonnements, -Dienste und -Kontingente sowie allgemeine Beschränkungen.
Vorsicht
Alle Umleitungsregeln, die Sie auf Anwendungsgatewayebene anwenden, umgehen WAF-benutzerdefinierte Regeln. Weitere Informationen finden Sie unter Übersicht über die Umleitung in Application Gateway.
Zulassen/Blockieren
Sie können den Datenverkehr ganz einfach mithilfe von benutzerdefinierten Regeln zulassen oder blockieren. Sie können beispielsweise den gesamten Datenverkehr aus einem Bereich von IP-Adressen blockieren. Sie können eine weitere Regel erstellen, um Datenverkehr zuzulassen, wenn die Anforderung von einem bestimmten Browser stammt.
Um etwas zuzulassen, legen Sie den -Action Parameter auf "Zulassen" fest. Um etwas zu blockieren, legen Sie den -Action Parameter auf "Block" fest.
$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
$BlockRule im obigen Code ist der folgenden benutzerdefinierten Regel in Azure Resource Manager zugeordnet:
"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"
]
}
]
}
],
Diese benutzerdefinierte Regel enthält einen Namen, eine Priorität, eine Aktion und das Array von Abgleichsbedingungen, die erfüllt sein müssen, damit die Aktion ausgeführt wird. Die einzelnen Felder werden in den folgenden Feldbeschreibungen ausführlicher erläutert. Beispiele für benutzerdefinierte Regeln finden Sie unter Create and use Web Application Firewall custom rules (Erstellen und Verwenden benutzerdefinierter Web Application Firewall-Regeln).
Hinweis
Benutzerdefinierte WAF-Regeln unterstützen nicht das Zulassen oder Blockieren von Anforderungen basierend auf Dateinamen oder Dateitypen.
Felder für benutzerdefinierte Regeln
Name (optional)
Der Name der Regel. Dieser wird in den Protokollen angezeigt.
Regel aktivieren [optional]
Aktivieren oder deaktivieren Sie diese Regel. Standardmäßig sind benutzerdefinierte Regeln aktiviert.
Priorität (erforderlich)
- Bestimmt die Reihenfolge der Regelbewertung. Je niedriger der Wert, desto früher wird die Regel ausgewertet. Der zulässige Bereich liegt zwischen 1 und 100.
- Muss für alle benutzerdefinierten Regeln eindeutig sein. Eine Regel mit der Priorität 40 wird vor einer Regel mit der Priorität 80 ausgewertet.
Regeltyp (erforderlich)
Muss derzeit MatchRule lauten.
Abgleichsvariable (erforderlich)
Muss eine der folgenden Variablen sein:
- RemoteAddr – IPv4-Adresse oder Bereich der Remotecomputerverbindung
- RequestMethod – HTTP-Anforderungsmethode
- QueryString: Variable im URI
- PostArgs: Im POST-Text gesendete Argumente. Benutzerdefinierte Regeln, die diese Übereinstimmungsvariable verwenden, gelten nur, wenn der Header "Content-Type" auf "application/x-www-form-urlencoded" oder "multipart/form-data" festgelegt ist. CRS, Version 3.2 oder höher, unterstützt einen zusätzlichen Inhaltstyp
application/json, zusammen mit bot-Schutzregelsatz und benutzerdefinierten Regeln für Geo-Übereinstimmungen. - RequestUri: URI der Anforderung
- RequestHeaders: Header der Anforderung
- RequestBody: Diese Variable enthält den gesamten Anforderungstext. Benutzerdefinierte Regeln, die diese Übereinstimmungsvariable verwenden, gelten nur, wenn der Header „Content-Type“ auf den Medientyp
application/x-www-form-urlencodedfestgelegt ist. CRS Version 3.2 oder höher unterstützt zusätzliche Inhaltstypenapplication/soap+xml, application/xml, text/xmlsowie Bot-Schutzregelsätze und benutzerdefinierte Geo-Match-Regeln. - RequestCookies: Cookies der Anforderung
Selektor (optional)
Beschreibt das Feld der matchVariable-Auflistung. Lautet die Abgleichsvariable (matchVariable) beispielsweise „RequestHeaders“, kann der Selektor etwa auf den Header User-Agent festgelegt werden.
Operator (erforderlich)
Verwenden Sie einen der folgenden Operatoren:
-
IPMatch– Wird nur verwendet, wenn die Vergleichsvariable RemoteAddr ist und nur IPv4 unterstützt. -
Equal– Wird verwendet, wenn die Eingabe mit dem MatchValue identisch ist. -
Any– Verwenden, wenn kein MatchValue vorhanden ist. Wird für die Abgleichsvariable mit einem gültigen Selektor empfohlen. -
Contains– Wird verwendet, wenn "MatchValue" nur ein expliziter Wert ist. Wildcard und regex werden nicht unterstützt. LessThanGreaterThan- LessThanOrEqual
- GreaterThanOrEqual
- BeginsWith
EndsWithRegexGeomatch
Negationsbedingung (optional)
Negiert die aktuelle Bedingung.
Transformation (optional)
Eine Liste mit Zeichenfolgenwerten, die Transformationen angeben, die vor dem Versuch einer Übereinstimmung angewendet werden sollen. Zu den verfügbaren Transformationen gehören:
- Kleinbuchstaben
- Großbuchstaben
- Glätten
- URL-Dekodierung
- UrlEncode
- RemoveNulls
- HtmlEntityDecode
Abgleichswerte (erforderlich)
Eine Liste von Werten, gegen die Sie vergleichen können, die Sie sich als logisch ODER verbunden vorstellen können. Die Liste kann beispielsweise IP-Adressen oder andere Zeichenfolgen enthalten. Das Wertformat hängt vom vorherigen Operator ab.
Hinweis
Wenn Ihr WAF den Kernregelsatz (CORE Rule Set, CRS) 3.1 oder eine andere frühere CRS-Version ausführt, akzeptiert der Übereinstimmungswert nur Buchstaben, Zahlen und Interpunktionszeichen. Anführungszeichen ", ' und Leerzeichen werden nicht unterstützt.
Zu den unterstützten HTTP-Anforderungsmethodenwerten zählen:
- GET
- KOPF
- POST
- OPTIONEN
- PUT
- Löschen
- PATCH
Aktion (erforderlich)
Wenn im WAF-Richtlinienerkennungsmodus eine benutzerdefinierte Regel ausgelöst wird, wird die Aktion immer protokolliert, unabhängig vom Aktionswert, der für die benutzerdefinierte Regel festgelegt wurde.
- Allow: Autorisiert die Transaktion. Alle anderen Regeln werden übersprungen. Die angegebene Anforderung wird in die Positivliste aufgenommen. Sobald sie übereinstimmt, wird die weitere Auswertung beendet und die Anforderung an den Back-End-Pool gesendet. Regeln in der Positivliste werden für keine weiteren benutzerdefinierten oder verwalteten Regeln ausgewertet.
- Blockieren – Blockiert oder protokolliert die Transaktion basierend auf SecDefaultAction (Erkennungs- oder Präventionsmodus).
- Verhinderungsmodus : Blockiert die Transaktion basierend auf SecDefaultAction. Genau wie die
AllowAktion, sobald die Anforderung ausgewertet und der Blockliste hinzugefügt wurde, stoppt die Auswertung, und die Anforderung wird blockiert. Jede Anforderung danach, die dieselben Bedingungen erfüllt, wird nicht ausgewertet und blockiert.- Erkennungsmodus – Protokolliert die Transaktion basierend auf SecDefaultAction, nach der die Auswertung beendet wird. Anfragen, die danach den gleichen Bedingungen entsprechen, werden nicht ausgewertet und aufgezeichnet.
- Log: Ermöglicht der Regel das Schreiben in das Protokoll sowie die Auswertung der restlichen Regeln. Alle weiteren benutzerdefinierten Regeln werden gemäß ihrer Priorität ausgewertet – gefolgt von den verwalteten Regeln.
Kopieren und Duplizieren benutzerdefinierter Regeln
Sie können benutzerdefinierte Regeln innerhalb einer bestimmten Richtlinie duplizieren. Wenn Sie eine Regel duplizieren, müssen Sie einen eindeutigen Namen für die Regel und einen eindeutigen Prioritätswert angeben. Darüber hinaus können Sie benutzerdefinierte Regeln aus einer WAF-Richtlinie des Anwendungsgateways in eine andere kopieren, solange sich die Richtlinien im selben Abonnement befinden. Wenn Sie eine Regel von einer Richtlinie in eine andere kopieren, müssen Sie die WAF-Richtlinie des Anwendungsgateways auswählen, in die Sie die Regel kopieren möchten. Nachdem Sie die WAF-Richtlinie ausgewählt haben, müssen Sie der Regel einen eindeutigen Namen geben und eine Prioritätsrangfolge zuweisen.
Benutzerdefinierte Geomatch-Regeln
Benutzerdefinierte Regeln ermöglichen Ihnen, maßgeschneiderte Regeln zu erstellen, die genau die Anforderungen Ihrer Anwendungen und Sicherheitsrichtlinien erfüllen. Sie können den Zugriff auf Ihre Webanwendungen nach Land oder Region einschränken. Weitere Informationen finden Sie unter Benutzerdefinierte Geomatch-Regeln.