DocumentaciónCommerceGuía de configuración

Solo PaaS

Evitar el envenenamiento de caché

Última actualización: 15 de julio de 2024
  • Temas:
  • Configuración
  • Caché

Creado para:

  • Experimentado
  • Administrador
  • Desarrollador

En este tema se explica cómo evitar el envenenamiento de caché si utiliza el servidor web de Microsoft Internet Information Server (IIS). Intoxicación de caché es un método para cambiar el contenido de la caché con el fin de incluir páginas diferentes del mismo sitio. Por ejemplo, es posible insertar una página de error HTTP 404 (no encontrada) en lugar de alguna página benigna (por ejemplo, la página principal de la tienda), lo que puede provocar una posible denegación de servicio (DoS). Varnish o Redis almacenan en caché las direcciones URL de páginas malintencionadas; de ahí el nombre envenenamiento de caché de páginas.

Estos tipos de ataques pueden ser difíciles de detectar porque no producen errores en los registros del servidor web.

Esta solución se aplica a las siguientes versiones de Commerce:

  • 2.0.10 y posterior
  • 2.1.2 y posterior
INFO
Este tema está dirigido a administradores de IIS con experiencia.

Descripción

El problema se produce si las reescrituras de URL están habilitadas en el servidor IIS y cualquiera de los siguientes encabezados HTTP se modifica antes de que la solicitud llegue al servicio de almacenamiento en caché de Varnish o Redis:

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

Si se cambian estos encabezados, la dirección URL y el contenido resultantes se almacenan en caché, lo que provoca posibles vulnerabilidades.

Solución

Proporcionamos la opción de quitar los valores de todos los encabezados anteriores en función de la configuración del servidor IIS para Enable_IIS_Rewrites.

  • Si Enable_IIS_Rewrites se establece en 0, se quitan los valores de los encabezados.
  • Si Enable_IIS_Rewrites se establece en 1, los valores de los encabezados permanecen intactos.
WARNING
Si establece Enable_IIS_Rewrites en 1, no debe permitir que los valores de los encabezados anteriores se modifiquen antes de que la solicitud llegue al servidor web de IIS.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c