AWS linee guida per l'audit di sicurezza - AWS Identity and Access Management

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

AWS linee guida per l'audit di sicurezza

Controlla periodicamente la configurazione di sicurezza per accertarti che soddisfi i requisiti aziendali attuali. Grazie ai controlli puoi rimuovere ruoli, gruppi, policy e utenti IAM non necessari, inoltre puoi accertarti che gli utenti e il software dispongano solo delle autorizzazioni necessarie.

Di seguito sono riportate le linee guida per la revisione e il monitoraggio sistematici AWS delle risorse alla ricerca delle migliori pratiche di sicurezza.

Suggerimento

Puoi monitorare l'uso di IAM in relazione alle best practice sulla sicurezza utilizzando AWS Security Hub. Security Hub utilizza controlli di sicurezza per valutare le configurazioni delle risorse e gli standard di sicurezza per aiutarti a rispettare vari framework di conformità. Per ulteriori informazioni sull'utilizzo di Security Hub per la valutazione delle risorse IAM, consulta Controlli IAM (Identity and Access Management) di AWS nella Guida per l'utente di AWS Security Hub .

Quando è necessario eseguire un controllo di sicurezza

Controlla la configurazione di sicurezza nelle seguenti situazioni:

  • Periodicamente. Come best practice per la sicurezza, segui la procedura descritta in questo documento a intervalli regolari.

  • In caso di cambiamenti all'interno dell'organizzazione, ad esempio persone che lasciano l'azienda.

  • Se hai smesso di utilizzare uno o più singoli AWS servizi, verifica di aver rimosso le autorizzazioni di cui gli utenti del tuo account non hanno più bisogno.

  • Se hai aggiunto o rimosso software nei tuoi account, ad esempio applicazioni su istanze Amazon EC2, AWS OpsWorks stack, modelli, ecc. AWS CloudFormation

  • Se sospetti che una persona non autorizzata possa aver eseguito l'accesso al tuo account.

Linee guida per l'audit

Quando verifichi la configurazione di sicurezza del tuo account, segui queste linee guida:

  • Sii meticoloso. Esamina tutti gli elementi della configurazione di sicurezza, inclusi quelli che utilizzi raramente.

  • Non dare nulla per scontato. Se non conosci a sufficienza alcuni elementi della tua configurazione di sicurezza (ad esempio il motivo della presenza di una policy specifica o dell'esistenza di un ruolo), analizza i requisiti aziendali per comprendere il potenziale rischio.

  • Fai in modo che le cose siano semplici. Per facilitare i controlli (e la gestione), usa gruppi IAM, ruoli IAM, schemi di denominazione coerenti e policy semplici.

Controlla le credenziali del tuo account AWS

Segui questi passaggi quando controlli le credenziali del tuo AWS account:

  1. Puoi rimuovere le eventuali chiavi di accesso associate a un utente root che non utilizzi. Ti consigliamo vivamente di non utilizzare le chiavi di accesso root per il lavoro quotidiano e di utilizzare invece utenti con credenziali temporanee, ad esempio. AWS utenti in Centro identità AWS IAM

  2. Se per l'account sono necessarie chiavi di accesso, occorre aggiornarle all'occorrenza.

Verifica degli utenti IAM

Eseguire questa procedura quando si verificano gli utenti IAM esistenti:

  1. Elenca gli utenti, quindi elimina gli utenti che non sono necessari.

  2. Rimuovi gli utenti dai gruppi a cui non richiedono l'accesso.

  3. Verifica le policy associate ai gruppi in cui si trova l'utente. Per informazioni, consulta Suggerimenti per la verifica delle policy IAM.

  4. Elimina le credenziali di sicurezza di cui l'utente non ha bisogno o che potrebbero essere state esposte. Ad esempio, un utente IAM utilizzato per un'applicazione non necessita di una password (necessaria solo per accedere ai AWS siti Web). Analogamente, se un utente non utilizza chiavi di accesso, non c'è motivo per cui debba averne. Per ulteriori informazioni, consulta le pagine Gestione delle password per gli utenti IAM e Gestione delle chiavi di accesso per gli utenti IAM.

    È possibile generare e scaricare un report delle credenziali che riporta tutti gli utenti IAM presenti nell'account e lo stato delle loro diverse credenziali, tra cui password, chiavi di accesso e dispositivi MFA. Per le password e le chiavi di accesso, il report sulle credenziali mostra la data e l'orario dell'ultimo utilizzo della password o della chiave di accesso. Valuta la possibilità di rimuovere dal tuo account le credenziali che non sono state utilizzate di recente. (Non rimuovere l'utente designato per l'accesso di emergenza.) Per ulteriori informazioni, consulta Ottenere rapporti sulle credenziali per il tuo AWS account.

  5. Aggiorna le password e le chiavi di accesso quando necessario per i casi d'uso che richiedono credenziali a lungo termine. Per ulteriori informazioni, consulta le pagine Gestione delle password per gli utenti IAM e Gestione delle chiavi di accesso per gli utenti IAM.

  6. Come procedura ottimale, richiedi agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee. Se possibile, passa dagli utenti IAM agli utenti federati, ad esempio utenti in IAM Identity Center. Mantieni il numero minimo di utenti IAM necessari alle tue applicazioni.

Verifica dei gruppi IAM

Eseguire questa procedura quando si verificano i gruppi &IAM:

  1. Elenca i gruppi, quindi elimina i gruppi inutilizzati.

  2. Verifica gli utenti di ciascun gruppo e rimuovi gli utenti che non appartengono al gruppo in esame.

  3. Verifica le policy associate al gruppo. Per informazioni, consulta Suggerimenti per la verifica delle policy IAM.

Verifica dei ruoli IAM

Quando vengono verificati i ruoli IAM, completare le seguenti operazioni:

  1. Elenca i ruoli, quindi elimina i ruoli inutilizzati.

  2. Esamina la policy di attendibilità del ruolo. Accertati di sapere chi ricopre il ruolo di principal e di comprendere perché tale account o utente debba essere in grado di assumere tale ruolo.

  3. Consulta la policy di accesso del ruolo per essere sicuro che conceda le autorizzazioni idonee a chiunque assumi tale ruolo. Consulta Suggerimenti per la verifica delle policy IAM.

Verifica dei provider IAM per SAML e OpenID Connect (OIDC)

Se hai creato un'entità IAM per stabilire l'attendibilità con un gestore dell'identità digitale (IdP) SAML oppure OIDC, attieniti alla seguente procedura:

  1. Elimina i provider inutilizzati.

  2. Scarica e rivedi i documenti AWS sui metadati per ogni IdP SAML e assicurati che i documenti riflettano le tue attuali esigenze aziendali.

  3. Ottieni i documenti di metadati più recenti da SAML IdPs e aggiorna il provider in IAM.

Verifica le app per dispositivi mobili

Se hai creato un'app mobile che effettua richieste a AWS, procedi nel seguente modo:

  1. Accertati che l'app mobile non contenga chiavi di accesso incorporate, anche se sono archiviate crittografate.

  2. Ottieni credenziali provvisorie per l'app utilizzando le API concepite a tale scopo.

Nota

È consigliabile utilizzare Amazon Cognito per la gestione delle identità utente nell'applicazione. Questo servizio consente di autenticare gli utenti utilizzando Login with Amazon, Facebook, Google o qualsiasi provider di identità compatibile con OpenID Connect (OIDC). Per ulteriori informazioni, consulta pool di identità in Amazon Cognito nella Guida per gli sviluppatori di Amazon Cognito.

Suggerimenti per la verifica delle policy IAM

Le policy sono potenti e ingegnose, per cui è importante studiare e comprendere le autorizzazioni concesse da ogni policy. Quando esamini le policy, utilizza le seguenti linee guida:

  • Collega le policy a gruppi o ruoli anziché ai singoli utenti. Se un singolo utente dispone di una policy, assicurati di comprendere perché l'utente necessita di tale policy.

  • Accertati che utenti, gruppi e ruoli IAM dispongano delle autorizzazioni necessarie e che non dispongano di autorizzazioni aggiuntive.

  • Utilizza il simulatore di policy IAM per testare le policy collegate a utenti o gruppi.

  • Ricorda che le autorizzazioni di un utente sono il risultato di tutte le politiche applicabili, sia politiche basate sull'identità (su utenti, gruppi o ruoli) che politiche basate sulle risorse (su risorse come bucket Amazon S3, code Amazon SQS, argomenti e chiavi di Amazon SNS). AWS KMS È importante esaminare tutte le policy che si applicano a un utente e comprendere il relativo set completo di autorizzazioni concesso.

  • È importante sapere che consentire a un utente di creare un utente, un gruppo, un ruolo o una policy IAM e collegare una policy all'entità principal significa effettivamente concedere a tale utente le autorizzazioni per tutte le risorse presenti nell'account. Gli utenti che possono creare policy e collegarle a un utente, gruppo o ruolo possono assegnare a se stessi qualunque autorizzazione. In generale, non concedere a utenti o ruoli che non ritieni attendibili autorizzazioni IAM per l'accesso completo alle risorse del tuo account. Quando esegui i controlli di sicurezza, accertati che le seguenti autorizzazioni IAM siano concesse a identità attendibili:

    • iam:PutGroupPolicy

    • iam:PutRolePolicy

    • iam:PutUserPolicy

    • iam:CreatePolicy

    • iam:CreatePolicyVersion

    • iam:AttachGroupPolicy

    • iam:AttachRolePolicy

    • iam:AttachUserPolicy

  • Assicurati che le policy non concedano autorizzazioni per servizi che non utilizzi. Ad esempio, se utilizzi politiche gestite, assicurati che le politiche AWS gestite utilizzate nel tuo account AWS riguardino i servizi che utilizzi effettivamente. Per scoprire quali policy AWS gestite sono in uso nel tuo account, utilizza l'GetAccountAuthorizationDetailsAPI IAM (AWS CLI comando: aws iam get-account-authorization-details).

  • Se la policy concede a un utente l'autorizzazione ad avviare un'istanza di Amazon EC2, potrebbe consentire anche l'operazione iam:PassRole, ma in questo caso dovrebbe elencare in modo esplicito i ruoli che l'utente può passare all'istanza di Amazon EC2.

  • Esamina tutti i valori per l'elemento Action o Resource che includono *. Quando è possibile, concedi l'accesso Allow alle singole operazioni e risorse necessarie agli utenti. Tuttavia, quelle che seguono sono ragioni per cui potrebbe essere utile utilizzare * in una policy:

    • La policy è concepita per la concessione di autorizzazioni a livello amministrativo.

    • Per comodità, il carattere jolly viene utilizzato per un set di operazioni simili (ad esempio, Describe*): hai così a disposizione l'elenco completo delle operazioni a cui viene fatto riferimento in questo modo.

    • Il carattere jolly viene utilizzato per indicare una classe di risorse o il percorso di una risorsa (ad esempio, arn:aws:iam::account-id:users/division_abc/*); puoi concedere l'accesso a tutte le risorse in tale classe o percorso con la massima tranquillità.

    • Un'operazione di servizio non supporta autorizzazioni a livello di risorsa; l'unica scelta per una risorsa è *.

  • Esamina i nomi delle policy per assicurarti che riflettano la funzione della policy stessa. Ad esempio, sebbene possa avere un nome che includa la dicitura "di sola lettura", la policy potrebbe effettivamente concedere le autorizzazioni di scrittura o modifica.

Per ulteriori informazioni sulla pianificazione dell'audit di sicurezza, consulta la pagina Best practice per sicurezza, identità e conformità nel Centro di architettura AWS .