Evitar envenenamento de cache

Este tópico discute como evitar o envenenamento de cache se você usa o servidor Web do Microsoft Internet Information Server (IIS). Intoxicação de cache é um método de alterar o conteúdo do cache para incluir páginas diferentes do mesmo site. Por exemplo, é possível inserir uma página de erro HTTP 404 (Não encontrado) no lugar de alguma página benigna (por exemplo, a página inicial da vitrine), que pode levar a uma possível negação de serviço (DoS). As URLs de páginas mal-intencionadas são armazenadas em cache pelo Varnish ou Redis, daí o nome envenenamento de cache de página.

Esses tipos de ataques podem ser difíceis de detectar porque não resultam em erros nos logs do servidor da Web.

Essa solução se aplica às seguintes versões do Commerce:

  • 2.0.10 e posterior
  • 2.1.2 e posterior
INFO
Este tópico destina-se a administradores experientes do IIS.

Descrição

O problema ocorre se as regravações de URL estiverem ativadas no servidor IIS e qualquer um dos seguintes cabeçalhos HTTP for alterado antes que a solicitação chegue ao serviço de cache Vernish ou Redis:

  • X-Rewrite-Url
  • X-Original-Url
  • IIS-wasurlrewritten
  • Unencoded-URL
  • Orig-path-info

Se esses cabeçalhos forem alterados, o URL e o conteúdo resultantes serão armazenados em cache, resultando em possíveis vulnerabilidades.

Solução

Fornecemos a opção de remover os valores de todos os cabeçalhos anteriores com base na configuração do servidor IIS para Enable_IIS_Rewrites.

  • Se Enable_IIS_Rewrites estiver definido como 0, os valores dos cabeçalhos serão removidos.
  • Se Enable_IIS_Rewrites estiver definido como 1, os valores dos cabeçalhos serão deixados intactos.
WARNING
Se você definir Enable_IIS_Rewrites como 1, não deverá permitir que os valores dos cabeçalhos anteriores sejam alterados antes que a solicitação chegue ao servidor Web do IIS.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c