Personnaliser les règles du pare-feu d’applications web à l’aide d’Azure CLI
Le pare-feu d’applications web (WAF) Azure Application Gateway fournit une protection pour les applications web. Ces protections sont fournies par le jeu de règles (Core Rule Set, CRS) de l’Open Web Application Security Project (OWASP). Certaines règles peuvent entraîner des faux positifs et bloquer le trafic réel. Par conséquent, Application Gateway permet de personnaliser des règles et des groupes de règles. Pour plus d’informations sur les règles et groupes de règles spécifiques, consultez la Liste de règles et groupes de règles CRS de pare-feu d’applications web.
Afficher les règles et groupes de règles
Voici des exemples de code montrant comment afficher les règles et les groupes de règles qui peuvent être configurés.
Afficher les groupes de règles
L’exemple suivant montre comment afficher les groupes de règles :
az network application-gateway waf-config list-rule-sets --type OWASP
Voici un extrait de réponse issu de l’exemple précédent :
[
{
"id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
"location": null,
"name": "OWASP_3.0",
"provisioningState": "Succeeded",
"resourceGroup": "",
"ruleGroups": [
{
"description": "",
"ruleGroupName": "REQUEST-910-IP-REPUTATION",
"rules": null
},
...
],
"ruleSetType": "OWASP",
"ruleSetVersion": "3.0",
"tags": null,
"type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
},
{
"id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
"location": null,
"name": "OWASP_2.2.9",
"provisioningState": "Succeeded",
"resourceGroup": "",
"ruleGroups": [
{
"description": "",
"ruleGroupName": "crs_20_protocol_violations",
"rules": null
},
...
],
"ruleSetType": "OWASP",
"ruleSetVersion": "2.2.9",
"tags": null,
"type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
}
]
Afficher les règles dans un groupe de règles
L’exemple suivant montre comment afficher les règles dans un groupe de règles spécifique :
az network application-gateway waf-config list-rule-sets --group "REQUEST-910-IP-REPUTATION"
Voici un extrait de réponse issu de l’exemple précédent :
[
{
"id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
"location": null,
"name": "OWASP_3.0",
"provisioningState": "Succeeded",
"resourceGroup": "",
"ruleGroups": [
{
"description": "",
"ruleGroupName": "REQUEST-910-IP-REPUTATION",
"rules": [
{
"description": "Rule 910011",
"ruleId": 910011
},
...
]
}
],
"ruleSetType": "OWASP",
"ruleSetVersion": "3.0",
"tags": null,
"type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
}
]
Désactiver les règles
L’exemple suivant montre comment désactiver les règles 910018
et 910017
sur une passerelle d’application :
az network application-gateway waf-config set --resource-group AdatumAppGatewayRG --gateway-name AdatumAppGateway --enabled true --rule-set-version 3.0 --disabled-rules 910018 910017
Règles obligatoires
La liste suivante contient les conditions qui amènent le pare-feu d’applications web à bloquer la requête en mode prévention (en mode détection, les requêtes sont journalisées en tant qu’exceptions). Ces conditions ne peuvent pas être configurées ni désactivées :
- L’échec d’analyse du corps de la requête entraîne le blocage de cette dernière, sauf si l’inspection du corps est désactivée (XML, JSON, données de formulaire)
- La longueur des données du corps de la requête (sans fichiers) est supérieure à la limite configurée
- Le corps de la requête (avec fichiers) est supérieur à la limite
- Une erreur interne s’est produite dans le moteur WAF
Propre à CRS 3.x :
- Le trafic entrant
anomaly score
a dépassé le seuil
Étapes suivantes
Après avoir configuré vos règles désactivées, vous pouvez apprendre à afficher vos journaux d’activité WAF. Pour plus d’informations, consultez Diagnostics Application Gateway.