Attivo Networks BOTsink-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Attivo Networks BOTsink-Logs mithilfe von Bindplane in Google Security Operations aufnehmen. Der Parser versucht zuerst, eingehende Protokollnachrichten als JSON zu parsen. Wenn das fehlschlägt, werden Felder mithilfe einer Reihe von Grok-Mustern aus Nachrichten im Common Event Format (CEF) extrahiert. Dabei werden verschiedene Formate und potenzielle Fehler berücksichtigt. Schließlich werden die extrahierten Felder dem UDM-Schema (Unified Data Model) zugeordnet, um die Daten mit zusätzlichem Kontext anzureichern und die Ausgabe zu standardisieren.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
  • Berechtigter Zugriff auf Attivo Networks

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei für die Datenaufnahmeauthentifizierung 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 Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

Bindplane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die 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
    

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
    

Weitere Installationsressourcen

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet

  1. Rufen Sie die Konfigurationsdatei auf:
    • Suchen Sie die Datei config.yaml. Unter Linux befindet es sich normalerweise im Verzeichnis /etc/bindplane-agent/, unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor, z. B. nano, vi oder Notepad.
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'ATTIVO'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden

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

    sudo systemctl restart bindplane-agent
    
  • Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog in Attivo Networks BOTsink konfigurieren

  1. Melden Sie sich in der Web-Benutzeroberfläche von Attiva Networks an.
  2. Klicken Sie auf Verwaltung > Verwaltung > Syslog.
  3. Klicken Sie auf Hinzufügen, um ein neues Syslog-Profil zu erstellen.
  4. Geben Sie einen aussagekräftigen Namen für das Profil ein.
  5. Wählen Sie unter Ereignisweiterleitung die Option Aktiviert aus.
  6. Geben Sie die Konfiguration für BOTsink-Standards an:
    • Sehr niedrig: Wählen Sie Informationsgehalt aus.
    • Niedrig: Wählen Sie Warnung aus.
    • Medium: Wählen Sie Benachrichtigung aus.
    • Hoch: Wählen Sie Kritisch aus.
    • Sehr hoch: Wählen Sie Notfall aus.
    • Wählen Sie unter Nachrichtenformat die Option CEF aus.
  7. Wählen Sie im Bereich „Profil“ die Option Neue Verbindung hinzufügen aus.
  8. Geben Sie die folgenden Konfigurationsdetails an:
    • Servername: Geben Sie einen aussagekräftigen Namen ein, über den Google SecOps leicht zu identifizieren ist.
    • Profilname: Wählen Sie das zuvor erstellte CEF-Syslog-Profil aus.
    • IP-Adresse: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Port: Geben Sie die Portnummer des Bindplane-Agents ein. Geben Sie beispielsweise 514 für UDP ein.
    • Protokoll: Wählen Sie UDP aus.
  9. Klicken Sie auf Verbindung testen und prüfen Sie, ob Sie die Testdaten im BindPlane-Agent und in Google SecOps erhalten.
  10. Klicken Sie auf OK.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
alertID read_only_udm.metadata.product_log_id Der Wert wird aus dem Feld alertID übernommen.
Katze read_only_udm.security_result.action_details Der Wert wird aus dem Feld cat übernommen.
CEFDeviceProduct read_only_udm.metadata.product_name Der Wert wird aus dem Feld CEFDeviceProduct übernommen.
CEFDeviceVendor read_only_udm.metadata.vendor_name Der Wert wird aus dem Feld CEFDeviceVendor übernommen.
CEFDeviceVersion read_only_udm.metadata.product_version Der Wert wird aus dem Feld CEFDeviceVersion übernommen.
CEFName Wird verwendet, um die Felder operation, result, module und descrip zu extrahieren.
CEFSeverity read_only_udm.security_result.severity Zuordnung aus dem Feld CEFSeverity gemäß diesen Regeln:
 – error oder warning: HIGH
 – (?i)critical: CRITICAL
 – (?i)notice oder (?i)MEDIUM: MEDIUM
 – information, info, Very-Low oder Low: LOW
CEFSignatureID read_only_udm.security_result.rule_id Der Wert wird aus dem Feld CEFSignatureID übernommen.
cef_version read_only_udm.additional.fields.value.string_value Der Wert wird aus dem Feld cef_version übernommen.
read_only_udm.additional.fields.key Statischer Wert: CEFVersion
descrip read_only_udm.metadata.description Der Wert wird aus dem Feld descrip übernommen.
dest_domain read_only_udm.target.domain.name Der Wert wird aus dem Feld dest_domain übernommen.
dhost read_only_udm.target.hostname Der Wert wird aus dem Feld dhost übernommen, wenn service den Wert NETBIOS hat.
dIPDomain read_only_udm.target.domain.name Wenn dest_domain leer ist, wird der Wert aus dem Feld dIPDomain übernommen.
dst read_only_udm.target.ip Der Wert wird aus dem Feld dst übernommen.
dst_os read_only_udm.target.asset.platform_software.platform_version Der Wert wird aus dem Feld dst_os übernommen.
dpt read_only_udm.target.port Der Wert wird aus dem Feld dpt übernommen und in eine Ganzzahl konvertiert.
dvc read_only_udm.principal.hostname, read_only_udm.target.ip, read_only_udm.intermediary.hostname Die Logik hängt von den Werten der Felder dvc, src und sip ab. Je nach Verfügbarkeit und Format dieser Felder kann es dem Haupthostnamen, der Ziel-IP oder dem Zwischenhostnamen zugeordnet werden.
intf read_only_udm.additional.fields.value.string_value Der Wert wird aus dem Feld intf übernommen und in einen String konvertiert.
read_only_udm.additional.fields.key Statischer Wert: intf
mitreTacticName read_only_udm.security_result.rule_name Der Wert wird aus dem Feld mitreTacticName übernommen.
mitreTechniqueId read_only_udm.security_result.detection_fields.value Der Wert wird aus dem Feld mitreTechniqueId übernommen.
read_only_udm.security_result.detection_fields.key Statischer Wert: Technique name
mitreTechniqueName read_only_udm.security_result.detection_fields.value Der Wert wird aus dem Feld mitreTechniqueName übernommen.
read_only_udm.security_result.detection_fields.key Statischer Wert: Technique name
module read_only_udm.additional.fields.value.string_value Der Wert wird aus dem Feld module übernommen.
read_only_udm.additional.fields.key Statischer Wert: module
msg read_only_udm.metadata.description Der Wert wird aus dem Feld msg übernommen, nachdem das Feld protocol extrahiert wurde.
Vorgang read_only_udm.additional.fields.value.string_value Der Wert wird aus dem Feld operation übernommen.
read_only_udm.additional.fields.key Statischer Wert: operation
Protokoll read_only_udm.network.ip_protocol Der Wert wird aus dem Feld protocol übernommen, wenn es entweder TCP oder UDP ist.
Ergebnis read_only_udm.security_result.action Wird anhand der folgenden Regeln aus dem Feld result zugeordnet:
(?i)SUCCESS oder (?i)ALLOW: ALLOW
CHALLENGE: CHALLENGE
FAILURE, DENY, SKIPPED oder RATE_LIMIT: BLOCK
rt read_only_udm.metadata.event_timestamp Der Wert wird aus dem Feld rt übernommen und als UNIX-Zeitstempel in Millisekunden geparst.
shost read_only_udm.principal.hostname Der Wert wird aus dem Feld shost übernommen.
sip read_only_udm.principal.hostname, read_only_udm.principal.ip Die Logik hängt von den Werten der Felder dvc und sip ab. Je nach Verfügbarkeit und Format dieser Felder kann es dem Haupt-Hostnamen oder der Haupt-IP-Adresse zugeordnet werden.
smac read_only_udm.principal.mac Der Wert wird aus dem Feld smac übernommen.
source read_only_udm.principal.hostname Der Wert wird aus dem Feld source übernommen.
source_domain read_only_udm.principal.domain.name Der Wert wird aus dem Feld source_domain übernommen.
src read_only_udm.principal.ip Der Wert wird aus dem Feld src übernommen.
subscriberName read_only_udm.additional.fields.value.string_value Der Wert wird aus dem Feld subscriberName übernommen.
read_only_udm.additional.fields.key Statischer Wert: Subscriber Name
Nutzer read_only_udm.principal.user.userid, read_only_udm.principal.user.user_display_name Der Wert wird nach dem Extrahieren des Nutzernamens aus dem Feld suser übernommen.
threshold read_only_udm.additional.fields.value.string_value Der Wert wird aus dem Feld threshold übernommen.
read_only_udm.additional.fields.key Statischer Wert: arp-scan-threshold
usrname read_only_udm.principal.user.email_addresses Der Wert wird aus dem Feld usrname übernommen, sofern es nicht leer ist oder den Wert N/A enthält.
vlan read_only_udm.principal.labels.value Der Wert wird aus dem Feld vlan übernommen.
read_only_udm.principal.labels.key Statischer Wert: vlan
read_only_udm.metadata.event_type Wird anhand der Werte der Felder src, smac, shost, dst, protocol, dvc und service ermittelt. Diese kann SCAN_NETWORK, NETWORK_CONNECTION, NETWORK_UNCATEGORIZED, STATUS_UPDATE oder GENERIC_EVENT sein.

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