Configurazione di Dispatcher di Adobe Experience Manager per impedire attacchi CSRF configuring-dispatcher-to-prevent-csrf-attacks
AEM (Adobe Experience Manager) fornisce un framework per prevenire gli attacchi di tipo Cross-Site Request Forgery. Per utilizzare correttamente questo framework, apporta le seguenti modifiche alla configurazione di Dispatcher:
-
Nella sezione
/clientheadersdei fileauthor-farm.anyepublish-farm.any, aggiungi la seguente voce in fondo all’elenco:CSRF-Token -
Nella sezione /filters dei file
author-farm.anyepublish-farm.anyopublish-filters.any, aggiungi la seguente riga per consentire le richieste di/libs/granite/csrf/token.jsontramite il Dispatcher./0999 { /type "allow" /glob " * /libs/granite/csrf/token.json*" } -
Nella sezione
/cache /rulesdel filepublish-farm.any, aggiungi una regola per impedire a Dispatcher di memorizzare in cache il filetoken.json. In genere, le istanze di authoring ignorano il caching, pertanto non è necessario aggiungere la regola nel fileauthor-farm.any./0999 { /glob "/libs/granite/csrf/token.json" /type "deny" }
Per verificare che la configurazione funzioni, controlla il file dispatcher.log in modalità DEBUG. Può aiutarti a verificare il file token.json per assicurarti che non venga memorizzato in cache o bloccato dai filtri. Dovresti vedere messaggi simili ai seguenti:... 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
Puoi anche verificare che le richieste abbiano esito positivo nel file access_log di Apache. Le richieste di ``/libs/granite/csrf/token.json devono restituire il codice di stato HTTP 200.