Point de journalisation

Ce document explique comment intégrer Logpoint à Google SecOps.

Cas d'utilisation

Effectuer des actions actives : exécuter des requêtes pour obtenir plus d'informations sur les entités.

Configurer l'intégration de Logpoint 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
Adresse IP Chaîne https://x.x.x.x Oui Adresse IP de l'instance Logpoint.
Nom d'utilisateur Chaîne N/A Oui Nom d'utilisateur du compte Logpoint.
Secret Mot de passe N/A Oui Clé API secrète du compte Logpoint
Fichier de certificat CA Chaîne N/A Non Fichier de certificat CA encodé en base64.
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 Logpoint est valide.

Actions

Ping

Description

Testez la connectivité à Logpoint 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

L'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
is_success is_success=False
is_success is_success=True
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 :
En cas de réussite : "Successfully connected to the Logpoint server with the provided connection parameters!"

L'action doit échouer et arrêter l'exécution d'un playbook
en cas d'échec : "Failed to connect to the Logpoint server! Error is {0}".format(exception.stacktrace)

Général

Exécuter la requête

Description

Exécutez une requête de recherche dans Logpoint.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
Query Chaîne N/A Oui Spécifiez la requête à exécuter dans Logpoint.
Période LDD

Dernières 24 heures

Valeurs possibles :
Dernière heure

Les 12 dernières heures

Dernières 24 heures

Les 30 derniers jours

365 derniers jours

Personnalisé

Oui Spécifiez la période de la requête. Si vous sélectionnez "Personnalisé", vous devez également indiquer une heure de début et une heure de fin.
Heure de début Chaîne N/A Non

Spécifiez l'heure de début de la requête. Format :

AAAA-MM-JJThh:mm:ssZ ou code temporel.

Heure de fin Chaîne N/A Non

Spécifiez l'heure de fin de la requête.Format :

AAAA-MM-JJThh:mm:ssZ ou code temporel. Si aucune valeur n'est fournie, l'action utilisera l'heure actuelle comme heure de fin.

Dépôts CSV N/A Non Spécifiez une liste de noms de dépôts, séparés par une virgule. Si rien n'est fourni, l'action effectuera une recherche dans tous les dépôts.
Nombre maximal de résultats à renvoyer Integer 100 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
is_success is_success=False
is_success is_success=True
Résultat JSON
{
    "query_type": "simple",
    "rows": [
        {
            "msg": "2021-01-10 10:27:50 Benchmarker; reporting speed; service=norm_front; actual_mps=1; doable_mps=19096;",
            "log_ts": 1610274470,
            "actual_mps": "1",
            "doable_mps": "19096",
            "_type_str": "_tz device_name msg source_name col_type object norm_id service collected_at label device_ip
    _enrich_policy action _fromV550 repo_name logpoint_name",
    "device_name": "localhost",
            "_offset": 48317,
            "logpoint_name": "Logpoint",
            "action": "reporting speed",
            "repo_name": "_logpoint",
            "source_name": "/opt/immune/var/log/benchmarker/norm_front.log",
            "col_ts": 1610274470,
            "_tz": "UTC",
            "norm_id": "Logpoint",
            "_identifier": "0",
            "collected_at": "Logpoint",
            "device_ip": "127.0.0.1",
            "service": "norm_front",
            "_fromV550": "t",
            "_enrich_policy": "None",
            "_type_num": "actual_mps doable_mps col_ts sig_id log_ts _offset _identifier",
            "_type_ip": "device_ip",
            "sig_id": "10505",
            "col_type": "filesystem",
            "object": "Benchmarker",
            "_labels": [
                "Logpoint",
                "Benchmarker"
            ]
        }
    ],
    "version": 6,
    "extracted_terms": [],
    "time_range": [
        1609496280,
        1610274480
    ],
    "orig_search_id": "9acac4a0-e530-4a19-a446-e17d4d9f8aae",
    "success": true,
    "final": true,
    "totalPages": 1,
    "estim_count": 185003,
    "complete": true,
    "status": {
        "Logpoint": {
            "default": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 3,
                "final": true
            },
            "_logpoint": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 185000,
                "final": true
            },
            "LogSource1": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            },
            "_LogpointAlerts": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            }
        }
    }
}
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 success == true pour toutes les requêtes (is_success = true) : "Successfully executed query and retrieved results from Logpoint".

Si success == true pour toutes les requêtes, mais qu'aucun résultat n'est renvoyé (is_success=false) : "Aucune donnée n'a été trouvée pour la requête fournie."

Si success == false pour au moins une requête (is_success = false) : "Action wasn't able to successfully execute query and retrieve results from Logpoint. Reason: {0}".format(message)

Message asynchrone

"En attente de la fin du traitement de la requête dans Logpoint."

L'action doit échouer et arrêter l'exécution d'un playbook :
en cas d'erreur fatale, comme des identifiants incorrects, l'absence de connexion au serveur, etc. : "Error executing action "Execute Query". Reason: {0}''.format(error.Stacktrace)

Si le délai d'expiration est dépassé :

Erreur lors de l'exécution de l'action "Exécuter la requête". Motif : l'action a expiré. Veuillez réduire la période ou le nombre de résultats à renvoyer.

Si au moins un dépôt est introuvable :

"Erreur lors de l'exécution de l'action "Exécuter la requête". Motif : Les dépôts suivants sont introuvables dans Logpoint : {0}. Veuillez vous assurer que tous les dépôts sont disponibles.".format(liste d'éléments séparés par une virgule des dépôts introuvables)

Si l'option "Personnalisé" est sélectionnée, mais que l'heure de début n'est pas indiquée :

"Erreur lors de l'exécution de l'action "Exécuter la requête". Motif : vous devez indiquer une heure de début si vous avez sélectionné "Personnalisée" pour la période.

Général
Tableau du mur des cas

Nom de la table : "Résultats"

Toutes les colonnes de la réponse seront utilisées comme colonnes de la table.

Général

Exécuter une requête d'entité

Description

Exécutez une requête dans Logpoint en fonction des entités. Types d'entités actuellement acceptés : utilisateur, adresse IP, adresse e-mail, URL, hachage de fichier, nom d'hôte. Remarque : "Adresse e-mail" est une entité utilisateur qui correspond au format d'une adresse e-mail.

Utiliser les paramètres d'action

Cette action permet de récupérer facilement des informations liées aux entités. Par exemple, il est possible de résoudre le cas d'utilisation dans lequel vous souhaitez voir la quantité de journaux des points de terminaison affectés par le hachage fourni sans créer de requête complexe.

Pour résoudre ce problème dans le point de journalisation, vous devez préparer la requête suivante : ("device_ip"="10.0.0.1" or "device_ip"="10.0.0.2") and ("hash"="7694f4a66316e53c8cdd9d9954bd611d" or "hash"="8264ee52f589f4c0191aa94f87aa1aeb") | chart count() by device_ip

Pour créer la même requête à l'aide de l'action "Exécuter une requête d'entité", vous devez renseigner les paramètres d'action de la manière suivante :

Requête | chart count() by device_ip
Clé d'entité IP device_ip
Clé d'entité de hachage de fichier hash
Opérateur d'entité croisée ET

Tous les autres champs peuvent être laissés vides.

Si le cas d'utilisation consiste à voir combien de points de terminaison ont été affectés par les hachages fournis, la configuration de l'action "Exécuter une requête d'entité" se présentera comme suit.

Requête | chart count() by device_ip
Clé d'entité de hachage de fichier hash

Dans ce cas, l'opérateur entre entités n'aura aucun impact, car il n'affecte la requête que lorsque plusieurs clés d'entité sont fournies.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
Query Chaîne Oui Spécifiez la requête à exécuter. Pour en savoir plus, consultez la documentation de l'action.
Période LDD

Dernières 24 heures

Valeurs possibles :
Dernière heure

Les 12 dernières heures

Dernières 24 heures

Les 30 derniers jours

365 derniers jours

Personnalisé

Oui Spécifiez la période de la requête. Si vous sélectionnez "Personnalisée", vous devez également indiquer une heure de début. L'heure de fin correspondra par défaut à l'heure actuelle.
Heure de début Chaîne Non

Spécifiez l'heure de début de la requête. Format :

AAAA-MM-JJThh:mm:ssZ ou code temporel.

Heure de fin Chaîne Non

Spécifiez l'heure de fin de la requête.Format :

AAAA-MM-JJThh:mm:ssZ ou code temporel. Si aucune valeur n'est fournie, l'action utilisera l'heure actuelle comme heure de fin.

Dépôts CSV Non Spécifiez une liste de noms de dépôts, séparés par une virgule. Si rien n'est fourni, l'action effectuera une recherche dans tous les dépôts.
Clé d'entité IP Chaîne Non Spécifiez la clé à utiliser avec les entités d'adresse IP. Pour en savoir plus, consultez la documentation de l'action.
Clé d'entité du nom d'hôte Chaîne Non Spécifiez la clé à utiliser avec les entités Hostname lors de la préparation du fichier . Pour en savoir plus, consultez la documentation de l'action.
Clé d'entité de hachage de fichier Non Spécifiez la clé à utiliser avec les entités de hachage de fichier. Pour en savoir plus, consultez la documentation de l'action.
Clé d'entité utilisateur Non Spécifiez la clé à utiliser avec les entités User. Pour en savoir plus, consultez la documentation de l'action.
Clé d'entité d'URL Non Spécifiez la clé à utiliser avec les entités d'URL. Pour en savoir plus, consultez la documentation de l'action.
Clé d'entité de l'adresse e-mail Non Spécifiez la clé à utiliser avec les entités d'adresse e-mail. Pour en savoir plus, consultez la documentation de l'action.
Arrêter si le nombre d'entités est insuffisant Case à cocher Cochée Oui Si cette option est activée, l'action ne s'exécutera pas, sauf si tous les types d'entités sont disponibles pour les "clés d'entité..." spécifiées. Exemple : si "Clé d'entité d'adresse IP" et "Clé d'entité de hachage de fichier" sont spécifiées, mais qu'il n'y a pas de hachage de fichier dans le champ d'application, l'action n'exécutera pas la requête si ce paramètre est activé.
Opérateur d'entité croisée LDD

OU

Valeurs possibles :

OU

ET

Oui Spécifiez l'opérateur logique à utiliser entre différents types d'entités.
Nombre maximal de résultats à renvoyer Integer 100 Non Spécifiez le nombre de résultats à renvoyer.

Exécuter sur

Cette action s'exécute sur les entités suivantes :

  • Adresse IP
  • Hôte
  • Utilisateur
  • Hash
  • URL

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
    "query_type": "simple",
    "rows": [
        {
            "msg": "2021-01-10 10:27:50 Benchmarker; reporting speed; service=norm_front; actual_mps=1; doable_mps=19096;",
            "log_ts": 1610274470,
            "actual_mps": "1",
            "doable_mps": "19096",
            "_type_str": "_tz device_name msg source_name col_type object norm_id service collected_at label device_ip
    _enrich_policy action _fromV550 repo_name logpoint_name",
    "device_name": "localhost",
            "_offset": 48317,
            "logpoint_name": "Logpoint",
            "action": "reporting speed",
            "repo_name": "_logpoint",
            "source_name": "/opt/immune/var/log/benchmarker/norm_front.log",
            "col_ts": 1610274470,
            "_tz": "UTC",
            "norm_id": "Logpoint",
            "_identifier": "0",
            "collected_at": "Logpoint",
            "device_ip": "127.0.0.1",
            "service": "norm_front",
            "_fromV550": "t",
            "_enrich_policy": "None",
            "_type_num": "actual_mps doable_mps col_ts sig_id log_ts _offset _identifier",
            "_type_ip": "device_ip",
            "sig_id": "10505",
            "col_type": "filesystem",
            "object": "Benchmarker",
            "_labels": [
                "Logpoint",
                "Benchmarker"
            ]
        }
    ],
    "version": 6,
    "extracted_terms": [],
    "time_range": [
        1609496280,
        1610274480
    ],
    "orig_search_id": "9acac4a0-e530-4a19-a446-e17d4d9f8aae",
    "success": true,
    "final": true,
    "totalPages": 1,
    "estim_count": 185003,
    "complete": true,
    "status": {
        "Logpoint": {
            "default": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 3,
                "final": true
            },
            "_logpoint": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 185000,
                "final": true
            },
            "LogSource1": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            },
            "_LogpointAlerts": {
                "@class": "com.logpoint.libcommon.merger.api.SimpleStatus",
                "estim_count": 0,
                "final": true
            }
        }
    }
}
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 success == true pour toutes les requêtes (is_success = true) : "Successfully executed query and retrieved results from Logpoint".

Si success == true pour toutes les requêtes, mais qu'aucun résultat n'est renvoyé (is_success=false) : "Aucune donnée n'a été trouvée pour la requête fournie."

Si success == false pour au moins une requête (is_success = false) : "Action wasn't able to successfully execute query and retrieve results from Logpoint. Reason: {0}".format(message)

Message asynchrone

"En attente de la fin du traitement de la requête dans Logpoint."

Si l'option "Arrêter si le nombre d'entités est insuffisant" est activée et que le nombre de types d'entités disponibles pour les "clés d'entité" fournies est insuffisant (is_success=false) : l'action n'a pas pu créer la requête, car le nombre de types d'entités fournis pour les "clés d'entité" spécifiées était insuffisant. Veuillez désactiver le paramètre "Arrêter si le nombre d'entités est insuffisant" ou fournir au moins une entité pour chaque "Clé d'entité..." spécifiée.

L'action doit échouer et arrêter l'exécution d'un playbook
en cas d'erreur fatale, comme des identifiants incorrects, l'absence de connexion au serveur, etc. : "Error executing action "Execute Entity Query". Reason: {0}''.format(error.Stacktrace)

Si le délai d'expiration est dépassé :

Erreur lors de l'exécution de l'action "Exécuter une requête d'entité". Motif : l'action a expiré. Veuillez réduire la période ou le nombre de résultats à renvoyer.

Si au moins un dépôt est introuvable :
"Error executing action "Execute Entity Query". Motif : Les dépôts suivants sont introuvables dans Logpoint : {0}. Veuillez vous assurer que tous les dépôts sont disponibles.".format(comma-separated list of repos that were not found)

Si aucune clé "Entity" n'est spécifiée :

Erreur lors de l'exécution de l'action "Exécuter une requête d'entité". Motif : veuillez spécifier au moins un paramètre ".. Entity Key".

Si l'option "Personnalisé" est sélectionnée, mais que l'heure de début n'est pas indiquée :

"Erreur lors de l'exécution de l'action "Exécuter une requête d'entité". Motif : vous devez indiquer une heure de début si vous avez sélectionné "Personnalisée" pour la période.

Général

Tableau du mur des cas

Nom de la table : "Results"

Toutes les colonnes de la réponse seront utilisées comme colonnes de table.

Général

Lister les dépôts

Description

Répertoriez les dépôts disponibles dans Logpoint.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
Nombre maximal de dépôts à renvoyer Integer 100 Non Spécifiez le nombre de rapports à 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
is_success is_success=False
is_success is_success=True
Résultat JSON
{
    "success": true,
    "allowed_repos": [
        {
            "repo": "default",
            "address": "127.0.0.1:5504/default"
        },
        {
            "repo": "_logpoint",
            "address": "127.0.0.1:5504/_logpoint"
        },
        {
            "repo": "_LogpointAlerts",
            "address": "127.0.0.1:5504/_LogpointAlerts"
        },
        {
            "repo": "LogSource1",
            "address": "127.0.0.1:5504/LogSource1"
        }
    ],
    "logpoint": [
        {
            "name": "Logpoint",
            "ip": "127.0.0.1"
        }
    ]
}
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 success == true (is_success = true) : "Successfully retrieve available repos query from Logpoint".

L'action doit échouer et arrêter l'exécution d'un playbook
en cas d'erreur fatale, comme des identifiants incorrects, l'absence de connexion au serveur, etc. : "Error executing action "List Repos". Reason: {0}''.format(error.Stacktrace)

Général
Tableau du mur des cas

Nom de la table : "Available Repos"

Nom : allowed_repos/repo

Adresse : allowed_repos/address

Général

Mettre à jour l'état de l'incident

Description

Mettre à jour l'état de l'incident dans Logpoint.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Est obligatoire Description
ID de l'incident Chaîne N/A Oui Spécifiez l'ID de l'incident que vous souhaitez mettre à jour.
Action DLL

Fermer

Valeurs possibles :

Résoudre

Fermer

Oui Spécifiez l'action à effectuer pour l'incident.

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
is_success is_success=False
is_success is_success=True
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 success== true (is_success = true) : "Successfully {0} incident with ID {1} in Logpoint.".format(resolved/closed, incident_id)

if success== false(is_success = true): "Action wasn't able to {0} incident with ID {1} in Logpoint.".format(resolve/close, incident_id)

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, like wrong credentials, no connection to server, other: "Error executing action "Update Incident Status". Reason: {0}''.format(error.Stacktrace)

Général

Connecteur

Logpoint – Connecteur d'incidents

Description

Extraire des incidents de Logpoint.

Configurer le connecteur Logpoint - Incidents 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 type 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) Entier 180 Oui Délai avant expiration du processus Python exécutant le script actuel.
Adresse IP Chaîne https://x.x.x.x Oui Adresse IP de l'instance Logpoint.
Nom d'utilisateur Chaîne N/A Oui Nom d'utilisateur du compte Logpoint.
Secret Mot de passe N/A Oui Secret du compte Logpoint.
Nombre maximal d'heures en arrière Entier 1 Non Nombre d'heures dans le passé à partir desquelles récupérer les incidents.
Risque le plus faible à récupérer Chaîne N/A Non

Risque le plus faible des incidents à récupérer. Valeurs possibles :

Critique, Élevé, Moyen, Faible.

Nombre maximal d'incidents à récupérer Integer 10 Non Nombre d'incidents à traiter par itération de connecteur.
Utiliser la liste d'autorisation comme liste de blocage Case à cocher Dé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 Décochée Oui Si cette option est activée, elle vérifie que le certificat SSL de la connexion au serveur Logpoint est valide.
Fichier de certificat CA Chaîne N/A Non Fichier de certificat CA encodé en base64.
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.
Filtre d'utilisateur CSV N/A Non Liste de noms d'utilisateur séparés par une virgule, utilisée pour filtrer les incidents. Seuls les incidents créés par les utilisateurs valides sont ingérés. Si rien n'est fourni, ce filtre n'est pas appliqué et le connecteur ingère les incidents de tous les utilisateurs.

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.