Prevenire l’avvelenamento della cache

In questo argomento viene illustrato come evitare l'avvelenamento della cache se si utilizza il server Web Microsoft Internet Information Server (IIS). Avvelenamento della cache è un metodo per modificare il contenuto della cache in modo da includere pagine diverse dello stesso sito. Ad esempio, è possibile inserire una pagina di errore HTTP 404 (non trovata) invece di una pagina non pericolosa (ad esempio, la home page della vetrina), che può causare una potenziale negazione del servizio (DoS, Denial-of-Service). Gli URL di pagina dannosi sono memorizzati nella cache da Varnish o Redis, da cui il nome avvelenamento della cache delle pagine.

Questi tipi di attacchi possono essere difficili da rilevare perché non generano errori nei registri del server web.

Questa soluzione si applica alle seguenti versioni di Commerce:

  • 2.0.10 e versioni successive
  • 2.1.2 e versioni successive
INFO
Questo argomento è destinato agli amministratori IIS esperti.

Descrizione

Il problema si verifica se le riscritture URL sono abilitate sul server IIS e una qualsiasi delle seguenti intestazioni HTTP viene modificata prima che la richiesta raggiunga il servizio di caching di Vernice o Redis:

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

Se queste intestazioni vengono modificate, l’URL e il contenuto risultanti vengono memorizzati in cache, generando potenziali vulnerabilità.

Soluzione

È possibile rimuovere i valori di tutte le intestazioni precedenti in base all'impostazione del server IIS per Enable_IIS_Rewrites.

  • Se Enable_IIS_Rewrites è impostato su 0, i valori delle intestazioni vengono rimossi.
  • Se Enable_IIS_Rewrites è impostato su 1, i valori delle intestazioni vengono lasciati intatti.
WARNING
Se si imposta Enable_IIS_Rewrites a 1, è necessario non consentire la modifica dei valori delle intestazioni precedenti prima che la richiesta raggiunga il server web IIS.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c