Collecter les journaux Cato Networks

Compatible avec :

Ce document explique comment ingérer des journaux Cato Networks dans Google Security Operations à l'aide d'AWS S3. Le parseur initialise d'abord un ensemble de champs avec des chaînes vides, puis analyse les journaux Cato Networks au format JSON. Il mappe ensuite les champs extraits avec les champs correspondants du modèle UDM (Unified Data Model) de Google SecOps, en gérant différents types d'événements et en enrichissant les données avec un contexte supplémentaire.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps
  • Accès privilégié à AWS S3 et AWS IAM
  • Accès privilégié à Cato Networks

Configurer AWS IAM et le bucket S3

  1. Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur : Créer un bucket.
  2. Enregistrez le nom et la région du bucket pour référence ultérieure.
  3. Créez un utilisateur en suivant ce guide de l'utilisateur : Créer un utilisateur IAM.
  4. Sélectionnez l'utilisateur créé.
  5. Sélectionnez l'onglet Informations d'identification de sécurité.
  6. Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
  7. Sélectionnez Service tiers comme Cas d'utilisation.
  8. Cliquez sur Suivant.
  9. Facultatif : Ajoutez un tag de description.
  10. Cliquez sur Créer une clé d'accès.
  11. Cliquez sur Télécharger le fichier CSV pour enregistrer la clé d'accès et la clé d'accès secrète pour référence ultérieure.
  12. Cliquez sur OK.
  13. Sélectionnez l'onglet Autorisations.
  14. Cliquez sur Ajouter des autorisations dans la section Règles relatives aux autorisations.
  15. Sélectionnez Ajouter des autorisations.
  16. Sélectionnez Joindre directement des règles.
  17. Recherchez la règle AmazonS3FullAccess, puis sélectionnez-la.
  18. Cliquez sur Suivant.
  19. Cliquez sur Ajouter des autorisations.

Configurer une stratégie IAM pour le bucket S3 afin d'activer l'importation de données

  1. Dans Règle, cliquez sur l'onglet JSON.
  2. Modifiez le JSON suivant, remplacez <bucket name> par votre bucket S3, puis collez-le dans l'onglet.

    {
        "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>/*"
                ]
            }
        ]
    }
    
  3. Cliquez sur Créer une règle.

Configurer un rôle IAM avec l'ARN de Cato

  1. Sur l'écran Sélectionner une entité de confiance, sélectionnez Stratégie de confiance personnalisée et ajoutez l'ARN de Cato au rôle : 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"
            }
        ]
    }
    
  2. Cliquez sur Suivant.

  3. Sur l'écran Ajouter des autorisations, associez la règle que vous avez créée précédemment au rôle.

  4. Cliquez sur Suivant.

  5. Saisissez le nom du rôle, puis cliquez sur Créer un rôle.

Configurer l'intégration des événements et de S3 de Cato Networks

  1. Connectez-vous à l'interface utilisateur Web Cato Networks.
  2. Accédez à Ressources> Intégrations d'événements.
  3. Cliquez sur Activer l'intégration aux événements Cato.
  4. Cliquez sur New (Nouveau).
  5. Fournissez les informations de configuration suivantes :
    • Saisissez le nom de l'intégration.
    • Nom du bucket : nom identique du bucket S3.
    • Dossier : nom identique pour le chemin d'accès au dossier dans le bucket S3 (si nécessaire).
    • Région : région identique pour le bucket S3.
    • ARN du rôle : copiez et collez l'ARN du rôle pour le bucket S3.
    • (Facultatif) Définissez les paramètres de filtrage pour les événements importés dans le bucket S3. Lorsque vous définissez plusieurs filtres, ils sont reliés par un opérateur ET. Les événements qui correspondent à tous les filtres sont importés.
  6. Cliquez sur Appliquer.

Configurer des flux

Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :

  • Paramètres SIEM> Flux
  • Plate-forme de contenu > Packs de contenu

Configurer des flux à partir de Paramètres SIEM > Flux

Pour configurer un flux, procédez comme suit :

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Cato Logs).
  5. Sélectionnez Amazon S3 comme Type de source.
  6. Sélectionnez Cato Networks comme Type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :

    • Région : région dans laquelle se trouve le bucket Amazon S3.
    • URI S3 : URI du bucket (au format s3://<your-log-bucket-name>). Remplacez les éléments suivants :
      • your-log-bucket-name : nom du bucket.
    • L'URI est : sélectionnez Répertoire ou Répertoire incluant des sous-répertoires.
    • Options de suppression de la source : sélectionnez l'option de suppression de votre choix.
    • ID de clé d'accès : clé d'accès utilisateur ayant accès au bucket S3.
    • Clé d'accès secrète : clé secrète de l'utilisateur ayant accès au bucket S3.
  9. Cliquez sur Suivant.

  10. Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.

Configurer des flux depuis le Hub de contenu

Indiquez les valeurs des champs suivants :

  • Région : région dans laquelle se trouve le bucket Amazon S3.

    • URI S3 : URI du bucket (au format s3://<your-log-bucket-name>). Remplacez les éléments suivants :
      • your-log-bucket-name : nom du bucket.
    • L'URI est : sélectionnez Répertoire ou Répertoire incluant des sous-répertoires.
    • Options de suppression de la source : sélectionnez l'option de suppression de votre choix.
    • ID de clé d'accès : clé d'accès utilisateur ayant accès au bucket S3.
    • Clé d'accès secrète : clé secrète de l'utilisateur ayant accès au bucket S3.

Options avancées

  • Nom du flux : valeur préremplie qui identifie le flux.
  • Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
  • Espace de noms de l'élément : espace de noms associé au flux.
  • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.

Table de mappage UDM

Champ du journal Mappage UDM Logique
account_id target.user.userid La valeur de ce champ est extraite du champ account_id.
action additional.fields.value.string_value La valeur de ce champ est extraite du champ action.
app_stack additional.fields.value.list_value.values.string_value La valeur de ce champ est extraite du champ app_stack.
application principal.application La valeur de ce champ est extraite du champ application.
catégories additional.fields.value.list_value.values.string_value La valeur de ce champ est extraite du champ categories.
clientIP principal.ip, principal.asset.ip La valeur de ce champ est extraite du champ clientIP.
creationTime Ce champ est utilisé pour calculer le code temporel de l'événement.
custom_categories additional.fields.value.list_value.values.string_value La valeur de ce champ est extraite du champ custom_categories.
dest_country target.location.country_or_region La valeur de ce champ est extraite du champ dest_country.
dest_country_code target.resource.attribute.labels.value La valeur de ce champ est extraite du champ dest_country_code.
dest_ip target.ip, target.asset.ip La valeur de ce champ est extraite du champ dest_ip.
dest_port target.port La valeur de ce champ est extraite du champ dest_port.
destinationCountry target.location.country_or_region La valeur de ce champ est extraite du champ destinationCountry.
destinationIp target.ip, target.asset.ip La valeur de ce champ est extraite du champ destinationIp.
destinationName target.hostname, target.asset.hostname La valeur de ce champ est extraite du champ destinationName.
device_name network.dhcp.client_hostname La valeur de ce champ est extraite du champ device_name.
dns_name additional.fields.value.string_value La valeur de ce champ est extraite du champ dns_name.
event_count additional.fields.value.string_value La valeur de ce champ est extraite du champ event_count.
event_sub_type metadata.description La valeur de ce champ est extraite du champ event_sub_type.
fieldsMap.ISP_name additional.fields.value.string_value La valeur de ce champ est extraite du champ fieldsMap.ISP_name.
fieldsMap.action security_result.action_details La valeur de ce champ est extraite du champ fieldsMap.action.
fieldsMap.categories security_result.category_details La valeur de ce champ est extraite du champ fieldsMap.categories.
fieldsMap.dest_country target.location.country_or_region La valeur de ce champ est extraite du champ fieldsMap.dest_country.
fieldsMap.dest_ip target.ip, target.asset.ip La valeur de ce champ est extraite du champ fieldsMap.dest_ip.
fieldsMap.dest_port principal.port La valeur de ce champ est extraite du champ fieldsMap.dest_port.
fieldsMap.domain_name principal.administrative_domain La valeur de ce champ est extraite du champ fieldsMap.domain_name.
fieldsMap.event_sub_type metadata.description La valeur de ce champ est extraite du champ fieldsMap.event_sub_type.
fieldsMap.event_type metadata.product_event_type La valeur de ce champ est extraite du champ fieldsMap.event_type.
fieldsMap.ip_protocol network.ip_protocol La valeur de ce champ est extraite du champ fieldsMap.ip_protocol.
fieldsMap.os_type Ce champ permet de déterminer le système d'exploitation du principal.
fieldsMap.pop_name additional.fields.value.string_value La valeur de ce champ est extraite du champ fieldsMap.pop_name.
fieldsMap.rule_id security_result.rule_id La valeur de ce champ est extraite du champ fieldsMap.rule_id.
fieldsMap.rule_name security_result.rule_name La valeur de ce champ est extraite du champ fieldsMap.rule_name.
fieldsMap.src_ip principal.ip, principal.asset.ip La valeur de ce champ est extraite du champ fieldsMap.src_ip.
fieldsMap.src_isp_ip src.ip, src.asset.ip La valeur de ce champ est extraite du champ fieldsMap.src_isp_ip.
fieldsMap.time Ce champ est utilisé pour calculer le code temporel de l'événement.
file_hash target.file.sha256 La valeur de ce champ est extraite du champ file_hash.
file_name target.file.full_path La valeur de ce champ est extraite du champ file_name.
file_size target.file.size La valeur de ce champ est extraite du champ file_size.
http_host_name principal.hostname, principal.asset.hostname La valeur de ce champ est extraite du champ http_host_name.
insertionDate additional.fields.value.string_value La valeur de ce champ est extraite du champ insertionDate.
internalId additional.fields.value.string_value La valeur de ce champ est extraite du champ internalId.
ip_protocol network.ip_protocol La valeur de ce champ est extraite du champ ip_protocol.
is_sanctioned_app security_result.detection_fields.value La valeur de ce champ est extraite du champ is_sanctioned_app.
os_type principal.platform La valeur de ce champ est extraite du champ os_type.
pop_name Ce champ est utilisé pour remplir le champ fieldsMap.pop_name.
prettyType metadata.product_event_type La valeur de ce champ est extraite du champ prettyType.
règle additional.fields.value.string_value La valeur de ce champ est extraite du champ rule.
rule_id security_result.rule_id La valeur de ce champ est extraite du champ rule_id.
rule_name security_result.rule_name La valeur de ce champ est extraite du champ rule_name.
server_port target.port La valeur de ce champ est extraite du champ server_port.
de gravité, security_result.severity_details La valeur de ce champ est extraite du champ severity.
sourceCountry principal.location.country_or_region La valeur de ce champ est extraite du champ sourceCountry.
sourceInternalIp principal.ip La valeur de ce champ est extraite du champ sourceInternalIp.
sourceIp src.ip, src.asset.ip La valeur de ce champ est extraite du champ sourceIp.
sourceName principal.user.user_display_name La valeur de ce champ est extraite du champ sourceName.
sport principal.port La valeur de ce champ est extraite du champ sport.
src_country Ce champ est utilisé pour remplir le champ sourceCountry.
src_country_code principal.resource.attribute.labels.value La valeur de ce champ est extraite du champ src_country_code.
src_ip principal.ip, principal.asset.ip La valeur de ce champ est extraite du champ src_ip.
src_is_site_or_vpn security_result.detection_fields.value La valeur de ce champ est extraite du champ src_is_site_or_vpn.
src_isp_ip src.ip, src.asset.ip La valeur de ce champ est extraite du champ src_isp_ip.
src_site additional.fields.value.string_value La valeur de ce champ est extraite du champ src_site.
src_site_name additional.fields.value.string_value La valeur de ce champ est extraite du champ src_site_name.
start Ce champ est utilisé pour calculer le code temporel de l'événement.
subnet_name additional.fields.value.string_value La valeur de ce champ est extraite du champ subnet_name.
temps Ce champ est utilisé pour calculer le code temporel de l'événement.
time_str Ce champ est utilisé pour calculer le code temporel de l'événement.
tunnel_host_logon_names principal.user.userid La valeur de ce champ est extraite du champ tunnel_host_logon_names.
URL target.url La valeur de ce champ est extraite du champ url.
user_id principal.user.userid La valeur de ce champ est extraite du champ user_id.
metadata.event_type La valeur de ce champ est définie sur GENERIC_EVENT et peut être remplacée par NETWORK_CONNECTION, NETWORK_DHCP ou NETWORK_HTTP en fonction de l'événement.
metadata.log_type La valeur de ce champ est définie sur CATO_NETWORKS.
metadata.product_name La valeur de ce champ est définie sur SASE.
metadata.vendor_name La valeur de ce champ est définie sur Cato Networks.
network.application_protocol La valeur de ce champ est définie sur DHCP pour les événements Connected.
network.dhcp.chaddr La valeur de ce champ est définie sur 01:23:45:ab:cd:ef pour les événements Connected.
network.dhcp.lease_time_seconds La valeur de ce champ est définie sur 86400 pour les événements Connected.
network.dhcp.opcode La valeur de ce champ est définie sur BOOTREPLY pour les événements Connected.
network.dhcp.type La valeur de ce champ est définie sur ACK pour les événements Connected.
network.direction La valeur de ce champ est définie sur OUTBOUND pour les événements Anti Malware et URL Filtering.
security_result.action La valeur de ce champ est définie sur ALLOW si le champ action n'est pas BLOCK. Sinon, elle est définie sur BLOCK.
event_type metadata.description La valeur de ce champ est extraite du champ event_type.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.