Problembehandlung für die Web Application Firewall (WAF) für Azure Application Gateway
Ihnen stehen einige Möglichkeiten zur Verfügung, wenn Anforderungen, die Ihre Web Application Firewall (WAF) durchlaufen sollten, blockiert werden.
Stellen Sie zunächst sicher, dass Sie die WAF-Übersicht und die Dokumente zur WAF-Konfiguration gelesen haben. Vergewissern Sie sich außerdem, dass Sie die WAF-Überwachung aktiviert haben. In diesen Artikeln wird die Funktionsweise der WAF und der WAF-Regelsätze sowie der Zugriff auf WAF-Protokolle erläutert.
Die OWASP-Regelsätze sind so konzipiert, dass sie standardmäßig streng sind und mithilfe von WAF an die spezifischen Anforderungen der Anwendung oder Organisation angepasst werden können. Es ist ganz normal und wird in vielen Fällen erwartet, Ausschlüsse und benutzerdefinierte Regeln zu erstellen und sogar Regeln zu deaktivieren, die möglicherweise Probleme oder falsch positive Ergebnisse verursachen. Mit standort- und URI-spezifischen Richtlinien können diese Änderungen auf bestimmte Standorte/URIs angewendet werden. Die Änderungen sollten sich also nicht auf andere Websites auswirken, auf denen möglicherweise nicht die gleichen Probleme auftreten.
Grundlegendes zu WAF-Protokollen
Der Zweck von WAF-Protokollen ist es, jede Anforderung anzuzeigen, die von der WAF abgeglichen oder blockiert wird. Es handelt sich um eine Auflistung aller ausgewerteten Anforderungen, die abgeglichen oder blockiert werden. Wenn Sie feststellen, dass die WAF eine Anforderung blockiert, bei der das nicht geschehen sollte (ein falsch positives Ergebnis), stehen Ihnen einige Möglichkeiten zur Verfügung. Nehmen Sie zunächst eine Eingrenzung vor, und suchen Sie nach der betreffenden Anforderung. Durchsuchen Sie die Protokolle, um den jeweiligen URI, den Zeitstempel oder die Transaktions-ID der Anforderung zu ermitteln. Wenn Sie die zugehörigen Protokolleinträge gefunden haben, können Sie mit Maßnahmen für die falsch positiven Ergebnisse beginnen.
Angenommen, Sie haben einen berechtigten Datenverkehr, der die Zeichenfolge 1=1
enthält und die WAF durchlaufen soll. Beim Ausführen der Anforderung blockiert die WAF Datenverkehr, der die Zeichenfolge 1=1
in einem Parameter oder Feld enthält. Diese Zeichenfolge steht häufig mit einem Angriff durch Einschleusung von SQL-Befehlen in Verbindung. Sie können die Protokolle durchsuchen und den Zeitstempel der Anforderung sowie die Regeln, die eine Blockierung/Übereinstimmung ergaben, ermitteln.
Im folgenden Beispiel sehen Sie, dass vier Regeln während der gleichen Anforderung ausgelöst werden (mithilfe des Felds „TransactionId“). Die erste Regel ergibt eine Übereinstimmung, weil der Benutzer eine numerische/IP-Adresse für die Anforderung verwendet hat. Dadurch erhöht sich die Anomaliebewertung um drei, da es sich um eine Warnung handelt. Die nächste Regel, die eine Übereinstimmung ergibt, ist 942130. Dies ist die Regel, nach der Sie suchen. Sie sehen 1=1
im Feld details.data
. Dadurch wird die Anomaliebewertung nochmals um drei erhöht, da es sich ebenfalls um eine Warnung handelt. Im Allgemeinen erhöht jede Regel mit der Aktion Matched die Anomaliebewertung. An diesem Punkt weist die Anomaliebewertung den Wert sechs auf. Weitere Informationen finden Sie unter Anomaliebewertungsmodus.
Die letzten beiden Protokolleinträge zeigen, dass die Anforderung blockiert wurde, da die Anomaliebewertung hoch genug war. Diese Einträge weisen eine andere Aktion als die anderen beiden auf. Sie zeigen an, dass sie die Anforderung tatsächlich blockiert haben. Diese Regeln sind obligatorisch und können nicht deaktiviert werden. Sie sollten nicht als Regeln, sondern eher als Kerninfrastruktur der internen WAF-Elemente angesehen werden.
{
"resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
"operationName": "ApplicationGatewayFirewall",
"category": "ApplicationGatewayFirewallLog",
"properties": {
"instanceId": "appgw_3",
"clientIp": "203.0.113.139",
"clientPort": "",
"requestUri": "\/",
"ruleSetType": "OWASP_CRS",
"ruleSetVersion": "3.0.0",
"ruleId": "920350",
"message": "Host header is a numeric IP address",
"action": "Matched",
"site": "Global",
"details": {
"message": "Warning. Pattern match \\\"^[\\\\\\\\d.:]+$\\\" at REQUEST_HEADERS:Host. ",
"data": "40.90.218.160",
"file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf\\\"",
"line": "791"
},
"hostname": "vm000003",
"transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
}
}
{
"resourceId": "/SUBSCRIPTIONS/66667777-aaaa-8888-bbbb-9999cccc0000/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
"operationName": "ApplicationGatewayFirewall",
"category": "ApplicationGatewayFirewallLog",
"properties": {
"instanceId": "appgw_3",
"clientIp": "203.0.113.139",
"clientPort": "",
"requestUri": "\/",
"ruleSetType": "OWASP_CRS",
"ruleSetVersion": "3.0.0",
"ruleId": "942130",
"message": "SQL Injection Attack: SQL Tautology Detected.",
"action": "Matched",
"site": "Global",
"details": {
"message": "Warning. Pattern match \\\"(?i:([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)([\\\\\\\\d\\\\\\\\w]++)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?:(?:=|\\u003c=\\u003e|r?like|sounds\\\\\\\\s+like|regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)\\\\\\\\2|(?:!=|\\u003c=|\\u003e=|\\u003c\\u003e|\\u003c|\\u003e|\\\\\\\\^|is\\\\\\\\s+not|not\\\\\\\\s+like|not\\\\\\\\s+regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?!\\\\\\\\2)([\\\\\\\\d\\\\\\\\w]+)))\\\" at ARGS:text1. ",
"data": "Matched Data: 1=1 found within ARGS:text1: 1=1",
"file": "rules\/REQUEST-942-APPLICATION-ATTACK-SQLI.conf\\\"",
"line": "554"
},
"hostname": "vm000003",
"transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
}
}
{
"resourceId": "/SUBSCRIPTIONS/66667777-aaaa-8888-bbbb-9999cccc0000/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
"operationName": "ApplicationGatewayFirewall",
"category": "ApplicationGatewayFirewallLog",
"properties": {
"instanceId": "appgw_3",
"clientIp": "167.220.2.139",
"clientPort": "",
"requestUri": "\/",
"ruleSetType": "",
"ruleSetVersion": "",
"ruleId": "0",
"message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Score: 8)",
"action": "Blocked",
"site": "Global",
"details": {
"message": "Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score. ",
"data": "",
"file": "rules\/REQUEST-949-BLOCKING-EVALUATION.conf\\\"",
"line": "57"
},
"hostname": "vm000003",
"transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
}
}
{
"resourceId": "/SUBSCRIPTIONS/66667777-aaaa-8888-bbbb-9999cccc0000/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
"operationName": "ApplicationGatewayFirewall",
"category": "ApplicationGatewayFirewallLog",
"properties": {
"instanceId": "appgw_3",
"clientIp": "203.0.113.139",
"clientPort": "",
"requestUri": "\/",
"ruleSetType": "",
"ruleSetVersion": "",
"ruleId": "0",
"message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Inbound Score: 8 - SQLI=5,XSS=0,RFI=0,LFI=0,RCE=0,PHPI=0,HTTP=0,SESS=0): SQL Injection Attack: SQL Tautology Detected.",
"action": "Blocked",
"site": "Global",
"details": {
"message": "Warning. Operator GE matched 5 at TX:inbound_anomaly_score. ",
"data": "",
"file": "rules\/RESPONSE-980-CORRELATION.conf\\\"",
"line": "73"
},
"hostname": "vm000003",
"transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
}
}
Beheben falsch positiver Ergebnisse
Mit diesen Informationen und dem Wissen, dass Regel 942130 eine Übereinstimmung mit der Zeichenfolge 1=1
ergab, haben Sie einige Möglichkeiten, um zu verhindern, dass dadurch der Datenverkehr blockiert wird:
Verwenden einer Ausschlussliste
Weitere Informationen zu Ausschlusslisten finden Sie unter WAF-Konfiguration.
Deaktivieren der Regel
Verwenden eine Ausschlussliste
Um eine fundierte Entscheidung zum Umgang mit einem falsch positiven Ergebnis zu treffen, müssen Sie sich mit den von Ihrer Anwendung verwendeten Technologien vertraut machen. Angenommen, es ist kein SQL-Server in Ihrem Technologiestapel vorhanden, und Sie erhalten falsch positive Ergebnisse im Zusammenhang mit diesen Regeln. Durch Deaktivieren dieser Regeln wird nicht unbedingt die Sicherheit geschwächt.
Ein Vorteil der Verwendung einer Ausschlussliste ist, dass nur ein bestimmter Teil einer Anforderung deaktiviert wird. Das bedeutet jedoch, dass ein bestimmter Ausschluss für den gesamten Datenverkehr gilt, der die WAF durchläuft, da es sich um eine globale Einstellung handelt. Dies könnte beispielsweise zu einem Problem führen, wenn 1=1 eine gültige Anforderung im Text für eine bestimmte App ist, dies aber bei anderen Apps nicht der Fall ist. Ein weiterer Vorteil ist, dass Sie zwischen dem Ausschluss von Text, Headern und Cookies wählen können, wenn eine bestimmte Bedingung erfüllt ist, statt die gesamte Anforderung auszuschließen.
Gelegentlich gibt es Fälle, in denen bestimmte Parameter auf eine möglicherweise nicht intuitive Weise an die WAF übergeben werden. Es gibt beispielsweise ein Token, das übergeben wird, wenn die Authentifizierung mithilfe von Microsoft Entra ID erfolgt. Dieses Token, __RequestVerificationToken, wird normalerweise als ein Anforderungscookie übergeben. In einigen Fällen jedoch, in denen Cookies deaktiviert sind, wird dieses Token auch als ein Anforderungsattribut oder arg
übergeben. In diesem Fall müssen Sie sicherstellen, dass __RequestVerificationToken auch als ein Anforderungsattributname zur Ausschlussliste hinzugefügt wird.
In diesem Beispiel möchten Sie den Anforderungsattributnamen ausschließen, der text1 entspricht. Dies ist offensichtlich, da Sie den Attributnamen in den Firewallprotokollen sehen können: data: Matched Data: 1=1 found within ARGS:text1: 1=1. Das Attribut ist text1. Einige andere Möglichkeiten zum Auffinden dieses Attributnamens finden Sie unter Suchen von Anforderungsattributnamen.
Sie können Ausschlüsse für WAF in Application Gateway auf verschiedenen Bereichsebenen erstellen. Weitere Informationen finden Sie unter Web Application Firewall mit Ausschlusslisten.
Deaktivieren von Regeln
Eine weitere Möglichkeit zum Umgehen eines falsch positiven Ergebnisses ist das Deaktivieren der Regel, die eine Übereinstimmung mit der Eingabe ergab, die von der WAF als schädlich angesehen wird. Da Sie die WAF-Protokolle analysiert und die Regel auf 942130 eingeschränkt haben, können Sie sie im Azure-Portal deaktivieren. Informationen finden Sie unter Anpassen von Web Application Firewall-Regeln mit dem Azure-Portal.
Ein Vorteil der Deaktivierung einer Regel ist: Wenn Sie wissen, dass der gesamte Datenverkehr, der eine bestimmte Bedingung enthält, die normalerweise blockiert wird, gültiger Datenverkehr ist, können Sie diese Regel für die gesamte WAF deaktivieren. Falls es sich allerdings nur in einem bestimmten Anwendungsfall um gültigen Datenverkehr handelt, erzeugen Sie ein Sicherheitsrisiko, wenn Sie diese Regel für die gesamte WAF deaktivieren, da es sich um eine globale Einstellung handelt.
Wenn Sie Azure PowerShell verwenden möchten, finden Sie Informationen dazu unter Anpassen von Web Application Firewall-Regeln über PowerShell. Wenn Sie Azure CLI verwenden möchten, finden Sie Informationen dazu unter Anpassen von Web Application Firewall-Regeln mit der Azure CLI.
Suchen von Anforderungsattributnamen
Mithilfe von Fiddler überprüfen Sie einzelne Anforderungen und bestimmen, welche bestimmten Felder einer Webseite aufgerufen werden. Dies kann helfen, bestimmte Felder mithilfe von Ausschlusslisten von der Überprüfung auszuschließen.
In diesem Beispiel können Sie sehen, dass das Feld, in dem die Zeichenfolge 1=1 eingegeben wurde, den Namen text1 hat.
Dies ist ein Feld, das Sie ausschließen können. Weitere Informationen zu Ausschlusslisten finden Sie unter Web Application Firewall-Ausschlusslisten. Sie können die Auswertung in diesem Fall ausschließen, indem Sie den folgenden Ausschluss konfigurieren:
Sie können auch die Firewallprotokolle überprüfen, um Informationen dazu zu erhalten, was Sie der Ausschlussliste hinzufügen müssen. Informationen zum Aktivieren der Protokollierung finden Sie unter Back-End-Integrität, Ressourcenprotokolle und Metriken für Application Gateway.
Überprüfen Sie das Firewallprotokoll, und sehen Sie sich die Datei „PT1H.json“ für die Stunde an, in der die zu untersuchende Anforderung aufgetreten ist.
In diesem Beispiel sehen Sie, dass vier Regeln mit derselben Transaktions-ID vorhanden sind und diese jeweils zum exakt gleichen Zeitpunkt auftraten:
- {
- "resourceId": "/SUBSCRIPTIONS/66667777-aaaa-8888-bbbb-9999cccc0000/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
- "operationName": "ApplicationGatewayFirewall",
- "category": "ApplicationGatewayFirewallLog",
- "properties": {
- "instanceId": "appgw_3",
- "clientIp": "167.220.2.139",
- "clientPort": "",
- "requestUri": "\/",
- "ruleSetType": "OWASP_CRS",
- "ruleSetVersion": "3.0.0",
- "ruleId": "920350",
- "message": "Host header is a numeric IP address",
- "action": "Matched",
- "site": "Global",
- "details": {
- "message": "Warning. Pattern match \\\"^[\\\\\\\\d.:]+$\\\" at REQUEST_HEADERS:Host. ",
- "data": "40.90.218.160",
- "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf\\\"",
- "line": "791"
- },
- "hostname": "vm000003",
- "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
- }
- }
- {
- "resourceId": "/SUBSCRIPTIONS/66667777-aaaa-8888-bbbb-9999cccc0000/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
- "operationName": "ApplicationGatewayFirewall",
- "category": "ApplicationGatewayFirewallLog",
- "properties": {
- "instanceId": "appgw_3",
- "clientIp": "203.0.113.139",
- "clientPort": "",
- "requestUri": "\/",
- "ruleSetType": "OWASP_CRS",
- "ruleSetVersion": "3.0.0",
- "ruleId": "942130",
- "message": "SQL Injection Attack: SQL Tautology Detected.",
- "action": "Matched",
- "site": "Global",
- "details": {
- "message": "Warning. Pattern match \\\"(?i:([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)([\\\\\\\\d\\\\\\\\w]++)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?:(?:=|\\u003c=\\u003e|r?like|sounds\\\\\\\\s+like|regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)\\\\\\\\2|(?:!=|\\u003c=|\\u003e=|\\u003c\\u003e|\\u003c|\\u003e|\\\\\\\\^|is\\\\\\\\s+not|not\\\\\\\\s+like|not\\\\\\\\s+regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?!\\\\\\\\2)([\\\\\\\\d\\\\\\\\w]+)))\\\" at ARGS:text1. ",
- "data": "Matched Data: 1=1 found within ARGS:text1: 1=1",
- "file": "rules\/REQUEST-942-APPLICATION-ATTACK-SQLI.conf\\\"",
- "line": "554"
- },
- "hostname": "vm000003",
- "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
- }
- }
- {
- "resourceId": "/SUBSCRIPTIONS/66667777-aaaa-8888-bbbb-9999cccc0000/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
- "operationName": "ApplicationGatewayFirewall",
- "category": "ApplicationGatewayFirewallLog",
- "properties": {
- "instanceId": "appgw_3",
- "clientIp": "203.0.113.139",
- "clientPort": "",
- "requestUri": "\/",
- "ruleSetType": "",
- "ruleSetVersion": "",
- "ruleId": "0",
- "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Score: 8)",
- "action": "Blocked",
- "site": "Global",
- "details": {
- "message": "Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score. ",
- "data": "",
- "file": "rules\/REQUEST-949-BLOCKING-EVALUATION.conf\\\"",
- "line": "57"
- },
- "hostname": "vm000003",
- "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
- }
- }
- {
- "resourceId": "/SUBSCRIPTIONS/66667777-aaaa-8888-bbbb-9999cccc0000/RESOURCEGROUPS/DEMOWAF_V2/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
- "operationName": "ApplicationGatewayFirewall",
- "category": "ApplicationGatewayFirewallLog",
- "properties": {
- "instanceId": "appgw_3",
- "clientIp": "203.0.113.139",
- "clientPort": "",
- "requestUri": "\/",
- "ruleSetType": "",
- "ruleSetVersion": "",
- "ruleId": "0",
- "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Inbound Score: 8 - SQLI=5,XSS=0,RFI=0,LFI=0,RCE=0,PHPI=0,HTTP=0,SESS=0): SQL Injection Attack: SQL Tautology Detected.",
- "action": "Blocked",
- "site": "Global",
- "details": {
- "message": "Warning. Operator GE matched 5 at TX:inbound_anomaly_score. ",
- "data": "",
- "file": "rules\/RESPONSE-980-CORRELATION.conf\\\"",
- "line": "73"
- },
- "hostname": "vm000003",
- "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
- }
- }
Aufgrund Ihrer Kenntnisse über die Funktionsweise der CRS-Regelsätze und da Ihnen bekannt ist, dass der Regelsatz CRS 3.0 mit einem System für die Anomaliebewertung arbeitet (siehe Web Application Firewall für Azure Application Gateway), wissen Sie, dass die beiden unteren Regeln mit der Eigenschaft action: Blocked auf Grundlage der Gesamtbewertung der Anomalie blockiert werden. Die Regeln, auf die Sie sich konzentrieren müssen, sind die beiden ersten Regeln.
Der erste Eintrag wird protokolliert, da der Benutzer eine numerische IP-Adresse für das Navigieren zu Application Gateway verwendet hat, was in diesem Fall ignoriert werden kann.
Der zweite Eintrag (Regel 942130) ist der interessante. Wie Sie in den Details sehen können, stimmt er mit einem Muster (1=1)
überein, und das Feld hat den Namen text1. Führen Sie dieselben Schritte wie zuvor aus, um den Anforderungsattributnamen gleich 1=1
auszuschließen.
Suchen von Anforderungsheadernamen
Fiddler erweist sich auch beim Suchen nach Anforderungsheadernamen als ein nützliches Tool. Im folgenden Screenshot sehen Sie die Header für diese GET-Anforderung, darunter Content-Type, User-Agent usw.
Eine weitere Möglichkeit zum Anzeigen von Anforderungs- und Antwortheadern sind in den Entwicklertools von Chrome enthalten. Sie können F12 drücken oder mit der rechten Maustaste auf –>Überprüfen –>Entwicklertools klicken und die Registerkarte Netzwerk auswählen. Laden Sie eine Webseite, und wählen Sie die Anforderung aus, die Sie überprüfen möchten.
Suchen nach Anforderungscookienamen
Wenn die Anforderung Cookies enthält, können Sie die Registerkarte Cookies auswählen, um sie in Fiddler anzuzeigen.
Beschränken globaler Parameter zur Vermeidung falsch positiver Ergebnisse
Deaktivieren der Anforderungstextüberprüfung
Durch Deaktivieren von Anforderungstext überprüfen werden die Anforderungstexte des Datenverkehrs nicht von der WAF ausgewertet. Dies kann nützlich sein, wenn Sie wissen, dass die Anforderungstexte für Ihre Anwendung nicht schädlich sind.
Wenn Sie diese Option deaktivieren, wird nur der Anforderungstext nicht überprüft. Die Header und Cookies werden weiterhin untersucht, sofern nicht einzelne davon mithilfe der Ausschlusslistenfunktion ausgeschlossen wurden.
Deaktivieren des Grenzwerts für den Anforderungstext
Durch Deaktivieren des Grenzwerts für den Anforderungstext können große Anforderungstexte von der WAF verarbeitet werden, ohne dass sie abgelehnt werden, weil sie zu groß sind. Dies kann nützlich sein, wenn Sie regelmäßig über große Anforderungen verfügen.
Wenn Sie diese Option deaktivieren, wird der Anforderungstext nur bis zum Grenzwert für die Überprüfung der Anforderungstexte überprüft. Wenn in der Anforderung schädliche Inhalte vorhanden sind, die über den Grenzwert für die Überprüfung der Anforderungstexte hinausgehen, erkennt die WAF ihn nicht.
Dateigrößenbeschränkungen deaktivieren
Durch Deaktivieren der Dateigrößenbeschränkungen für Ihre WAF können große Dateien hochgeladen werden, ohne dass die WAF diese Dateiuploads ablehnt. Wenn das Hochladen großer Dateien zulässig ist, steigt das Risiko, dass Ihr Back-End überlastet wird. Wenn Sie wissen, wie groß eine hochgeladene Datei maximal sein darf, können Sie eine Größenbeschränkung für Dateiuploads festlegen, die etwas über der erwarteten Maximalgröße liegt. Das Beschränken der Dateigröße auf einen normalen Anwendungsfall für Ihre Anwendung ist eine weitere Möglichkeit, Angriffe zu verhindern. Wenn Sie jedoch regelmäßig Dateien hochladen, die die zulässige maximale Größe überschreiten, müssen Sie die Größenbeschränkung für das Hochladen von Dateien möglicherweise ganz deaktivieren, um False Positives zu vermeiden.
Hinweis
Wenn Sie wissen, dass Ihre App niemals Dateiuploads oberhalb einer bestimmten Größe benötigt, können Sie dies durch Festlegen eines Grenzwerts einschränken.
Warnung
Wenn Sie einer WAF-Richtlinie einen neuen verwalteten Regelsatz zuweisen, werden alle vorherigen Anpassungen aus dem vorhandenen verwalteten Regelsatz wie Regelstatus, Regelaktionen und Ausschlüsse auf Regelebene auf die Standardwerte des neuen verwalteten Regelsatzes zurückgesetzt. Alle benutzerdefinierten Regeln, Richtlinieneinstellungen und globalen Ausschlüsse bleiben jedoch während der neuen Regelsatzzuweisung unberührt.
Firewallmetriken (nur WAF_v1)
Für v1 Web Application Firewalls sind nun die folgenden Metriken im Portal verfügbar:
- Web Application Firewall – Anzahl blockierter Anforderungen: Die Anzahl der blockierten Anforderungen.
- Web Application Firewall – Anzahl blockierter Regeln: Alle Regeln, die eine Übereinstimmung aufwiesen und für die die Anforderung blockiert wurde.
- Web Application Firewall – Regelverteilung gesamt: Alle Regeln, die während der Auswertung eine Übereinstimmung aufgewiesen haben.
Um Metriken zu aktivieren, wählen Sie die Registerkarte Metriken im Portal aus, und wählen Sie dann eine der drei Metriken aus.
Nächste Schritte
Lesen Sie Konfigurieren der Web Application Firewall auf Application Gateway.