Show Menu
TÓPICOS×

Prevenção de ataques CSRF

Como funcionam os ataques de CSRF

A falsificação de solicitação entre sites (CSRF) é uma vulnerabilidade de site na qual um navegador de usuário válido é usado para enviar uma solicitação mal-intencionada, possivelmente por meio de um iFrame. Como o navegador envia cookies por domínio, se o usuário estiver conectado no momento a um aplicativo, os dados do usuário podem estar comprometidos.
Por exemplo, considere um cenário em que você está conectado ao console de administração em um navegador. Você recebe uma mensagem de email contendo um link. Clique no link, que abre uma nova guia no navegador. A página aberta contém um iFrame oculto que faz uma solicitação mal-intencionada ao servidor de formulários usando o cookie da sessão de formulários AEM autenticados. Como o Gerenciamento de usuários recebe um cookie válido, ele envia a solicitação.

Como os referenciadores permitidos funcionam

Os formulários AEM fornecem filtragem de referenciador, o que pode ajudar a impedir ataques CSRF. Veja como a filtragem de referenciador funciona:
  1. O servidor de formulários verifica o método HTTP usado para a invocação:
    • Se for POST, o servidor de formulários executará a verificação do cabeçalho do referenciador.
    • Se for GET, o servidor de formulários ignorará a verificação do referenciador, a menos que CSRF_CHECK_GETS esteja definido como true, caso em que executa a verificação do cabeçalho do referenciador. CSRF_CHECK_GETS é especificado no arquivo web.xml para seu aplicativo. (Consulte "Protegendo contra ataques de falsificação de solicitações entre sites" no guia de proteção e segurança.)
  2. O servidor de formulários verifica se o URI solicitado é permitido:
    • Se o URI for permitido na lista, o servidor transmitirá a solicitação.
    • Se o URI solicitado não for permitido na lista, o servidor recuperará o referenciador da solicitação.
  3. Se houver um referenciador na solicitação, o servidor verificará se ele é um referenciador permitido. Se for permitido, o servidor verifica se há uma exceção de referenciador:
    • Se for uma exceção, a solicitação será bloqueada.
    • Se não for uma exceção, a solicitação será transmitida.
  4. Se não houver referenciador na solicitação, o servidor verificará se um referenciador nulo é permitido.
    • Se um referenciador nulo for permitido, a solicitação será transmitida.
    • Se um referenciador nulo não for permitido, o servidor verificará se o URI solicitado é uma exceção para referenciador nulo e tratará a solicitação de acordo.

Configurar referenciadores permitidos

Quando você executa o Configuration Manager, o host padrão e o endereço IP ou o servidor de formulários são adicionados à lista Referenciador Permitido. Você pode editar essa lista no console de administração.
  1. No console de administração, clique em Configurações > Gerenciamento de usuários > Configuração > Configurar URLs de referência permitidos. A lista Referenciador Permitido é exibida na parte inferior da página.
  2. Para adicionar um referenciador permitido:
    • Digite um nome de host ou endereço IP na caixa Referenciadores permitidos. Para adicionar mais de um referenciador permitido de cada vez, digite cada nome de host ou endereço IP em uma nova linha.
    • Nas caixas Porta HTTP e Portas HTTPS, especifique quais portas serão permitidas para HTTP, HTTPS ou ambos. Se você deixar essas caixas vazias, as portas padrão (porta 80 para HTTP e porta 443 para HTTPS) serão usadas. Se você inserir 0 (zero) nas caixas, todas as portas desse servidor serão ativadas. Você também pode inserir um número de porta específico para ativar somente essa porta.
    • Clique em Adicionar.
  3. Para remover a entrada da lista Referenciador Permitido, selecione o item da lista e clique em Excluir.
    Se a Lista de referência permitida estiver vazia, o recurso CSRF para de funcionar e o sistema fica inseguro.
  4. Depois de alterar a lista de referência permitida, reinicie o servidor de formulários AEM.