Humio
Ce document explique comment intégrer Humio à Google SecOps.
Configurer l'intégration de Humio dans Google Security Operations
Pour obtenir des instructions détaillées sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Paramètres d'intégration
Utilisez les paramètres suivants pour configurer l'intégration :
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Racine de l'API | Chaîne | https://cloud.us.humio.com | Oui | Racine de l'API de l'instance Humio. |
| Jeton d'API | Mot de passe | N/A | Oui | Jeton d'API de l'instance Humio. |
| Vérifier le protocole SSL | Case à cocher | Cochée | Oui | Si cette option est activée, vérifiez que le certificat SSL de la connexion au serveur Humio est valide. |
Cas d'utilisation
- Ingérer les événements à partir des dépôts
- Effectuer une recherche
Actions
Ping
Description
Testez la connectivité à Humio avec les paramètres fournis sur la page de configuration de l'intégration dans la page Google SecOps Content Hub.
Paramètres
N/A
Exécuter sur
Cette action ne s'exécute pas sur les entités et ne comporte pas de paramètres d'entrée obligatoires.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si l'opération réussit : "Connexion au serveur Humio réussie avec les paramètres de connexion fournis." L'action doit échouer et arrêter l'exécution d'un playbook : Si l'opération échoue : "Échec de la connexion au serveur Humio ! Error is {0}".format(exception.stacktrace) |
Général |
Exécuter une recherche simple
Description
Recherchez des événements en fonction de paramètres dans Humio.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom du dépôt | Chaîne | N/A | Oui | Spécifiez le nom du dépôt dans lequel effectuer la recherche. |
| Filtre de requête | Chaîne | N/A | Non | Spécifiez la requête à exécuter pendant la recherche. Remarque : Les fonctions "head()" et "select()" ne doivent pas être fournies. |
| Période | LDD | La dernière heure Valeurs possibles :
|
Non | Spécifiez une période pour les résultats. Si vous sélectionnez "Personnalisé", vous devez également fournir le paramètre "Heure de début". |
| Heure de début | Chaîne | N/A | Non | Spécifiez l'heure de début des résultats. Ce paramètre est obligatoire si "Personnalisé" est sélectionné pour le paramètre "Période". Format : ISO 8601 |
| Heure de fin | Chaîne | N/A | Non | Spécifiez l'heure de fin des résultats. Format : ISO 8601. Si aucune valeur n'est fournie et que "Personnalisé" est sélectionné pour le paramètre "Période", ce paramètre utilise l'heure actuelle. |
| Champs à renvoyer | CSV | N/A | Non | Spécifiez les champs à renvoyer. Si rien n'est fourni, l'action renvoie tous les champs. |
| Champ de tri | Chaîne | N/A | Non | Spécifiez le paramètre à utiliser pour le tri. Par défaut, la requête trie les données par code temporel dans l'ordre croissant. |
| Type de champ de tri | LDD | Chaîne Valeurs possibles :
|
Non | Spécifiez le type du champ utilisé pour le tri. Ce paramètre est nécessaire pour s'assurer que les bons résultats sont renvoyés. |
| Ordre de tri | LDD | ASC Valeurs possibles :
|
Non | Spécifiez l'ordre de tri. |
| Nombre maximal de résultats à renvoyer | Integer | 50 | Non | Spécifiez le nombre de résultats à renvoyer. |
Exécuter sur
Cette action ne s'exécute pas sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
[
{
"@timestamp": 1636028056292,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"method": "google",
"sensitive": false,
"timestamp": "2021-11-04T12:14:16.292Z",
"type": "user.signin"
},
"@id": "gZPMhXMMcScGXHwxZ7bRH6Ns_88_264_1636028056"
},
{
"@timestamp": 1636028057934,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"sensitive": false,
"timestamp": "2021-11-04T12:14:17.934Z",
"type": "notifications.user.create"
},
"@id": "lSLLg2gMDW8GwHtpZTGD8GU1_65_108_1636028057"
}
]
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Type de résultat | Valeur/Description | Type |
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si au moins un résultat est trouvé (is_success=true) : "Successfully returned results for the query "{query}" in Humio." Si aucun résultat n'est trouvé (is_success=true) : "Aucun résultat n'a été trouvé pour la requête "{query}" dans Humio." L'action doit échouer et arrêter l'exécution d'un playbook : En cas d'erreur fatale (identifiants incorrects, absence de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Exécuter une recherche simple". Reason: {0}''.format(error.Stacktrace) Si le code d'état 400 est renvoyé : "Error executing action "Execute Simple Search". Reason: {0}''.format(response) Si le code d'état 404 est signalé : "Erreur lors de l'exécution de l'action "Exécuter la recherche personnalisée". Reason: {0}''.format(response) |
Général |
| Mur des cas | Nom : Résultats | Général |
Exécuter une recherche personnalisée
Description
Recherchez des événements à l'aide d'une requête personnalisée dans Humio.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom du dépôt | Chaîne | N/A | Oui | Spécifiez le nom du dépôt dans lequel effectuer la recherche. |
| Requête | Chaîne | N/A | Oui | Spécifiez la requête à exécuter dans Humio. Remarque : La fonction "head()" ne doit pas faire partie de cette chaîne. |
| Nombre maximal de résultats à renvoyer | Integer | 50 | Non | Spécifiez le nombre de résultats à renvoyer. |
Exécuter sur
Cette action ne s'exécute pas sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
[
{
"@timestamp": 1636028056292,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"method": "google",
"sensitive": false,
"timestamp": "2021-11-04T12:14:16.292Z",
"type": "user.signin"
},
"@id": "gZPMhXMMcScGXHwxZ7bRH6Ns_88_264_1636028056"
},
{
"@timestamp": 1636028057934,
"@rawstring": {
"actor": {
"ip": "31.43.227.151",
"orgRoot": false,
"organizationId": "z4ApqmrB7XbvsQB5E1muelI4WAKz4buZ",
"proxyRequest": false,
"type": "orgUser",
"user": {
"id": "MgPXnBAKQ4gCg25hW5jKhYTo",
"isRoot": false,
"username": "dana@example.com"
}
},
"sensitive": false,
"timestamp": "2021-11-04T12:14:17.934Z",
"type": "notifications.user.create"
},
"@id": "lSLLg2gMDW8GwHtpZTGD8GU1_65_108_1636028057"
}
]
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si au moins un résultat est trouvé (is_success=true) : "Successfully returned results for the query "{query}" in Humio." Si aucun résultat n'est trouvé (is_success=true) : "Aucun résultat n'a été trouvé pour la requête "{query}" dans Humio" L'action doit échouer et arrêter l'exécution d'un playbook : Si une erreur fatale est signalée (par exemple, des identifiants incorrects, l'absence de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Exécuter une recherche personnalisée". Reason: {0}''.format(error.Stacktrace) Si le code d'état 400 est signalé : "Erreur lors de l'exécution de l'action "Exécuter la recherche personnalisée". Reason: {0}''.format(response) Si le code d'état 404 est signalé : "Erreur lors de l'exécution de l'action "Exécuter la recherche personnalisée". Reason: {0}''.format(response) |
Général |
| Mur des cas | Nom : Résultats | Général |
Connecteurs
Humio - Connecteur d'événements
Description
Extraire des informations sur les événements du dépôt à partir de Humio.
Configurer le connecteur Humio - Events dans Google SecOps
Pour obtenir des instructions détaillées sur la configuration d'un connecteur dans Google SecOps, consultez Configurer le connecteur.
Paramètres du connecteur
Utilisez les paramètres suivants pour configurer le connecteur :
| Nom à afficher du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Nom du champ de produit | Chaîne | Nom du produit | Oui | Saisissez le nom du champ source pour récupérer le nom du champ produit. |
| Nom du champ d'événement | Chaîne | event_field | Oui | Saisissez le nom du champ source pour récupérer le nom du champ d'événement. |
| Nom du champ d'environnement | Chaîne | "" | Non | Nom du champ dans lequel le nom de l'environnement est stocké. Si le champ d'environnement n'est pas trouvé, l'environnement par défaut est utilisé. |
| Modèle d'expression régulière de l'environnement | Chaîne | .* | Non | Modèle d'expression régulière à exécuter sur la valeur trouvée dans le champ "Nom du champ d'environnement". La valeur par défaut est ".*" pour tout récupérer et renvoyer la valeur inchangée. Permet à l'utilisateur de manipuler le champ "environment" à l'aide d'une logique d'expression régulière. Si le modèle d'expression régulière est nul ou vide, ou si la valeur de l'environnement est nulle, le résultat final est l'environnement par défaut. |
| Délai avant expiration du script (en secondes) | Integer | 360 | Oui | Délai avant expiration du processus Python exécutant le script actuel. |
| Racine de l'API | Chaîne | https://cloud.us.humio.com | Oui | Racine de l'API de l'instance Humio. |
| Jeton d'API | Mot de passe | N/A | Non | Jeton d'API de l'instance Humio. |
| Nom du dépôt | Chaîne | N/A | Oui | Nom du dépôt à partir duquel les résultats seront récupérés. |
| Requête | Chaîne | N/A | Non | Interrogez les événements. Remarque : Les fonctions select() et head() ne doivent pas être ajoutées ici. |
| Nom du champ d'alerte | Chaîne | N/A | Non | Nom de la clé à utiliser pour le nom de l'alerte. Si aucune valeur n'est fournie ou si la valeur n'est pas valide, le connecteur utilisera "Humio Alert" comme solution de remplacement. |
| Nom du champ de gravité | CSV | N/A | Oui | Liste de clés séparées par une virgule à utiliser pour mapper la gravité. Remarque : Si la clé contient des valeurs de type "chaîne", elles doivent être mappées avec "Mappage JSON de la gravité". Si une clé non valide est fournie, la valeur "Default" du paramètre "Severity Mapping JSON" sera utilisée. |
| JSON de mappage de gravité | JSON | { "fieldName": { "value_1": 100, "value_2": 75, "value_3": -1 }, "Default": 50 } |
Oui | Objet JSON contenant toutes les clés avec des valeurs de chaîne mappées. Remarque : La clé "Default" est obligatoire. |
| Nombre maximal d'heures en arrière | Entier | 1 | Non | Nombre d'heures dans le passé à partir desquelles récupérer les événements. |
| Nombre maximal d'événements à récupérer | Integer | 20 | Non | Nombre d'événements à traiter par itération de connecteur. |
| Utiliser la liste d'autorisation comme liste de blocage | Case à cocher | Cochée | Oui | Si cette option est activée, la liste d'autorisation sera utilisée comme liste de blocage. |
| Vérifier le protocole SSL | Case à cocher | Cochée | Oui | Si cette option est activée, elle vérifie que le certificat SSL de la connexion à Humio est valide. |
| Adresse du serveur proxy | Chaîne | N/A | Non | Adresse du serveur proxy à utiliser. |
| Nom d'utilisateur du proxy | Chaîne | N/A | Non | Nom d'utilisateur du proxy pour l'authentification. |
| Mot de passe du proxy | Mot de passe | N/A | Non | Mot de passe du proxy pour l'authentification. |
Règles du connecteur
Assistance de proxy
Le connecteur est compatible avec les proxys.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.