Configura la modalità di attenuazione della desincronizzazione per Classic Load Balancer - Sistema di bilanciamento del carico elastico

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura la modalità di attenuazione della desincronizzazione per Classic Load Balancer

La modalità di mitigazione Desync protegge l'applicazione dai problemi dovuti a Desync. HTTP Il load balancer classifica ogni richiesta in base al relativo livello di minaccia, consente le richieste sicure e quindi riduce i rischi come specificato dalla modalità di attenuazione specificata. Le modalità di attenuazione della desincronizzazione sono monitorate, difensive e più rigorose. L'impostazione predefinita è la modalità difensiva, che fornisce una mitigazione duratura contro la HTTP desincronizzazione mantenendo al contempo la disponibilità dell'applicazione. È possibile passare alla modalità più rigorosa per garantire che l'applicazione riceva solo le richieste conformi alla norma 7230. RFC

La libreria http_desync_guardian analizza le richieste per prevenire gli attacchi Desync. HTTP HTTP Per ulteriori informazioni, consulta Desync Guardian su github. HTTP

Suggerimento

Questa configurazione si applica solo ai Classic Load Balancer. Per informazioni valide per Application Load Balancer, consulta Modalità di attenuazione della desincronizzazione per gli Application Load Balancer.

Classificazioni

Le classificazioni sono le seguenti.

  • Conforme: Request è conforme allo standard RFC 7230 e non presenta minacce note alla sicurezza.

  • Accettabile: la richiesta non è conforme allo standard RFC 7230 ma non presenta minacce note alla sicurezza.

  • Ambiguo: la richiesta non è conforme allo standard RFC 7230 ma rappresenta un rischio, in quanto diversi server Web e proxy potrebbero gestirla in modo diverso.

  • Grave: la richiesta comporta un elevato rischio per la sicurezza. Il load balancer blocca la richiesta, fornisce una risposta 400 al client e chiude la connessione client.

Gli elenchi seguenti descrivono i problemi di ogni classificazione.

Accettabile
  • Un'intestazione contiene un carattere diverso o di controllo. ASCII

  • La versione della richiesta contiene un valore non valido.

  • Esiste un'intestazione Content-Length con un valore 0 per una richiesta or. GET HEAD

  • La richiesta URI contiene uno spazio non codificato. URL

Ambiguo
  • La richiesta URI contiene caratteri di controllo.

  • La richiesta contiene sia un'intestazione Transfer-Encoding che un'intestazione Content-Length.

  • Esistono più intestazioni Content-Length con lo stesso valore.

  • Un'intestazione è vuota o c'è una riga con solo spazi.

  • C'è un'intestazione che può essere normalizzata per Transfer-Encoding o Content-Length utilizzando tecniche comuni di normalizzazione del testo.

  • Esiste un'intestazione Content-Length per una GET richiesta or. HEAD

  • Esiste un'intestazione Transfer-Encoding per una richiesta or. GET HEAD

Grave
  • La richiesta URI contiene un carattere nullo o un valore di riferimento.

  • L'intestazione Content-Length contiene un valore che non può essere analizzato o non è un numero valido.

  • Un'intestazione contiene un carattere nullo o un'andata a capo.

  • L'intestazione Transfer-Encoding contiene un valore non valido.

  • Il formato del metodo di richiesta è errato.

  • Il formato della versione della richiesta è errato.

  • Esistono più intestazioni Content-Length con valori diversi.

  • Esistono più Transfer-Encoding: intestazioni a blocchi.

Se una richiesta non è conforme alla norma RFC 7230, il sistema di bilanciamento del carico incrementa la metrica. DesyncMitigationMode_NonCompliant_Request_Count Per ulteriori informazioni, consulta Parametri Classic Load Balancer.

Modalità

La tabella seguente descrive come i Classic Load Balancer trattano le richieste in base alla modalità e alla classificazione.

Classificazione Modalità monitorata Modalità difensiva Modalità più rigorosa
Conforme Consentito Consentito Consentito
Accettabile Consentito Consentito Bloccato
Ambiguo Consentito Consentito¹ Bloccato
Grave Consentito Bloccato Bloccato

¹ Esegue il routing delle richieste ma chiude le connessioni client e target.

Modifica la modalità di attenuazione della desincronizzazione

Per aggiornare la modalità di attenuazione della desincronizzazione tramite la console
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel pannello di navigazione, sotto Bilanciamento del carico, scegli Sistemi di bilanciamento del carico.

  3. Scegli il nome del sistema di bilanciamento del carico per aprirne la pagina dei dettagli.

  4. Nella scheda Attributi, scegli Modifica.

  5. Nella pagina Modifica attributi del sistema di bilanciamento del carico, nella sezione Configurazione del traffico, scegli Difensivo - scelta consigliata, Rigido o Monitoraggio.

  6. Scegli Save changes (Salva modifiche).

Per aggiornare la modalità di mitigazione della desincronizzazione utilizzando il AWS CLI

Utilizzare il modify-load-balancer-attributescomando con l'elb.http.desyncmitigationmodeattributo impostato su monitordefensive, o. strictest

aws elb modify-load-balancer-attributes --load-balancer-name my-load-balancer --load-balancer-attributes file://attribute.json

Di seguito sono riportati i contenuti di attribute.json.

{ "AdditionalAttributes": [ { "Key": "elb.http.desyncmitigationmode", "Value": "strictest" } ] }