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:

NOTE
Atualize os números de regras nos exemplos abaixo com base em sua configuração existente. Lembre-se de que os dispatchers usarão a última regra correspondente para conceder ou negar uma permissão. Portanto, coloque as regras perto da parte inferior da lista existente.
  1. Na seção /clientheaders de author-farm.any e publish-farm.any, adicione a seguinte entrada à parte inferior da lista:
    CSRF-Token
  2. Na seção /filters, dos seus arquivos author-farm.any e publish-farm.any ou publish-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*" }
  3. Na seção /cache /rules do publish-farm.any, adicione uma regra para impedir que o dispatcher armazene em cache o arquivo token.json. Geralmente, os autores ignoram o armazenamento em cache, de modo que não é necessário adicionar a regra ao author-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.

recommendation-more-help
ce382601-480f-4a99-8be7-73178d4b6ef5