Collecter les journaux Thinkst Canary
Ce parseur normalise les messages de journaux bruts du logiciel Thinkst Canary en supprimant les sauts de ligne et en tentant d'analyser le message au format JSON. Ensuite, en fonction de la présence de champs spécifiques ("Description" pour le format clé-valeur ou "summary" pour JSON), il détermine le format du journal et inclut la logique d'analyse appropriée à partir de fichiers de configuration distincts pour mapper les données dans le modèle de données unifié.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Instance Google SecOps.
- Accès privilégié à Thinkst Canary.
Configurer l'API REST dans Thinkst Canary
- Connectez-vous à la console de gestion Thinkst Canary.
- Cliquez sur l'icône en forme de roue dentée > Paramètres généraux.
- Cliquez sur API.
- Cliquez sur Activer l'API.
- Cliquez sur + pour ajouter une API.
- Attribuez un nom descriptif à l'API.
- Copiez le hachage du domaine et le jeton d'authentification.
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 :
- Accédez à Paramètres SIEM > Flux.
- Cliquez sur Add New Feed (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, Journaux Thinkst Canary).
- 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 (FQDN) de votre point de terminaison de l'API REST Thinks Canary (par exemple,
myinstance.canary.tools
). - Espace de noms de l'élément : espace de noms de l'élément.
- Libellés d'ingestion : libellé appliqué 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 du flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Configurer des flux depuis le Hub de contenu
Indiquez les valeurs des champs 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 (FQDN) de votre point de terminaison de l'API REST Thinks Canary (par exemple,
myinstance.canary.tools
).
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.
Mappage UDM
Champ du journal | Mappage UDM | Logique |
---|---|---|
AUDITACTION | read_only_udm.metadata.product_event_type | La valeur est extraite du champ "description" si le format est JSON. Sinon, elle est déterminée par le champ "eventid". |
CanaryIP | read_only_udm.target.ip | |
CanaryName | read_only_udm.target.hostname | |
CanaryPort | read_only_udm.target.port | |
COOKIE | read_only_udm.security_result.about.resource.attribute.labels.value | |
créé | read_only_udm.metadata.event_timestamp.seconds | |
created_std | read_only_udm.metadata.event_timestamp.seconds | |
DONNÉES | ||
description | read_only_udm.metadata.product_event_type | La valeur est extraite du champ "description" si le format est JSON. Sinon, elle est déterminée par le champ "eventid". |
Description | read_only_udm.metadata.product_event_type | La valeur est extraite du champ "description" si le format est JSON. Sinon, elle est déterminée par le champ "eventid". |
DOMAIN | read_only_udm.target.administrative_domain | |
dst_host | read_only_udm.target.ip | |
dst_port | read_only_udm.target.port | |
eventid | read_only_udm.metadata.product_event_type | La valeur est extraite du champ "description" si le format est JSON. Sinon, elle est déterminée par le champ "eventid". |
events_count | read_only_udm.security_result.detection_fields.value | |
FILENAME | read_only_udm.target.file.full_path | |
FIN | read_only_udm.security_result.detection_fields.value | |
flock_id | read_only_udm.principal.resource.attribute.labels.value | |
flock_name | read_only_udm.principal.resource.attribute.labels.value | |
FunctionData | ||
FunctionName | ||
EN-TÊTES | read_only_udm.security_result.about.resource.attribute.labels | |
HOST | read_only_udm.target.hostname | |
HOSTNAME | read_only_udm.target.hostname | |
id | read_only_udm.metadata.product_log_id | |
ID | read_only_udm.security_result.detection_fields.value | |
IN | read_only_udm.security_result.detection_fields.value | |
ip_address | ||
CLÉ | ||
LEN | read_only_udm.security_result.detection_fields.value | |
LOCALNAME | read_only_udm.target.hostname | |
LOCALVERSION (VERSION_LOCALE) | read_only_udm.target.platform_version | |
logtype | read_only_udm.security_result.detection_fields.value | |
LOGINTYPE | ||
MAC | read_only_udm.principal.mac | |
matched_annotations | ||
MÉTHODE | read_only_udm.network.http.method | |
MODE | ||
ms_macro_ip | read_only_udm.principal.ip | |
ms_macro_username | read_only_udm.principal.user.user_display_name | |
nom | read_only_udm.target.hostname | |
node_id | read_only_udm.principal.resource.attribute.labels.value | |
OFFSET | ||
OPCODE | ||
OUT | read_only_udm.security_result.detection_fields.value | |
MOT DE PASSE | ||
PATH | read_only_udm.target.url | |
ports | read_only_udm.target.labels.value | |
PREC | read_only_udm.security_result.detection_fields.value | |
PreviousIP | read_only_udm.principal.ip | |
PROTO | read_only_udm.network.ip_protocol | |
PSH | read_only_udm.security_result.detection_fields.value | |
REALM | read_only_udm.target.administrative_domain | |
REMOTENAME | read_only_udm.principal.hostname | |
REMOTEVERSION | read_only_udm.principal.platform_version | |
REPO | read_only_udm.target.resource.attribute.labels.value | |
RÉPONSE | read_only_udm.network.http.response_code | |
ReverseDNS | ||
Paramètres | read_only_udm.target.labels | |
SHARENAME | ||
SIZE | ||
SKIN | ||
SMBARCH | ||
SMBREPEATEVENTMSG | ||
SMBVER | ||
SNAME | ||
SourceIP | read_only_udm.principal.ip | |
src_host | read_only_udm.principal.ip | |
src_host_reverse | read_only_udm.principal.hostname | |
src_port | read_only_udm.principal.port | |
ÉTAT | ||
résumé | read_only_udm.metadata.product_event_type | La valeur est extraite du champ "description" si le format est JSON. Sinon, elle est déterminée par le champ "eventid". |
SYN | read_only_udm.security_result.detection_fields.value | |
TCPBannerID | ||
TERMSIZE | ||
TERMTYPE | ||
timestamp | read_only_udm.metadata.event_timestamp.seconds | |
timestamp_std | read_only_udm.metadata.event_timestamp.seconds | |
Horodatage | read_only_udm.metadata.event_timestamp.seconds | |
TKTVNO | read_only_udm.security_result.detection_fields.value | |
TOS | read_only_udm.security_result.detection_fields.value | |
TTL | read_only_udm.security_result.detection_fields.value | |
TYPE | ||
UTILISATEUR | read_only_udm.principal.user.user_display_name | |
USERAGENT | read_only_udm.network.http.user_agent | |
NOM D'UTILISATEUR | read_only_udm.target.user.user_display_name | |
URG | read_only_udm.security_result.detection_fields.value | |
URGP | read_only_udm.security_result.detection_fields.value | |
WINDOW | read_only_udm.security_result.detection_fields.value | |
windows_desktopini_access_domain | read_only_udm.principal.group.group_display_name | |
windows_desktopini_access_username | read_only_udm.principal.user.user_display_name | |
read_only_udm.metadata.log_type | THINKST_CANARY : valeur codée en dur | |
read_only_udm.metadata.vendor_name | Thinkst : valeur codée en dur | |
read_only_udm.metadata.product_name | Canary : valeur codée en dur | |
read_only_udm.security_result.severity | CRITIQUE : valeur codée en dur | |
read_only_udm.network.application_protocol | Déterminé par le port et le product_event_type | |
read_only_udm.extensions.auth.mechanism | Déterminé par la méthode d'authentification utilisée dans l'événement |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.