JFrog Artifactory-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Jfrog Artifactory-Logs mit BindPlane in Google Security Operations aufnehmen. Der Parser verarbeitet zwei verschiedene JFrog Artifactory-Logformate. Es verwendet Grok-Muster, um Felder aus den einzelnen Formaten zu identifizieren und zu extrahieren. Anschließend werden diese Felder der UDM zugeordnet. Dabei werden JSON-Nutzlasten in einem der Formate verarbeitet und Logs, die keinem der Formate entsprechen, werden verworfen.

Hinweise

  • Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
  • Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
  • Prüfen Sie, ob Sie privilegierten Zugriff auf die Jfrog Artifactory-Instanz haben.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie 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 > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

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
    

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
    

Zusätzliche Installationsressourcen

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

  1. Greifen Sie auf die Konfigurationsdatei zu:

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

    ```yaml
    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: 'JFROG_ARTIFACTORY'
                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 Kunden-ID.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.

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 bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog für JFrog Artifactory konfigurieren

  1. Stellen Sie eine Verbindung zur Jfrog Artifactory-Instanz her.
  2. Bearbeiten Sie die Datei $JFROG_HOME/artifactory/var/etc/artifactory/logback.xml mit vi:

    vi $JFROG_HOME/artifactory/var/etc/artifactory/logback.xml
    
  3. Fügen Sie der Datei den folgenden Syslog-Appender hinzu:

    <appender name="SYSLOG" class= "ch.qos.logback.classic.net.SyslogAppender">
        <syslogHost>Bindplane-Agent-IP</syslogHost>
        <facility>SYSLOG</facility>
        <suffixPattern>[%thread] %logger %msg</suffixPattern>
    </appender>
    
    • Ersetzen Sie Bindplane-Agent-IP in syslogHost durch die tatsächliche IP-Adresse, die für den BindPlane-Agenten konfiguriert ist.
  4. Fügen Sie der Datei zusätzliche Konfigurationsdaten hinzu:

    <root>
    < level value="debug"/>
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
    <appender-ref ref="SYSLOG"/>
    </root>
    
  5. Speichern Sie die Datei, indem Sie auf der Tastatur auf die Taste ESC (Esc) klicken und :wq eingeben.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Aktion read_only_udm.metadata.product_event_type Der Wert von action aus dem Rohlog wird in Kleinbuchstaben umgewandelt und zugeordnet.
datetime read_only_udm.metadata.event_timestamp Das Feld datetime des Rohlogs wird geparst und in einen Zeitstempel umgewandelt.
hostname read_only_udm.principal.hostname Direkt aus dem Feld hostname des Rohlogs zugeordnet.
id read_only_udm.metadata.product_log_id Direkt aus dem Feld id des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
ip read_only_udm.principal.ip Direkt aus dem Feld ip des Rohlogs zugeordnet. Fest codiert auf „USER_RESOURCE_ACCESS“. Fest codiert auf „JFROG_ARTIFACTORY“. Fest codiert auf „Artifactory“. Fest codiert auf „JFROG“.
Inhaber read_only_udm.principal.user.userid Wird zugeordnet, wenn username nicht im Rohlog (aus der JSON-Nutzlast) vorhanden ist.
repo_name read_only_udm.target.resource.name Direkt aus dem Feld repo_name des Rohlogs zugeordnet.
repo_type read_only_udm.target.resource.resource_subtype Direkt aus dem Feld repo_type des Rohlogs zugeordnet.
Bereich read_only_udm.target.resource.name Direkt aus dem Feld scope des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
Bereich read_only_udm.target.resource.resource_subtype Fest codiert auf „scope“, wenn scope im Rohlog vorhanden ist.
sequenceId read_only_udm.metadata.product_log_id Anführungszeichen werden aus dem Feld sequenceId entfernt und dann zugeordnet.
subject read_only_udm.about.labels.key Fest codiert auf „subject“, wenn subject im Rohlog vorhanden ist.
subject read_only_udm.about.labels.value Direkt aus dem Feld subject des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
type read_only_udm.metadata.product_event_type Direkt aus dem Feld type des Rohlogs (aus der JSON-Nutzlast) zugeordnet.
Nutzer read_only_udm.principal.user.userid Direkt aus dem Feld user des Rohlogs zugeordnet.
Nutzername read_only_udm.principal.user.userid Direkt aus dem Feld username des Rohlogs (aus der JSON-Nutzlast) zugeordnet.

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