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à.
Controlla una CloudFront distribuzione Amazon per la registrazione degli accessi, la versione HTTPS e TLS
Creato da SaiJeevan Devireddy (AWS) e Bijesh Bal (AWS)
Riepilogo
Questo modello verifica una CloudFront distribuzione Amazon per assicurarsi che utilizzi HTTPS, utilizzi Transport Layer Security (TLS) versione 1.2 o successiva e che abbia la registrazione degli accessi abilitata. CloudFront è un servizio fornito da Amazon Web Services (AWS) che accelera la distribuzione di contenuti Web statici e dinamici, come .html, .css, .js e file di immagine, agli utenti. CloudFront fornisce i tuoi contenuti attraverso una rete mondiale di data center denominati edge location. Quando un utente richiede i contenuti che utilizzi CloudFront, la richiesta viene indirizzata all'edge location che offre la latenza (ritardo) più bassa, in modo che i contenuti vengano forniti con le migliori prestazioni possibili.
Questo modello fornisce una funzione AWS Lambda che viene avviata quando Amazon CloudWatch Events rileva la chiamata CloudFront CreateDistributionAPI, oppure. CreateDistributionWithTagsUpdateDistribution La logica personalizzata nella funzione Lambda valuta tutte le CloudFront distribuzioni create o aggiornate nell'account AWS. Invia una notifica di violazione utilizzando Amazon Simple Notification Service (Amazon SNS) se rileva le seguenti violazioni:
Controlli globali:
Il certificato personalizzato non utilizza la versione TLS 1.2
La registrazione è disabilitata per la distribuzione
Controlli di origine:
Origin non è configurato con la versione TLS 1.2
La comunicazione con l'origine è consentita su un protocollo diverso da HTTPS
Controlli comportamentali:
La comunicazione comportamentale predefinita è consentita su un protocollo diverso da HTTPS
La comunicazione basata su comportamenti personalizzati è consentita su un protocollo diverso da HTTPS
Prerequisiti e limitazioni
Prerequisiti
Un account AWS attivo
Un indirizzo e-mail a cui desideri ricevere le notifiche di violazione
Limitazioni
Questo controllo di sicurezza non verifica le distribuzioni Cloudfront esistenti a meno che non sia stato apportato un aggiornamento alla distribuzione.
CloudFront è considerato un servizio globale e non è legato a una regione AWS specifica. Tuttavia, la registrazione delle API Amazon CloudWatch Logs e AWS Cloudtrail per i servizi globali avviene nella regione Stati Uniti orientali (Virginia settentrionale) ().
us-east-1
Pertanto, questo modulo di controllo di sicurezza CloudFront deve essere implementato e mantenuto in.us-east-1
Questa singola implementazione monitora tutte le distribuzioni per. CloudFront Non distribuire il controllo di sicurezza in altre regioni AWS. (La distribuzione in altre regioni comporterà l'impossibilità di avviare CloudWatch Events e la funzione Lambda e l'assenza di notifiche SNS.)Questa soluzione è stata sottoposta a test approfonditi con le distribuzioni di contenuti CloudFront Web. Non copre le distribuzioni di streaming RTMP (Real-Time Messaging Protocol).
Architettura
Stack tecnologico Target
Funzione Lambda
Argomento SNS
EventBridge Regola Amazon
Architettura Target

Automazione e scalabilità
Se utilizzi AWS Organizations, puoi utilizzare AWS Cloudformation StackSets per distribuire il modello allegato su più account che desideri monitorare.
Strumenti
Servizi AWS
AWS CloudFormation: CloudFormation è un servizio che ti aiuta a modellare e configurare le risorse AWS utilizzando l'infrastruttura come codice.
Amazon EventBridge: EventBridge fornisce un flusso di dati in tempo reale dalle tue applicazioni, applicazioni SaaS (SaaS) e servizi AWS, indirizzando tali dati verso destinazioni come le funzioni Lambda.
AWS Lambda — Lambda supporta l'esecuzione di codice senza effettuare il provisioning o la gestione di server.
Amazon S3 — Amazon Simple Storage Service (Amazon S3) è un servizio di storage di oggetti altamente scalabile che può essere utilizzato per un'ampia gamma di soluzioni di storage, tra cui siti Web, applicazioni mobili, backup e data lake.
Amazon SNS: Amazon SNS coordina e gestisce la consegna o l'invio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail. I sottoscrittori ricevono tutti gli stessi messaggi pubblicati sugli argomenti ai quali sono hanno effettuato la sottoscrizione.
Codice
Il codice allegato include:
Un file.zip che contiene il codice Lambda (index.py)
Un CloudFormation modello (file.yml) che esegui per distribuire il codice Lambda
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea il bucket S3 per il codice Lambda. | Sulla console Amazon S3, crea un bucket S3 con un nome univoco che non contenga barre iniziali. Il nome di un bucket S3 è unico a livello globale e lo spazio dei nomi è condiviso da tutti gli account AWS. Il bucket S3 deve trovarsi nella regione in cui intendi distribuire il codice Lambda. | Architetto del cloud |
Carica il codice Lambda nel bucket S3. | Carica il codice Lambda (file cloudfront_ssl_log_lambda.zip) fornito nella sezione Allegati nel bucket S3 che hai creato nel passaggio precedente. | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Implementa il CloudFormation modello. | Sulla CloudFormation console AWS, nella stessa regione AWS del bucket S3, distribuisci il CloudFormation modello (cloudfront-ssl-logging.yml) fornito nella sezione Allegati. | Architetto del cloud |
Specificate il nome del bucket S3. | Per il parametro S3 Bucket, specifica il nome del bucket S3 che hai creato nella prima epic. | Architetto del cloud |
Specificare il nome della chiave Amazon S3 per il file Lambda. | Per il parametro S3 Key, specifica la posizione Amazon S3 del file.zip del codice Lambda nel tuo bucket S3. Non includere barre iniziali (ad esempio, puoi inserire lambda.zip o controls/lambda.zip). | Architetto del cloud |
Fornisci un indirizzo email di notifica. | Per il parametro e-mail di notifica, fornisci un indirizzo e-mail a cui desideri ricevere le notifiche di violazione. | Architetto del cloud |
Definisci il livello di registrazione. | Per il parametro Lambda Logging level, definisci il livello di registrazione per la tua funzione Lambda. Seleziona uno dei seguenti valori:
| Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Confermare la sottoscrizione. | Quando il CloudFormation modello è stato distribuito correttamente, viene creato un nuovo argomento SNS e viene inviato un messaggio di iscrizione all'indirizzo e-mail fornito. È necessario confermare questa iscrizione e-mail per ricevere le notifiche di violazione. | Architetto del cloud |
Risorse correlate
Creazione di uno stack sulla CloudFormation console AWS (CloudFormation documentazione)
CloudFront registrazione (documentazione) CloudFront