IBM Guardium-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie IBM Guardium-Logs mit Bindplane in Google Security Operations aufnehmen.
IBM Guardium ist eine Plattform für die Überwachung von Datenbankaktivitäten und den Datenschutz, die Echtzeitüberwachung, ‑prüfung und ‑schutz für Datenbanken und Dateisysteme bietet. Guardium bietet Funktionen für die Sicherheitsrisikobewertung, die Erkennung und Klassifizierung von Daten, die Überwachung von Datenbankaktivitäten und Compliance-Berichte.
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 IBM Guardium Collector
- Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
- Privilegierter Zugriff auf die IBM Guardium-CLI
- IBM Guardium Version 9.1 oder höher für die Unterstützung verschlüsselter Syslog-Dateien (optional)
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 wird.
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-collector
Der 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-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-Agenten für die Aufnahme von Syslog-Daten und das 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/guardium: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: GUARDIUM raw_log_field: body ingestion_labels: log_source: guardium service: pipelines: logs/guardium_to_chronicle: receivers: - udplog exporters: - chronicle/guardium
Konfigurationsparameter
Ersetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration:
- Verwenden Sie
udplogfür UDP-Syslog (am häufigsten für Guardium). - Verwenden Sie bei Bedarf
tcplogfür TCP-Syslog. - Die Listen-Adresse
0.0.0.0:514überwacht alle Schnittstellen auf Port 514.
- Verwenden Sie
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: Kunden-ID aus dem vorherigen Schritt.endpoint: Regionale Endpunkt-URL:- USA:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asien:
asia-southeast1-malachiteingestion-pa.googleapis.com
- USA:
log_type: MussGUARDIUMsein.ingestion_labels: Optionale Labels im YAML-Format.
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
Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:
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
Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agent unter Windows neu zu starten:
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.
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"
- Drücken Sie
Syslog-Weiterleitung für IBM Guardium konfigurieren
Syslog-Ziel über die Befehlszeile konfigurieren
Wenn Sie ein Syslog-Ziel für Ereignisse in IBM Guardium erstellen möchten, müssen Sie sich in der Befehlszeilenschnittstelle anmelden und die IP-Adresse für den Bindplane-Agent-Host definieren.
- Melden Sie sich mit SSH als CLI-Nutzer beim IBM Guardium Collector an.
Geben Sie die folgenden Befehle ein, um das Syslog-Ziel zu konfigurieren:
Für UDP-Syslog (empfohlen):
store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udpFür TCP-Syslog:
store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcpFür bestimmte Schweregrade:
store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp- Ersetzen Sie
BINDPLANE_AGENT_IPdurch die IP-Adresse des Hosts, auf dem der Bindplane-Agent installiert ist.
- Ersetzen Sie
Prüfen Sie die Konfiguration mit folgendem Befehl:
show remotelogIn der Ausgabe sollte das von Ihnen konfigurierte Remote-Syslog-Ziel angezeigt werden.
Verschlüsseltes Syslog konfigurieren (optional)
Wenn Sie eine verschlüsselte Syslog-Weiterleitung benötigen, unterstützt IBM Guardium ab Version 9.1 die TLS-Verschlüsselung über TCP.
- Rufen Sie das öffentliche Zertifikat im PEM-Format von der Zertifizierungsstelle ab, die von Ihrem Syslog-Remoteempfänger verwendet wird.
- Melden Sie sich über die CLI auf dem Guardium Collector an.
Geben Sie den folgenden Befehl ein:
store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcpFügen Sie das CA-Zertifikat im PEM-Format ein, einschließlich der BEGIN- und END-Zeilen, und drücken Sie dann
Ctrl+D.Guardium speichert das Zertifikat als
/etc/pki/rsyslog/ca.pem.
Nachrichtenvorlage konfigurieren (optional)
Guardium unterstützt mehrere Nachrichtenformate, darunter CEF (Common Event Format) und LEEF (Log Event Extended Format). Das Standardformat ist für die meisten Bereitstellungen geeignet.
So passen Sie die Nachrichtenvorlage an:
- Melden Sie sich in der GUI der Guardium-Appliance als Nutzer mit Administratorberechtigungen an.
- Rufen Sie die Admin-Konsole > Konfiguration > Globales Profil auf.
- Bearbeiten Sie im Bereich Nachrichtenvorlage die Vorlage mit dem gewünschten Format.
- Klicken Sie auf Speichern.
Richtlinie zum Senden von Benachrichtigungen an Syslog konfigurieren
Richtlinien in IBM Guardium sind dafür verantwortlich, auf Ereignisse zu reagieren und die Ereignisinformationen an den Remote-Syslog-Empfänger weiterzuleiten.
Richtlinienbenachrichtigungsaktion konfigurieren
- Melden Sie sich in der GUI der Guardium-Appliance an.
- Klicken Sie auf den Tab Tools.
- Wählen Sie im linken Navigationsbereich Policy Builder aus.
- Wählen Sie im Bereich Richtlinienfinder eine vorhandene Richtlinie aus und klicken Sie auf Regeln bearbeiten.
- Klicken Sie auf Diese Regel einzeln bearbeiten.
- Die Zugriffsregeldefinition wird angezeigt.
- Klicken Sie auf Aktion hinzufügen.
- Wählen Sie in der Liste Aktion einen der folgenden Benachrichtigungstypen aus:
- Benachrichtigung pro Abgleich: Für jeden Richtlinienverstoß wird eine Benachrichtigung gesendet.
- Täglich benachrichtigen: Sie erhalten eine Benachrichtigung, wenn an diesem Tag zum ersten Mal ein Richtlinienverstoß auftritt.
- Einmal pro Sitzung benachrichtigen: Für jede eindeutige Sitzung wird eine Benachrichtigung pro Richtlinienverstoß gesendet.
- Benachrichtigung pro Zeitgranularität: Sie erhalten eine Benachrichtigung für den ausgewählten Zeitraum.
- Wählen Sie in der Liste Nachrichtenvorlage die gewünschte Vorlage aus oder behalten Sie Standard bei.
- Wählen Sie unter Notification Type (Benachrichtigungstyp) die Option SYSLOG aus.
- Klicken Sie auf Hinzufügen und dann auf Übernehmen.
- Klicken Sie auf Speichern.
- Wiederholen Sie diesen Vorgang für alle Regeln in der Richtlinie, die Sie an Google SecOps weiterleiten möchten.
Richtlinie installieren
Alle neuen oder bearbeiteten Richtlinien in IBM Guardium müssen installiert werden, bevor die aktualisierten Benachrichtigungsaktionen oder Regeländerungen erfolgen können.
- Klicken Sie auf den Tab Admin Console.
- Wählen Sie im linken Navigationsbereich KonfigurationRichtlinieninstallation aus.
- Wählen Sie im Bereich Policy Installer (Richtlinien-Installer) die Richtlinie aus, die Sie im vorherigen Schritt geändert haben.
- Wählen Sie in der Drop-down-Liste Installieren und überschreiben aus.
- Es wird eine Bestätigung angezeigt, dass die Richtlinie auf allen Inspection Engines installiert wird.
- Klicken Sie auf OK.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| deviceNtDomain | about.administrative_domain | Administrative Domain der Entität |
| deviceExternalId | about.asset.asset_id | Asset-ID |
| filePath, fileHash | about.file.full_path | Vollständiger Pfad der Datei |
| _hash, fileHash | about.file.sha256 | SHA256-Hash der Datei |
| fsize | about.file.size | Größe der Datei |
| dvchost | about.hostname | Hostname der „Über“-Entität |
| dvc | about.ip | IP-Adresse der Entität |
| smac, dmac, dvcmac | about.mac | MAC-Adresse der betreffenden Einheit |
| deviceProcessName, Subject, Emne, Path | about.process.command_line | Befehlszeile des Prozesses |
| dvcpid | about.process.pid | Prozess-ID |
| filePermission | about.resource.attribute.permissions | Mit der Ressource verknüpfte Berechtigungen |
| extensions.auth.type | Authentifizierungstyp | |
| sender_ip | intermediary.ip | IP-Adresse des Vermittlers |
| Vermittler | Details zur Vermittlerentität | |
| Empfangen, generiert, Zeitstempel | metadata.collected_timestamp | Zeitstempel, wann das Ereignis erfasst wurde |
| msg, signature_name | metadata.description | Eine Beschreibung des Ereignisses |
| metadata.event_type | Ereignistyp (z.B. USER_LOGIN, NETWORK_CONNECTION) | |
| device_event_class_id, event_name, eventType | metadata.product_event_type | Produktspezifischer Ereignistyp |
| externalId | metadata.product_log_id | Produkt-Log-ID |
| metadata.product_version | Version des Produkts | |
| network.application_protocol | In der Netzwerkverbindung verwendetes Anwendungsprotokoll | |
| deviceDirection | network.direction | Richtung des Netzwerkverkehrs |
| requestMethod | network.http.method | In der Anfrage verwendete HTTP-Methode |
| requestClientApplication | network.http.user_agent | User-Agent-String aus der HTTP-Anfrage |
| Proto | network.ip_protocol | Verwendetes IP-Protokoll |
| in | network.received_bytes | Anzahl der empfangenen Byte |
| out | network.sent_bytes | Anzahl der gesendeten Byte |
| session_id | network.session_id | Sitzungs-ID für die Netzwerkverbindung |
| sntdom, Domain, Domene | principal.administrative_domain | Verwaltungsdomain des Auftraggebers |
| sourceServiceName, source_program | principal.application | Anwendung, die dem Prinzipal zugeordnet ist |
| prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname | principal.asset.hostname | Hostname des Hauptassets |
| sender_ip, src_ip, src, principal_ip, client_ip | principal.asset.ip | IP-Adresse des primären Assets |
| Group_name, Gruppenavn | principal.group.group_display_name | Anzeigename der Hauptgruppe |
| prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname | principal.hostname | Hostname des Prinzipals |
| sender_ip, src_ip, src, principal_ip, client_ip | principal.ip | IP-Adresse des Auftraggebers |
| smac | principal.mac | MAC-Adresse des Hauptnutzers |
| sourceTranslatedAddress | principal.nat_ip | NAT-IP-Adresse des Hauptkontos |
| sourceTranslatedPort | principal.nat_port | NAT-Port des Prinzipal |
| spt, client_port | principal.port | Vom Prinzipal verwendeter Port |
| sproc | principal.process.command_line | Befehlszeile des Hauptprozesses |
| spid | principal.process.pid | Prozess-ID des Prinzipal |
| spriv | principal.user.attribute.roles | Rollen, die dem Hauptnutzer zugeordnet sind |
| suser, usrName, CustomerName | principal.user.user_display_name | Anzeigename des Hauptnutzers |
| dbUser, usrName, db_user, os_user, suid, db_username | principal.user.userid | Nutzer-ID des Prinzipal |
| security_result | Details zum Sicherheitsergebnis | |
| security_result.action | Im Sicherheitsergebnis ergriffene Maßnahme | |
| act, Action_Taken | security_result.action_details | Details der ergriffenen Maßnahme |
| cat | security_result.category_details | Kategoriedetails des Sicherheitsergebnisses |
| msg_data_2, alert_description, Type, Scan_Type | security_result.description | Beschreibung des Sicherheitsergebnisses |
| operation_label, operasjon_label, permission_label, tillatelse_label, infection_channel_label, spyware_Grayware_Type_label, threat_probability_label | security_result.detection_fields | Felder, die für die Erkennung im Sicherheitsergebnis verwendet werden |
| mwProfile, alert_name | security_result.rule_name | Name der Regel, die das Sicherheitsergebnis ausgelöst hat |
| severity, event_severity | security_result.severity | Schweregrad des Sicherheitsergebnisses |
| reason, ruleDesc, appcategory, Result | security_result.summary | Zusammenfassung des Sicherheitsergebnisses |
| Spyware, Virus_Malware_Name, Unknown_Threat | security_result.threat_name | Name der erkannten Bedrohung |
| oldFilePath | src.file.full_path | Vollständiger Pfad der Quelldatei |
| oldFileSize | src.file.size | Größe der Quelldatei |
| oldFilePermission | src.resource.attribute.permissions | Berechtigungen der Quellressource |
| os_user | src.user.userid | Nutzer-ID des Quellnutzers |
| dntdom | target.administrative_domain | Verwaltungsdomain des Ziels |
| destinationServiceName, service_name | target.application | Anwendung, die dem Ziel zugeordnet ist |
| prin_host, dest_host, server_hostname | target.asset.hostname | Hostname des Ziel-Assets |
| dst_ip, dest_ip, server_ip, IPv6_Address | target.asset.ip | IP-Adresse des Ziel-Assets |
| temp_dhost, dest_host, server_hostname | target.hostname | Hostname des Ziels |
| dst_ip, dst, dest_ip, server_ip, IPv6_Address | target.ip | IP-Adresse des Ziels |
| dmac | target.mac | MAC-Adresse des Ziels |
| destinationTranslatedAddress | target.nat_ip | NAT-IP-Adresse des Ziels |
| destinationTranslatedPort | target.nat_port | NAT-Port des Ziels |
| dpt, dstPort, dest_port, server_port | target.port | Vom Ziel verwendeter Port |
| dproc, full_sql | target.process.command_line | Befehlszeile des Zielprozesses |
| File_name, Object, Objekt, Infected_Resource | target.process.file.full_path | Vollständiger Pfad der Zieldatei des Prozesses |
| dpid, full_sql_id | target.process.pid | Prozess-ID des Ziels |
| session_start | target.resource.attribute.creation_time | Erstellungszeitpunkt der Zielressource |
| additional_environment_name, additional_db_protocol_version, additional_dbProtocolVersion, additional_operation_name, additional_signature_id, resource_Type_label | target.resource.attribute.labels | Mit der Zielressource verknüpfte Labels |
| session_end | target.resource.attribute.last_update_time | Zeitpunkt der letzten Aktualisierung der Zielressource |
| db_name, database_name | target.resource.name | Name der Zielressource |
| db_type, server_type | target.resource.resource_subtype | Untertyp der Zielressource |
| target.resource.resource_type | Typ der Zielressource | |
| Anfrage | target.url | Mit dem Ziel verknüpfte URL |
| dpriv, roles | target.user.attribute.roles | Rollen, die dem Zielnutzer zugewiesen sind |
| temp_duser, CustomerName | target.user.user_display_name | Anzeigename des Zielnutzers |
| temp_duid, User, Bruker, db_username | target.user.userid | Nutzer-ID des Ziels |
| metadata.product_name | Name des Produkts | |
| metadata.vendor_name | Name des Anbieters |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten