CA ACF2-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie CA ACF2-Logs mit dem Bindplane-Agent 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 SMF-Datensätzen (Standardtyp 230), einschließlich Authentifizierungsversuchen, Verstößen gegen den Zugriff auf Datasets, Ereignissen zum Zugriff auf Ressourcen, TSO-Befehlsprotokollierung und Datenbankänderungen. Diese SMF-Datensätze müssen über einen Drittanbieter-Agenten wie BMC AMI Defender for z/OS an Chronicle weitergeleitet werden.

Hinweise

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 Sie den Agent hinter einem Proxy ausführen, 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-Task unter z/OS

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  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 Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert werden soll.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

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

  • Fenstereinbau

    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 (Wird ausgeführt) 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 aktiv (wird ausgeführt) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

Konfigurationsdatei suchen

  • Linux:

    sudo nano /etc/bindplane-agent/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:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/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
    
    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 an allen Schnittstellen auf UDP-Port 514 zu lauschen.

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

      • creds_file_path: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:

        • Linux: /etc/bindplane-agent/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.

      • endpoint: Regionale Endpunkt-URL:

        • USA: malachiteingestion-pa.googleapis.com
        • Europa: europe-malachiteingestion-pa.googleapis.com
        • Asien: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Eine vollständige Liste finden Sie unter Regionale Endpunkte.
      • log_type: Auf CA_ACF2 (Chronicle-Aufnahmelabel für ACF2-Logs) festgelegt

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

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.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • So starten Sie den Bindplane-Agent 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-Agent 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
        
      • Services-Konsole:

        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. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sc query observiq-otel-collector
      
    3. Logs auf Fehler prüfen:

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

BMC AMI Defender for z/OS so konfigurieren, dass ACF2-SMF-Datensätze weitergeleitet werden

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 $$$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(RFC3164) SIEM(RFC3164) TIMESTAMP INSTNAME(SIEM.Agent)
      
      • RFC3164: 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-Parametermember ein, um die Erfassung von ACF2-SMF-Datensätzen zu aktivieren.

  1. Bearbeiten Sie in der Liste der amihlq.CZAGENT.PARM-Dataset-Mitglieder das Mitglied $$$CONFG member:

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

    2. Drücken Sie die Eingabetaste.
  2. Suchen Sie den ACF2-SMF-Eintragsauswahlschalter (suchen Sie nach ACF2 oder SMF 230).

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

    SELECT IF(ACF2) SMF(ACF2)
    
    • Dadurch wird die Erfassung von ACF2-SMF-Datensätzen (Standardtyp 230) aktiviert.
    • 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-Anweisungsparameter-Member erstellen oder bearbeiten

    1. Prüfen Sie in der Liste der amihlq.CZAGENT.PARM-Dataset-Member, ob ein Member 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 überprüfen).
      • FACILITY(SECURITY4): Legt die Syslog-Einrichtung auf „Security“ (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 „ERROR“ 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ültige Passwort- oder Autorisierungsereignisse (Schweregrad: FEHLER)
      • Untertyp V: Ressourcenverstöße (Schweregrad: FEHLER)
      • Untertyp D: Verstöße beim Zugriff auf Datensätze (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 Eingabeaufforderung „TSO READY“ zurück.
      2. Geben Sie den Befehl MODIFY ein, um die Parameterdatei neu zu laden:

        F CZAGENT,PARMS
        
        • Ersetzen Sie CZAGENT durch den Namen der gestarteten BMC AMI Defender-Task, falls er sich unterscheidet.
        • Mit diesem Befehl wird die Parameterdatei neu geladen, ohne den Agent zu beenden.
      3. Prüfen Sie die Konfiguration anhand der CZAPRINT-Ausgabe:

        1. Wählen Sie in ISPF die Option 3.4 (DSLIST) aus.
        2. Geben Sie das Namensmuster für den Datensatz ein: CZAGENT.CZAPRINT (oder die für Ihre Website spezifische Namenskonvention).
        3. Drücken Sie die Eingabetaste.
        4. Geben Sie neben dem neuesten CZAPRINT-Dataset B (Browse) 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 Aufgabe „CZAGENT“ nicht ausgeführt wird, starten Sie sie:

        S CZAGENT
        

      ACF2-Logweiterleitung prüfen

      1. ACF2-Sicherheitsereignisse für Tests generieren:

        1. Sie versuchen in TSO, auf einen Datensatz zuzugreifen, für den Sie keine Berechtigung 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-Agentenlogs, 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. Klicken Sie auf Suchen > 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 Der verwendete Authentifizierungsmechanismus.
      extensions.auth.type Die Art der Authentifizierung.
      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 Prinzipal 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 Zielanwendung.
      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.

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