Collecter les journaux Thinkst Canary

Compatible avec :

Ce document explique comment collecter les journaux Thinkst Canary en configurant un flux Google Security Operations à l'aide de l'API tierce.

Thinkst Canary fournit une détection des menaces basée sur la tromperie : les Canaries matériels, virtuels et cloud imitent les ressources réelles, et les Canarytokens agissent comme des fils de détente dans les fichiers, les identifiants et les URL. Lorsqu'un pirate informatique touche un Canary ou déclenche un token, la console Canary enregistre un incident. Le flux récupère ces incidents à partir de l'API Console.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Accès privilégié à la console Thinkst Canary

Configurer l'API REST dans Thinkst Canary

  1. Connectez-vous à la console Thinkst Canary (https://<DOMAIN_HASH>.canary.tools).
  2. Cliquez sur l'icône en forme de roue dentée en haut à droite, puis sélectionnez Paramètres généraux.
  3. Dans le menu, cliquez sur API.
  4. Si l'API est désactivée, cliquez sur Activer l'API.
  5. Utilisez la clé API par défaut existante ou cliquez sur + Ajouter une clé API pour en créer une dédiée :

    • Type de clé API : sélectionnez Lecture seule. Cela suffit pour la collecte des journaux.
    • Remarque : Saisissez un nom pour la clé (par exemple, Google SecOps Integration).
  6. Copiez et enregistrez les informations suivantes dans un emplacement sécurisé :

    • Hachage du domaine : identifiant de votre console. Le nom d'hôte de votre API est <DOMAIN_HASH>.canary.tools.
    • Jeton d'authentification : clé API utilisée pour authentifier les requêtes.

Configurer un flux dans Google SecOps pour ingérer les journaux Thinkst Canary

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur 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, Thinkst Canary Logs).
  5. Sélectionnez API tierce comme type de source.
  6. Sélectionnez Thinkst Canary comme Type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :

    • En-tête HTTP d'authentification : jeton généré précédemment, au format auth_token:<TOKEN> (par exemple, auth_token:AAAABBBBCCCC111122223333).
    • Nom d'hôte de l'API : nom de domaine complet de votre point de terminaison de l'API REST Thinkst Canary, au format <DOMAIN_HASH>.canary.tools (par exemple, myinstance.canary.tools).
    • Espace de noms de l'élément : espace de noms de l'élément
    • Libellés d'ingestion : libellé à appliquer aux événements de ce flux
  9. Cliquez sur Suivant.

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

Une fois la configuration terminée, le flux commence à récupérer les journaux de l'instance Thinkst Canary par ordre chronologique.

Informations sur les incidents et nouvelle distribution

L'API Canary Console renvoie un incident chaque fois qu'il est mis à jour, et pas seulement lorsqu'il est créé. Canary regroupe les événements similaires ultérieurs provenant de la même source dans l'incident existant. Par exemple, chaque tentative d'attaque par force brute devient un événement au sein d'un même incident. D'autres modifications apportées à l'incident peuvent également déclencher une nouvelle distribution.

Voici le comportement attendu dans Google SecOps :

  • Les incidents qui ont déjà été envoyés réapparaissent dans le flux après avoir été mis à jour.
  • Un incident rediffusé peut s'afficher avec un code temporel d'événement beaucoup plus ancien que le moment où il a été rediffusé. En effet, l'analyseur syntaxique dérive les codes temporels des événements à partir de l'heure de création initiale de l'incident et des heures d'occurrence des événements groupés, et non de l'heure de mise à jour.

La nouvelle distribution elle-même est le comportement documenté de l'API de collecte des incidents (elle filtre sur le compteur de mise à jour de l'incident), et non une perte de données ou un défaut d'analyseur.

Table de mappage UDM

Champ de journal Mappage UDM Logique
_canary_uptime_label additional.fields Fusionné
desc_events_n_func_code_label additional.fields Fusionné
desc_events_n_func_name_label additional.fields Fusionné
desc_events_n_sfunc_code_label additional.fields Fusionné
desc_events_n_sfunc_name_label additional.fields Fusionné
desc_events_n_timestamp_std_label additional.fields Fusionné
desc_events_n_unit_id_label additional.fields Fusionné
description_created_std_label additional.fields Fusionné
description_events_list_label additional.fields Fusionné
event_data_list additional.fields Fusionné
event_descrip_label additional.fields Fusionné
events_url_label additional.fields Fusionné
local_time_label additional.fields Fusionné
locale_label additional.fields Fusionné
lt_label additional.fields Fusionné
offline_text_label additional.fields Fusionné
updated_label additional.fields Fusionné
updated_std_label additional.fields Fusionné
_auth extensions.auth Renommé/Mappé
_metadata metadata Renommé/Mappé
_event_time metadata.event_timestamp Analysé en tant que UNIX
_metadata_event_timestamp metadata.event_timestamp Analysé en tant que UNIX
description.created_std metadata.event_timestamp Analysé en tant que UNIX_MS
elem.timestamp_std metadata.event_timestamp Analysé en tant que yyyy-MM-dd HH:mm:ss ZZZ+0000
updated metadata.event_timestamp Analysé en tant que EEE, dd MMM yyyy HH:mm:ss ZZZ
updated_std metadata.event_timestamp Analysé en tant que UNIX_MS
format metadata.event_type Mappé : grok → STATUS_UPDATE, grok → GENERIC_EVENT
has_principal_hostname metadata.event_type Mappé : true → STATUS_UPDATE
_network network Renommé/Mappé
_observer observer Renommé/Mappé
_principal principal Renommé/Mappé
ThinkstCanary_Process principal.application Mappé directement
ThinkstCanary_Process principal.asset.hostname Mappé directement
ThinkstCanary_Hostname principal.hostname Mappé directement
_md_product_event_type security_result Valeurs mappées (10 au total, par exemple Shared File Opened → _security_result, Host Port Scan → ...)
_security_result security_result Fusionné
format security_result Mappé : kv → _security_result, json → _security_result
_source src Renommé/Mappé
_target target Renommé/Mappé
N/A metadata.event_type Constante : STATUS_UPDATE

Journal des modifications

Afficher le journal des modifications pour ce parseur

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