Segnalare i secret nelle variabili di ambiente a Security Command Center

Questa pagina descrive come utilizzare il servizio di rilevamento della Protezione dei dati sensibili per determinare se sono presenti secret nelle variabili di ambiente Cloud Run. Sensitive Data Protection segnala eventuali risultati a Security Command Center come vulnerabilità.

Informazioni su Security Command Center

Security Command Center è il servizio centralizzato di Google Cloud per la segnalazione di vulnerabilità e minacce. Security Command Center aiuta a rafforzare la postura di sicurezza identificando errori di configurazione, vulnerabilità, osservazioni e minacce. Fornisce inoltre consigli per indagare e correggere i risultati.

Perché eseguire la ricerca di secret nelle variabili di ambiente

La memorizzazione di secret, come le password, nelle variabili di ambiente non è una pratica sicura perché le variabili di ambiente non sono criptate. I relativi valori possono essere raccolti ed esposti in vari sistemi, ad esempio nei log. Ti consigliamo di utilizzare Secret Manager per archiviare i tuoi secret. Per ulteriori informazioni, consulta la documentazione di Cloud Run e Cloud Run Functions sulla configurazione dei secret.

Come funziona

Per eseguire il rilevamento dei secret, devi creare una configurazione di scansione del rilevamento a livello di organizzazione o progetto. Nell'ambito selezionato, Sensitive Data Protection esegue periodicamente la scansione di Cloud Run per rilevare i secret nelle variabili di ambiente di compilazione e di runtime.

Se un secret è presente in una variabile di ambiente, Sensitive Data Protection invia un Secrets in environment variablesrisultato di vulnerabilità a Security Command Center. Non vengono generati profili dei dati. Eventuali risultati sono disponibili solo tramite Security Command Center.

Sensitive Data Protection genera un massimo di un rilevamento per risorsa. Ad esempio, se i secret vengono trovati in due variabili di ambiente nella stessa funzione Cloud Run, viene generato un solo risultato in Security Command Center.

In Security Command Center, puoi visualizzare i risultati Secrets in environment variables quando esegui le seguenti operazioni:

I risultati generati nell'elenco dei risultati di Security Command Center nella console Google Cloud

Il seguente JSON mostra un esempio di Secrets in environment variables risultato. Questo esempio mostra solo i campi pertinenti a questa funzionalità e non fornisce un elenco esaustivo dei campi.

Secret nelle variabili di ambiente

{
  "finding": {
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
    "category": "SECRETS_IN_ENVIRONMENT_VARIABLES",
    "compliances": [
      {
        "standard": "cis",
        "version": "1.3",
        "ids": [
          "1.18"
        ]
      }
    ],
    "createTime": "DATE_TIME",
    "description": "The affected resource is storing credentials or other secret information in its environment variables. This is a security vulnerability because environment variables are stored unencrypted, and accessible to all users who have access to the code.",
    "eventTime": "DATE_TIME",
    "findingClass": "VULNERABILITY",
    "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/dlp",
    "mute": "MUTE_STATUS",
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "parentDisplayName": "Sensitive Data Protection",
    "resourceName": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
  },
  "resource": {
    "name": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "display_name": "projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "type": "google.cloudfunctions.CloudFunction",
    "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "project_display_name": "PROJECT_DISPLAY_NAME",
    "parent_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "parent_display_name": "PARENT_DISPLAY_NAME"
  }
}
    

Trovare la latenza di generazione

Dal momento in cui attivi il rilevamento dei secret in Sensitive Data Protection, possono essere necessarie fino a 12 ore per completare la scansione iniziale delle variabili di ambiente e per visualizzare eventuali risultati Secrets in environment variables in Security Command Center. Successivamente, Sensitive Data Protection analizza le variabili di ambiente ogni 24 ore. In pratica, le ricerche possono essere eseguite più di frequente.

Tipi di secret segnalati

Alcuni esempi di secret sono password, token di autenticazione e credenziali Google Cloud. Per un elenco completo dei tipi di secret rilevati da Sensitive Data Protection in questa funzionalità, consulta Credenziali e secret.

Risorse supportate

Per il rilevamento dei secret, Sensitive Data Protection supporta le funzioni Cloud Run (incluse le funzioni Cloud Functions di 1ª generazione.) e le revisioni del servizio Cloud Run.

Prezzi

Questa funzionalità è esente da costi di Sensitive Data Protection. Potrebbero essere applicati costi di Security Command Center, a seconda del tuo livello di servizio. Sensitive Data Protection funziona con Security Command Center in tutti i livelli di servizio.

Residenza dei dati

La prima volta che crei una configurazione di scansione, specifica dove vuoi che Sensitive Data Protection la archivi. Tutte le configurazioni di scansione successive che crei vengono archiviate nella stessa regione. La funzionalità Protezione dei dati sensibili esporta i metadati di Cloud Run nella regione in cui è archiviata la configurazione della scansione, ma la revisione della funzione o del servizio non viene esportata.

Se Sensitive Data Protection rileva i secret nelle variabili di ambiente, i risultati vengono inviati a Security Command Center e sono soggetti alle relative procedure di gestione dei dati.

Ruoli IAM obbligatori

Per eseguire il rilevamento dei secret, devi disporre dei ruoli Identity and Access Management necessari per profilare i dati:

Inoltre, devi disporre dei ruoli appropriati per lavorare con i risultati di Security Command Center. Per ulteriori informazioni, consulta IAM per le attivazioni a livello di organizzazione nella documentazione di Security Command Center.

Prima di iniziare

  1. Controlla il livello di attivazione di Security Command Center per la tua organizzazione. Per inviare i profili di dati a Security Command Center, devi attivare Security Command Center a livello di organizzazione in qualsiasi livello di servizio. Per ulteriori informazioni, consulta Attivare Security Command Center per un'organizzazione.

    Se Security Command Center è attivato solo a livello di progetto, i risultati di Sensitive Data Protection non verranno visualizzati in Security Command Center.

  2. In Security Command Center, assicurati che Sensitive Data Protection sia attivato come servizio integrato. Per ulteriori informazioni, vedi Aggiungere un servizio integrato di Google Cloud.

Configurare il rilevamento dei secret a livello di organizzazione

Esegui questi passaggi se vuoi attivare il rilevamento dei secret in un'intera organizzazione. Per il rilevamento a livello di progetto, consulta Configurare il rilevamento dei secret a livello di progetto.

Se non disponi del ruolo Amministratore dell'organizzazione (roles/resourcemanager.organizationAdmin) o Amministratore sicurezza (roles/iam.securityAdmin), puoi comunque creare una configurazione di scansione. Tuttavia, dopo aver creato la configurazione della scansione, un utente con uno di questi ruoli deve concedere l'accesso in modalità di rilevamento all'agente di servizio.

  1. Vai alla pagina Crea configurazione scansione.

    Vai a Crea configurazione di scansione

  2. Vai alla tua organizzazione. Nella barra degli strumenti, fai clic sul selettore di progetti e seleziona la tua organizzazione.

    Dopo ogni passaggio di questa pagina, fai clic su Continua.

  3. In Seleziona un tipo di rilevamento, seleziona Vulnerabilità di segreti/credenziali.

  4. In Seleziona ambito, scegli se eseguire la scansione dell'intera organizzazione.

  5. Per Gestisci container e fatturazione dell'agente di servizio, specifica il progetto da utilizzare come container dell'agente di servizio. Puoi chiedere a Protezione dei dati sensibili di creare automaticamente un nuovo progetto oppure scegliere un progetto esistente.

    • Se non hai un progetto da utilizzare come contenitore dell'agente di servizio, seleziona Crea un nuovo progetto come contenitore dell'agente di servizio. Sensitive Data Protection crea un nuovo progetto denominato DLP Service Agent Container. L'agente di servizio all'interno di questo progetto verrà utilizzato per autenticarsi in Sensitive Data Protection e in altre API. Il sistema ti chiede di selezionare l'account per la fatturazione di tutte le operazioni fatturabili relative a questo progetto, incluse quelle non correlate al rilevamento.

      Se non disponi delle autorizzazioni necessarie per creare progetti, l'opzione Crea un nuovo progetto come contenitore di agenti di servizio è disattivata. In questo caso, devi selezionare un progetto esistente o chiedere all'amministratore Google Cloud di concederti il ruolo Autore progetto (roles/resourcemanager.projectCreator).

    • Se hai un container dell'agente di servizio esistente che vuoi riutilizzare, seleziona Seleziona un container dell'agente di servizio esistente. Quindi, fai clic su Sfoglia per selezionare l'ID progetto del contenitore dell'agente di servizio.

  6. In Imposta la località in cui archiviare la configurazione, seleziona la regione in cui vuoi archiviare questa configurazione di scansione. Anche tutte le configurazioni di scansione che creerai in seguito verranno archiviate in questa posizione. Per informazioni sulle considerazioni relative alla residenza dei dati, consulta Localizzazione dei dati in questa pagina.

  7. (Facoltativo) Se non vuoi che la scansione inizi poco dopo la creazione della configurazione della scansione, seleziona Crea analisi in modalità in pausa.

    Questa opzione è utile nei seguenti casi:

  8. Fai clic su Crea.

Sensitive Data Protection inizia a eseguire la scansione delle variabili di ambiente Cloud Run poco dopo aver creato una configurazione di scansione o aver ripreso una configurazione in pausa. Per informazioni sul tempo necessario per visualizzare i risultati in Security Command Center, consulta Latenza di generazione dei risultati in questa pagina.

Se non disponi del ruolo Amministratore organizzazione (roles/resourcemanager.organizationAdmin) o Amministratore sicurezza (roles/iam.securityAdmin), un utente con uno di questi ruoli deve concedere l'accesso per la ricerca all'agente di servizio prima che la ricerca possa iniziare.

Configurare il rilevamento dei secret a livello di progetto

Esegui questi passaggi se vuoi attivare il rilevamento dei secret per un singolo progetto. Per il rilevamento a livello di organizzazione, consulta Configurare il rilevamento dei secret a livello di organizzazione.

  1. Vai alla pagina Crea configurazione scansione.

    Vai a Crea configurazione di scansione

  2. Vai al progetto. Nella barra degli strumenti, fai clic sul selettore dei progetti e seleziona il tuo progetto.

    Dopo ogni passaggio di questa pagina, fai clic su Continua.

  3. In Seleziona un tipo di rilevamento, seleziona Vulnerabilità di segreti/credenziali.

  4. Per Seleziona ambito, assicurati che sia selezionata l'opzione Scanda l'intero progetto. Se non è selezionato, assicurati di essere nella visualizzazione del progetto.

  5. In Imposta la località in cui archiviare la configurazione, seleziona la regione in cui vuoi archiviare questa configurazione di scansione. Anche tutte le configurazioni di scansione che creerai in seguito verranno archiviate in questa posizione. Per informazioni sulle considerazioni relative alla residenza dei dati, consulta Localizzazione dei dati in questa pagina.

  6. Fai clic su Crea.

Sensitive Data Protection inizia a eseguire la scansione delle variabili di ambiente Cloud Run poco dopo aver creato una configurazione di scansione o aver ripreso una configurazione in pausa. Per informazioni sul tempo necessario per visualizzare i risultati in Security Command Center, consulta Latenza di generazione dei risultati in questa pagina.

Eseguire query sui risultati di Secrets in environment variables

Di seguito sono riportati alcuni esempi di query che puoi utilizzare per trovare i risultati Secrets in environment variables in Security Command Center. Puoi inserire queste query nel campo Editor di query. Per ulteriori informazioni sull'editor di query, vedi Modificare una query sui risultati nella dashboard di Security Command Center.

Elenca tutti i risultati di Secrets in environment variables

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"

Elenca tutti i risultati Secrets in environment variables per un determinato progetto

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
AND resource.project_name="//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"

Sostituisci quanto segue:

  • PROJECT_NUMBER: l'ID numerico del progetto per cui vuoi eseguire la query