Dispatcher configureren om CSRF-aanvallen te voorkomen

AEM biedt een raamwerk dat bedoeld is om aanvallen met vervalsingen van verzoeken tussen sites te voorkomen. Als u dit framework correct wilt gebruiken, moet u de volgende wijzigingen aanbrengen in de configuratie van de verzender:

OPMERKING

Ben zeker om de regelaantallen in de hieronder voorbeelden bij te werken die op uw bestaande configuratie worden gebaseerd. Herinner dat de verzenders de laatste passende regel zullen gebruiken om toe te staan of te ontkennen, zodat plaats de regels dichtbij de bodem van uw bestaande lijst.

  1. In /clientheaders sectie van uw auteur-farm.any en publish-farm.any, voeg de volgende ingang aan de bodem van de lijst toe:
    CSRF-Token
  2. Voeg in de sectie /filters van het author-farm.any- en publish-farm.any- of publish-filters.any-bestand de volgende regel toe om aanvragen voor /libs/granite/csrf/token.json via de dispatcher toe te staan.
    /0999 { /type "allow" /glob " * /libs/granite/csrf/token.json*" }
  3. Voeg onder de sectie /cache /rules van uw publish-farm.any een regel toe om te voorkomen dat de verzender het token.json-bestand in de cache plaatst. Gewoonlijk omzeilen auteurs caching, zodat zou u niet de regel in uw author-farm.any moeten toevoegen.
    /0999 { /glob "/libs/granite/csrf/token.json" /type "deny" }

Om te bevestigen dat de configuratie werkt, bekijk de dispatcher.log in DEBUG wijze om te bevestigen dat het token.json- dossier niet in de cache wordt opgeslagen en niet door filters wordt geblokkeerd. U zou berichten moeten zien gelijkend op:
... checking [/libs/granite/csrf/token.json]
... request URL not in cache rules: /libs/granite/csrf/token.json
... cache-action for [/libs/granite/csrf/token.json]: NONE

U kunt ook controleren of aanvragen slagen in uw apache access_log. Verzoeken om "/libs/granite/csrf/token.json zouden een HTTP 200 statuscode moeten terugkeren.

Op deze pagina