CA ACF2-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Profile auf.
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
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietWarten Sie, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sc query observiq-otel-collectorDer Dienst sollte als RUNNING (Wird ausgeführt) angezeigt werden.
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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.shWarten Sie, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sudo systemctl status observiq-otel-collectorDer 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.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Konfigurationsdatei bearbeiten
Ersetzen Sie den gesamten Inhalt von
config.yamldurch 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_logsErsetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration:
listen_address: Auf0.0.0.0:514setzen, 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
1514oder höher. - Stimmen Sie diesen Port mit der BMC AMI Defender-SERVER-Anweisungskonfiguration ab.
- Verwenden Sie für Linux-Systeme, die als Nicht-Root ausgeführt werden, den Port
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
- Linux:
customer_id: Ersetzen SieYOUR_CUSTOMER_IDdurch Ihrecustomer 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.
- USA:
log_type: AufCA_ACF2(Chronicle-Aufnahmelabel für ACF2-Logs) festgelegtingestion_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, dannEnterund dannCtrl+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:
Führen Sie dazu diesen Befehl aus:
sudo systemctl restart observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs auf Fehler prüfen:
sudo journalctl -u observiq-otel-collector -f
So starten Sie den Bindplane-Agent unter Windows neu:
Wählen Sie eine der folgenden Optionen aus:
Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorServices-Konsole:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
- Drücken Sie
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs 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
- Sign in to the z/OS system using TSO/ISPF or a 3270 emulator.
- Navigate to the BMC AMI Defender parameter library:
- Enter
ISPFat the TSO READY prompt. - Select option 2 (Edit).
- In the ISPF Library field, enter the data set name:
amihlq.CZAGENT.PARM(replaceamihlqwith your installation high-level qualifier). - Press Enter.
- Enter
- Edit the $$$SERVR-Mitglied:
- Geben Sie
Eneben dem $$$SERVR member. - Press Enter.
- Geben Sie
- Locate the SERVER statement section (approximately line 40-60).
- Uncomment one of the SERVER statements by removing the leading semicolon (
;). Configure the SERVER statement with the Bindplane agent IP address and port:
SERVER bindplane-host-ip:514 TRANS(UDP) MAXMSG(2000)- Replace
bindplane-host-ipwith 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).
- Replace
Verify the OPTIONS statement for syslog format:
- Scroll up to locate the OPTIONS statements (approximately line 10-30).
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)
Save the changes:
- Press F3 to exit the editor.
- Type
SAVEwhen prompted. - Press Enter.
Edit the $$$CONFG-Parametermember ein, um die Erfassung von ACF2-SMF-Datensätzen zu aktivieren.
Bearbeiten Sie in der Liste der
amihlq.CZAGENT.PARM-Dataset-Mitglieder das Mitglied $$$CONFG member:- Type
Enext to the $$$CONFG. - Drücken Sie die Eingabetaste.
- Type
Suchen Sie den ACF2-SMF-Eintragsauswahlschalter (suchen Sie nach
ACF2oderSMF 230).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 SYSTEMSin TSO.
Speichern Sie die Änderungen:
- Drücken Sie F3, um den Editor zu schließen.
- Geben Sie
SAVEein, wenn Sie dazu aufgefordert werden. - Drücken Sie die Eingabetaste.
- Prüfen Sie in der Liste der
amihlq.CZAGENT.PARM-Dataset-Member, ob ein Member mit dem Namen $$$ACF2 or SMFACF2 exists. If the member does not exist, create it:
- Type
C(Create) on the command line. - Enter the member name:
$$$ACF2.
- Type
SMF-ACF2-Anweisungsparameter-Member erstellen oder bearbeiten
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; mitACF 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.
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)
Speichern Sie die Änderungen:
- Drücken Sie F3, um den Editor zu schließen.
- Geben Sie
SAVEein, wenn Sie dazu aufgefordert werden. - Drücken Sie die Eingabetaste.
BMC AMI Defender-Parameterdatei aktualisieren
- Beenden Sie ISPF und kehren Sie zur Eingabeaufforderung „TSO READY“ zurück.
Geben Sie den Befehl MODIFY ein, um die Parameterdatei neu zu laden:
F CZAGENT,PARMS- Ersetzen Sie
CZAGENTdurch 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.
- Ersetzen Sie
Prüfen Sie die Konfiguration anhand der CZAPRINT-Ausgabe:
- Wählen Sie in ISPF die Option 3.4 (DSLIST) aus.
- Geben Sie das Namensmuster für den Datensatz ein:
CZAGENT.CZAPRINT(oder die für Ihre Website spezifische Namenskonvention). - Drücken Sie die Eingabetaste.
- Geben Sie neben dem neuesten CZAPRINT-Dataset
B(Browse) ein. - Drücken Sie die Eingabetaste.
Suchen Sie nach Nachrichten, die auf eine erfolgreiche Verbindung zum Syslog-Server hinweisen:
CZA0070I Connected to server bindplane-host-ip:514CZA0100I SMF ACF2 statement processed
Wenn die gestartete Aufgabe „CZAGENT“ nicht ausgeführt wird, starten Sie sie:
S CZAGENT
ACF2-Logweiterleitung prüfen
ACF2-Sicherheitsereignisse für Tests generieren:
- Sie versuchen in TSO, auf einen Datensatz zuzugreifen, für den Sie keine Berechtigung haben.
- Versuchen Sie, sich mit einem ungültigen Passwort anzumelden (verwenden Sie ein Testkonto).
- Führen Sie einen TSO-Befehl aus, der von ACF2 protokolliert wird.
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 ACF2Windows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log" | findstr ACF2
Melden Sie sich in der Google SecOps Console an und prüfen Sie, ob ACF2-Logs aufgenommen werden:
- Klicken Sie auf Suchen > UDM-Suche.
Geben Sie die folgende Abfrage ein:
metadata.log_type = "CA_ACF2"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