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à.
Registrazione centralizzata e barriere di sicurezza per più account
Creato da Ankush Verma (AWS), Shree Gautam (), Tracy Hickey (AWS) e Corie White () AWS AWS
Ambiente: produzione | Tecnologie: sicurezza, identità, conformità; gestione e governance | AWSservizi: AWS CloudFormation; AWS Config; Amazon CloudWatch; Amazon; GuardDuty AWS Lambda; AWS CodePipeline Amazon Macie; Security AWS Hub; Amazon S3 |
Riepilogo
Avviso: non AWS CodeCommit è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni
L'approccio descritto in questo modello è adatto ai clienti che dispongono di più account Amazon Web Services (AWS) presso AWS Organizations e che ora incontrano difficoltà nell'utilizzare AWS Control Tower, una landing zone o i servizi di distribuzione automatica di account per configurare guardrail di base nei propri account.
Questo modello dimostra l'uso di un'architettura semplificata con più account per configurare registrazioni centralizzate e controlli di sicurezza standardizzati in modo ben strutturato. Con l'aiuto di AWS CloudFormation modelli e script di automazione AWS CodePipeline, questa configurazione viene implementata in tutti gli account che appartengono a un'organizzazione.
L'architettura con più account include i seguenti account:
Account di registrazione centralizzato: l'account in cui sono archiviati tutti i log, i log AWS CloudTrail , il log AWS Config e tutti i log di Amazon CloudWatch Logs (utilizzando gli abbonamentiVPC) di tutti gli altri account.
Account di sicurezza principale: l'account che funge da account principale per i seguenti servizi di sicurezza che gestiscono più account.
Amazon GuardDuty
AWS Security Hub
Amazon Macie
Amazon Detective
Account per bambini: gli altri account dell'organizzazione. Questi account archiviano tutti i log utili nell'account di registrazione centralizzato. Gli account secondari si aggiungono all'account di sicurezza principale come membri dei servizi di sicurezza.
Dopo aver avviato il CloudFormation modello (allegato), effettua il provisioning di tre bucket Amazon Simple Storage Service (Amazon S3) nell'account di registrazione centralizzato. Un bucket viene utilizzato per archiviare tutti i log AWS correlati (ad esempio i log di VPC Flow Logs CloudTrail e AWS Config) di tutti gli account. Il secondo bucket serve per archiviare i modelli di tutti gli CloudFormation account. Il terzo bucket serve per archiviare i log di accesso di Amazon S3.
Un CloudFormation modello separato crea la pipeline che utilizza. AWS CodeCommit Dopo che il codice aggiornato è stato inviato al CodeCommit repository, si occupa dell'avvio delle risorse e della configurazione dei servizi di sicurezza in tutti gli account. Per ulteriori informazioni sulla struttura dei file che verranno caricati nel CodeCommit repository, consultate il README file.md (allegato).
Prerequisiti e limitazioni
Prerequisiti
Un ID dell'organizzazione AWS Organizations, con tutti gli account uniti alla stessa organizzazione.
Un indirizzo e-mail attivo per ricevere le notifiche di Amazon Simple Notification Service (AmazonSNS).
Quote confermate per i bucket Amazon Simple Storage Service (Amazon S3) in ciascuno dei tuoi account. Per impostazione predefinita, ogni account ha 100 bucket S3. Se hai bisogno di bucket aggiuntivi, richiedi un aumento della quota prima di implementare questa soluzione.
Limitazioni
Tutti gli account devono far parte della stessa organizzazione. Se non utilizzi AWS Organizations, devi modificare alcune policy, come la policy del bucket S3, per consentire l'accesso dai ruoli AWS Identity and Access Management (IAM) per ogni account.
Nota: durante l'implementazione della soluzione, devi confermare l'SNSabbonamento Amazon. Il messaggio di conferma viene inviato all'indirizzo e-mail fornito durante il processo di distribuzione. Ciò avvierà alcuni messaggi di avviso e-mail a questo indirizzo e-mail, poiché questi allarmi vengono attivati ogni volta che vengono create o modificate le politiche relative ai IAM ruoli nell'account. Durante il processo di distribuzione, puoi ignorare questi messaggi di avviso.
Architettura
Stack tecnologico Target
CloudWatch Allarmi e registri Amazon
AWS CodeCommit deposito
AWS CodePipeline
AWSConfig
Amazon Detective
Amazon GuardDuty
IAMruoli e autorizzazioni
Amazon Macie
Bucket S3
AWS Security Hub
Amazon SNS
Architettura Target
Altri account registrati come account secondari dell'account di sicurezza principale per i servizi di sicurezza
Risultati di sicurezza relativi a tutti gli account per bambini, incluso l'account principale
Risorse
Le seguenti risorse vengono fornite automaticamente quando il codice aggiornato viene inviato al CodeCommit repository di ogni account e regione. AWS
CloudFormation stack 1 — Registrazione dello stack principale
- Stack annidato 1: ruoli e politiche standard IAM
- Nested stack 2 — Configurazione della AWS configurazione nell'account
- Stack annidato 3 — allarmi CloudWatch
- SecurityGroupChangesAlarm
- UnauthorizedAttemptAlarm
- RootActivityAlarm
- NetworkAclChangesAlarm
- IAMUserManagementAlarm
- IAMPolicyChangesAlarm
- CloudTrailChangeAlarm
- IAMCreateAccessKeyAlarm
- Filtri metrici per creare metriche dai CloudTrail log e utilizzarle per gli allarmi
SNS- argomento
CloudFormation pila 2 — Pila di guardrail principale
- Nested stack 1 — Funzione AWS Lambda per l'impostazione della politica di password dell'account
- Nested stack 2 — Regole di AWS Config di base
- CIS-SecurityGroupsMustRestrictSshTraffic
- OpenSecurityGroupRuleCheck insieme alla funzione Lambda per la valutazione delle regole del gruppo di sicurezza
- check-ec2- for-required-tag
- check-for-unrestricted-ports
CloudFormation stack 3 — esportazione dei log CloudWatch
- Esportazione di CloudWatch log da gruppi di log ad Amazon S3 utilizzando un abbonamento Amazon Kinesis
Strumenti
AWS CloudFormation— AWS CloudFormation utilizza modelli per modellare e fornire, in modo automatizzato e sicuro, tutte le risorse necessarie per le applicazioni in tutte AWS le regioni e gli account.
Amazon CloudWatch: Amazon CloudWatch monitora AWS le tue risorse e le applicazioni su cui esegui AWS in tempo reale. Puoi utilizzarlo CloudWatch per raccogliere e tenere traccia delle metriche, che sono variabili che puoi misurare per le tue risorse e applicazioni.
AWS CodeCommit— AWS CodeCommit è un servizio di controllo delle versioni ospitato da. AWS È possibile CodeCommit utilizzarlo per archiviare e gestire privatamente risorse (come documenti, codice sorgente e file binari) nel cloud.
AWS CodePipeline— AWS CodePipeline è un servizio di distribuzione continua che puoi utilizzare per modellare, visualizzare e automatizzare i passaggi necessari per il rilascio del software.
AWSConfig: AWS Config fornisce una visualizzazione dettagliata della configurazione delle AWS risorse nel tuo account. AWS Questo include le relazioni tra le risorse e la maniera in cui sono state configurate in passato, in modo che tu possa vedere come le configurazioni e le relazioni cambiano nel corso del tempo.
Amazon Detective: Amazon Detective viene utilizzato per analizzare, indagare e identificare rapidamente la causa principale dei risultati di sicurezza o delle attività sospette. Detective raccoglie automaticamente i dati di registro dalle tue AWS risorse. Utilizza quindi l'apprendimento automatico, l'analisi statistica e la teoria dei grafi per aiutarti a visualizzare e condurre indagini di sicurezza più rapide ed efficienti.
Amazon GuardDuty — Amazon GuardDuty è un servizio di monitoraggio continuo della sicurezza che analizza ed elabora i log di flusso, i log degli eventi di CloudTrail gestione, i registri degli eventi CloudTrail dei dati e i log del Domain Name System (). DNS Utilizza feed di intelligence sulle minacce, come elenchi di indirizzi IP e domini dannosi, e l'apprendimento automatico per identificare attività impreviste e potenzialmente non autorizzate e dannose all'interno del tuo ambiente. AWS
AWSIdentity and Access Management: AWS Identity and Access Management (IAM) è un servizio web che consente di controllare in modo sicuro l'accesso alle AWS risorse. Viene utilizzato IAM per controllare chi è autenticato (ha effettuato l'accesso) e autorizzato (dispone delle autorizzazioni) a utilizzare le risorse.
Amazon Macie — Amazon Macie automatizza l'individuazione di dati sensibili, come informazioni di identificazione personale PII () e dati finanziari, per fornirti una migliore comprensione dei dati archiviati dalla tua organizzazione in Amazon S3.
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.
AWSSecurity Hub: AWS Security Hub ti offre una visione completa dello stato di sicurezza AWS e ti aiuta a controllare il tuo ambiente rispetto agli standard di sicurezza e alle migliori pratiche.
Amazon SNS — Amazon Simple Notification Service (AmazonSNS) è un servizio gestito che fornisce il recapito dei messaggi dagli editori agli abbonati (noti anche come produttori e consumatori).
Best practice
< Autore Rimuovi queste note: fornisci un elenco di linee guida e consigli che possono aiutare gli utenti a implementare questo modello in modo più efficace. >
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Avvia il modello Childaccount_ IAM CloudFormation _Role_all_accounts.yaml per creare il ruolo nella regione us-east-1. IAM | Per creare i IAM ruoli e le autorizzazioni richiesti, è necessario avviare manualmente questo modello in ogni account, uno per uno (account di registrazione centralizzato, account di sicurezza principale e tutti gli altri AWS account dell'organizzazione) nella regione us-east-1. Il | Architetto del cloud |
Nei parametri del modello, fornisci il nome del IAM ruolo. | Fornisci il IAM ruolo che CodeBuild, nell'account di sicurezza principale, può assumere in tutti gli altri account secondari. Il nome del ruolo predefinito è | Architetto del cloud |
Nei parametri, fornisci l'ID dell'account di sicurezza principale. | L'account di sicurezza principale è l'account su cui CodeBuild viene eseguito. | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Nell'account di registrazione centralizzato, in us-east-1, avvia il modello S3Buckets-Centralized- .yaml. LoggingAccount CloudFormation | Per creare i bucket S3 nell'account di registrazione centralizzato, avvia il. | Architetto del cloud |
Nei parametri del modello, fornisci il nome del bucket S3 per l'archiviazione dei AWS log. | Immettete un nome per il parametro. | Architetto del cloud |
Fornisci il nome del bucket S3 per archiviare i log di accesso. | Immettete il nome di un bucket S3 per il parametro. | Architetto del cloud |
Fornisci il nome del bucket S3 per l'archiviazione dei modelli. | Inserisci il nome di un bucket S3 nel parametro. | Architetto del cloud |
Fornisci l'ID dell'organizzazione. | Per fornire l'accesso ai bucket S3 all'interno dell'organizzazione, inserisci l'ID dell'organizzazione nel | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Avvia il modello security-guard-rails-codepipeline -Centralized- SecurityAccount .yml. CloudFormation | Per implementare la pipeline CI/CD, avvia manualmente il | Architetto del cloud |
Fornisci un nome per il bucket S3 che memorizzerà i modelli nell'account di registrazione centralizzato. | Inserisci il nome del bucket S3 che hai fornito per il parametro nel passaggio 2. | Architetto del cloud |
Fornisci il nome del IAM ruolo da utilizzare negli account per bambini. | Inserisci il nome che hai fornito per il | Architetto del cloud |
Fornisci un indirizzo email attivo per ricevere le notifiche di CodePipeline errore. | Inserisci l'indirizzo e-mail che desideri utilizzare per ricevere notifiche di CodePipeline errore e altre notifiche relative agli CloudWatch allarmi. | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Modifica AccountList.json. | Nel | Architetto del cloud |
Modifica accounts.csv | Nel | Architetto del cloud |
Modifica parameters.config. | Nel
Per gli altri parametri, puoi mantenere i valori predefiniti. Per un esempio, consultate il | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Accedi al CodeCommit repository che hai creato nel passaggio 3. | Dalla sezione Outputs dello CloudFormation stack di infrastruttura CI/CD (avviato nella fase 3), annota il nome del repository. CodeCommit URL Crea l'accesso al repository in modo che i file possano essere inviati al repository per l'implementazione dell'infrastruttura in tutti gli account di destinazione. Per ulteriori informazioni, consulta Configurazione per. AWS CodeCommit | Architetto del cloud |
Invia i file al CodeCommit repository. | Installa Git sulla tua macchina. Quindi esegui i comandi Git per clonare l'archivio vuoto, copiare i file dal laptop alla cartella del repository e inviare gli artefatti al repository. Controlla i comandi Git di esempio nel | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Conferma lo stato di CodePipeline and CodeBuild. | Dopo aver inviato gli artefatti al CodeCommit repository, verifica che la CodePipeline pipeline creata nel passaggio 3 sia stata avviata. Quindi controllate i CodeBuild log per confermare lo stato o gli errori. | Architetto del cloud |