Restriction et autorisation des méthodes HTTP dans AEM Dispatcher

Les méthodes HTTP telles que OPTIONS, POST, PUT et DELETE peuvent être bloquées ou exposées de manière incorrecte au niveau Dispatcher dans AEM. Cela peut interrompre les requêtes de contrôle en amont CORS, exposer le comportement POST de Sling sur l’instance de publication ou produire des résultats de sécurité lorsque les points d’entrée publics acceptent des méthodes non sécurisées. Le problème provient généralement de règles Dispatcher héritées qui bloquent largement les OPTIONS ou de filtres de refus manquants qui permettent aux requêtes de POST non sécurisées d’atteindre l’instance de publication. Passez en revue les filtres Dispatcher, autorisez uniquement les OPTIONS lorsque cela est nécessaire et bloquez explicitement les méthodes non sécurisées et les opérations Sling POST.

Description description

Environnement

  • Adobe Experience Manager as a Cloud Service
  • AEM Managed Services
  • Adobe Experience Manager On-Premise

Problème/Symptômes

  • OPTIONS requêtes sont bloquées dans Dispatcher.
  • Les requêtes POST à la gestion des ressources numériques ou .json renvoient des 200 OK et exposent les opérations Sling POST.
  • Les requêtes PUT ou DELETE échouent uniquement dans l’environnement d’évaluation ou de production AEMaaCS avec 405 Method Not Allowed.
  • Les analyses de sécurité signalent les méthodes exposées, telles que les pages publiques acceptant les POST ou affichant les OPTIONS.

Cause

Les règles de sécurité Dispatcher héritées bloquent souvent les OPTIONS afin d’empêcher la falsification des verbes, tandis que les filtres manquants ou trop permissifs peuvent autoriser des POST, des PUT ou des requêtes DELETE dangereuses à atteindre l’instance de publication AEM. Cela peut exposer le comportement de Sling POST sur les points d’entrée publics. Dans les environnements d’évaluation et de production AEM as a Cloud Service, les PUT et les DELETE peuvent également être bloqués intentionnellement pour protéger l’intégrité du référentiel.

Résolution resolution

Pour résoudre les méthodes HTTP bloquées ou exposées au niveau de la couche Dispatcher, procédez comme suit :

  1. Identifiez les méthodes incorrectement autorisées ou bloquées en testant les points d’entrée affectés avec OPTIONS, POST, PUT ou DELETE.
  2. Passez en revue les filtres Dispatcher et mettez-les à jour afin que les méthodes sécurisées soient explicitement autorisées et les méthodes non sécurisées explicitement refusées.
  3. Utilisez des règles de filtrage similaires aux exemples suivants et ajustez-les pour qu’elles correspondent aux chemins et méthodes exacts requis dans votre environnement.
/deny-post { /type "deny" /method "POST" /extension '(css|png|pdf|jpg|js)' }
/deny-operation { /type "deny" /method "POST" /url ".*:operation.*" }
/allow-options-cors { /type "allow" /method "OPTIONS" /url "/graphql*" }
  1. Si vous utilisez AEM Managed Services ou On-Premise, passez en revue les dispatcher.any et, si nécessaire, limitez les méthodes au niveau d’Apache HTTPD pour les chemins d’accès qui ne doivent pas les accepter.
  2. Utilisez des restrictions Apache HTTPD similaires à l’exemple suivant où le blocage de méthode est requis au niveau de la couche du serveur web.
<Limit OPTIONS>
Order deny,allow
Deny from all
</Limit>
  1. Appliquez des règles spécifiques au chemin d’accès où seules les méthodes sélectionnées doivent être autorisées.
/0035 { /type "allow" /method "GET" /url "/libs/granite/security/currentuser.json*" }
/0036 { /type "deny" /method "DELETE" /url "/libs/granite/security/currentuser.json*" }
  1. Autorisez l’OPTIONS uniquement sur les points d’entrée qui nécessitent un contrôle en amont CORS, tels que les itinéraires d’API GraphQL ou SPA, au lieu de l’activer globalement.
  2. Si le comportement de Sling POST est exposé sur l’instance de publication, ajoutez une règle de refus pour les requêtes POST basées sur les opérations et placez-la après des règles d’autorisation plus larges afin que la correspondance finale bloque la requête.
  3. Concernant l’évaluation et la production AEMaaCS, si des requêtes PUT ou DELETE se comportent de manière inattendue après la confirmation de la configuration de Dispatcher, contactez l’assistance technique d’Adobe.
  4. Testez à nouveau les points d’entrée affectés et confirmez que les méthodes bloquées renvoient les réponses 403, 404 ou 405 attendues, tandis que les requêtes OPTIONS requises ne réussissent que sur les points d’entrée prévus.

Lecture connexe

recommendation-more-help
experience-cloud-kcs-help-kbarticles