Security Command Center (SCC) di Google Cloud offre una vista unificata di tutti i potenziali problemi di sicurezza nel suo ambiente cloud. Ma cosa succede se non ha il tempo di esaminare i Findings rilevati o, semplicemente, se ne dimentica? Senza un controllo, quel firewall aperto resterà tale e quel bucket di storage continuerà a essere pubblico senza che nessuno ne abbia verificato il contenuto.

E se potesse adottare un approccio più proattivo verso questi Findings ricevendo notifiche in tempo reale?
In questo articolo vedremo come potenziare i Findings di SCC abbinando la possibilità di configurare avvisi tramite Cloud Monitoring.
Come funziona
Un limite di SCC è l'assenza di metriche e di alerting tramite Cloud Monitoring, dato che i Findings sono visibili solo a livello di Organizzazione. Esportando i Findings in PubSub [1] e sfruttando gli script di questo progetto, può rendere le notifiche disponibili in Cloud Monitoring.
Con gli script di questo progetto potrà:
- Automatizzare l'attivazione e la rimozione delle SCC Notifications verso PubSub all'interno del suo progetto
- Registrare i Findings nel suo progetto, rendendo i dati accessibili a Cloud Logging e Cloud Monitoring
- Eliminare o ridurre il ricorso a script personalizzati, sfruttando le funzionalità native di GCP quando disponibili

Requisiti
Per eseguire gli script le serviranno i seguenti elementi.
- Organization ID — l'ID dell'organizzazione in cui si trova il suo progetto
- Project ID — l'ID del progetto in cui verranno installate le risorse
- Service Account — un service account dedicato all'esecuzione delle SCC Notifications
- Devono essere abilitate per il progetto le seguenti API: Security Command Center API per l'Organizzazione, Cloud Build API, Cloud Functions API
- Le serviranno questi ruoli di sicurezza IAM:
- Security Center Admin — per configurare le notifiche
- Organization Admin — per configurare il service account con i ruoli necessari
Installazione
Clonare il repository
Cloni il repository in Cloud Shell. In alternativa, può clonarlo su una VM o sulla sua macchina locale, se preferisce.
git clone https://github.com/gschaeffer/scc-findings-to-pubsub
Modificare le variabili
Modifichi le variabili dello script nel file setup.sh. È necessario impostare i valori di organization id, project id e service account. Le altre variabili sono facoltative.
Eseguire il setup
Per prima cosa installiamo le SCC Notifications verso PubSub seguendo le indicazioni di Google [1 sopra]. Utilizzi il comando setup.sh, che automatizza l'intero processo. Verifichi che la configurazione di gcloud punti al suo project ID.
gcloud config set core/project YOUR_PROJECT_ID ./setup.sh apply # if prompted with 'API [securitycenter.googleapis.com] not enabled # on project. Would you like to enable and retry?', select 'y'.
In questo modo vengono create esclusivamente le risorse descritte nella documentazione delle SCC Notifications [1]. A questo punto dovrebbe iniziare a vedere le notifiche inviate al topic PubSub man mano che SCC le identifica.
Aggiungere una Cloud Function
In secondo luogo, per rendere disponibili gli eventi dei Findings in Cloud Monitoring, installi la Cloud Function fornita. Da quel momento i Findings inizieranno a essere inoltrati da PubSub verso Cloud Logging e Cloud Monitoring. Lo script di installazione si trova nella directory functions.
cd functions/ ./deploy_logger_func.sh
Viene installata una funzione Python molto semplice, che si attiva ogni volta che un Finding viene aggiunto al topic PubSub. Al termine dell'installazione dovrebbe iniziare a vedere le voci in Cloud Logging. Queste voci vengono salvate in un log chiamato scc_notifications_log per facilitarne la ricerca.
Una volta che i Findings sono in Cloud Logging, ha a disposizione tutti i consueti strumenti e servizi di Google Cloud per definire metriche e avvisi https://cloud.google.com/monitoring/alerts. Se desidera elaborare questi dati in BigQuery, Cloud Storage o persino in un altro topic PubSub, può utilizzare i Logging Exports https://cloud.google.com/logging/docs/export per inviarli alla destinazione che preferisce.
Pulizia
Per rimuovere le risorse installate utilizzi lo stesso comando di setup con l'argomento delete e gcloud per eliminare la cloud function. Modifichi le variabili relative al nome della funzione e alla regione in base alle sue esigenze.
./setup.sh delete FUNCTION="scc_notification_handler" REGION= gcloud functions delete $FUNCTION --region $REGION
Pubblicato originariamente su https://github.com .