SEC06-BP03 Riduzione della gestione manuale e dell'accesso interattivo - Framework AWS Well-Architected

SEC06-BP03 Riduzione della gestione manuale e dell'accesso interattivo

Utilizza l'automazione per eseguire attività di implementazione, configurazione, manutenzione e investigazione, laddove possibile. Quando l'automazione non è disponibile, considera l'accesso manuale alle risorse di calcolo in caso di procedure di emergenza o in ambienti sicuri (sandbox).

Risultato desiderato: gli script programmatici e i documenti di automazione (runbook) acquisiscono le azioni autorizzate sulle risorse di calcolo. Questi runbook vengono avviati automaticamente, attraverso i sistemi di rilevamento delle modifiche, o manualmente, quando è necessario il giudizio umano. L'accesso diretto alle risorse di calcolo è disponibile solo in situazioni di emergenza, quando l'automazione non è disponibile. Tutte le attività manuali vengono registrate e inserite in un processo di revisione per migliorare continuamente le capacità di automazione.

Anti-pattern comuni:

  • Accesso interattivo alle istanze Amazon EC2 con protocolli come SSH o RDP.

  • Gestione degli accessi dei singoli utenti come /etc/passwd o degli utenti locali di Windows.

  • Condivisione di una password o chiave privata per accedere a un'istanza tra più utenti.

  • Installazione del software e creazione o aggiornamento manuali dei file di configurazione.

  • Aggiornamento o applicazione di patch manuale al software.

  • Accesso a un'istanza per risolvere i problemi.

Vantaggi della definizione di questa best practice: eseguire azioni con l'automazione aiuta a ridurre il rischio operativo di modifiche non volute e di configurazioni errate. Abolire l'uso di Secure Shell (SSH) e Remote Desktop Protocol (RDP) per l'accesso interattivo significa ridurre la portata dell'accesso alle risorse di calcolo. In tal modo si elimina un percorso comune per le azioni non autorizzate. Acquisire le attività di gestione delle risorse di calcolo in documenti di automazione e script di programmazione significa definire e verificare l'intero ambito delle attività autorizzate a un livello di dettaglio granulare.

Livello di rischio associato alla mancata adozione di questa best practice: medio

Guida all'implementazione

L'accesso a un'istanza è un approccio classico all'amministrazione del sistema. Dopo aver installato il sistema operativo del server, gli utenti in genere accedono manualmente per configurare il sistema e installare il software desiderato. Nel corso del ciclo di vita del server, gli utenti possono accedere per eseguire aggiornamenti del software, applicare patch, modificare le configurazioni e risolvere i problemi.

L'accesso manuale comporta tuttavia una serie di rischi. Richiede un server in grado di ascoltare le richieste, come un servizio SSH o RDP, in grado di fornire un potenziale percorso di accesso non autorizzato. Inoltre, aumenta il rischio di errore umano associato all'esecuzione di operazioni manuali. Le conseguenze possono essere incidenti sul carico di lavoro, danneggiamento o distruzione dei dati o altri problemi di sicurezza. L'accesso umano richiede anche protezioni contro la condivisione delle credenziali, creando ulteriori costi di gestione. 

Per mitigare questi rischi, puoi implementare una soluzione di accesso remoto basata su agenti, ad esempio AWS Systems Manager. AWS Systems Manager Agent (SSM Agent) avvia un canale crittografato, pertanto non si avvale dell'ascolto di richieste esterne. Prendi in considerazione la possibilità di configurare SSM Agent per stabilire questo canale su un endpoint VPC.

Systems Manager consente un controllo granulare delle modalità di interazione con le istanze gestite. In questo modo è possibile definire le automazioni da eseguire, chi può eseguirle e quando. Systems Manager può applicare patch, installare software e apportare modifiche alla configurazione senza accedere in modo interattivo all'istanza. Systems Manager può inoltre fornire l'accesso a una shell remota e registrare ogni comando invocato, e il relativo output, durante la sessione nei log e in Amazon S3. AWS CloudTrail registra le invocazioni delle API Systems Manager per l'ispezione.

Passaggi dell'implementazione

  1. Installa AWS Systems Manager Agent (SSM Agent) sulle tue istanze Amazon EC2. Verifica se SSM Agent è incluso e avviato automaticamente come parte della configurazione AMI di base.

  2. Verifica che i ruoli IAM associati ai profili delle tue istanze EC2 includano la policy gestita AmazonSSMManagedInstanceCore di IAM.

  3. Disabilita SSH, RDP e altri servizi di accesso remoto in esecuzione sulle tue istanze. Puoi farlo eseguendo script configurati nella sezione dei dati utente dei tuoi modelli di avvio o creando AMI personalizzate con strumenti come EC2 Image Builder.

  4. Verifica che le regole di ingresso del gruppo di sicurezza applicabili alle tue istanze EC2 non consentano l'accesso sulla porta 22/tcp (SSH) o sulla porta 3389/tcp (RDP). Implementa il rilevamento e l'invio di avvisi su gruppi di sicurezza non configurati correttamente utilizzando servizi come AWS Config.

  5. Definisci automazioni, runbook ed esegui comandi appropriati in Systems Manager. Utilizza le policy IAM per definire chi può eseguire queste azioni e le condizioni in base alle quali sono consentite. Testa accuratamente queste automazioni in un ambiente non di produzione. Richiama queste automazioni quando necessario, invece di accedere in modo interattivo all'istanza.

  6. Utilizza AWS Systems Manager Session Manager per fornire l'accesso interattivo alle istanze quando necessario. Attiva la registrazione delle attività della sessione per mantenere un audit trail in Amazon CloudWatch Logs o Amazon S3

Risorse

Best practice correlate:

Esempi correlati:

Strumenti correlati:

Video correlati: