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, das Monitoring von Datenbankaktivitäten und Compliance-Berichte.
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 IBM Guardium Collector
- Wenn der Agent hinter einem Proxy ausgeführt wird, 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 von verschlüsseltem Syslog (optional)
Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Erfassungs-Agents auf.
- Laden Sie die Authentifizierungsdatei für die Datenaufnahme 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.
Windows-Installation
- Ö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 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 im Installationsanleitung für den Bindplane-Agenten.
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/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 Überwachungsadresse
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-collectorPrüfen Sie die Logs auf Fehler:
sudo journalctl -u observiq-otel-collector -f
Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agenten unter Windows neu zu starten:
Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorDienstkonsole:
- 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
IBM Guardium-Syslog-Weiterleitung 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 bei 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 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 Remote-Syslog-Empfänger verwendet wird.
- Melden Sie sich in der 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 Guardium-Appliance-GUI als Nutzer mit Administratorberechtigungen an.
- Rufen Sie die Verwaltungskonsole > 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 Policy Finder eine vorhandene Richtlinie aus und klicken Sie auf Regeln bearbeiten.
- Klicken Sie auf Diese Regel einzeln bearbeiten.
- Die Definition der Zugriffsregel 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ägliche Benachrichtigung: Sie erhalten eine Benachrichtigung, wenn an diesem Tag zum ersten Mal ein Richtlinienverstoß auftritt.
- Einmal pro Sitzung benachrichtigen: Pro Richtlinienverstoß wird eine Benachrichtigung für eine einzelne Sitzung ausgegeben.
- Benachrichtigung pro zeitlichem Detaillierungsgrad: 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 die Option 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
Neue oder bearbeitete Richtlinien in IBM Guardium müssen installiert werden, bevor die aktualisierten Benachrichtigungsaktionen oder Regeländerungen wirksam werden können.
- Klicken Sie auf den Tab Verwaltungskonsole.
- Wählen Sie im linken Navigationsbereich Konfiguration> Richtlinieninstallation 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 „Über“-Entität |
| deviceExternalId | about.asset.asset_id | Asset-Kennung |
| 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, auf die sich die Anfrage bezieht |
| smac, dmac, dvcmac | about.mac | MAC-Adresse der Entität, auf die sich die Information bezieht |
| 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 zum Vermittler | |
| Received, Generated, timestamp | metadata.collected_timestamp | Zeitstempel, zu dem 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 | Produktprotokoll-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 | Verwaltungsbereich 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 Haupt-Assets |
| sender_ip, src_ip, src, principal_ip, client_ip | principal.asset.ip | IP-Adresse des Haupt-Assets |
| Group_name, Gruppenavn | principal.group.group_display_name | Anzeigename der Prinzipalgruppe |
| prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname | principal.hostname | Hostname des Hauptkontos |
| sender_ip, src_ip, src, principal_ip, client_ip | principal.ip | IP-Adresse des Auftraggebers |
| smac | principal.mac | MAC-Adresse des Hauptkontos |
| sourceTranslatedAddress | principal.nat_ip | NAT-IP-Adresse des Auftraggebers |
| sourceTranslatedPort | principal.nat_port | NAT-Port des Prinzipal |
| spt, client_port | principal.port | Vom Hauptkonto verwendeter Port |
| sproc | principal.process.command_line | Befehlszeile des Hauptprozesses |
| spid | principal.process.pid | Prozess-ID des Principals |
| spriv | principal.user.attribute.roles | Rollen, die dem Hauptnutzer zugewiesen 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 Hauptkontos |
| security_result | Details zum Sicherheitsergebnis | |
| security_result.action | Im Sicherheitsergebnis ergriffene Maßnahme | |
| act, Action_Taken | security_result.action_details | Details zur 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 | Administratordomain 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 | Erstellungszeit 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 | |
query |
additional.fields |
Aus Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten