Auf dieser Seite wird beschrieben, wie Sie Logs aus Google Distributed Cloud (GDC) mit Air Gap in ein externes SIEM-System (Security Information and Event Management) exportieren. Diese Integration ermöglicht eine zentrale Loganalyse und ein verbessertes Sicherheitsmonitoring.
Der Kern des Logexports besteht in der Bereitstellung einer benutzerdefinierten SIEMOrgForwarder-Ressource.
Diese Ressource dient als Konfigurationsdatei, in der die Details der externen SIEM-Instanz angegeben werden, die die Logs empfangen soll. Durch die Definition dieser Parameter in der Datei SIEMOrgForwarder können Administratoren eine optimierte und sichere Pipeline für den Export von Protokollen einrichten.
Hinweis
Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen eine der zugehörigen SIEM Export-Organisationsrollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von benutzerdefinierten SIEMOrgForwarder-Ressourcen benötigen.
Je nach erforderlicher Zugriffsebene und Berechtigungen erhalten Sie möglicherweise die Rollen „Creator“, „Editor“ oder „Viewer“ für diese Ressource in Ihrem Projekt-Namespace. Weitere Informationen finden Sie unter IAM-Berechtigungen vorbereiten.
Nachdem Sie die erforderlichen Berechtigungen erhalten haben, führen Sie die folgenden Schritte aus, bevor Sie Protokolle in ein externes SIEM-System exportieren:
Verbindung herstellen: Stellen Sie sicher, dass eine Verbindung zwischen GDC und dem externen SIEM-Ziel besteht. Arbeiten Sie bei Bedarf mit dem Infrastrukturbetreiber zusammen, um eine Uplink-Verbindung zu Ihrem Kundennetzwerk herzustellen.
Umgebungsvariablen festlegen: Legen Sie die folgenden Umgebungsvariablen fest, um die Befehle auf dieser Seite auszuführen:
Der Pfad der kubeconfig-Datei:
export KUBECONFIG=KUBECONFIG_PATHErsetzen Sie
KUBECONFIG_PATHdurch den Pfad zur kubeconfig-Datei für den Management API-Server.Namespace Ihres Projekts:
export PROJECT_NAMESPACE=PROJECT_NAMESPACE
Log-Export konfigurieren
Logs in ein externes SIEM-System exportieren:
Geben Sie ein Token an, um den Logging-Stack mit dem SIEM-System zu verbinden. Dazu müssen Sie ein Secret in Ihrem Projekt-Namespace erstellen, um das Token für Splunk und das Passwort für Elastic SIEM zu speichern:
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 EOFErsetzen Sie Folgendes:
SECRET_NAME: der Name Ihres Secrets.SECRET_FIELD: Der Name des Felds, in dem Sie das Secret speichern möchten. Bei Elastic ist es der Nutzername.FIELD_VALUE: FIELD_VALUE ist ein Token für Splunk und ein Passwort für Elastic.TOKEN: Ihr Token.
Stellen Sie die benutzerdefinierte
SIEMOrgForwarder-Ressource in Ihrem Projekt-Namespace bereit. Sie müssen den Logtyp angeben, indem Sie zwischen Audit- oder Betriebslogs auswählen. Wenn Sie den Logexport für beide Logtypen konfigurieren möchten, müssen Sie für jeden Typ eineSIEMOrgForwarder-Ressource bereitstellen.[!WARNING] Ab Version 1.17 wird die Angabe von
splunkOutputsdirekt unterspecnicht unterstützt. Sie müssensplunkOutputsim Felddestinationsverwenden.Das folgende Beispiel zeigt, wie Sie eine Konfiguration auf eine benutzerdefinierte
SIEMOrgForwarder-Ressource für Splunk anwenden: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 EOFErsetzen Sie Folgendes:
SIEM_ORG_FORWARDER: der Name derSIEMOrgForwarder-Definitionsdatei.LOG_TYPE: Der Logtyp, den Sie exportieren. Zulässige Werte sindauditundoperational.SIEM_HOST: Der Name des SIEM-Hosts.SECRET_NAME: der Name Ihres Secrets.SECRET_FIELD: der Name des Felds, in dem Sie das Secret gespeichert haben.TLS: Der Status von Transport Layer Security (TLS). Zulässige Werte sind"On"und"Off".NET_CONNECT_TIMEOUT: Die maximale Zeit in Sekunden, die auf den Aufbau einer Verbindung gewartet werden soll. Ein Wert von180bedeutet beispielsweise, dass 180 Sekunden gewartet werden soll.
Das folgende Beispiel zeigt, wie eine Konfiguration auf eine benutzerdefinierte
SIEMOrgForwarder-Ressource für Elastic angewendet wird: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 EOFErsetzen Sie Folgendes:
SIEM_ORG_FORWARDER: der Name derSIEMOrgForwarder-Definitionsdatei.LOG_TYPE: Der Logtyp, den Sie exportieren. Zulässige Werte sindauditundoperational.SIEM_HOST: Der Name des SIEM-Hosts.SIEM_PORT: der Port der SIEM-Instanz.HTTP_USER_NAMEist der Nutzername der SIEM-Instanz.SECRET_NAME: der Name Ihres Secrets.TLS: Der Status von Transport Layer Security (TLS). Zulässige Werte sind"On"und"Off".NET_CONNECT_TIMEOUT: Die maximale Zeit in Sekunden, die auf den Aufbau einer Verbindung gewartet werden soll. Ein Wert von180bedeutet beispielsweise, dass 180 Sekunden gewartet werden soll.INDEX: der Index für die Elastic-Instanz. Wenn nichts angegeben ist, wird der Protokolltyp (auditoderoperational) verwendet. Dieses Feld ist optional.
Prüfen Sie den Status der bereitgestellten benutzerdefinierten
SIEMOrgForwarder-Ressource:kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \ -n ${PROJECT_NAMESPACE}Prüfen Sie je nach Logtyp den folgenden Status:
- Prüfprotokolle: Prüfen Sie den Status von
AuditLoggingReady. Betriebsprotokolle: Prüfen Sie den Status von
OperationalLoggingReady.
- Prüfprotokolle: Prüfen Sie den Status von