Cato Networks-Protokolle erfassen
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-Logs. Die extrahierten Felder werden dann den entsprechenden Feldern im Google SecOps Unified Data Model (UDM) zugeordnet. Dabei werden verschiedene Ereignistypen verarbeitet und die Daten mit zusätzlichem Kontext angereichert.
Hinweise
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. Folgen Sie dazu dieser Anleitung: Bucket erstellen.
- Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung.
- Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie Drittanbieterdienst als Anwendungsfall aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungstag hinzu.
- Klicken Sie auf Zugriffsschlüssel erstellen.
- Klicken Sie auf CSV-Datei herunterladen, um den Access Key (Zugriffsschlüssel) und den Secret Access Key (geheimer Zugriffsschlüssel) für die zukünftige 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 Daten hochladen zu können
- Klicken Sie unter Richtlinie auf den Tab JSON.
Bearbeiten Sie den folgenden JSON-Code, ersetzen Sie
<bucket name>
durch Ihren S3-Bucket und fügen Sie ihn dann auf dem 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 Identitä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 Role name (Rollenname) ein und klicken Sie auf Create role (Rolle erstellen).
Cato Networks-Ereignisse und S3-Integration konfigurieren
- Melden Sie sich in der Cato Networks-Web-UI an.
- Rufen Sie Ressourcen > Event-Integrationen auf.
- Klicken Sie auf Enable integration with Cato events (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, werden die Ereignisse, die mit allen Filtern übereinstimmen, hochgeladen.
- Klicken Sie auf Übernehmen.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
Content Hub> Content-Pakete
Feeds über „SIEM-Einstellungen“ > „Feeds“ einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen> Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name einen Namen für den Feed ein, z. B.
Cato Logs
. - Wählen Sie Amazon S3 als Quelltyp aus.
- Wählen Sie Cato Networks als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Region: Die Region, in der sich der Amazon S3-Bucket befindet.
- S3-URI: Der Bucket-URI (das Format sollte
s3://<your-log-bucket-name>
sein). Ersetzen Sie Folgendes:your-log-bucket-name
: der Name des Buckets.
- URI ist ein: Wählen Sie Verzeichnis oder Verzeichnis mit Unterverzeichnissen aus.
- Optionen zum Löschen von Quellen: Wählen Sie die gewünschte Option zum Löschen aus.
- Access Key ID (Zugriffsschlüssel-ID): Der Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.
- Secret Access Key (Geheimer Zugriffsschlüssel): Der geheime Schlüssel des Nutzers mit Zugriff auf den S3-Bucket.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
Region: Die Region, in der sich der Amazon S3-Bucket befindet.
- S3-URI: Der Bucket-URI (das Format sollte
s3://<your-log-bucket-name>
sein). Ersetzen Sie Folgendes:your-log-bucket-name
: der Name des Buckets.
- URI ist ein: Wählen Sie Verzeichnis oder Verzeichnis mit Unterverzeichnissen aus.
- Optionen zum Löschen von Quellen: Wählen Sie die gewünschte Option aus.
- Access Key ID (Zugriffsschlüssel-ID): Der Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket.
- Secret Access Key (Geheimer Zugriffsschlüssel): Der geheime Schlüssel des Nutzers mit Zugriff auf den S3-Bucket.
- S3-URI: Der Bucket-URI (das Format sollte
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Die Konto-ID von Tinfoil Security | target.user.userid | Der Wert dieses Felds stammt aus dem Feld account_id . |
Aktion | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld action . |
app_stack | additional.fields.value.list_value.values.string_value | Der Wert dieses Felds stammt aus dem Feld app_stack . |
Anwendung | principal.application | Der Wert dieses Felds stammt aus dem Feld application . |
Kategorien | additional.fields.value.list_value.values.string_value | Der Wert dieses Felds stammt aus dem Feld categories . |
clientIP | principal.ip, principal.asset.ip | Der Wert dieses Felds stammt aus dem Feld clientIP . |
creationTime | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
custom_categories | additional.fields.value.list_value.values.string_value | Der Wert dieses Felds stammt aus dem Feld custom_categories . |
dest_country | target.location.country_or_region | Der Wert dieses Felds stammt aus dem Feld dest_country . |
dest_country_code | target.resource.attribute.labels.value | Der Wert dieses Felds stammt aus dem Feld dest_country_code . |
dest_ip | target.ip, target.asset.ip | Der Wert dieses Felds stammt aus dem Feld dest_ip . |
dest_port | target.port | Der Wert dieses Felds stammt aus dem Feld dest_port . |
destinationCountry | target.location.country_or_region | Der Wert dieses Felds stammt aus dem Feld destinationCountry . |
destinationIp | target.ip, target.asset.ip | Der Wert dieses Felds stammt aus dem Feld destinationIp . |
destinationName | target.hostname, target.asset.hostname | Der Wert dieses Felds stammt aus dem Feld destinationName . |
device_name | network.dhcp.client_hostname | Der Wert dieses Felds stammt aus dem Feld device_name . |
dns_name | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld dns_name . |
event_count | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld event_count . |
event_sub_type | metadata.description | Der Wert dieses Felds stammt aus dem Feld event_sub_type . |
fieldsMap.ISP_name | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld fieldsMap.ISP_name . |
fieldsMap.action | security_result.action_details | Der Wert dieses Felds stammt aus dem Feld fieldsMap.action . |
fieldsMap.categories | security_result.category_details | Der Wert dieses Felds stammt aus dem Feld fieldsMap.categories . |
fieldsMap.dest_country | target.location.country_or_region | Der Wert dieses Felds stammt aus dem Feld fieldsMap.dest_country . |
fieldsMap.dest_ip | target.ip, target.asset.ip | Der Wert dieses Felds stammt aus dem Feld fieldsMap.dest_ip . |
fieldsMap.dest_port | principal.port | Der Wert dieses Felds stammt aus dem Feld fieldsMap.dest_port . |
fieldsMap.domain_name | principal.administrative_domain | Der Wert dieses Felds stammt aus dem Feld fieldsMap.domain_name . |
fieldsMap.event_sub_type | metadata.description | Der Wert dieses Felds stammt aus dem Feld fieldsMap.event_sub_type . |
fieldsMap.event_type | metadata.product_event_type | Der Wert dieses Felds stammt aus dem Feld fieldsMap.event_type . |
fieldsMap.ip_protocol | network.ip_protocol | Der Wert dieses Felds stammt aus dem Feld fieldsMap.ip_protocol . |
fieldsMap.os_type | Anhand dieses Felds wird das Betriebssystem des Hauptkontos ermittelt. | |
fieldsMap.pop_name | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld fieldsMap.pop_name . |
fieldsMap.rule_id | security_result.rule_id | Der Wert dieses Felds stammt aus dem Feld fieldsMap.rule_id . |
fieldsMap.rule_name | security_result.rule_name | Der Wert dieses Felds stammt aus dem Feld fieldsMap.rule_name . |
fieldsMap.src_ip | principal.ip, principal.asset.ip | Der Wert dieses Felds stammt aus dem Feld fieldsMap.src_ip . |
fieldsMap.src_isp_ip | src.ip, src.asset.ip | Der Wert dieses Felds stammt aus dem Feld fieldsMap.src_isp_ip . |
fieldsMap.time | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
file_hash | target.file.sha256 | Der Wert dieses Felds stammt aus dem Feld file_hash . |
file_name | target.file.full_path | Der Wert dieses Felds stammt aus dem Feld file_name . |
file_size | target.file.size | Der Wert dieses Felds stammt aus dem Feld file_size . |
http_host_name | hauptkonto.hostname, hauptkonto.asset.hostname | Der Wert dieses Felds stammt aus dem Feld http_host_name . |
insertionDate | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld insertionDate . |
internalId | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld internalId . |
ip_protocol | network.ip_protocol | Der Wert dieses Felds stammt aus dem Feld ip_protocol . |
is_sanctioned_app | security_result.detection_fields.value | Der Wert dieses Felds stammt aus dem Feld is_sanctioned_app . |
os_type | principal.platform | Der Wert dieses Felds stammt aus dem Feld os_type . |
pop_name | Dieses Feld wird verwendet, um das Feld fieldsMap.pop_name auszufüllen. |
|
prettyType | metadata.product_event_type | Der Wert dieses Felds stammt aus dem Feld prettyType . |
Regel | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld rule . |
rule_id | security_result.rule_id | Der Wert dieses Felds stammt aus dem Feld rule_id . |
rule_name | security_result.rule_name | Der Wert dieses Felds stammt aus dem Feld rule_name . |
server_port | target.port | Der Wert dieses Felds stammt aus dem Feld server_port . |
die Ausprägung | security_result.severity_details | Der Wert dieses Felds stammt aus dem Feld severity . |
sourceCountry | principal.location.country_or_region | Der Wert dieses Felds stammt aus dem Feld sourceCountry . |
sourceInternalIp | principal.ip | Der Wert dieses Felds stammt aus dem Feld sourceInternalIp . |
sourceIp | src.ip, src.asset.ip | Der Wert dieses Felds stammt aus dem Feld sourceIp . |
sourceName | principal.user.user_display_name | Der Wert dieses Felds stammt aus dem Feld sourceName . |
sport | principal.port | Der Wert dieses Felds stammt aus dem Feld sport . |
src_country | Dieses Feld wird verwendet, um das Feld sourceCountry auszufüllen. |
|
src_country_code | principal.resource.attribute.labels.value | Der Wert dieses Felds stammt aus dem Feld src_country_code . |
src_ip | principal.ip, principal.asset.ip | Der Wert dieses Felds stammt aus dem Feld src_ip . |
src_is_site_or_vpn | security_result.detection_fields.value | Der Wert dieses Felds stammt aus dem Feld src_is_site_or_vpn . |
src_isp_ip | src.ip, src.asset.ip | Der Wert dieses Felds stammt aus dem Feld src_isp_ip . |
src_site | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld src_site . |
src_site_name | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld src_site_name . |
start | Dieses Feld wird verwendet, um den Ereigniszeitstempel zu berechnen. | |
subnet_name | additional.fields.value.string_value | Der Wert dieses Felds stammt aus dem Feld subnet_name . |
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 stammt aus dem Feld tunnel_host_logon_names . |
URL | target.url | Der Wert dieses Felds stammt aus dem Feld url . |
user_id | principal.user.userid | Der Wert dieses Felds stammt aus dem Feld user_id . |
metadata.event_type | Der Wert dieses Felds ist auf GENERIC_EVENT festgelegt und kann je nach Ereignis auf 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 es auf BLOCK gesetzt. |
|
event_type | metadata.description | Der Wert dieses Felds stammt aus dem Feld event_type . |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten