BlueCat DDI-Logs erfassen
Dieser Parser verarbeitet sowohl LEEF- als auch Nicht-LEEF-formatierte Syslog-Nachrichten von Bluecat DDI (DNS, DHCP, IPAM). Felder werden aus verschiedenen Protokolltypen (z. B. „named“, „dhcpd“, „audit“ und „CRON“) mithilfe von Grok-Mustern und bedingter Logik extrahiert, basierend auf dem Protokolltyp dem UDM zugeordnet und DNS-, DHCP- oder nutzerbezogene Felder entsprechend ausgefüllt.
Hinweise
- Prüfen Sie, ob Sie eine Google Security Operations-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 Bluecat 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.
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
- Führen Sie für die Windows-Installation das folgende Skript aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Führen Sie für die Linux-Installation das folgende Skript aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Weitere Installationsoptionen finden Sie in dieser Installationsanleitung.
Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden
- Greifen Sie auf den Computer zu, auf dem BindPlane installiert ist.
Bearbeiten Sie die Datei
config.yaml
so:receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: bluceat_ddi raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen:
sudo systemctl restart bindplane
Syslog auf Bluecat DDI konfigurieren
- Melden Sie sich im Bluecat Address Manager (BAM) an.
- Wählen Sie im Menü Konfiguration eine Konfiguration aus.
- Wählen Sie den Tab Server aus.
- Klicken Sie unter Server auf den Namen eines BDDS.
- Der Tab Details für den Server sollte geöffnet werden.
- Klicken Sie auf das Menü Servername.
- Wählen Sie Service Configuration (Dienstkonfiguration) aus.
- Klicken Sie auf Diensttyp> Syslog. Der Address Manager fragt den Server ab und gibt die aktuellen Werte zurück.
- Legen Sie unter Allgemein die folgenden Werte fest:
- Syslog-Server: Die IP-Adresse Ihres Syslog-Servers (Bindplane).
- Syslog-Port: Der Port Ihres Syslog-Servers (Bindplane).
- Syslog-Transport: Wählen Sie entweder TCP oder UDP aus (je nach Bindplane-Konfiguration).
- Klicken Sie auf Hinzufügen.
- Der neu hinzugefügte Syslog-Server wird in der Liste angezeigt.
- Klicken Sie auf Aktualisieren.
Syslog-Einstellungen in BlueCat DDI konfigurieren
- Melden Sie sich im BlueCat Address Manager an.
- Gehen Sie zu Konfiguration > Systemeinstellungen > Protokollierung.
- Suchen Sie in den Einstellungen für die Protokollierung nach dem Abschnitt Syslog-Server.
- Klicken Sie auf Syslog-Server hinzufügen.
- Geben Sie die erforderlichen Werte an:
- Servername: Ein eindeutiger Name für den Syslog-Server, z. B. BindplaneServer.
- IP-Adresse: Die IP-Adresse oder der Hostname des Syslog-Servers.
- Protokoll: Wählen Sie TCP, UDP (Standard) oder TLS aus (basierend auf Ihrer Syslog-Konfiguration).
- Port: Geben Sie den Port für die Syslog-Kommunikation an (Standard: 514 für UDP/TCP, 6514 für TLS).
- Konfigurieren Sie die Protokollierungsebene. Wählen Sie die entsprechende Stufe entsprechend Ihren Anforderungen aus. Folgende Optionen sind verfügbar:
- Notfall: Kritische Probleme, die sofort behoben werden müssen
- Warnung: Warnungen, die sofortige Maßnahmen erfordern
- Kritisch: kritische Bedingungen
- Fehler: Fehlerereignisse
- Warnung: Ereignisse vom Typ „Warnung“
- Hinweis: normale, aber wichtige Ereignisse
- Info: Mitteilungen
- Debug: Detaillierte Debugging-Informationen
- Optional: Fügen Sie eine benutzerdefinierte Syslog-Einrichtung hinzu, um Logs zu kategorisieren, z. B. local0 oder local1.
- Speichern Sie die Konfiguration.
Syslog-Einstellungen auf DDI-Appliances anwenden
- Gehen Sie zu Server > Server verwalten.
- Wählen Sie die DNS-/DHCP-Server aus, auf denen das Syslog aktiviert werden soll.
- Klicken Sie auf Server bearbeiten.
- Im Bereich Logging:
- Wählen Sie den Syslog-Server aus, den Sie zuvor konfiguriert haben.
- Aktivieren Sie das Logging für bestimmte Dienste, z. B. DNS-Abfragen oder DHCP-Leases.
- Speichern Sie die Änderungen.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
client_ip |
network.dhcp.ciaddr |
Aus der DHCPREQUEST-Nachricht extrahiert. Wird nur für DHCPREQUEST-Nachrichten ausgefüllt. |
client_mac |
principal.mac |
Aus DHCP-Nachrichten extrahiert (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE). |
client_mac |
target.mac |
Aus DHCP-Nachrichten (DHCPOFFER, DHCPNAK) extrahiert. |
client_mac |
network.dhcp.chaddr |
Aus DHCP-Nachrichten extrahiert (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE). |
cmd |
target.process.command_line |
Aus CRON-Logs extrahiert. Kaufmännische Und-Zeichen und Leerzeichen werden entfernt. |
description |
metadata.description |
Aus verschiedenen Logtypen extrahiert, um zusätzlichen Kontext zu liefern. |
description |
metadata.description |
Aus syslog-ng-Logs extrahiert, um zusätzlichen Kontext bereitzustellen. |
file_path |
target.file.full_path |
Aus verschiedenen Logtypen extrahiert, die den vollständigen Pfad zu einer Datei darstellen. |
file_path |
target.process.file.full_path |
Aus agetty-Logs extrahiert und stellt den vollständigen Pfad zu einer Datei dar, die mit einem Prozess verknüpft ist. |
inner_message |
metadata.description |
Wird als Beschreibung für GENERIC_EVENTs verwendet, wenn der Vorgangstyp nicht definiert ist, und für MEM-MON-Logs. |
metadata.event_type |
Wird vom Parser basierend auf dem Logtyp und ‑inhalt bestimmt. Mögliche Werte sind: NETWORK_DNS, NETWORK_DHCP, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE, NETWORK_CONNECTION. Immer „BLUECAT_DDI“. | |
metadata.vendor_name |
Immer „Bluecat Networks“. | |
metadata.product_name |
Immer „Bluecat DDI“. | |
metadata.event_timestamp |
Wird aus dem geparsten Zeitstempel des Logeintrags kopiert. | |
network.protocol |
Auf „DNS“ für DNS-Logs und auf „DHCP“ für DHCP-Logs festlegen. | |
network.dns.answers |
Ein Array mit Antwortdatensätzen. Das Feld data in answers wird mit dem target_ip ausgefüllt, falls vorhanden. |
|
network.dns.questions |
Ein Array mit Frage-Datensätzen. Das Feld name wird mit dem target_host gefüllt, das Feld type wird aus den Feldern query_type oder question_type abgeleitet und das Feld class wird aus dem Feld qclass abgeleitet. |
|
network.dns.recursive |
Wird auf „true“ gesetzt, wenn rec_flag „+“ ist. |
|
qclass |
network.dns.questions.class |
Aus DNS-Abfragelogs extrahiert und mithilfe der Datei dns_query_class_mapping.include einem Ganzzahlwert zugeordnet. |
query_type |
network.dns.questions.type |
Aus DNS-Abfragelogs extrahiert und mithilfe der Datei dhcp_qtype_mapping.include einem Ganzzahlwert zugeordnet. |
relay_ip |
intermediary.ip |
Aus DNS- und DHCP-Protokollen extrahiert. Stellt die IP-Adresse eines Relay- oder Zwischenservers dar. |
server_host |
target.hostname |
Aus verschiedenen Logtypen extrahiert, die den Hostnamen des Servers darstellen. |
server_host |
network.dhcp.sname |
Aus DHCP-Logs extrahiert und repräsentiert den Hostnamen des Servers. |
server_host |
principal.hostname |
Aus systemd, agetty und einigen Audit-Logs extrahiert, die den Hostnamen des Hauptkontos darstellen. |
server_ip |
target.ip |
Aus Logs im LEEF-Format extrahiert und stellt die IP-Adresse des Servers dar. |
src_ip |
principal.ip |
Aus verschiedenen Logtypen extrahiert, die die Quell-IP-Adresse darstellen. |
src_ip |
network.dhcp.yiaddr |
Wird in DHCPINFORM-Nachrichten verwendet, um das Feld „yiaddr“ auszufüllen. |
src_port |
principal.port |
Aus verschiedenen Logtypen extrahiert, die den Quellport darstellen. |
src_user |
principal.user.userid |
Aus CRON- und Audit-Logs extrahiert und stellt die Nutzer-ID dar. |
target_host |
target.hostname |
Aus verschiedenen Logtypen extrahiert, die den Zielhostnamen darstellen. |
target_host |
network.dns.questions.name |
Wird in DNS-Logs verwendet, um den Namen der Frage einzufügen. |
target_ip |
target.ip |
Aus verschiedenen Logtypen extrahiert und stellt die Ziel-IP-Adresse dar. |
target_ip |
network.dhcp.ciaddr |
Wird in BOOTREQUEST-Nachrichten verwendet, um das Feld „ciaddr“ auszufüllen. |
target_ip |
network.dns.answers.data |
Wird in DNS-Protokollen verwendet, um die Antwortdaten zu füllen. |
tgt_port |
target.port |
Aus syslog-ng-Logs extrahiert und stellt den Zielport dar. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten