JFrog Artifactory-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie 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 > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
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" /quiet
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.sh
Zusätzliche Installationsressourcen
- Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
Greifen Sie auf die Konfigurationsdatei zu:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet es sich unter Linux im Verzeichnis/etc/bindplane-agent/
oder unter Windows im Installationsverzeichnis. - Öffnen Sie die Datei mit einem Texteditor (z. B.
nano
,vi
oder Notepad).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so:```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 ```
Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
Ersetzen Sie
<customer_id>
durch die tatsächliche Kunden-ID.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
- Stellen Sie eine Verbindung zur Jfrog Artifactory-Instanz her.
Bearbeiten Sie die Datei
$JFROG_HOME/artifactory/var/etc/artifactory/logback.xml
mit vi:vi $JFROG_HOME/artifactory/var/etc/artifactory/logback.xml
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.
- Ersetzen Sie
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>
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