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 e HTTPS la versione TLS
Creato da SaiJeevan Devireddy () e Bijesh Bal () AWS AWS
Ambiente: produzione | Tecnologie: distribuzione dei contenuti; sicurezza, identità, conformità | Carico di lavoro: tutti gli altri carichi di lavoro |
AWSservizi: AmazonSNS; Amazon AWS CloudFormation CloudWatch; AWS Lambda |
Riepilogo
Questo modello verifica una CloudFront distribuzione Amazon per assicurarsi che utilizziHTTPS, utilizzi Transport Layer Security (TLS) versione 1.2 o successiva e che abbia abilitato la registrazione degli accessi. 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 CloudFront API chiamata CreateDistribution, o. CreateDistributionWithTagsUpdateDistribution La logica personalizzata della funzione Lambda valuta tutte le CloudFront distribuzioni create o aggiornate nell'account. AWS Invia una notifica di violazione utilizzando Amazon Simple Notification Service (AmazonSNS) se rileva le seguenti violazioni:
Controlli globali:
Il certificato personalizzato non utilizza TLS la versione 1.2
La registrazione è disabilitata per la distribuzione
Controlli di origine:
Origin non è configurato con TLS la versione 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 AWS account attivo
Un indirizzo email 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 specifica. AWS Tuttavia, la API registrazione di 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 utilizzare il controllo di sicurezza in altre regioni. AWS (La distribuzione in altre regioni comporterà l'impossibilità di avviare CloudWatch gli eventi e la funzione Lambda e l'SNSassenza di notifiche).Questa soluzione è stata sottoposta a test approfonditi con le distribuzioni di contenuti CloudFront Web. Non copre le distribuzioni di streaming del protocollo di messaggistica in tempo reale (RTMP).
Architettura
Stack tecnologico Target
Funzione Lambda
SNSargomento
EventBridge Regola Amazon
Architettura Target
![](images/pattern-img/1ae60f8f-3eaf-40f5-b01f-06e30e5604ce/images/e1521c48-99f6-4ec6-9e53-8713f3cf5776.png)
Automazione e scalabilità
Se utilizzi AWS Organizations, puoi utilizzare AWSCloudformation StackSets per distribuire il modello allegato su più account che desideri monitorare.
Strumenti
AWSservizi
AWS CloudFormation— CloudFormation è un servizio che consente di modellare e configurare AWS le risorse utilizzando l'infrastruttura come codice.
Amazon EventBridge: EventBridge fornisce un flusso di dati in tempo reale dalle tue applicazioni, applicazioni SaaS (SaaS) e AWS servizi, indirizzando tali dati verso destinazioni come le funzioni Lambda.
AWSLambda: Lambda supporta l'esecuzione di codice senza fornire o gestire 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) da eseguire 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 AWS CloudFormation console, nella stessa AWS regione 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 SNS argomento e viene inviato un messaggio di iscrizione all'indirizzo e-mail fornito. È necessario confermare questa iscrizione via e-mail per ricevere le notifiche di violazione. | Architetto del cloud |
Risorse correlate
Creazione di uno stack sulla AWS CloudFormation console (CloudFormation documentazione)
CloudFront registrazione (documentazione) CloudFront