IBM Guardium-Logs erfassen

Unterstützt in:

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

  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 wird.

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-Agenten für die Aufnahme von Syslog-Daten und das 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

  • Ersetzen Sie den gesamten Inhalt von config.yaml durch 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 udplog für UDP-Syslog (am häufigsten für Guardium).
    • Verwenden Sie bei Bedarf tcplog für TCP-Syslog.
    • Die Listen-Adresse 0.0.0.0:514 überwacht alle Schnittstellen auf Port 514.
  • 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: 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
    • log_type: Muss GUARDIUM sein.
    • ingestion_labels: Optionale Labels im YAML-Format.

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

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

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

        sudo systemctl status observiq-otel-collector
      
    2. Logs 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-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.

      4. Prüfen Sie, ob der Dienst ausgeführt wird:

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

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

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.

  1. Melden Sie sich mit SSH als CLI-Nutzer beim IBM Guardium Collector an.
  2. 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 udp
      
    • Für TCP-Syslog:

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcp
      
    • Fü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_IP durch die IP-Adresse des Hosts, auf dem der Bindplane-Agent installiert ist.
  3. Prüfen Sie die Konfiguration mit folgendem Befehl:

    show remotelog
    

    In 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.

  1. Rufen Sie das öffentliche Zertifikat im PEM-Format von der Zertifizierungsstelle ab, die von Ihrem Syslog-Remoteempfänger verwendet wird.
  2. Melden Sie sich über die CLI auf dem Guardium Collector an.
  3. Geben Sie den folgenden Befehl ein:

    store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp
    
  4. Fügen Sie das CA-Zertifikat im PEM-Format ein, einschließlich der BEGIN- und END-Zeilen, und drücken Sie dann Ctrl+D.

  5. 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:

  1. Melden Sie sich in der GUI der Guardium-Appliance als Nutzer mit Administratorberechtigungen an.
  2. Rufen Sie die Admin-Konsole > Konfiguration > Globales Profil auf.
  3. Bearbeiten Sie im Bereich Nachrichtenvorlage die Vorlage mit dem gewünschten Format.
  4. 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

  1. Melden Sie sich in der GUI der Guardium-Appliance an.
  2. Klicken Sie auf den Tab Tools.
  3. Wählen Sie im linken Navigationsbereich Policy Builder aus.
  4. Wählen Sie im Bereich Richtlinienfinder eine vorhandene Richtlinie aus und klicken Sie auf Regeln bearbeiten.
  5. Klicken Sie auf Diese Regel einzeln bearbeiten.
  6. Die Zugriffsregeldefinition wird angezeigt.
  7. Klicken Sie auf Aktion hinzufügen.
  8. 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.
  9. Wählen Sie in der Liste Nachrichtenvorlage die gewünschte Vorlage aus oder behalten Sie Standard bei.
  10. Wählen Sie unter Notification Type (Benachrichtigungstyp) die Option SYSLOG aus.
  11. Klicken Sie auf Hinzufügen und dann auf Übernehmen.
  12. Klicken Sie auf Speichern.
  13. 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.

  1. Klicken Sie auf den Tab Admin Console.
  2. Wählen Sie im linken Navigationsbereich KonfigurationRichtlinieninstallation aus.
  3. Wählen Sie im Bereich Policy Installer (Richtlinien-Installer) die Richtlinie aus, die Sie im vorherigen Schritt geändert haben.
  4. Wählen Sie in der Drop-down-Liste Installieren und überschreiben aus.
  5. Es wird eine Bestätigung angezeigt, dass die Richtlinie auf allen Inspection Engines installiert wird.
  6. 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