Questa pagina descrive come esportare i log da Google Distributed Cloud (GDC) air-gapped a un sistema SIEM (Security Information and Event Management) esterno. Questa integrazione consente l'analisi centralizzata dei log e il monitoraggio della sicurezza avanzato.
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 a 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 IAM dell'organizzazione di concederti uno dei ruoli di esportazione SIEM dell'organizzazione associati.
A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere ruoli di creazione, modifica o visualizzazione 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 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 progetto:
export PROJECT_NAMESPACE=PROJECT_NAMESPACE
Configura l'esportazione dei log
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 in caso di Splunk e la password in 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. È il nome utente in caso di Elastic.FIELD_VALUE: FIELD_VALUE è il token in 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 da attendere per stabilire una connessione. Ad esempio, un valore di180significa 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.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 da attendere per stabilire una connessione. Ad esempio, un valore di180significa attendere 180 secondi.INDEX: l'indice per l'istanza Elastic. Se non specificato, verrà utilizzato il tipo di log (auditooperational). Questo campo è facoltativo.
Verifica lo stato della risorsa personalizzata
SIEMOrgForwarderdi cui hai eseguito il deployment:kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \ -n ${PROJECT_NAMESPACE}A seconda del tipo di log, controlla lo stato seguente:
- Audit log: controlla lo stato
AuditLoggingReady. Log operativi: controlla lo stato
OperationalLoggingReady.
- Audit log: controlla lo stato