Come posso limitare il traffico diretto ad un ALB e consentire il traffico solo attraverso CloudFront utilizzando AWS WAF?

Ultimo aggiornamento: 20-07-2022

Desidero impedire agli utenti di accedere direttamente a un Application Load Balancer (Bilanciatore di carico di un’applicazione [ALB]) e consentire l'accesso solo tramite Amazon CloudFront utilizzando AWS WAF. Come posso farlo usando AWS WAF?

Risoluzione

Per limitare il traffico diretto ad un ALB e consentire il traffico solo attraverso CloudFront utilizzando AWS WAF, procedi come segue:

  1. Configura CloudFront per aggiungere un'intestazione HTTP personalizzata con un valore segreto nelle richieste che CloudFront invia all'ALB.
  2. Crea una regola nel tuo ACL Web AWS WAF associato all'ALB per bloccare le richieste che non contengono il valore segreto dell'intestazione HTTP personalizzata.

Configura CloudFront per aggiungere un'intestazione HTTP personalizzata con un valore segreto nelle richieste che invia all'ALB

  1. Apri la console di Amazon CloudFront.
  2. Nel pannello di navigazione a sinistra, scegli Distribuzioni.
  3. Seleziona l'ID della tua distribuzione.
  4. Scegli Origini.
  5. Seleziona l’origine di ALB, poi scegli Modifica.
    Nota: se non disponi di un'origine di ALB,consulta Creazione di una distribuzione o Aggiornamento di una distribuzione.
  6. Per Aggiungere un’intestazione personalizzata, aggiungi il nome e il valore dell'intestazione. Un nome dell’intestazione di esempio è Custom-header e il Valore è Random-12345.
    Importante: considera il nome e il valore dell'intestazione come credenziali sicure, ad esempio un nome utente e una password.
  7. Seleziona Salva le modifiche.

Crea una regola nell’ACL web di AWS WAF associata all'ALB per bloccare le richieste che non contengono il valore segreto dell'intestazione HTTP personalizzata

Nota: se non disponi di un ACL Web esistente associato all'ALB, segui la procedura descritta in Creare un ACL web AWS WAF. Se disponi di un ACL web esistente associato all'ALB, procedi con la Creazione di una regola.

Crea un’ACL web AWS WAF

  1. Apri la console AWS WAF.
  2. Nel riquadro di navigazione, in AWS WAF, seleziona Web ACLs (ACL web).
  3. Per Regione, seleziona la regione AWS in cui si trova l’ALB.
  4. Scegli Create web ACL (Crea ACL web), quindi inserisci un Nome.
  5. Per le risorse AWS associate, associa l’ALB, quindi scegli Avanti.
  6. Per l'azione ACL web predefinita per le richieste che non corrispondono ad alcuna regola, scegli Consenti, quindi scegli Avanti.
  7. Per le opzioni Richiedi campionamento, scegli Abilita richieste campionate, quindi scegli Avanti.
  8. Esamina la configurazione dell'ACL web. Se corrisponde alle tue specifiche, scegli Create web ACL (Crea ACL web).

Creare una regola

  1. Apri la console AWS WAF.
  2. Nel riquadro di navigazione, in AWS WAF, seleziona Web ACLs (ACL web).
  3. Per Regione, seleziona la regione AWS in cui si trova l’ALB.
  4. Seleziona l'ACL Web a cui hai associato l’ALB.
  5. Seleziona Rules (Regole), quindi seleziona Add Rules, Add my own rules and rule groups (Aggiungi regole e gruppi di regole personali).
  6. Per Name (Nome), inserisci un nome per la regola, quindi scegli Regular Rule (Regola regolare).
  7. Per If a request (Se una richiesta), scegli doesn't match the statement (NOT) (non corrisponde all'istruzione [NOT]) .
  8. In Statement 1 (Istruzione 1):
    Per Ispeziona, scegli Intestazione singola.
    Per Nome campo Intestazione, immettere il nome del Nome intestazione creato in CloudFront. Ad esempio, Custom-header.
    Per Tipo di corrispondenza, scegliere Corrisponde esattamente alla stringa.
    Affinché la Stringa corrisponda, inserisci il valore creato in CloudFront. Ad esempio, Random-12345.
    Per Trasformazione del testo, scegliere Nessuno.
  9. Per Action (Operazione), scegli Block (Blocca).
  10. Scegli Save rule (Salva regola).
  11. Per Imposta priorità regola, se disponi di più regole, imposta questa regola alla priorità più alta.
  12. Scegli Save (Salva).

Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?