Hi @Hernan
Bienvenue sur la plateforme Microsoft Q&A.
Merci d’avoir pris contact avec nous, j’espère que vous allez bien.
La règle OWASP 920470 – En-tête Content-Type illégal bloque les requêtes lorsque le trafic correspond à un en-tête Content-Type mal formé, non standard ou potentiellement malveillant
. Elle fait partie de REQUEST-920-PROTOCOL-ENFORCEMENT dans OWASP 3.2.
Exemple : La méthode POST ci-dessous utilise un Content-Type contenant des caractères spéciaux (💥), qui ne sont pas autorisés.
curl -X POST "http://20.x.x.38" \
-H "Host: venkat-app-ecfjfjfjfjf.eagjgjgia-01.azurewebsites.net" \
-H "Content-Type: application/💥illegal" \
-d "test_payload"
Sortie
Le format regex attendu pour Content-Type
(selon OWASP 3.2) est :
Pattern match ^[\w\d/\.\-\+]+(?:\s?;\s?(?:boundary|charset)\s?=\s?['"\w\d\.\-]+)?$ at REQUEST_HEADERS:content-type.
Comment pouvons-nous déterminer la raison pour laquelle cette règle bloque ? Les journaux ne montrent pas les détails de l'en-tête bloqué, seulement que la règle déclenche le blocage.
Pour vérifier les journaux détaillés expliquant pourquoi l'ID de règle 920470 – Illegal Content-Type header est déclenché, utilisez la requête KQL ci-dessous dans Log Analytics. Elle affichera une sortie détaillée avec toutes les raisons clairement.
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS"
| where action_s == "Blocked"
| where ruleId_s == "920470"
| project TimeGenerated,Category,OperationName,Message,ruleId_s,action_s,details_message_s,details_data_s,requestUri_s
Sortie
Vous pouvez également surveiller les métriques en naviguant vers Application Gateway > Insights > Afficher les métriques détaillées > Trafic.
Si vous souhaitez autoriser le trafic avec l’en-tête Content-Type illégal au lieu de le bloquer, vous pouvez modifier l’action de l’ID de règle de Block à Log, afin que tout le trafic soit autorisé par défaut.
J’espère que cela vous aidera à résoudre votre problème.
Pensez à fermer le fil de discussion en cliquant sur "Accepter la réponse" lorsque l’information fournie vous aide, car cela peut être bénéfique pour d’autres membres de la communauté.
Je traduis ma réponse de l’anglais au français. Veuillez excuser toute erreur grammaticale dans ma réponse.