WatchGuard Fireware-Logs erfassen
Übersicht
Dieser Parser extrahiert WatchGuard Fireware-Protokolle im JSON- oder Schlüssel/Wert-Format (KV) und wandelt sie in UDM um. „Traffic“- und „Event“-Logs werden unterschiedlich verarbeitet. Dabei werden Grok- und KV-Filter verwendet, um Felder zu extrahieren und UDM zuzuordnen. Es gibt eine spezielle Logik für verschiedene msg_id
-Werte und Ereignisnamen, die Netzwerkprotokolle, Nutzeraktionen, Sicherheitsergebnisse und andere relevante Details verarbeitet. Außerdem wird eine zweite Gruppe von Syslog-Einträgen verarbeitet, aus der ähnliche Informationen extrahiert und dem UDM-Format zugeordnet werden.
Hinweise
- Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
- Sie müssen privilegierten Zugriff auf Watchguard haben.
- Achten Sie darauf, dass Sie einen Windows 2012 SP2-Host oder höher oder einen Linux-Host mit systemd haben.
- Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die 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: testNamespace 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. Verwenden Sie dazu den folgenden Befehl:
sudo systemctl bindplane restart
Syslog-Serverkonfiguration zu Watchguard hinzufügen
- Melden Sie sich in der Watchguard-Benutzeroberfläche an.
- Wählen Sie System > Logging aus.
- Klicken Sie auf den Tab Syslog-Server.
- Klicken Sie das Kästchen Protokollnachrichten an diese Syslog-Server senden an.
- Klicken Sie auf Hinzufügen.
Geben Sie im Dialogfeld Syslog-Server Werte für die Eingabeparameter an:
- IP-Adresse: Geben Sie die IP-Adresse des Servers ein.
- Port: Ändern Sie den Standardport des Syslog-Servers (514), indem Sie einen anderen Port für Ihren Server eingeben.
- Logformat: Wählen Sie im Drop-down-Menü Syslog aus.
- Optional: Beschreibung: Geben Sie eine Beschreibung für den Server ein, z. B. Google SecOps-Export.
- Optional: Zeitstempel: Wählen Sie das Kästchen aus, um das Datum und die Uhrzeit des Ereignisses auf Ihrer Firebox in die Details der Protokollnachricht aufzunehmen.
- Optional: Die Seriennummer des Geräts: Aktivieren Sie das Kästchen, um die Seriennummer der Firebox in die Details der Protokollnachricht aufzunehmen.
- Syslog-Einrichtung: Wählen Sie für jeden Typ von Log-Nachricht eine Priorität aus dem Drop-down-Menü aus. Für Syslog-Nachrichten mit hoher Priorität, z. B. Alarme, wählen Sie Local0 aus.
- Optional: Standardeinstellungen wiederherstellen: Damit werden die Standardeinstellungen wiederhergestellt.
Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
action |
security_result.action_details |
Der Wert von action aus dem Rohlog wird security_result.action_details zugewiesen. |
action |
target.labels.value |
Der Wert von action aus dem Rohlog wird target.labels.value zugewiesen. target.labels.key ist „Vorgang für Ressource“. |
arg |
target.file.full_path |
Der Wert von arg aus dem Rohlog wird target.file.full_path zugewiesen. |
app_cat_id |
about.labels.value |
Der Wert von app_cat_id aus dem Rohlog wird about.labels.value zugewiesen, wobei about.labels.key „app_cat_id“ ist. |
app_cat_name |
target.application |
Wird in Kombination mit app_name verwendet, um den Wert von target.application zu bilden (z.B. „Google – Webservices“). |
app_id |
about.labels.value |
Der Wert von app_id aus dem Rohlog wird about.labels.value zugewiesen, wobei about.labels.key „app_id“ ist. |
app_name |
target.application |
Wird in Kombination mit app_cat_name verwendet, um den Wert von target.application zu bilden (z.B. „Google – Webservices“). |
cats |
security_result.category_details |
Der Wert von cats aus dem Rohlog wird security_result.category_details zugewiesen. |
cert_issuer |
network.tls.server.certificate.issuer |
Der Wert von cert_issuer aus dem Rohlog wird network.tls.server.certificate.issuer zugewiesen. |
cert_subject |
network.tls.server.certificate.subject |
Der Wert von cert_subject aus dem Rohlog wird network.tls.server.certificate.subject zugewiesen. |
cn |
network.tls.server.certificate.subject |
Der Wert von cn aus dem Rohlog wird network.tls.server.certificate.subject zugewiesen. |
conn_action |
security_result.action_details |
Der Wert von conn_action aus dem Rohlog wird security_result.action_details zugewiesen. |
content_type |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
description |
metadata.description |
Der Wert von description , der aus dem Rohlog abgeleitet wird, wird metadata.description zugewiesen. |
dhcp_type |
network.dhcp.type |
Der Wert von dhcp_type aus dem Rohlog wird dem entsprechenden DHCP-Typ in network.dhcp.type zugeordnet (z.B. „REQUEST“, „ACK“). |
dst_host |
target.hostname |
Der Wert von dst_host aus dem Rohlog wird target.hostname zugewiesen. |
dst_ip |
target.ip |
Der Wert von dst_ip aus dem Rohlog wird target.ip zugewiesen. |
dst_mac |
target.mac |
Der Wert von dst_mac aus dem Rohlog wird target.mac zugewiesen. |
dst_port |
target.port |
Der Wert von dst_port aus dem Rohlog wird target.port zugewiesen. |
dst_user |
target.user.user_display_name |
Der Wert von dst_user aus dem Rohlog wird target.user.user_display_name zugewiesen. |
dstname |
target.administrative_domain |
Der Wert von dstname aus dem Rohlog wird target.administrative_domain zugewiesen. |
duration |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
elapsed_time |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
endpoint |
intermediary.labels.value |
Der Wert von endpoint aus dem Rohlog wird intermediary.labels.value zugewiesen, wobei intermediary.labels.key „Gateway-Endpoint“ ist. |
event_name |
principal.application |
Der Wert von event_name aus dem Rohlog wird principal.application zugewiesen. |
firewall_id |
intermediary.asset_id |
Der Wert von firewall_id aus dem Rohlog wird mit „Firewall ID: “ vorangestellt und intermediary.asset_id zugewiesen. |
firewall_name |
principal.asset_id |
Der Wert von firewall_name aus dem Rohlog wird mit „Firewall: “ vorangestellt und principal.asset_id zugewiesen. |
firewallname |
intermediary.hostname |
Der Wert von firewallname aus dem Rohlog wird intermediary.hostname zugewiesen. |
firewallname |
principal.hostname |
Der Wert von firewallname aus dem Rohlog wird principal.hostname zugewiesen. |
fqdn_dst_match |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
geo |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
geo_dst |
target.location.country_or_region |
Der Wert von geo_dst aus dem Rohlog wird target.location.country_or_region zugewiesen. |
geo_src |
principal.location.country_or_region |
Der Wert von geo_src aus dem Rohlog wird principal.location.country_or_region zugewiesen. |
host |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
ike_policy |
security_result.rule_id |
Der Wert von ike_policy aus dem Rohlog wird security_result.rule_id zugewiesen. |
ike_policy_version |
security_result.rule_version |
Der Wert von ike_policy_version aus dem Rohlog wird security_result.rule_version zugewiesen. |
intermediary_host |
intermediary.hostname |
Der Wert von intermediary_host aus dem Rohlog wird intermediary.hostname zugewiesen. |
ipaddress |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
ipsec_policy |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
ipsec_policy_version |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
keyword |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
line |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
log_message |
metadata.description |
Der Wert von log_message aus dem Rohlog wird metadata.description zugewiesen, wenn keine anderen spezifischeren Beschreibungen verfügbar sind. |
log_reason |
security_result.summary |
Der Wert von log_reason aus dem Rohlog wird security_result.summary zugewiesen. |
log_type |
metadata.log_type |
Der Wert von log_type aus dem Rohlog wird metadata.log_type zugewiesen. Immer auf „WATCHGUARD“ festgelegt. |
msg |
security_result.summary |
Der Wert von msg aus dem Rohlog wird security_result.summary zugewiesen. |
msg_id |
metadata.product_event_type |
Der Wert von msg_id aus dem Rohlog wird metadata.product_event_type zugewiesen. |
new_action |
security_result.action_details |
Wird mit conn_action verwendet, um den Wert von security_result.action_details zu bilden (z.B. „ProxyReplace: IP protocol - HTTPS-Client.DPI-Off“). |
op |
network.http.method |
Der Wert von op aus dem Rohlog wird network.http.method zugewiesen. |
path |
target.url |
Der Wert von path aus dem Rohlog wird target.url zugewiesen. |
pid |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
policy_name |
intermediary.resource.name |
Der Wert von policy_name aus dem Rohlog wird intermediary.resource.name zugewiesen. |
policy_name |
security_result.rule_name |
Der Wert von policy_name aus dem Rohlog wird security_result.rule_name zugewiesen. |
policyname_label.value |
security_result.rule_labels.value |
Der Wert von policy_name aus dem Rohlog wird security_result.rule_labels.value zugewiesen, wobei security_result.rule_labels.key „PolicyName“ ist. |
prin_host |
principal.hostname |
Der Wert von prin_host aus dem Rohlog wird principal.hostname zugewiesen. |
proc_id |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
protocol |
network.ip_protocol |
Der Wert von protocol aus dem Rohlog, in Großbuchstaben umgewandelt, wird network.ip_protocol zugewiesen. Sonderbehandlung für „EXTERNAL ICMP“, das „ICMP“ zugeordnet wird. |
proxy_act |
security_result.rule_id |
Der Wert von proxy_act aus dem Rohlog wird security_result.rule_id zugewiesen. |
proxy_act |
security_result.rule_name |
Der Wert von proxy_act aus dem Rohlog wird security_result.rule_name zugewiesen. |
query_name |
network.dns.questions.name |
Der Wert von query_name aus dem Rohlog wird network.dns.questions.name zugewiesen. |
query_type |
network.dns.questions.type |
Der Wert von query_type aus dem Rohlog wird network.dns.questions.type zugewiesen. Spezielle Verarbeitung für numerische Abfragetypen und Zuordnung zu Standard-DNS-Abfragetypen. |
rc |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
reason |
security_result.summary |
Der Wert von reason aus dem Rohlog wird security_result.summary zugewiesen. |
record_type |
network.dns.answers.type |
Der Wert von record_type aus dem Rohlog wird dem entsprechenden DNS-Eintragstyp in network.dns.answers.type zugeordnet. |
redirect_action |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
reputation |
additional.fields.value.string_value |
Der Wert von reputation aus dem Rohlog wird additional.fields.value.string_value zugewiesen, wobei additional.fields.key „reputation“ ist. |
response |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
response_code |
network.dns.response_code |
Der Wert von response_code aus dem Rohlog wird dem entsprechenden DNS-Antwortcode in network.dns.response_code zugeordnet. |
route_type |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
rule_name |
security_result.rule_name |
Der Wert von rule_name aus dem Rohlog wird security_result.rule_name zugewiesen. |
rcvd_bytes |
network.received_bytes |
Der Wert von rcvd_bytes aus dem Rohlog wird network.received_bytes zugewiesen. |
sent_bytes |
network.sent_bytes |
Der Wert von sent_bytes aus dem Rohlog wird network.sent_bytes zugewiesen. |
server_ssl |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
severity |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
sig_vers |
network.tls.server.certificate.version |
Der Wert von sig_vers aus dem Rohlog wird network.tls.server.certificate.version zugewiesen. |
signature_cat |
additional.fields.value.string_value |
Der Wert von signature_cat aus dem Rohlog wird additional.fields.value.string_value zugewiesen, wobei additional.fields.key „signature_cat“ ist. |
signature_id |
additional.fields.value.string_value |
Der Wert von signature_id aus dem Rohlog wird additional.fields.value.string_value zugewiesen, wobei additional.fields.key „signature_id“ ist. |
signature_name |
additional.fields.value.string_value |
Der Wert von signature_name aus dem Rohlog wird additional.fields.value.string_value zugewiesen, wobei additional.fields.key „signature_name“ ist. |
sni |
network.tls.client.server_name |
Der Wert von sni aus dem Rohlog wird network.tls.client.server_name zugewiesen. |
src_ctid |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
src_host |
principal.hostname |
Der Wert von src_host aus dem Rohlog wird principal.hostname zugewiesen. |
src_ip |
principal.ip |
Der Wert von src_ip aus dem Rohlog wird principal.ip zugewiesen. |
src_ip_nat |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
src_mac |
principal.mac |
Der Wert von src_mac aus dem Rohlog wird principal.mac zugewiesen. |
src_port |
principal.port |
Der Wert von src_port aus dem Rohlog wird principal.port zugewiesen. |
src_user |
principal.user.user_display_name |
Der Wert von src_user aus dem Rohlog wird principal.user.user_display_name zugewiesen. |
src_user_name |
principal.user.user_display_name |
Der Wert von src_user_name aus dem Rohlog wird principal.user.user_display_name zugewiesen. |
src_vpn_ip |
principal.ip |
Der Wert von src_vpn_ip aus dem Rohlog wird principal.ip zugewiesen. |
srv_ip |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
srv_port |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
ssl_offload |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
tcp_info |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
time |
metadata.event_timestamp.seconds , timestamp.seconds |
Der Wert von time aus dem Rohlog wird geparst und zum Ausfüllen von metadata.event_timestamp.seconds und timestamp.seconds verwendet. |
time1 |
metadata.event_timestamp.seconds , timestamp.seconds |
Der Wert von time1 aus dem Rohlog wird geparst und zum Ausfüllen von metadata.event_timestamp.seconds und timestamp.seconds verwendet. |
tls_profile |
about.labels.value |
Der Wert von tls_profile aus dem Rohlog wird about.labels.value zugewiesen, wobei about.labels.key „tls_profile“ ist. |
tls_version |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
user_name |
principal.user.userid , principal.user.user_display_name |
Der Wert von user_name aus dem Rohlog wird je nach Kontext principal.user.userid oder principal.user.user_display_name zugewiesen. |
user_type |
Nicht zugeordnet | Nicht dem IDM-Objekt in den bereitgestellten UDM-Beispielen zugeordnet. |
(–) | intermediary.resource.type |
Immer auf „ACCESS_POLICY“ festgelegt. |
(–) | metadata.event_type |
Wird von der Parserlogik basierend auf msg_id , log_type , event_name und anderen Feldern bestimmt. Kann NETWORK_CONNECTION , SERVICE_MODIFICATION , NETWORK_SMTP , NETWORK_DNS , NETWORK_HTTP , USER_LOGIN , USER_LOGOUT , USER_RESOURCE_UPDATE_CONTENT , RESOURCE_PERMISSIONS_CHANGE , RESOURCE_CREATION , GENERIC_EVENT , STATUS_UPDATE oder USER_UNCATEGORIZED sein. |
(–) | metadata.product_name |
Immer auf „Fireware“ festgelegt. |
(–) | metadata.vendor_name |
Immer auf „Watchguard“ eingestellt. |
(–) | security_result.action |
Wird durch die Parserlogik auf Grundlage von disposition bestimmt. Kann „ALLOW“ oder „BLOCK“ sein. |
(–) | extensions.auth.type |
Für Nutzeranmelde- und ‑abmeldeereignisse auf „AUTHTYPE_UNSPECIFIED“ und für Netzwerkereignisse im Zusammenhang mit VPNs auf „VPN“ festgelegt. |
(–) | network.application_protocol |
Wird durch die Parserlogik basierend auf msg_id und event_name bestimmt. Kann „DNS“, „DHCP“, „HTTP“ oder „HTTPS“ sein. |
(–) | network.dns.questions.type |
Auf 1 für Abfragen von A-Einträgen festlegen. |
(–) | target.labels.key |
Auf „Aktion über Ressource“ festgelegt, wenn action target.labels.value zugeordnet ist. |
(–) | intermediary.labels.key |
Auf „Firewall Member Name“ (Firewall-Mitgliedsname) festgelegt, wenn prin_host intermediary.labels.value zugeordnet ist. |
(–) | intermediary.labels.key |
Auf „Gateway-Endpoint“ (Gateway-Endpunkt) festgelegt, wenn endpoint intermediary.labels.value zugeordnet ist. |
(–) | principal.labels.key |
Legen Sie „Gateway“ fest, wenn gateway principal.labels.value zugeordnet ist. |
(–) | target.labels.key |
Legen Sie „Gateway“ fest, wenn gateway target.labels.value zugeordnet ist. |
(–) | principal.labels.key |
Legen Sie „state“ fest, wenn status principal.labels.value zugeordnet ist. |
(–) | target.labels.key |
Auf „Gateway-Status“ festgelegt, wenn status target.labels.value zugeordnet ist. |
(–) | additional.fields.key |
Legen Sie „signature_name“, „signature_cat“, „signature_id“ oder „reputation“ fest, wenn die entsprechenden Werte aus dem Rohlog zugeordnet werden. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten