Connettiti ad AWS per il rilevamento delle vulnerabilità e la valutazione del rischio

Puoi connettere il livello Security Command Center Enterprise al tuo ambiente AWS in modo da completare quanto segue:

  • Esamina e risolvi i risultati (che includono minacce e vulnerabilità) da AWS
  • Crea e gestisci una strategia di sicurezza per AWS
  • Identifica potenziali percorsi di attacco dalla rete internet pubblica alle tue risorse AWS di alto valore
  • Mappa la conformità delle risorse AWS con vari standard e benchmark

La connessione di Security Command Center ad AWS crea un'unica posizione da cui il team operativo di sicurezza può gestire e correggere minacce e vulnerabilità in Google Cloud e AWS.

Per consentire a Security Command Center di monitorare l'organizzazione AWS, devi configurare una connessione utilizzando un agente di servizio Google Cloud e un account AWS che abbia accesso alle risorse che vuoi monitorare. Security Command Center utilizza questa connessione per raccogliere periodicamente metadati degli asset in tutti gli account e le regioni AWS da te definiti.

Questo documento descrive come configurare la connessione con AWS. Quando imposti una connessione, configuri quanto segue:

  • Una serie di account in AWS con accesso diretto alle risorse AWS da monitorare. Nella console Google Cloud, questi account sono chiamati account raccoglitore.
  • Un account in AWS che dispone dei criteri e dei ruoli appropriati per consentire l'autenticazione agli account raccoglitore. Nella console Google Cloud, questo account è denominato account delegato. Entrambi gli account delegati e gli account del collezionista devono trovarsi nella stessa organizzazione AWS.
  • Un agente di servizio in Google Cloud che si connette all'account delegato per l'autenticazione.
  • Una pipeline per raccogliere i dati degli asset dalle risorse AWS.

Questa connessione non si applica alle funzionalità SIEM di Security Command Center che consentono di importare i log di AWS per il rilevamento delle minacce.

Il seguente diagramma mostra questa configurazione. Il progetto tenant è un progetto creato automaticamente che contiene l'istanza della pipeline di raccolta dei dati degli asset.

Configurazione di AWS e Security Command Center.

Prima di iniziare

Completa queste attività prima di quelle rimanenti su questa pagina.

Attiva il livello Enterprise di Security Command Center

Completa il passaggio 1 e il passaggio 2 della guida alla configurazione per attivare il livello Enterprise di Security Command Center.

Configurare le autorizzazioni

Per ottenere le autorizzazioni necessarie per utilizzare il connettore AWS, chiedi all'amministratore di concederti il ruolo IAM Proprietario asset cloud (roles/cloudasset.owner). Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea account AWS

Assicurati di aver creato le seguenti risorse AWS:

Configura Security Command Center

  1. Nella console Google Cloud, vai alla pagina di configurazione.

    Vai alla configurazione

  2. Verifica di visualizzare l'organizzazione per cui hai attivato il livello Security Command Center Enterprise.

  3. Fai clic su Passaggio 3: configura il connettore Amazon Web Services (AWS).

  4. In ID account delegato, inserisci l'ID account AWS per l'account AWS che puoi utilizzare come account con delega.

  5. (Facoltativo) Esamina le opzioni avanzate.

  6. Fai clic su Continua.

  7. Completa una delle seguenti operazioni:

    • Scarica i modelli CloudFormation per il ruolo delegato e il ruolo raccoglitore.
    • Se hai configurato le opzioni avanzate o devi modificare i nomi dei ruoli AWS predefiniti (aws-delegated-role e aws-collector-role), seleziona Utilizza la console AWS. Copia l'ID agente di servizio, il nome del ruolo delegato e il nome del ruolo raccoglitore.

    Non puoi modificare i nomi dei ruoli dopo aver creato la connessione.

Non fare clic su Crea. Configura l'ambiente AWS.

Configura il tuo ambiente AWS

Puoi configurare il tuo ambiente AWS utilizzando uno dei seguenti metodi:

Utilizza i modelli CloudFormation per configurare l'ambiente AWS

Se hai scaricato i modelli CloudFormation, segui questi passaggi per configurare l'ambiente AWS.

  1. Accedi alla console dell'account delegato AWS. Assicurati di aver eseguito l'accesso all'account delegato utilizzato per presupporre altri account AWS raccoglitori.
  2. Vai alla console AWS CloudFormation Template.
  3. Fai clic su Stack > Con nuove risorse (standard).
  4. Carica il file del modello di ruolo con delega e fai clic su Avanti.
  5. Inserisci un nome per lo stack. Se hai modificato il nome del ruolo delegato, aggiorna i parametri. Tocca Avanti.
  6. Come richiesto dalla tua organizzazione, aggiorna le opzioni dello stack e fai clic su Avanti.
  7. Rivedi le informazioni e fai clic su Invia. Attendi che lo stack venga creato. Se si verifica un problema, consulta la sezione Risoluzione dei problemi.

    Se scegli di aggiungere account AWS singolarmente (disattivando il rilevamento automatico per gli account), puoi anche creare stack separati per ogni account AWS anziché creare un singolo set di stack.

  8. Utilizzando un account di gestione AWS o qualsiasi account membro registrato come amministratore delegato, fai clic su Stackset > Crea stackSet.

  9. Fai clic su Autorizzazioni gestite dal servizio.

  10. Carica il file del modello di ruolo del raccoglitore. Tocca Avanti.

  11. Nella pagina Specifica i dettagli dello stackSet, inserisci il nome e la descrizione del set di stack. Verifica e aggiorna l'ID account delegato e i nomi dei ruoli. Fai clic su Avanti.

  12. In base alle esigenze della tua organizzazione, configura le opzioni del set di stack. Fai clic su Avanti.

  13. Nella pagina Imposta opzioni di deployment, completa quanto segue:

    1. Scegli le destinazioni di deployment. Puoi eseguire il deployment nell'intera organizzazione AWS o in un'unità organizzativa che include tutti gli account AWS da cui vuoi raccogliere i dati.

    2. Specifica le regioni AWS in cui creare i ruoli e i criteri. Poiché i ruoli sono risorse globali, non è necessario specificare più aree geografiche.

    3. Se necessario, modifica altre impostazioni e poi fai clic su Avanti.

  14. Esamina le modifiche e fai clic su Invia. Se ricevi un errore, consulta la sezione Risoluzione dei problemi.

  15. Esegui il deployment di uno stack separato per eseguire il provisioning del ruolo raccoglitore nell'account di gestione perché un set di stack AWS CloudFormation non crea istanze stack in un account di gestione. Per ulteriori informazioni, consulta DeploymentTargets.

Per completare il processo di integrazione, consulta Completare il processo di integrazione.

Configura manualmente gli account AWS

Se non puoi utilizzare i modelli CloudFormation (ad esempio, stai utilizzando nomi di ruoli diversi o stai personalizzando l'integrazione), puoi creare manualmente i criteri AWS IAM e i ruoli AWS IAM richiesti.

Devi creare criteri AWS IAM e ruoli AWS IAM per l'account con delega e gli account raccoglitore.

Crea il criterio AWS IAM per il ruolo delegato

Per creare un criterio AWS IAM per il ruolo delegato (criterio con delega), completa quanto segue:

  1. Accedi alla console dell'account delegato AWS.

  2. Fai clic su Norme > Crea criterio.

  3. Fai clic su JSON e incolla quanto segue:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "organizations:List*",
                  "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
          }
      ]
    
    }
    

    Sostituisci COLLECTOR_ROLE_NAME con il nome del ruolo raccoglitore che hai copiato durante la configurazione di Security Command Center (il valore predefinito è aws-collector-role).

  4. Tocca Avanti.

  5. Nella sezione Dettagli norme, inserisci un nome e una descrizione per la norma.

  6. Fai clic su Crea criterio.

Crea un ruolo AWS IAM per la relazione di attendibilità tra AWS e Google Cloud

Crea un ruolo delegato che imposti una relazione di fiducia tra AWS e Google Cloud. Questo ruolo utilizza il criterio delegato creato in Creare il criterio AWS IAM per il ruolo delegato.

  1. Accedi alla console dell'account del delegato AWS come utente AWS che può creare ruoli e criteri IAM.

  2. Fai clic su Ruoli > Crea ruolo.

  3. In Tipo di entità attendibile, fai clic su Identità web.

  4. In Identity Provider (Provider di identità), fai clic su Google.

  5. In Pubblico, inserisci l'ID dell'account di servizio che hai copiato durante la configurazione di Security Command Center. Fai clic su Next (Avanti).

  6. Per concedere l'accesso del ruolo delegato ai ruoli raccoglitore, collega i criteri di autorizzazione al ruolo. Cerca il criterio delegato creato in Creare il criterio AWS IAM per il ruolo con delega e selezionalo.

  7. Nella sezione Dettagli ruolo, inserisci il Nome ruolo delegato che hai copiato durante la configurazione di Security Command Center (il nome predefinito è aws-delegated-role).

  8. Fai clic su Crea ruolo.

Creare il criterio AWS IAM per la raccolta dei dati degli asset

Per creare un criterio AWS IAM per la raccolta dei dati degli asset (il criterio del raccoglitore), completa quanto segue:

  1. Accedi alla console dell'account di raccolta AWS.

  2. Fai clic su Norme > Crea criterio.

  3. Fai clic su JSON e incolla quanto segue:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ce:GetCostAndUsage",
                  "dynamodb:DescribeTableReplicaAutoScaling",
                  "identitystore:ListGroupMemberships",
                  "identitystore:ListGroups",
                  "identitystore:ListUsers",
                  "lambda:GetFunction",
                  "lambda:GetFunctionConcurrency",
                  "logs:ListTagsForResource",
                  "s3express:GetBucketPolicy",
                  "s3express:ListAllMyDirectoryBuckets",
                  "wafv2:GetIPSet"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GET"
              ],
              "Resource": [
                  "arn:aws:apigateway:*::/usageplans",
                  "arn:aws:apigateway:*::/usageplans/*/keys",
                  "arn:aws:apigateway:*::/vpclinks/*"
              ]
          }
      ]
    
    }
    
  4. Tocca Avanti.

  5. Nella sezione Dettagli norme, inserisci un nome e una descrizione per la norma.

  6. Fai clic su Crea criterio.

  7. Ripeti questi passaggi per ogni account raccoglitore.

Creare il ruolo AWS IAM per la raccolta dei dati in ogni account

Crea il ruolo raccoglitore che consente a Security Command Center di ottenere i dati degli asset da AWS. Questo ruolo utilizza il criterio del raccoglitore creato in Creare il criterio AWS IAM per la raccolta dei dati degli asset.

  1. Accedi alla console degli account del raccoglitore AWS come utente che può creare ruoli IAM per gli account raccoglitore.

  2. Fai clic su Ruoli > Crea ruolo.

  3. In Tipo di entità attendibile, fai clic su Norme di attendibilità personalizzate.

  4. Nella sezione Criterio di attendibilità personalizzato, incolla quanto segue:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    Sostituisci quanto segue:

  5. Per concedere al ruolo raccoglitore l'accesso ai dati di configurazione degli asset AWS, associa i criteri di autorizzazione al ruolo. Cerca il criterio del raccoglitore personalizzato creato in Creare il criterio AWS IAM per la raccolta dei dati degli asset e selezionalo.

  6. Cerca e seleziona i seguenti criteri gestiti:

    • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
    • arn:aws:iam::aws:policy/SecurityAudit
  7. Nella sezione Dettagli ruolo, inserisci il Nome ruolo Raccoglitore che hai copiato durante la configurazione di Security Command Center.

  8. Fai clic su Crea ruolo.

  9. Ripeti questi passaggi per ogni account raccoglitore.

Per completare il processo di integrazione, consulta Completare il processo di integrazione.

Completa il processo di integrazione

  1. Nella console Google Cloud, vai alla pagina Aggiungi il connettore Amazon Web Services.

    Vai al connettore Amazon Web Services

  2. Fai clic su Test Connector (Connettore di test) per verificare che Security Command Center sia in grado di connettersi al tuo ambiente AWS. Se la connessione ha esito positivo, l'agente di servizio Google Cloud può assumere il ruolo delegato e il ruolo delegato dispone di tutte le autorizzazioni necessarie per assumere il ruolo di raccoglitore. Se la connessione non va a buon fine, consulta la sezione Risoluzione degli errori durante il test della connessione.

  3. Fai clic su Crea.

Configurazione personalizzata

Questa sezione descrive alcuni modi per personalizzare la connessione tra Security Command Center e AWS. Queste opzioni sono disponibili nella sezione Opzioni avanzate (facoltative) della pagina Aggiungi il connettore Amazon Web Services nella console Google Cloud.

Per impostazione predefinita, Security Command Center rileva automaticamente i tuoi account AWS in tutte le regioni AWS. La connessione utilizza l'endpoint globale predefinito per AWS Security Token Service e le query al secondo (QPS) predefinite per il servizio AWS che stai monitorando. Queste opzioni avanzate ti consentono di personalizzare i valori predefiniti.

Opzione Descrizione
Specifica quali account AWS utilizzare Puoi consentire a Security Command Center di rilevare automaticamente gli account AWS oppure puoi fornire un elenco di account AWS che Security Command Center può utilizzare per trovare risorse.
Specifica gli account AWS da escludere Se consenti a Security Command Center di rilevare automaticamente gli account, puoi fornire un elenco di account AWS che Security Command Center non può utilizzare per trovare risorse.
Specifica le regioni AWS da monitorare Puoi selezionare una o più regioni AWS da monitorare da Security Command Center. Lascia vuoto il campo Regioni AWS per monitorare tutte le regioni.
Esegui l'override delle query al secondo (QPS) predefinite per i servizi AWS Puoi modificare il valore QPS per controllare il limite di quota per Security Command Center. Imposta l'override su un valore inferiore al valore predefinito per quel servizio e maggiore o uguale a 1. Il valore predefinito è il valore massimo. Se modifichi il valore QPS, Security Command Center potrebbe riscontrare problemi durante il recupero dei dati. Pertanto, sconsigliamo di modificare questo valore.
Modifica l'endpoint per AWS Security Token Service Puoi specificare un endpoint specifico per AWS Security Token Service (ad esempio, https://sts.us-east-2.amazonaws.com). Lascia vuoto il campo AWS Security Token Service (AWS STS) (facoltativo) per utilizzare l'endpoint globale predefinito (https://sts.amazonaws.com).

Risoluzione dei problemi

Questa sezione include alcuni problemi comuni che potresti riscontrare durante l'integrazione di Security Command Center con AWS.

Le risorse esistono già

Questo errore si verifica nell'ambiente AWS quando provi a creare i criteri AWS IAM e i ruoli AWS IAM. Questo problema si verifica quando il ruolo esiste già nel tuo account AWS e stai tentando di crearlo di nuovo.

Per risolvere il problema, completa la seguente procedura:

  • Verifica se il ruolo o il criterio che stai creando esiste già e soddisfa i requisiti elencati in questa guida.
  • Se necessario, modifica il nome del ruolo per evitare conflitti.

Entità non valida nel criterio

Questo errore può verificarsi nell'ambiente AWS durante la creazione dei ruoli raccoglitore, ma il ruolo delegato non esiste ancora.

Per risolvere il problema, completa i passaggi descritti in Creare il criterio AWS IAM per il ruolo delegato e attendi di creare il ruolo delegato prima di continuare.

Limitazioni della limitazione in AWS

AWS limita le richieste API per ogni account AWS in base a singoli account o regioni. Per garantire che questi limiti non vengano superati quando Security Command Center raccoglie metadati degli asset da AWS, Security Command Center raccoglie i dati a un valore QPS massimo fisso per ogni servizio AWS, come descritto nella documentazione dell'API per il servizio AWS.

Se riscontri una limitazione delle richieste nel tuo ambiente AWS a causa del numero di QPS consumato, puoi mitigare il problema procedendo nel seguente modo:

  • Nella pagina delle impostazioni del connettore AWS, imposta un valore QPS personalizzato per il servizio AWS che presenta problemi di limitazione delle richieste.

  • Limita le autorizzazioni del ruolo di raccoglitore AWS in modo che i dati da quel servizio specifico non vengano più raccolti. Questa tecnica di mitigazione impedisce che le simulazioni del percorso di attacco funzionino correttamente per AWS.

La revoca di tutte le autorizzazioni in AWS interrompe immediatamente il processo del raccoglitore dati. L'eliminazione del connettore AWS non interrompe immediatamente il processo del raccoglitore dati, ma non verrà riavviato al termine.

Risoluzione degli errori durante il test della connessione

Questi errori possono verificarsi quando testi la connessione tra Security Command Center e AWS.

AWS_FAILED_TO_ASSUME_DELEGATED_ROLE

La connessione non è valida perché l'agente di servizio Google Cloud non può assumere il ruolo delegato.

Per risolvere il problema, considera quanto segue:

AWS_FAILED_TO_LIST_ACCOUNTS

La connessione non è valida perché il rilevamento automatico è abilitato e il ruolo delegato non può accedere a tutti gli account AWS nelle organizzazioni.

Questo problema indica che il criterio per consentire l'azione organizations:ListAccounts sul ruolo delegato non è presente su alcune risorse. Per risolvere il problema, verifica quali risorse mancano. Per verificare le impostazioni del criterio delegato, consulta Creare il criterio AWS IAM per il ruolo con delega.

AWS_INVALID_COLLECTOR_ACCOUNTS

La connessione non è valida perché esistono account raccoglitore non validi. Il messaggio di errore include ulteriori informazioni sulle possibili cause, tra cui:

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

L'account raccoglitore non è valido perché il ruolo delegato non può assumere il ruolo di raccoglitore nell'account raccoglitore.

Per risolvere il problema, considera quanto segue:

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

La connessione non è valida perché nel criterio del raccoglitore mancano alcune delle impostazioni di autorizzazione richieste.

Per risolvere il problema, considera le seguenti cause:

Passaggi successivi