Questo documento descrive un tipo di risultato di minaccia in Security Command Center. I risultati delle minacce vengono generati dai rilevatori di minacce quando rilevano una potenziale minaccia nelle tue risorse cloud. Per un elenco completo dei risultati relativi alle minacce disponibili, consulta l'Indice dei risultati relativi alle minacce.
Panoramica
Per accedere agli oggetti Secret nel cluster è stato utilizzato il service account Kubernetes
default
di un pod. Il account di servizio Kubernetes
default non deve avere accesso agli oggetti Secret, a meno che tu non abbia concesso esplicitamente
questo accesso con un oggetto Role o un oggetto ClusterRole.
Event Threat Detection è l'origine di questo risultato.
Il seguente piano di risposta potrebbe essere appropriato per questo risultato, ma potrebbe anche influire sulle operazioni. Valuta attentamente le informazioni raccolte durante l'indagine per determinare il modo migliore per risolvere i risultati.
Come rispondere
Per rispondere a questo risultato, segui questi passaggi:
Identifica l'ambito di accesso:
- Nel JSON del risultato, prendi nota del valore di
finding.resourceName. Indica lo spazio dei nomi o la risorsa Kubernetes in cui si è verificato l'accesso. - Prendi nota del valore di
resource.sourceProperties.affectedResources.gcpResourceName. Questo è il nome completo della risorsa del secret Kubernetes a cui è stato eseguito l'accesso.
- Nel JSON del risultato, prendi nota del valore di
Esamina gli audit log di Cloud:
- Vai a Esplora log nella console Google Cloud .
Filtra i log per trovare le azioni specifiche intraprese sui secret di Kubernetes. Utilizza il seguente filtro:
resource.type="k8s_cluster" protoPayload.methodName=~"io\.k8s\.core\.v1\.secrets\..*"Cerca voci con valori
protoPayload.methodNamecomeio.k8s.core.v1.secrets.geteio.k8s.core.v1.secrets.listnel periodo in cui è stato generato il risultato. Questi log possono fornire maggiori informazioni su chi o cosa ha avuto accesso al secret e sulle azioni eseguite.Verifica le modifiche al controllo dell'accesso basato sui ruoli (RBAC), necessarie per consentire a un pod di accedere al secret, utilizzando il seguente filtro dei log:
resource.type="k8s_cluster" protoPayload.methodName:"io\.k8s\.authorization\.rbac\.v1\..*"In particolare, cerca i log con
methodNamediio.k8s.authorization.rbac.v1.roles.create/updateoio.k8s.authorization.rbac.v1.rolebindings.create/update.
Esamina la configurazione RBAC di Google Kubernetes Engine:
- Vai alla sezione Kubernetes Engine nella console Google Cloud .
- Vai al cluster e seleziona Visualizzatore oggetti.
- Espandi il gruppo
rbac.authorization.k8s.io. - Ispeziona gli oggetti
RoleeRoleBinding(eClusterRole/ClusterRoleBinding, se applicabile) all'interno dello spazio dei nomi identificato infinding.resourceName. - Cerca i ruoli che concedono autorizzazioni
getolistsusecrets. - Identifica il
RoleBindingche associa il account di serviziodefault(o altri service account) nello spazio dei nomi al ruolo che concede l'accesso al secret.
Risolvere il problema delle autorizzazioni eccessive:
- Se al account di servizio
defaultsono state concesse autorizzazioni per accedere ai secret e non è previsto, aggiornaRoleoRoleBindingper rimuovere queste autorizzazioni. - Segui il principio del privilegio minimo. Concedi ai service account solo le autorizzazioni minime necessarie per funzionare. Evita di utilizzare il account di servizio
defaultper i carichi di lavoro che richiedono autorizzazioni specifiche. Crea invece service account dedicati. - Puoi utilizzare
kubectl edit role [ROLE_NAME]okubectl edit rolebinding [ROLE_BINDING_NAME]per modificare le risorse RBAC.Passaggi successivi
- Scopri come utilizzare i risultati relativi alle minacce in Security Command Center.
- Consulta l'indice dei risultati delle minacce.
- Scopri come esaminare un risultato tramite la console Google Cloud .
- Scopri i servizi che generano risultati di minacce.
- Se al account di servizio