

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à.

# Tema 2: Gestione dell'infrastruttura immutabile tramite pipeline sicure
<a name="theme-2"></a>

**Otto strategie essenziali coperte**  
Controllo delle applicazioni, applicazioni di patch, sistemi operativi di patch

Per un'infrastruttura immutabile, è necessario proteggere le pipeline di distribuzione per le modifiche al sistema. AWS L'illustre ingegnere Colm MacCárthaigh ha spiegato questo principio nella presentazione (video) di [Zero-Privilege Operations: Running Services Without](https://www.youtube.com/watch?v=kNbNWxVQP4w) Access to Data alla conferenza re:Invent del 2022. YouTube AWS 

Limitando l'accesso diretto alle risorse di configurazione, è possibile richiedere che tutte AWS le risorse vengano distribuite o modificate tramite pipeline approvate, protette e automatizzate. Di solito, si creano [policy AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) che consentono agli utenti di accedere solo all'account che ospita la pipeline di distribuzione. Puoi anche configurare le policy IAM che consentono [l'accesso ininterrotto](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/break-glass-access.html) per un numero limitato di utenti. Per evitare modifiche manuali, puoi utilizzare i gruppi di sicurezza per bloccare l'accesso SSH e RDP (WindowsRemote Desktop Protocol) ai server. [Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html), una funzionalità di AWS Systems Manager, può fornire l'accesso alle istanze senza la necessità di aprire le porte in ingresso o gestire gli host bastion.

Amazon Machine Images (AMI) e le immagini dei container devono essere create in modo sicuro e ripetibile. Per le istanze Amazon EC2, puoi utilizzare [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html) per AMIs creare versioni con funzionalità di sicurezza integrate, come l'individuazione delle istanze, il controllo delle applicazioni e la registrazione. Per ulteriori informazioni sul controllo delle applicazioni, consulta [Implementing Application Control sul sito Web ACSC](https://www.cyber.gov.au/resources-business-and-government/maintaining-devices-and-systems/system-hardening-and-administration/system-hardening/implementing-application-control). Puoi anche usare Image Builder per creare immagini di container e puoi usare Amazon Elastic Container Registry ([Amazon ECR) Elastic Container Registry (Amazon](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) ECR) per condividere tali immagini tra account. Un team di sicurezza centrale può approvare il processo automatizzato per la creazione di queste immagini AMIs e dei container in modo che qualsiasi AMI o immagine del contenitore risultante venga approvata per l'uso da parte dei team applicativi.

Le applicazioni devono essere definite in Infrastructure as Code (IaC), utilizzando servizi come [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)o. [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html) Gli strumenti di analisi del codice AWS CloudFormation Guard, come cfn-nag o cdk-nag, possono testare automaticamente il codice rispetto alle migliori pratiche di sicurezza nella pipeline approvata.

Allo stesso modo[Tema 1: Utilizzare i servizi gestiti](theme-1.md), Amazon Inspector può segnalare le vulnerabilità in tutto il tuo. Account AWS I team centralizzati di cloud e sicurezza possono utilizzare queste informazioni per verificare che il team applicativo soddisfi i requisiti di sicurezza e conformità.

Per monitorare e generare report sulla conformità, esegui revisioni continue delle risorse e dei log IAM. Utilizza AWS Config le regole per assicurarti che AMIs vengano utilizzate solo quelle approvate e assicurati che Amazon Inspector sia configurato per scansionare le risorse Amazon ECR alla ricerca di vulnerabilità.

## Best practice correlate nel AWS Well-Architected Framework
<a name="theme-2-best-practices"></a>
+ [OPS05- BP04 Utilizza sistemi di gestione della compilazione e dell'implementazione](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_build_mgmt_sys.html)
+ [REL08- BP04 Implementa utilizzando un'infrastruttura immutabile](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_tracking_change_management_immutable_infrastructure.html)
+ [SEC06- BP03 Ridurre la gestione manuale e l'accesso interattivo](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_reduce_manual_management.html)

## Implementazione di questo tema
<a name="theme-2-implementation"></a>

### Implementa AMI e costruisci pipeline di container
<a name="t2-ami-pipelines"></a>
+ [Usa EC2 Image](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html) Builder e integra quanto segue nel tuo: AMIs
  + [AWS Systems Manager Agente (SSM Agent)](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html), utilizzato ad esempio per il rilevamento e la gestione
  + [Strumenti di sicurezza per il controllo delle applicazioni, come [Security Enhanced Linux (SELinux) (GitHub)](https://github.com/SELinuxProject), [File Access Policy Daemon (fapolicyd) (](https://github.com/linux-application-whitelisting/fapolicyd/blob/main/README.md)) o OpenSCAP GitHub](https://www.open-scap.org/)
  + [Amazon CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html), utilizzato per la registrazione
+ Per tutte le istanze EC2, includi le `AmazonSSMManagedInstanceCore` policy `CloudWatchAgentServerPolicy` e nel [profilo dell'istanza o nel ruolo IAM](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-permissions.html) che Systems Manager utilizza per accedere alla tua istanza
+ [Condividi AMIs con l'intera organizzazione](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html)
+ [Condividi le risorse di EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-shared-resources.html)
+ [Assicurati che i team addetti alle applicazioni stiano facendo riferimento alle ultime novità AMIs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/walkthrough-custom-resources-lambda-lookup-amiids.html)
+ [Usa la tua pipeline AMI per la gestione delle patch](https://docs.aws.amazon.com/imagebuilder/latest/userguide/security-patch-management.html)
+ Implementa pipeline di costruzione di container:
  + [Crea una pipeline di immagini del contenitore utilizzando la procedura guidata della console EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html)
  + [Crea una pipeline di distribuzione continua per le immagini dei tuoi container utilizzando Amazon ECR come fonte](https://aws.amazon.com/blogs/devops/build-a-continuous-delivery-pipeline-for-your-container-images-with-amazon-ecr-as-source/) (AWS post sul blog)
+ [Condividi le immagini dei container ECR in tutta l'organizzazione tramite architetture multi-account e multiregione](https://aws.amazon.com/blogs/containers/amazon-ecr-in-multi-account-and-multi-region-architectures/)

### Implementa pipeline sicure per la creazione di applicazioni
<a name="t2-secure-pipelines"></a>
+ Implementa pipeline di compilazione per IAc, ad esempio utilizzando [EC2 Image AWS CodePipeline Builder](https://aws.amazon.com/blogs/mt/create-immutable-servers-using-ec2-image-builder-aws-codepipeline/) e (post sul blog)AWS 
+ Utilizza strumenti di analisi del codice [AWS CloudFormation Guard](https://docs.aws.amazon.com/cfn-guard/latest/ug/what-is-guard.html), come [cfn-nag (GitHub) o [cdk-nag](https://github.com/cdklabs/cdk-nag)](https://github.com/stelligent/cfn_nag) (GitHub), nelle CI/CD pipeline per rilevare violazioni delle migliori pratiche, come:
  + Politiche IAM troppo permissive, come quelle che utilizzano caratteri jolly
  + Regole dei gruppi di sicurezza troppo permissive, come quelle che utilizzano caratteri jolly o consentono l'accesso SSH
  + Registri di accesso non abilitati
  + Crittografia non abilitata
  + Valori letterali delle password
+ [Implementa strumenti di scansione nelle pipeline](https://aws.amazon.com/blogs/devops/building-end-to-end-aws-devsecops-ci-cd-pipeline-with-open-source-sca-sast-and-dast-tools/) (AWS post sul blog)
+ [Utilizzalo AWS Identity and Access Management Access Analyzer nelle pipeline](https://aws.amazon.com/blogs/security/validate-iam-policies-in-cloudformation-templates-using-iam-access-analyzer/) (post AWS sul blog) per convalidare le politiche IAM definite nei modelli CloudFormation 
+ Configura [le politiche IAM e le](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#:~:text=IAM%20policies%20define%20permissions%20for,CLI%2C%20or%20the%20AWS%20API.) [politiche di controllo dei servizi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) per l'accesso con privilegi minimi per utilizzare la pipeline o apportarvi modifiche

### Implementa la scansione delle vulnerabilità
<a name="t2-vulnerability-scanning"></a>
+ [Abilita Amazon Inspector in tutti gli account della tua organizzazione](https://docs.aws.amazon.com/inspector/latest/user/designating-admin.html)
+ Usa Amazon Inspector per scansionare la tua AMIs pipeline di compilazione AMI:
  + [Gestisci il ciclo di vita delle AMI in EC2 Image Builder ()](https://github.com/aws-samples/ec2-imagebuilder-ami-lifecycle) GitHub
+ [Configura la scansione avanzata per i repository Amazon ECR utilizzando Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/scanning-ecr.html#configure-ecr)
+ [Crea un programma di gestione delle vulnerabilità per valutare e correggere i problemi di sicurezza](https://docs.aws.amazon.com/prescriptive-guidance/latest/vulnerability-management/)

## Monitoraggio di questo tema
<a name="theme-2-monitoring"></a>

### Monitora IAM e log su base continuativa
<a name="t2-monitor"></a>
+ Esamina periodicamente le tue politiche IAM per assicurarti che:
  + Solo le pipeline di implementazione hanno accesso diretto alle risorse
  + Solo i servizi approvati hanno accesso diretto ai dati
  + Gli utenti non hanno accesso diretto a risorse o dati
+ Monitora AWS CloudTrail i log per confermare che gli utenti stiano modificando le risorse attraverso le pipeline e non stiano modificando direttamente le risorse o accedendo ai dati
+ Esamina periodicamente i risultati di IAM Access Analyzer
+ Imposta un avviso per avvisarti se vengono utilizzate le credenziali dell'utente root per an Account AWS 

### Implementa le seguenti regole AWS Config
<a name="t2-config"></a>
+ `APPROVED_AMIS_BY_ID`
+ `APPROVED_AMIS_BY_TAG`
+ `ECR_PRIVATE_IMAGE_SCANNING_ENABLED`