Cato Networks-Protokolle erfassen
Parserversion: 6.0
In diesem Dokument wird beschrieben, wie Sie Cato Networks-Logs mit AWS S3 in Google Security Operations aufnehmen. Der Parser initialisiert zuerst eine Reihe von Feldern mit leeren Strings und parst dann JSON-formatierte Cato Networks-Netzwerkprotokolle. Anschließend werden die extrahierten Felder den entsprechenden Feldern im Unified Data Model (UDM) von Google SecOps zugeordnet. Dabei werden verschiedene Ereignistypen verarbeitet und die Daten mit zusätzlichem Kontext angereichert.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf AWS S3, AWS IAM
- Privilegierter Zugriff auf Cato Networks
AWS IAM und S3-Bucket konfigurieren
- Erstellen Sie einen Amazon S3-Bucket gemäß diesem Nutzerhandbuch: Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung.
- Erstellen Sie einen Nutzer gemäß diesem Nutzerhandbuch: IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Bereich Access Keys (Zugriffsschlüssel) auf Create Access Key (Zugriffsschlüssel erstellen).
- Wählen Sie Drittanbieterdienst als Anwendungsfall aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungs-Tag hinzu.
- Klicken Sie auf Zugriffsschlüssel erstellen.
- Klicken Sie auf CSV-Datei herunterladen, um den Zugriffsschlüssel und den geheimen Zugriffsschlüssel zur späteren Verwendung zu speichern.
- Klicken Sie auf Fertig.
- Wählen Sie den Tab Berechtigungen aus.
- Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
- Wählen Sie Berechtigungen hinzufügen aus.
- Wählen Sie Richtlinien direkt anhängen aus.
- Suchen Sie nach der Richtlinie AmazonS3FullAccess und wählen Sie sie aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Berechtigungen hinzufügen.
Neue IAM-Richtlinie für S3-Bucket konfigurieren, um Datenuploads zu ermöglichen
- Klicken Sie unter Richtlinie auf den Tab JSON.
Bearbeiten Sie die folgende JSON-Datei, ersetzen Sie
<bucket name>durch Ihren S3-Bucket und fügen Sie sie dann in den Tab ein.{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket name>/*" ] } ] }Klicken Sie auf Richtlinie erstellen.
Neue IAM-Rolle mit dem ARN von Cato konfigurieren
Wählen Sie auf dem Bildschirm Vertrauenswürdige Entität auswählen die Option Benutzerdefinierte Vertrauensrichtlinie aus und fügen Sie der Rolle den ARN von Cato hinzu: arn:aws:iam::428465470022:role/cato-events-integration
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::428465470022:role/cato-events-integration" }, "Action": "sts:AssumeRole" } ] }Klicken Sie auf Weiter.
Hängen Sie auf dem Bildschirm Berechtigungen hinzufügen die zuvor erstellte Richtlinie an die Rolle an.
Klicken Sie auf Weiter.
Geben Sie den Rollennamen ein und klicken Sie auf Rolle erstellen.
Cato Networks-Ereignisse und S3-Integration konfigurieren
- Melden Sie sich in der Web-UI von Cato Networks an.
- Rufen Sie Ressourcen > Ereignisintegrationen auf.
- Klicken Sie auf Integration mit Cato-Ereignissen aktivieren.
- Klicken Sie auf Neu.
- Geben Sie die folgenden Konfigurationsdetails an:
- Geben Sie den Namen für die Integration ein.
- Bucket-Name: Identischer Name des S3-Buckets.
- Ordner: Identischer Name für den Ordnerpfad im S3-Bucket (falls erforderlich).
- Region: Identische Region für den S3-Bucket.
- Rollen-ARN: Kopieren Sie den ARN für die Rolle für den S3-Bucket und fügen Sie ihn ein.
- Optional: Definieren Sie die Filtereinstellungen für Ereignisse, die in den S3-Bucket hochgeladen werden. Wenn Sie mehrere Filter definieren, besteht eine UND-Beziehung und die Ereignisse, die allen Filtern entsprechen, werden hochgeladen.
- Klicken Sie auf Übernehmen.
Feeds einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die Einstellungen > Datenverwaltung > Feeds auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B.
Cato Logs. - Wählen Sie als Quelltyp Amazon S3 V2 aus.
- Wählen Sie Cato Networks als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
S3-URI: Der Bucket-URI (Format:
s3://<your-log-bucket-name>). Ersetzen Sie Folgendes:your-log-bucket-name: der Name des Buckets.
Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| Die Konto-ID von Tinfoil Security | target.user.userid | Der Wert dieses Felds wird aus dem Feld account_id übernommen. |
| Aktion | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld action übernommen. |
| app_stack | additional.fields.value.list_value.values.string_value | Der Wert dieses Felds wird aus dem Feld app_stack übernommen. |
| Anwendung | principal.application | Der Wert dieses Felds wird aus dem Feld application übernommen. |
| Kategorien | additional.fields.value.list_value.values.string_value | Der Wert dieses Felds wird aus dem Feld categories übernommen. |
| clientIP | principal.ip, principal.asset.ip | Der Wert dieses Felds wird aus dem Feld clientIP übernommen. |
| creationTime | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
| custom_categories | additional.fields.value.list_value.values.string_value | Der Wert dieses Felds wird aus dem Feld custom_categories übernommen. |
| dest_country | target.location.country_or_region | Der Wert dieses Felds wird aus dem Feld dest_country übernommen. |
| dest_country_code | target.resource.attribute.labels.value | Der Wert dieses Felds wird aus dem Feld dest_country_code übernommen. |
| dest_ip | target.ip, target.asset.ip | Der Wert dieses Felds wird aus dem Feld dest_ip übernommen. |
| dest_port | target.port | Der Wert dieses Felds wird aus dem Feld dest_port übernommen. |
| destinationCountry | target.location.country_or_region | Der Wert dieses Felds wird aus dem Feld destinationCountry übernommen. |
| destinationIp | target.ip, target.asset.ip | Der Wert dieses Felds wird aus dem Feld destinationIp übernommen. |
| destinationName | target.hostname, target.asset.hostname | Der Wert dieses Felds wird aus dem Feld destinationName übernommen. |
| device_name | network.dhcp.client_hostname | Der Wert dieses Felds wird aus dem Feld device_name übernommen. |
| dns_name | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld dns_name übernommen. |
| event_count | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld event_count übernommen. |
| event_sub_type | metadata.description | Der Wert dieses Felds wird aus dem Feld event_sub_type übernommen. |
| fieldsMap.ISP_name | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld fieldsMap.ISP_name übernommen. |
| fieldsMap.action | security_result.action_details | Der Wert dieses Felds wird aus dem Feld fieldsMap.action übernommen. |
| fieldsMap.categories | security_result.category_details | Der Wert dieses Felds wird aus dem Feld fieldsMap.categories übernommen. |
| fieldsMap.dest_country | target.location.country_or_region | Der Wert dieses Felds wird aus dem Feld fieldsMap.dest_country übernommen. |
| fieldsMap.dest_ip | target.ip, target.asset.ip | Der Wert dieses Felds wird aus dem Feld fieldsMap.dest_ip übernommen. |
| fieldsMap.dest_port | principal.port | Der Wert dieses Felds wird aus dem Feld fieldsMap.dest_port übernommen. |
| fieldsMap.domain_name | principal.administrative_domain | Der Wert dieses Felds wird aus dem Feld fieldsMap.domain_name übernommen. |
| fieldsMap.event_sub_type | metadata.description | Der Wert dieses Felds wird aus dem Feld fieldsMap.event_sub_type übernommen. |
| fieldsMap.event_type | metadata.product_event_type | Der Wert dieses Felds wird aus dem Feld fieldsMap.event_type übernommen. |
| fieldsMap.ip_protocol | network.ip_protocol | Der Wert dieses Felds wird aus dem Feld fieldsMap.ip_protocol übernommen. |
| fieldsMap.os_type | Dieses Feld wird verwendet, um das Betriebssystem des Hauptkontos zu bestimmen. | |
| fieldsMap.pop_name | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld fieldsMap.pop_name übernommen. |
| fieldsMap.rule_id | security_result.rule_id | Der Wert dieses Felds wird aus dem Feld fieldsMap.rule_id übernommen. |
| fieldsMap.rule_name | security_result.rule_name | Der Wert dieses Felds wird aus dem Feld fieldsMap.rule_name übernommen. |
| fieldsMap.src_ip | principal.ip, principal.asset.ip | Der Wert dieses Felds wird aus dem Feld fieldsMap.src_ip übernommen. |
| fieldsMap.src_isp_ip | src.ip, src.asset.ip | Der Wert dieses Felds wird aus dem Feld fieldsMap.src_isp_ip übernommen. |
| fieldsMap.time | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
| file_hash | target.file.sha256 | Der Wert dieses Felds wird aus dem Feld file_hash übernommen. |
| file_name | target.file.full_path | Der Wert dieses Felds wird aus dem Feld file_name übernommen. |
| file_size | target.file.size | Der Wert dieses Felds wird aus dem Feld file_size übernommen. |
| http_host_name | principal.hostname, principal.asset.hostname | Der Wert dieses Felds wird aus dem Feld http_host_name übernommen. |
| insertionDate | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld insertionDate übernommen. |
| internalId | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld internalId übernommen. |
| ip_protocol | network.ip_protocol | Der Wert dieses Felds wird aus dem Feld ip_protocol übernommen. |
| is_sanctioned_app | security_result.detection_fields.value | Der Wert dieses Felds wird aus dem Feld is_sanctioned_app übernommen. |
| os_type | principal.platform | Der Wert dieses Felds wird aus dem Feld os_type übernommen. |
| pop_name | Dieses Feld wird verwendet, um das Feld fieldsMap.pop_name auszufüllen. |
|
| prettyType | metadata.product_event_type | Der Wert dieses Felds wird aus dem Feld prettyType übernommen. |
| Regel | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld rule übernommen. |
| rule_id | security_result.rule_id | Der Wert dieses Felds wird aus dem Feld rule_id übernommen. |
| rule_name | security_result.rule_name | Der Wert dieses Felds wird aus dem Feld rule_name übernommen. |
| server_port | target.port | Der Wert dieses Felds wird aus dem Feld server_port übernommen. |
| die Ausprägung | security_result.severity_details | Der Wert dieses Felds wird aus dem Feld severity übernommen. |
| sourceCountry | principal.location.country_or_region | Der Wert dieses Felds wird aus dem Feld sourceCountry übernommen. |
| sourceInternalIp | principal.ip | Der Wert dieses Felds wird aus dem Feld sourceInternalIp übernommen. |
| sourceIp | src.ip, src.asset.ip | Der Wert dieses Felds wird aus dem Feld sourceIp übernommen. |
| sourceName | principal.user.user_display_name | Der Wert dieses Felds wird aus dem Feld sourceName übernommen. |
| sport | principal.port | Der Wert dieses Felds wird aus dem Feld sport übernommen. |
| src_country | Dieses Feld wird verwendet, um das Feld sourceCountry auszufüllen. |
|
| src_country_code | principal.resource.attribute.labels.value | Der Wert dieses Felds wird aus dem Feld src_country_code übernommen. |
| src_ip | principal.ip, principal.asset.ip | Der Wert dieses Felds wird aus dem Feld src_ip übernommen. |
| src_is_site_or_vpn | security_result.detection_fields.value | Der Wert dieses Felds wird aus dem Feld src_is_site_or_vpn übernommen. |
| src_isp_ip | src.ip, src.asset.ip | Der Wert dieses Felds wird aus dem Feld src_isp_ip übernommen. |
| src_site | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld src_site übernommen. |
| src_site_name | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld src_site_name übernommen. |
| start | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
| subnet_name | additional.fields.value.string_value | Der Wert dieses Felds wird aus dem Feld subnet_name übernommen. |
| Zeit | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
| time_str | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
| tunnel_host_logon_names | principal.user.userid | Der Wert dieses Felds wird aus dem Feld tunnel_host_logon_names übernommen. |
| URL | target.url | Der Wert dieses Felds wird aus dem Feld url übernommen. |
| user_id | principal.user.userid | Der Wert dieses Felds wird aus dem Feld user_id übernommen. |
| metadata.event_type | Der Wert dieses Felds ist auf GENERIC_EVENT festgelegt und kann je nach Ereignis mit NETWORK_CONNECTION, NETWORK_DHCP oder NETWORK_HTTP überschrieben werden. |
|
| metadata.log_type | Der Wert dieses Felds ist auf CATO_NETWORKS festgelegt. |
|
| metadata.product_name | Der Wert dieses Felds ist auf SASE festgelegt. |
|
| metadata.vendor_name | Der Wert dieses Felds ist auf Cato Networks festgelegt. |
|
| network.application_protocol | Der Wert dieses Felds ist für Connected-Ereignisse auf DHCP festgelegt. |
|
| network.dhcp.chaddr | Der Wert dieses Felds ist für Connected-Ereignisse auf 01:23:45:ab:cd:ef festgelegt. |
|
| network.dhcp.lease_time_seconds | Der Wert dieses Felds ist für Connected-Ereignisse auf 86400 festgelegt. |
|
| network.dhcp.opcode | Der Wert dieses Felds ist für Connected-Ereignisse auf BOOTREPLY festgelegt. |
|
| network.dhcp.type | Der Wert dieses Felds ist für Connected-Ereignisse auf ACK festgelegt. |
|
| network.direction | Der Wert dieses Felds ist für Anti Malware- und URL Filtering-Ereignisse auf OUTBOUND festgelegt. |
|
| security_result.action | Der Wert dieses Felds wird auf ALLOW gesetzt, wenn das Feld action nicht BLOCK ist. Andernfalls wird er auf BLOCK gesetzt. |
|
| event_type | metadata.description | Der Wert dieses Felds wird aus dem Feld event_type übernommen. |
creation_date |
event.idm.read_only_udm.metadata.event_timestamp |
Aus Änderungsprotokoll zugeordnet |
admin_id |
event.idm.read_only_udm.principal.user.userid |
Aus Änderungsprotokoll zugeordnet |
admin |
event.idm.read_only_udm.principal.user.email_addresses |
Aus Änderungsprotokoll zugeordnet |
change_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
module |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
model_name |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
insertion_date |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
change_After_overrideCategories |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
change_Before_overrideCategories |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
model_type |
event.idm.read_only_udm.metadata.product_event_type |
Aus Änderungsprotokoll zugeordnet |
src_port |
event.idm.read_only_udm.principal.port |
Aus Änderungsprotokoll zugeordnet |
application_name |
event.idm.read_only_udm.target.application |
Aus Änderungsprotokoll zugeordnet |
dest_site_id |
event.idm.read_only_udm.target.resource.attribute.labels |
Aus Änderungsprotokoll zugeordnet |
dest_site_name |
event.idm.read_only_udm.target.resource.name |
Aus Änderungsprotokoll zugeordnet |
connection_origin |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
dest_is_site_or_vpn |
event.idm.read_only_udm.security_result.detection_fields |
Aus Änderungsprotokoll zugeordnet |
internal_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
link_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
tunnel_protocol |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
visible_device_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
event_sub_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
connector_name |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
connector_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
epp_engine_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
incident_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
title |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
vendor |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
vendor_device_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
engine_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
recommended_actions |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
device_posture_profile |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
parent_connector_name |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
client_class |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
congestion_algorithm |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
custom_category |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
custom_category_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
custom_category_name |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
tcp_acceleration |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
sr_action |
ALLOW |
Aus Änderungsprotokoll zugeordnet |
sr_action |
BLOCK |
Aus Änderungsprotokoll zugeordnet |
sr_action |
FAIL |
Aus Änderungsprotokoll zugeordnet |
sr_action |
CHALLENGE |
Aus Änderungsprotokoll zugeordnet |
sr_action |
UNKNOWN_ACTION |
Aus Änderungsprotokoll zugeordnet |
src_site_name", "event_type", "event_count", "dns_name", "insertionDate", "action", "subnet_name", "internalId", "src_site", "categories", "app_stack", "custom_categories", "ISP_name", and "rule |
additional.fields |
Aus Änderungsprotokoll zugeordnet |
src_is_site_or_vpn", and "is_sanctioned_app |
security_result.detection_fields |
Aus Änderungsprotokoll zugeordnet |
src_isp_ip" and "src_ip |
src.ip |
Aus Änderungsprotokoll zugeordnet |
src_country" and "sourceCountry |
principal.location.country_or_region |
Aus Änderungsprotokoll zugeordnet |
tar_ip" and "dest_ip |
target.ip |
Aus Änderungsprotokoll zugeordnet |
prin_ip |
principal.ip |
Aus Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten