Google Security Operations mit VMware Engine konfigurieren

In diesem Dokument wird beschrieben, wie Sie Google Security Operations (Google SecOps) konfigurieren, um die Erkennung, Untersuchung und Reaktion auf Cybersicherheitsbedrohungen für virtuelle Maschinen (VMs) zu verbessern, die auf der VMware Engine ausgeführt werden. Darüber hinaus kann Google SecOps Telemetriedaten aus Ihrer VMware-Infrastruktur und anderen unterstützten Diensten analysieren. Google Cloud

Übersicht

Google SecOps ist ein Cloud-Dienst, der als spezielle Schicht auf der Google-Infrastruktur aufgebaut wurde. Er wurde für Unternehmen entwickelt, die die von ihnen generierten großen Mengen an Sicherheits- und Netzwerktelemetriedaten privat aufbewahren, analysieren und durchsuchen möchten. Google SecOps normalisiert, indexiert, korreliert und analysiert die Daten, um sofortige Analysen und Kontext zu riskanten oder verdächtigen Aktivitäten bereitzustellen.

Datenaufnahmemechanismen für Google SecOps

Google SecOps bietet mehrere Möglichkeiten zur Datenaufnahme, wie in der Google SecOps-Aufnahmedokumentation beschrieben. Das Konfigurationsbeispiel in diesem Leitfaden konzentriert sich auf die folgenden wichtigen Integrationspunkte innerhalb einer repräsentativen Architektur:

  • VM- und Arbeitslastsystemprotokolle: Es gibt mehrere Architekturmuster zum Erfassen von Protokollen, die von VMs und Arbeitslasten stammen. Im Konfigurationsbeispiel in diesem Leitfaden wird ein OpenTelemetry BindPlane-Agent verwendet, der direkt auf diesen virtuellen Maschinen bereitgestellt wird. Diese Methode bietet eine flexible und standardisierte Möglichkeit, Systemprotokolle zu erfassen und weiterzuleiten.

  • Google Cloud Protokolle: Neben virtualisierten Umgebungen verwenden die meisten Kundenprojekte eine Reihe von Google Cloud Diensten (in diesem speziellen Kontext ausgenommen VMware Engine). Um eine umfassende Transparenz bei der Bedrohungserkennung zu erhalten, können Protokolle aus diesen unterstützten Diensten an Google SecOps weitergeleitet werden. Im folgenden Konfigurationsbeispiel wird der direkte Aufnahmemechanismus verwendet. Cloud Logging-Filter werden so konfiguriert, dass relevante Protokolldaten selektiv weitergeleitet werden.

Google Security Operations mit VMware Engine konfigurieren

So konfigurieren Sie Google Security Operations mit VMware Engine:

  1. Systemprotokolle von Arbeitslasten weiterleiten
  2. Benutzerdefinierte Regeln erstellen
  3. Cloud-Logs Google Cloud weiterleiten

Arbeitslastsystemprotokolle weiterleiten

Wenn Sie Systemprotokolle von Arbeitslasten für VMs, die in der VMware Engine ausgeführt werden, an Google SecOps weiterleiten möchten, können Sie einen OpenTelemetry-Erfassungsagenten verwenden, der in den Arbeitslasten ausgeführt wird. Dazu sind die folgenden Schritte auszuführen:

  1. Folgen Sie der Anleitung für den Bindplane-Agenten vor Beginn, um den Agenten zu installieren und die Authentifizierungsdatei für die Datenaufnahme von Google SecOps herunterzuladen. Sie können die Google SecOps-Authentifizierungsdatei über das Google SecOps-Portal herunterladen.
  2. Prüfen Sie die Firewallkonfiguration, um sicherzustellen, dass die relevanten Firewallports geöffnet sind.
  3. Installieren Sie den Bindplane-Agenten. Folgen Sie dazu der Anleitung für Ihr Betriebssystem, entweder Linux oder Windows.
  4. Führen Sie die Schritte aus, um den Agenten zu konfigurieren. Notieren Sie sich bei diesen Schritten die folgenden Details:

    • Im Abschnitt Empfänger wird angegeben, welche Protokolle der Agent erfassen und an Google SecOps senden soll.
    • Im Abschnitt Exporter wird das Ziel angegeben, an das die Kundenservicemitarbeiter die Protokolle senden sollen.
    • Für diese Aufgabe wird der Google SecOps-Exporter verwendet, der die Protokolle direkt an die Google SecOps-Aufnahme-API sendet.
  5. In den Beispielkonfigurationsdateien für die Protokollerstellung finden Sie Konfigurationsdateien, die Sie verwenden können. Im Folgenden finden Sie ein konkretes Beispiel für das Erfassen von Windows-Ereignisprotokollen (Anwendung, Sicherheit und System) und das Senden an Google SecOps. Dabei wird das Konfigurationsformat des OpenTelemetry-Collectors verwendet:

    receivers:
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_application:
        attributes:
           log_type: windows_event.application
        channel: application
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_security:
        attributes:
           log_type: windows_event.security
        channel: security
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_system:
        attributes:
           log_type: windows_event.system
        channel: system
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    processors:
    resourcedetection/source0_01HZ7NFAB5HZY6TPMGEYRN4XGZ:
        detectors:
            -   system
        system:
            hostname_sources:
                 -   os
    transform/source001HZ7NFAB5HZY6TPMGEYRN4XGZprocessor0_logs:
        error_mode: ignore
        log_statements:
            -   context: log
              statements:
                  -   set(attributes["chronicle_log_type"], "WINEVTLOG") where true
    exporters:
    chronicle/NA-SDL:
        compression: none
        creds: '{  "type": "service_account",
            "project_id": "malachite-previewamericassdl",
            "private_key_id": "a9c8d8f0b081c09bcf92621804ba19fc6529ecce",
            "private_key": "----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
            "client_email": "previewamericassdl-1710772997@malachite-previewamericassdl.iam.gserviceaccount.com",
            "client_id": "114604545528934473681",
            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
            "token_uri": "https://oauth2.googleapis.com/token",
            "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
            "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/previewamericassdl-1710772997%40malachite-previewamericassdl.iam.gserviceaccount.com",
            "universe_domain": "googleapis.com" }'
        customer_id: a556547c-1cff-43ef-a2e4-cf5b12a865df
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
            env: takeshi
        log_type: CATCH_ALL
        namespace: null
        raw_log_field: body
        retry_on_failure:
            enabled: true
            initial_interval: 5s
            max_elapsed_time: 300s
            max_interval: 30s
        sending_queue:
            enabled: true
            num_consumers: 10
            queue_size: 5000
            storage: file_storage/NA-SDL
    extensions:
    file_storage/NA-SDL:
        compaction:
            directory: $OIQ_OTEL_COLLECTOR_HOME/storage
            on_rebound: true
        directory: $OIQ_OTEL_COLLECTOR_HOME/storage
    service:
    extensions:
        -   file_storage/NA-SDL
    pipelines:
        logs/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_NA-SDL-0:
            receivers:
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_application
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_security
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_system
            processors:
                -   resourcedetection/source0_01HZ7NFAB5HZY6TPMGEYRN4XGZ
                -   transform/source001HZ7NFAB5HZY6TPMGEYRN4XGZprocessor0_logs
            exporters:
                -   chronicle/NA-SDL

  6. Starten Sie den Collectors nach Abschluss der Konfiguration neu und prüfen Sie, ob Protokolle im Google SecOps-Dashboard angezeigt werden.

Benutzerdefinierte Regeln für die Bedrohungserkennung erstellen

Google SecOps bietet standardmäßige, ausgewählte Regeln und Erkennungsmechanismen, die entwickelt wurden, um Cybersicherheitsbedrohungen effektiv zu erkennen. Neben den Standardfunktionen können Sie benutzerdefinierte Regeln erstellen, um Benachrichtigungen zu generieren, die auf eine bestimmte Umgebung und ihre Sicherheitsrisiken zugeschnitten sind. Für eine ausgefeiltere Bedrohungserkennung können in Google SecOps mehrere Ereignisregeln verwendet werden. So lassen sich ähnliche Sicherheitsereignisse im Zeitverlauf nachverfolgen und miteinander in Beziehung setzen. Das erleichtert die Identifizierung komplexer Angriffsmuster, die bei einzelnen Vorfällen möglicherweise nicht offensichtlich sind.

Google Cloud Cloud-Logs weiterleiten

So konfigurieren Sie die Aufnahme von Google Cloud -Daten in Google SecOps mithilfe der direkten Aufnahme:

  1. Folgen Sie der Anleitung unter Google Cloud Daten in Google SecOps aufnehmen, um Protokolle einzurichten.
  2. Aktivieren Sie auf dem Tab Globale Datenaufnahmeeinstellungen die Option Daten aus Cloud Logging aufnehmen und analysieren.
  3. Sehen Sie sich die Liste der unterstützten Google Cloud Dienste für die Logaufnahme an, um die Google Cloud Dienste zu ermitteln, die für Ihre Sicherheitsüberwachungsanforderungen am wichtigsten sind. Weitere Informationen finden Sie unter gcp_name-Protokolle exportieren.
  4. Ändern Sie den Standardexportfilter auf dem Tab Exportfiltereinstellungen nach Bedarf, um die erforderlichen Protokolle aufzunehmen. Im folgenden Beispiel sehen Sie eine Kopie des Exportfilters, der für dieses Dokument verwendet wurde:
    log_id("dns.googleapis.com/dns_queries") OR log_id("cloudaudit.googleapis.com/activity") OR log_id("cloudaudit.googleapis.com/system_event") OR
    ( log_id("cloudaudit.googleapis.com/data_access")
    AND NOT protoPayload.methodName =~ "^storage.(buckets|objects).(get|list)$"
    AND NOT protoPayload.request.cmd = "select" ) OR
    log_id("cloudaudit.googleapis.com/policy") OR
    log_id("cloudaudit.googleapis.com/access_transparency") OR
    log_id("compute.googleapis.com/nat_flows") OR
    log_id("compute.googleapis.com/firewall") OR
    log_id("requests") OR
    logName =~ "^projects/[\w-]+/logs/syslog$" OR
    logName =~ "^projects/[\w-]+/logs/authlog$" OR
    log_id("securelog") OR
    log_id("sysmon.raw") OR
    logName =~ "^projects/[\w-]+/logs/windows_event_log$" OR
    log_id("windows_event_log") OR
    log_id("events") OR
    log_id("stdout") OR
    log_id("stderr") OR
    log_id("audit_log") OR
    log_id("recaptchaenterprise.googleapis.com/assessment") OR
    log_id("recaptchaenterprise.googleapis.com/annotation") OR
    log_id("cloudaudit.googleapis.com/activity")

Nächste Schritte