Questa pagina descrive come esportare i log da Google Distributed Cloud (GDC) con air gap a un sistema esterno di security information and event management (SIEM). Questa integrazione consente l'analisi centralizzata dei log e un monitoraggio della sicurezza migliorato.
Il nucleo dell'esportazione dei log prevede il deployment di una risorsa personalizzata SIEMOrgForwarder.
Questa risorsa funge da file di configurazione, specificando i dettagli dell'istanza SIEM esterna designata per ricevere i log. Definendo questi parametri nel file SIEMOrgForwarder, gli amministratori possono stabilire una pipeline di esportazione dei log semplificata e sicura.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per gestire le risorse personalizzate SIEMOrgForwarder, chiedi all'amministratore dell'organizzazione IAM di concederti uno dei ruoli SIEM Export Org associati.
A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere ruoli di creator, editor o visualizzatore per questa risorsa nello spazio dei nomi del progetto. Per saperne di più, consulta Prepara le autorizzazioni IAM.
Dopo aver ottenuto le autorizzazioni necessarie, completa questi passaggi prima di esportare i log in un sistema SIEM esterno:
Stabilisci la connettività: assicurati che esista una connessione tra GDC e la destinazione SIEM esterna. Se necessario, collabora con l'operatore dell'infrastruttura (IO) per stabilire una connessione di uplink alla rete del cliente.
Imposta le variabili di ambiente: imposta le seguenti variabili di ambiente per eseguire i comandi da questa pagina:
Il percorso del file kubeconfig:
export KUBECONFIG=KUBECONFIG_PATHSostituisci
KUBECONFIG_PATHcon il percorso del file kubeconfig per il server API di gestione.Lo spazio dei nomi del tuo progetto:
export PROJECT_NAMESPACE=PROJECT_NAMESPACE
Configura l'esportazione dei log
Crea il secret e la risorsa personalizzata SIEMOrgForwarder nello stesso
namespace. Puoi utilizzare qualsiasi spazio dei nomi del progetto. Ogni SIEMOrgForwarder esporta i log della piattaforma da tutti i cluster dell'organizzazione, quindi non è necessario creare queste risorse in altri progetti o cluster.
Come best practice, utilizza lo spazio dei nomi platform-obs perché SIEMOrgForwarder esporta solo i log della piattaforma. I ruoli SIEM Export Org concedono anche l'accesso in lettura a tutti i secret nello spazio dei nomi in cui sono concessi, quindi chiedi all'amministratore dell'organizzazione IAM di concedere questi ruoli solo agli amministratori della piattaforma.
Esporta i log in un sistema SIEM esterno:
Fornisci un token per connettere lo stack di logging al sistema SIEM. Per eseguire questa azione, devi creare un secret nello spazio dei nomi del progetto per archiviare il token nel caso di Splunk e la password nel caso di Elastic SIEM:
cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: v1 kind: Secret metadata: name: SECRET_NAME namespace: ${PROJECT_NAMESPACE} type: Opaque stringData: SECRET_FIELD: FIELD_VALUE EOFSostituisci quanto segue:
SECRET_NAME: il nome del secret.SECRET_FIELD: il nome del campo in cui vuoi archiviare il secret. Per Elastic, utilizza lo stesso valore diHTTP_USER_NAMEnella risorsa personalizzata.FIELD_VALUE: FIELD_VALUE è il token nel caso di Splunk e la password per Elastic.TOKEN: il tuo token.
Esegui il deployment della risorsa personalizzata
SIEMOrgForwardernello spazio dei nomi del progetto. Devi specificare il tipo di log scegliendo tra audit log o log operativi. Per configurare l'esportazione dei log per entrambi i tipi di log, devi eseguire il deployment di una risorsaSIEMOrgForwarderper ogni tipo.L'esempio seguente mostra come applicare una configurazione a una risorsa personalizzata
SIEMOrgForwarderper Splunk:cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: logging.gdc.goog/v1 kind: SIEMOrgForwarder metadata: name: SIEM_ORG_FORWARDER namespace: ${PROJECT_NAMESPACE} spec: source: LOG_TYPE destinations: splunkOutputs: - host: SIEM_HOST token: name: SECRET_NAME field: SECRET_FIELD tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT EOFSostituisci quanto segue:
SIEM_ORG_FORWARDER: il nome del file di definizioneSIEMOrgForwarder.LOG_TYPE: il tipo di log che stai esportando. I valori accettati sonoauditeoperational.SIEM_HOST: il nome dell'host SIEM.SECRET_NAME: il nome del secret.SECRET_FIELD: il nome del campo in cui hai archiviato il secret.TLS: lo stato di Transport Layer Security (TLS). I valori accettati sono"On"e"Off".NET_CONNECT_TIMEOUT: il tempo massimo in secondi di attesa per stabilire una connessione. Ad esempio, un valore180indica di attendere 180 secondi.
L'esempio seguente mostra come applicare una configurazione a una risorsa personalizzata
SIEMOrgForwarderper Elastic:cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: logging.gdc.goog/v1 kind: SIEMOrgForwarder metadata: name: SIEM_ORG_FORWARDER namespace: ${PROJECT_NAMESPACE} spec: source: LOG_TYPE destinations: elasticOutputs: - host: SIEM_HOST port: SIEM_PORT http_credential: http_user: HTTP_USER_NAME http_passwd: SECRET_NAME tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT index: INDEX EOFSostituisci quanto segue:
SIEM_ORG_FORWARDER: il nome del file di definizioneSIEMOrgForwarder.LOG_TYPE: il tipo di log che stai esportando. I valori accettati sonoauditeoperational.SIEM_HOST: il nome dell'host SIEM.SIEM_PORT: la porta dell'istanza SIEM.HTTP_USER_NAME: il nome utente dell'istanza SIEM. Questo valore deve essere anche la chiaveSECRET_FIELDnel secret che memorizza la password.SECRET_NAME: il nome del secret.TLS: lo stato di Transport Layer Security (TLS). I valori accettati sono"On"e"Off".NET_CONNECT_TIMEOUT: il tempo massimo in secondi di attesa per stabilire una connessione. Ad esempio, un valore180indica di attendere 180 secondi.INDEX: l'indice dell'istanza Elastic. Se non specificato, verrà utilizzato il tipo di log (auditooperational). Questo campo è facoltativo.
Verifica lo stato della risorsa personalizzata
SIEMOrgForwarderdi cui è stato eseguito il deployment:kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \ -n ${PROJECT_NAMESPACE}In base al tipo di log, controlla lo stato seguente:
- Audit log: controlla lo stato di
AuditLoggingReady. Log operativi: controlla lo stato di
OperationalLoggingReady.
- Audit log: controlla lo stato di