CA ACF2-Logs erfassen

Parserversion: 2.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie CA ACF2-Logs mit dem Bindplane-Agenten in Google Security Operations aufnehmen.

Broadcom ACF2 (Access Control Facility 2) für z/OS ist ein Mainframe-Sicherheitsprodukt, das Zugriffssteuerung, Authentifizierung und Auditing für IBM z/OS-Systeme bietet. ACF2 protokolliert Sicherheitsereignisse in IBM System Management Facility (SMF)-Datensätzen (Standardtyp 230), einschließlich Authentifizierungsversuchen, Verstößen gegen den Zugriff auf Datasets, Ereignissen im Zusammenhang mit dem Ressourcenzugriff, TSO-Befehls-Logging und Datenbankänderungen. Diese SMF-Datensätze müssen mit einem Drittanbieter-Agenten wie BMC AMI Defender for z/OS an Chronicle weitergeleitet werden.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Netzwerkverbindung zwischen dem Bindplane-Agent und dem BMC AMI Defender for z/OS-Agent
  • Wenn der Agent hinter einem Proxy ausgeführt wird, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • BMC AMI Defender for z/OS ist auf der z/OS-LPAR installiert und wird dort ausgeführt, auf der ACF2 aktiv ist.
  • Zugriff zum Ändern der BMC AMI Defender-Parameterdateien im Dataset amihlq.CZAGENT.PARM
  • Berechtigung zum Starten oder Ändern der gestarteten CZAGENT-Aufgabe unter z/OS

Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:

  • Neue Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
  • Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Datenaufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud -Konsole an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM & Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein, z. B. bindplane-ingest.
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein (z. B. Bindplane agent log ingestion).
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle Editor aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das von Ihnen erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml, sodass der Pfad mit dem Pfad übereinstimmt, unter dem Sie die Datei speichern.
  12. Rufen Sie IAM & Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporter-Konfiguration.

Option 2: Authentifizierungsdatei für die Datenaufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Datenaufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profil auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organization Details (Organisationsdetails).

Bindplane-Agent installieren

Installieren Sie den Bindplane-Agenten gemäß der folgenden Anleitung auf Ihrem Windows- oder Linux-Betriebssystem.

  • Windows-Installation

    1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
    2. Führen Sie dazu diesen Befehl aus:

      msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
      
    3. Warten Sie, bis die Installation abgeschlossen ist.

    4. Überprüfen Sie die Installation mit folgendem Befehl:

      sc query observiq-otel-collector
      

      Der Dienst sollte als RUNNING angezeigt werden.

  • Linux-Installation

    1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
    2. Führen Sie dazu diesen Befehl aus:

      sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
      
    3. Warten Sie, bis die Installation abgeschlossen ist.

    4. Überprüfen Sie die Installation mit folgendem Befehl:

      sudo systemctl status observiq-otel-collector
      

      Der Dienst sollte als active (running) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie im Installationsanleitung für den Bindplane-Agenten.

Bindplane-Agent für die Aufnahme von Syslog und das Senden an Google SecOps konfigurieren

Konfigurationsdatei suchen

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  1. Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/acf2_logs:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: CA_ACF2
        raw_log_field: body
        ingestion_labels:
          env: production
          source: acf2
    
    service:
      pipelines:
        logs/acf2_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/acf2_logs
    
  2. Ersetzen Sie die folgenden Platzhalter:

    • Empfängerkonfiguration:

      • listen_address: Auf 0.0.0.0:514 setzen, um auf allen Schnittstellen an UDP-Port 514 zu lauschen.

        • Verwenden Sie für Linux-Systeme, die als Nicht-Root ausgeführt werden, den Port 1514 oder höher.
        • Dieser Port muss mit der BMC AMI Defender-SERVER-Anweisung übereinstimmen.
    • Exporter-Konfiguration:

      • creds_file_path: Vollständiger Pfad zur JSON-Schlüsseldatei des Dienstkontos (Option 1):

        • Linux: /opt/observiq-otel-collector/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id: Ersetzen Sie YOUR_CUSTOMER_ID durch Ihre customer ID. Weitere Informationen finden Sie unter Google SecOps-Kundennummer abrufen.

      • location: Ersetzen Sie <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporteur stellt diesem Wert das Präfix chronicle.googleapis.com voran. Eine vollständige Liste finden Sie unter Regionale Endpunkte.

      • project: Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer unter IAM & Verwaltung > Einstellungen.

      • endpoint: Behalten Sie die Einstellung chronicle.googleapis.com bei.

      • log_type: Auf CA_ACF2 festgelegt (Chronicle-Aufnahmelabel für ACF2-Logs)

      • ingestion_labels: Optionale Labels zum Kategorisieren von Logs (nach Bedarf anpassen)

Legacy-Ingestion-API-Exporter

  • Wenn Sie die Authentifizierungsdatei für die Datenaufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie für creds_file_path den Pfad zur Authentifizierungsdatei für die Datenaufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/acf2_logs:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: CA_ACF2
        raw_log_field: body
        ingestion_labels:
          env: production
          source: acf2
    

Konfigurationsdatei speichern

Speichern Sie die Datei nach der Bearbeitung:

  • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
  • Windows: Klicken Sie auf Datei > Speichern.

Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen.

  • So starten Sie den Bindplane-Agenten unter Linux neu:

    1. Führen Sie dazu diesen Befehl aus:

      sudo systemctl restart observiq-otel-collector
      
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    3. Logs auf Fehler prüfen:

      sudo journalctl -u observiq-otel-collector -f
      
  • So starten Sie den Bindplane-Agenten unter Windows neu:

    1. Wählen Sie eine der folgenden Optionen aus:

      • Eingabeaufforderung oder PowerShell als Administrator:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • Dienstkonsole:

        1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
        2. Suchen Sie nach observIQ OpenTelemetry Collector.
        3. Rechtsklicken Sie und wählen Sie Neu starten aus.
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sc query observiq-otel-collector
      
    3. Prüfen Sie die Logs auf Fehler:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

BMC AMI Defender for z/OS für die Weiterleitung von ACF2-SMF-Einträgen konfigurieren

Bearbeiten Sie das $$$SERVR parameter member

  1. Sign in to the z/OS system using TSO/ISPF or a 3270 emulator.
  2. Navigate to the BMC AMI Defender parameter library:
    1. Enter ISPF at the TSO READY prompt.
    2. Select option 2 (Edit).
    3. In the ISPF Library field, enter the data set name: amihlq.CZAGENT.PARM (replace amihlq with your installation high-level qualifier).
    4. Press Enter.
  3. Edit the $$$SERVR-Mitglied:
    1. Geben Sie E neben dem Parameter-Member $$$SERVR member.
    2. Press Enter.
  4. Locate the SERVER statement section (approximately line 40-60).
  5. Uncomment one of the SERVER statements by removing the leading semicolon (;).
  6. Configure the SERVER statement with the Bindplane agent IP address and port:

    SERVER bindplane-host-ip:514 TRANS(UDP) MAXMSG(2000)
    
    • Replace bindplane-host-ip with the IP address of the Bindplane agent host (for example, 192.168.1.100).
    • If using a non-standard port (for example, 1514), specify: bindplane-host-ip:1514.
    • TRANS(UDP) specifies UDP transport protocol (recommended for syslog).
    • MAXMSG(2000) sets the maximum message length to 2000 bytes (ACF2 records may require larger sizes).
  7. Verify the OPTIONS statement for syslog format:

    1. Scroll up to locate the OPTIONS statements (approximately line 10-30).
    2. Ensure one of the following OPTIONS statements is uncommented based on your preferred format:

      OPTIONS IF(RFC 3164) SIEM(RFC 3164) TIMESTAMP INSTNAME(SIEM.Agent)
      
      • RFC 3164: Standard syslog format (recommended for Chronicle)
      • CEF: Common Event Format (alternative)
      • LEEF: Log Event Extended Format (alternative)
      • JSON: JSON format (alternative)
  8. Save the changes:

    1. Press F3 to exit the editor.
    2. Type SAVE when prompted.
    3. Press Enter.

Edit the $$$CONFG ein, um die Erfassung von ACF2-SMF-Datensätzen zu aktivieren.

  1. Bearbeiten Sie in der Mitgliederliste des Datasets amihlq.CZAGENT.PARM das Mitglied $$$CONFG member:

    1. Type E next to the $$$CONFG.

    2. Drücken Sie die Eingabetaste.
  2. Suchen Sie nach dem Schalter für die Auswahl von ACF2-SMF-Datensätzen (ACF2 oder SMF 230).

  3. Heben Sie die Auskommentierung der SELECT-Anweisung für ACF2 auf:

    SELECT IF(ACF2) SMF(ACF2)
    
    • Dadurch wird die Erfassung von ACF2-SMF-Datensätzen (Standardtyp 230) ermöglicht.
    • Wenn auf Ihrer Website ein anderer SMF-Eintragstyp für ACF2 verwendet wird, prüfen Sie den Typ mit dem Befehl ACF SHOW SYSTEMS in TSO.
  4. Speichern Sie die Änderungen:

    1. Drücken Sie F3, um den Editor zu schließen.
    2. Geben Sie SAVE ein, wenn Sie dazu aufgefordert werden.
    3. Drücken Sie die Eingabetaste.
  5. SMF-ACF2-Anweisungsparametermitglied erstellen oder bearbeiten

    1. Prüfen Sie in der Mitgliederliste des Datasets amihlq.CZAGENT.PARM, ob ein Mitglied mit dem Namen $$$ACF2 or SMFACF2 exists.
    2. If the member does not exist, create it:

      1. Type C (Create) on the command line.
      2. Enter the member name: $$$ACF2 vorhanden ist.
      3. Drücken Sie die Eingabetaste.
    3. Bearbeiten Sie das Mitglied und fügen Sie die folgende SMF-ACF2-Anweisung hinzu:

      SMF ACF2(230) FACILITY(SECURITY4) SEVERITY(INFORMATIONAL)
      
      • ACF2(230): Gibt den SMF-Eintragstyp für ACF2 an (Standard ist 230; mit ACF SHOW SYSTEMS prüfen).
      • FACILITY(SECURITY4): Legt die Syslog-Einrichtung auf „Sicherheit“ (4) fest.
      • SEVERITY(INFORMATIONAL): Legt den Standard-Schweregrad auf „Informationell“ fest.

        • Ungültige Passwörter oder Verstöße gegen die Berechtigung werden automatisch mit dem Schweregrad ERROR gesendet.
        • Ressourcenverstöße werden automatisch mit dem Schweregrad FEHLER gesendet.
    4. Optional: Konfigurieren Sie bestimmte ACF2-Subtypen und Schweregrade:

      SMF ACF2(230) +
        FACILITY(SECURITY4) +
        SEVERITY(INFORMATIONAL) +
        SUBTYPES(P SEV(ERROR)) +
        SUBTYPES(V SEV(ERROR)) +
        SUBTYPES(D SEV(ERROR))
      
      • Untertyp P: Ungültiges Passwort oder Autorisierungsereignisse (Schweregrad: ERROR)
      • Untertyp V: Ressourcenverstöße (Schweregrad: FEHLER)
      • Untertyp D: Zugriffsverletzungen bei Datasets (Schweregrad FEHLER)
    5. Speichern Sie die Änderungen:

      1. Drücken Sie F3, um den Editor zu schließen.
      2. Geben Sie SAVE ein, wenn Sie dazu aufgefordert werden.
      3. Drücken Sie die Eingabetaste.
    6. BMC AMI Defender-Parameterdatei aktualisieren

      1. Beenden Sie ISPF und kehren Sie zur TSO READY-Eingabeaufforderung zurück.
      2. Geben Sie den MODIFY-Befehl ein, um die Parameterdatei neu zu laden:

        F CZAGENT,PARMS
        
        • Ersetzen Sie CZAGENT durch den Namen der gestarteten BMC AMI Defender-Aufgabe, falls dieser anders lautet.
        • Mit diesem Befehl wird die Parameterdatei neu geladen, ohne den Agent zu beenden.
      3. Prüfen Sie die Konfiguration, indem Sie die CZAPRINT-Ausgabe prüfen:

        1. Wählen Sie in ISPF die Option 3.4 (DSLIST) aus.
        2. Geben Sie das Namensmuster für das Dataset ein: CZAGENT.CZAPRINT (oder Ihre standortspezifische Namenskonvention).
        3. Drücken Sie die Eingabetaste.
        4. Geben Sie B (Browse) neben dem neuesten CZAPRINT-Dataset ein.
        5. Drücken Sie die Eingabetaste.
        6. Suchen Sie nach Nachrichten, die auf eine erfolgreiche Verbindung zum Syslog-Server hinweisen:

          • CZA0070I Connected to server bindplane-host-ip:514
          • CZA0100I SMF ACF2 statement processed
      4. Wenn die gestartete CZAGENT-Aufgabe nicht ausgeführt wird, starten Sie sie:

        S CZAGENT
        

      ACF2-Logweiterleitung überprüfen

      1. Generieren Sie ACF2-Testsicherheitsereignisse:

        1. Versuchen Sie in TSO, auf ein Dataset zuzugreifen, für das Sie keine Zugriffsberechtigung haben.
        2. Versuchen Sie, sich mit einem ungültigen Passwort anzumelden (verwenden Sie ein Testkonto).
        3. Führen Sie einen TSO-Befehl aus, der von ACF2 protokolliert wird.
      2. Prüfen Sie die Bindplane-Agent-Logs, um den Empfang von ACF2-Syslog-Nachrichten zu bestätigen:

        • Linux:

          sudo journalctl -u observiq-otel-collector -f | grep ACF2
          
        • Windows:

          type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log" | findstr ACF2
          
      3. Melden Sie sich in der Google SecOps Console an und prüfen Sie, ob ACF2-Logs aufgenommen werden:

        1. Gehen Sie zu Suche > UDM-Suche.
        2. Geben Sie die folgende Abfrage ein:

          metadata.log_type = "CA_ACF2"
          
        3. Prüfen Sie, ob ACF2-Sicherheitsereignisse in den Suchergebnissen angezeigt werden.

      UDM-Zuordnungstabelle

      Logfeld UDM-Zuordnung Logik
      extensions.auth.mechanism Das verwendete Authentifizierungsverfahren.
      extensions.auth.type Der Authentifizierungstyp.
      Summe metadata.description Eine Beschreibung des Ereignisses.
      metadata.event_type Art des Ereignisses.
      event_type, cat metadata.product_event_type Der produktspezifische Ereignistyp.
      product_version metadata.product_version Die Version des Produkts.
      Terminal principal.hostname Der mit dem Hauptkonto verknüpfte Hostname.
      Name principal.user.user_display_name Der Anzeigename des Nutzers.
      usrName principal.user.userid Die Nutzer-ID.
      security_result.action Die vom Sicherheitssystem ergriffene Maßnahme.
      security_result.category Die Kategorie des Sicherheitsergebnisses.
      Klasse security_result.category_details Zusätzliche Details zur Kategorie des Sicherheitsergebnisses.
      reason security_result.severity Der Schweregrad des Sicherheitsergebnisses.
      reason security_result.severity_details Detaillierte Informationen zum Schweregrad.
      logstr security_result.summary Eine Zusammenfassung des Sicherheitsergebnisses.
      job_id target.application Die Anwendung, auf die das Targeting angewendet wird.
      job_group target.group.group_display_name Der Anzeigename der Gruppe.
      target.namespace Der Namespace des Ziels.
      dsn target.resource.name Name der Ressource.
      vol target.resource.parent Die übergeordnete Ressource.
      res, dsn target.resource.product_object_id Die produktspezifische Objekt-ID.
      target.resource.resource_type Der Ressourcentyp.
      Name target.user.user_display_name Der Anzeigename des Zielnutzers.
      usrName target.user.userid Die Nutzer-ID des Zielnutzers.
      product_name metadata.product_name Der Name des Produkts, das das Ereignis generiert.
      vendor_name metadata.vendor_name Der Name des Anbieters.

      Änderungsprotokoll

      Änderungsprotokoll für diesen Parser ansehen

      Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten