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:

  • Rilevare e correggere vulnerabilità e configurazioni errate del software nell'ambiente AWS
  • Crea e gestisci una postura di sicurezza per AWS
  • Identifica potenziali percorsi di attacco dalla rete internet pubblica alle tue risorse AWS
  • Mappa la conformità delle risorse AWS a vari standard e benchmark

La connessione di Security Command Center ad AWS crea un unico posto in cui il team operativo di sicurezza può gestire e risolvere 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 da monitorare. Security Command Center utilizza questa connessione per raccogliere periodicamente metadati degli asset in tutti gli account e le regioni AWS che definisci.

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

  • Una serie di account in AWS che hanno accesso diretto alle risorse AWS da monitorare. Nella console Google Cloud, questi account sono chiamati account da collettore.
  • 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. Sia l'account delegato sia gli account raccoglitore 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 delle risorse dalle risorse AWS.

Questa connessione non si applica alle funzionalità SIEM di Security Command Center che consentono di importare i log 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 completare quelle rimanenti in questa pagina.

Attiva il livello Security Command Center Enterprise

Completa i passaggi 1 e 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 di asset cloud (roles/cloudasset.owner). Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche riuscire a 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 delegato.

  5. Se vuoi, puoi rivedere le opzioni avanzate.

  6. Fai clic su Continua.

  7. Completa una delle seguenti operazioni:

    • Scaricare 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 ruolo delegato e il nome ruolo raccoglitore.

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

Non fare clic su Crea. Puoi invece configurare l'ambiente AWS.

Configura il tuo ambiente AWS

Puoi configurare l'ambiente AWS utilizzando uno dei seguenti metodi:

Usa i modelli CloudFormation per configurare l'ambiente AWS

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

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

    Se scegli di aggiungere singoli account AWS (disabilitando il rilevamento automatico per gli account), puoi anche creare stack separati per ciascun 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. Fai clic su Avanti.

  11. Nella pagina Specifica i dettagli dell'insieme di stack, inserisci il nome e la descrizione dell'insieme 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 del deployment. Puoi eseguire il deployment nell'intera organizzazione AWS o eseguire il deployment in un'unità organizzativa che include tutti gli account AWS da cui vuoi raccogliere i dati.

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

    3. Modifica altre impostazioni, se necessario, 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, poiché un set di stack AWS CloudFormation non crea istanze dello stack in un account di gestione. Per maggiori informazioni, consulta DeploymentTargets.

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

Configura manualmente gli account AWS

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

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

Crea il criterio AWS IAM per il ruolo delegato

Per creare un criterio AWS IAM per il ruolo delegato (criterio delegato), 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. Fai clic su 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

Creare un ruolo delegato che configuri 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 account delegato AWS come utente AWS in grado di creare ruoli e criteri IAM.

  2. Fai clic su Ruoli > Crea ruolo.

  3. Per 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 account di servizio che hai copiato durante la configurazione di Security Command Center. Fai clic su Next (Avanti).

  6. Per concedere al ruolo delegato l'accesso ai ruoli raccoglitore, collega i criteri di autorizzazione al ruolo. Cerca il criterio delegato creato in Crea il criterio AWS IAM per il ruolo delegato 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.

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

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

  1. Accedi alla console dell'account del raccoglitore 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. Fai clic su 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.

Crea il ruolo AWS IAM per la raccolta dei dati in ciascun 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 account del raccoglitore AWS come utente che possa creare ruoli IAM per gli account raccoglitore.

  2. Fai clic su Ruoli > Crea ruolo.

  3. Per Tipo di entità attendibile, fai clic su Criterio di attendibilità personalizzato.

  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, collega i criteri di autorizzazione al ruolo. Cerca il criterio del raccoglitore personalizzato creato in Crea 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 Collector 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 la procedura di integrazione, consulta Completare il processo di integrazione.

Completa la procedura di integrazione

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

    Vai al connettore Amazon Web Services

  2. Fai clic su Testa il connettore per verificare che Security Command Center sia in grado di connettersi all'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 raccoglitore. Se la connessione non va a buon fine, consulta la pagina Risolvere gli errori durante il test della connessione.

  3. Fai clic su Crea.

Configurazione personalizzata

Questa sezione descrive alcuni modi in cui puoi personalizzare la connessione tra Security Command Center e AWS. Queste opzioni sono disponibili nella sezione Opzioni avanzate (facoltative) della pagina Aggiungi connettore Amazon Web Services della 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 predefinite al secondo (QPS) 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 fornire un elenco di account AWS che Security Command Center può utilizzare per trovare le 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 le risorse.
Specifica le regioni AWS da monitorare Puoi selezionare una o più regioni AWS da monitorare con 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 quota per Security Command Center. Imposta l'override su un valore inferiore al valore predefinito per il 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, non è consigliabile modificare questo valore.
Cambia l'endpoint per il servizio token di sicurezza AWS 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 i seguenti passaggi:

  • Verifica se il ruolo o il criterio che stai creando esiste già e se 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 quando crei i ruoli di raccoglitore, ma il ruolo delegato non esiste ancora.

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

Limitazioni della limitazione in AWS

AWS limita le richieste API per ogni account AWS in base al singolo account o alla regione. Per garantire che questi limiti non vengano superati quando Security Command Center raccoglie i metadati degli asset da AWS, Security Command Center raccoglie i dati a un 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 utilizzato, puoi mitigare il problema completando quanto segue:

  • 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 del raccoglitore AWS in modo che i dati da quel servizio specifico non vengano più raccolti. Questa tecnica di mitigazione impedisce alle simulazioni del percorso di attacco di funzionare correttamente per AWS.

La revoca di tutte le autorizzazioni in AWS interrompe immediatamente il processo di raccolta dati. L'eliminazione del connettore AWS non interrompe immediatamente il processo di raccolta dei 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ò recuperare tutti gli account AWS nelle organizzazioni.

Questo problema indica che il criterio per consentire l'azione organizations:ListAccounts sul ruolo delegato non è presente per determinate 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 delegato.

AWS_INVALID_COLLECTOR_ACCOUNTS

La connessione non è valida perché esistono account non validi del raccoglitore. 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 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 impostazioni di autorizzazione richieste.

Per risolvere il problema, considera le seguenti cause:

Passaggi successivi