Comprendre F5 · ASM

F5 ASM : JSON, XML et protection des API

Comprendre pourquoi l’inspection d’une API commence par un parsing adapté à sa route et à son contenu.

Thomas SAUTIER · Publié le · Révisions de certification

Références et objectifs de certification (1)
  • Certification : F5 303 · Référence consultée le · Objectifs abordés : F5 303 1.05, F5 303 1.07.

Ce guide concerne BIG-IP sur TMOS. Vérifiez les noms et les options dans la documentation de votre version.

Comprendre en imageAPI JSON / XML : interpréter le corps avant ses valeurs
API JSON / XML : interpréter le corps avant ses valeurs Exemple JSON associé à une URL d’API. Le Content-Type et les règles d’association sélectionnent le profil de contenu. Un document doit être parsable avant que les contrôles de valeurs extraites puissent être interprétés. Parse Parameters permet les contrôles des paramètres JSON lorsqu’il est activé. XML utilise son profil et ses contraintes XML / schémas configurés. Une erreur de parsing et un type métier incorrect sont des événements distincts ; un HTTP 400 applicatif ne prouve pas un blocage WAF. Oui Non Requête API POST /orders, corps JSONContent-Type et URL à vérifier Profil de contenu Profil JSON effectivement associéXML : profil dédié dans soncontexte Parsing du document Syntaxe et limites de structureDonnées extraites selon le profil Document parsable ? format et structure Contrôler les valeurs Parse Parameters si activéquantity : type / limites /signatures Violation de parsing Lire le détail de la violationBlocage selon mode etenforcement Objets et hypothèses JSON : contexte + Parse Parameters.XML : profil XML, XSD / WSDLselon les contrôles configurés.OpenAPI : contrat et optionscompatibles avec la version. À vérifier sur les deux chemins Document parsable ≠ quantité autorisée : comparer par exemple quantity = 2 et quantity = "deux" selon lecontrat. Distinguer les logs AWAF de la réponse produite par l’API ; revoir couverture des méthodes etroutes.

Exemple JSON associé à une URL d’API. Le Content-Type et les règles d’association sélectionnent le profil de contenu. Un document doit être parsable avant que les contrôles de valeurs extraites puissent être interprétés. Parse Parameters permet les contrôles des paramètres JSON lorsqu’il est activé. XML utilise son profil et ses contraintes XML / schémas configurés. Une erreur de parsing et un type métier incorrect sont des événements distincts ; un HTTP 400 applicatif ne prouve pas un blocage WAF.

Télécharger le schéma en SVG · version claire

Le format donne le contexte

Le profil de contenu permet d’interpréter JSON ou XML plutôt que d’examiner seulement un corps opaque. Il peut être associé à une URL ou à un paramètre selon la configuration. Une déclaration de Content-Type incorrecte ou un profil mal attaché peut changer la lecture des données.

Pour JSON, Parse Parameters permet d’extraire des paramètres et d’appliquer leurs contrôles. Les erreurs de parsing restent distinctes des violations de valeur : un document mal formé ne devient pas valide parce qu’on accepte une chaîne plus longue.

Sources : F5 TechDocs, JSON content profiles ; F5 TechDocs, OpenAPI.

Relier le contrat à la politique

OpenAPI décrit des routes, méthodes et schémas utilisables dans le workflow documenté. Conservez la version du contrat et vérifiez les options prises en charge par votre version BIG-IP. Une importation réussie ne prouve pas que toutes les opérations métier sont couvertes.

Préparez des exemples JSON valides, des types incorrects, des propriétés inattendues et des corps trop volumineux. Examinez le détail ASM et le résultat applicatif ; une réponse 400 de l’API n’est pas nécessairement un blocage WAF.

Sources : F5 TechDocs, JSON content profiles ; F5 TechDocs, OpenAPI.

Repères pour lire une configuration

Ces repères permettent de relier le besoin à la configuration et aux observations. Comparer les objets réellement attachés au service avant de modifier un réglage.

F5 ASM : JSON, XML et protection des API : points de contrôle
ÉlémentÀ comprendreÀ vérifier
Content profileParsing du corpsAssociation URL / paramètre
SchémaStructure attendueVersion du contrat
ParamètresValeurs extraitesType et portée

Sources : F5 TechDocs, JSON content profiles ; F5 TechDocs, OpenAPI.

Une situation à expliquer

L’API attend un entier pour quantity mais reçoit une chaîne. Comparez le contrat, le profil JSON et l’entité extraite. Le payload ci-dessous sert de référence légitime ; préparez ensuite une variante incorrecte dans un environnement de recette.

Payload JSON de référenceExemple de contrat à adapter à une API de recette.
{
  "orderId": "ORD-42",
  "quantity": 2,
  "delivery": {
    "country": "FR"
  }
}

Sources : F5 TechDocs, JSON content profiles ; F5 TechDocs, OpenAPI.

Pour poursuivre les révisions

Expliquez la décision du schéma, puis recherchez dans la référence les objets qui la produisent. Pour ASM, justifiez aussi ce qui changerait si un prérequis échouait : une réponse DNS, une décision WAF et une autorisation d’accès ne se vérifient pas au même endroit.

Revenir au parcours F5 ASM pour lire les guides voisins et leurs exemples.

Sources : F5 TechDocs, JSON content profiles ; F5 TechDocs, OpenAPI.

Sources et portée

Les dates de consultation et les versions applicables sont précisées pour chaque référence ci-dessous. Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.

Retrouver le parcours de lecture F5 ASM

Continuer la série F5

Explorer tous les guides du parcours F5 ASM

Découvrir l’expertise F5 de Samhan

Échange

Besoin d’éclaircir votre architecture F5 ?

Échangeons sur vos flux, vos contraintes de disponibilité et vos services applicatifs.