Configuração do Dispatcher para evitar ataques CSRF configuring-dispatcher-to-prevent-csrf-attacks
O AEM fornece uma estrutura destinada a impedir ataques de falsificação de solicitação entre sites. Para usar adequadamente essa estrutura, é necessário fazer as seguintes alterações na configuração do Dispatcher:
- Na seção
/clientheaders
de author-farm.any e publish-farm.any, adicione a seguinte entrada à parte inferior da lista:CSRF-Token
- Na seção /filters, dos seus arquivos
author-farm.any
epublish-farm.any
oupublish-filters.any
, adicione a seguinte linha para permitir solicitações de/libs/granite/csrf/token.json
por meio do dispatcher./0999 { /type "allow" /glob " * /libs/granite/csrf/token.json*" }
- Na seção
/cache /rules
dopublish-farm.any
, adicione uma regra para impedir que o dispatcher armazene em cache o arquivotoken.json
. Geralmente, os autores ignoram o armazenamento em cache, de modo que não é necessário adicionar a regra aoauthor-farm.any
./0999 { /glob "/libs/granite/csrf/token.json" /type "deny" }
Para confirmar que a configuração esteja funcionando, observe o dispatcher.log no modo DEBUG para validar que o arquivo token.json não esteja sendo armazenado em cache e não esteja sendo bloqueado por filtros. Você deve ver mensagens semelhantes a:... 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
Também é possível confirmar se as solicitações têm êxito no Apache access_log
. As solicitações para ``/libs/granite/csrf/token.json devem retornar um código de status HTTP 200.