Collecter les journaux Thinkst Canary
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
- Connectez-vous à la console Thinkst Canary (
https://<DOMAIN_HASH>.canary.tools). - Cliquez sur l'icône en forme de roue dentée en haut à droite, puis sélectionnez Paramètres généraux.
- Dans le menu, cliquez sur API.
- Si l'API est désactivée, cliquez sur Activer l'API.
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).
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.
- Hachage du domaine : identifiant de votre console. Le nom d'hôte de votre API est
Configurer un flux dans Google SecOps pour ingérer les journaux Thinkst Canary
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Ajouter un flux.
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
Thinkst Canary Logs). - Sélectionnez API tierce comme type de source.
- Sélectionnez Thinkst Canary comme Type de journal.
- Cliquez sur Suivant.
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
- En-tête HTTP d'authentification : jeton généré précédemment, au format
Cliquez sur Suivant.
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.