Vectra
Version de l'intégration : 8.0
Cas d'utilisation
- Ingérez les détections Vectra pour les utiliser afin de créer des alertes Google Security Operations. Ensuite, dans Google SecOps, les alertes peuvent être utilisées pour effectuer des orchestrations avec des playbooks ou des analyses manuelles.
- Effectuez des actions d'enrichissement : obtenez des données de Vectra pour enrichir les données dans les alertes Google SecOps.
Autorisation du produit
Pour obtenir un jeton d'API, vous devez accéder à la page "Profil" et le copier.
Configurer l'intégration de Vectra dans Google SecOps
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 | Obligatoire | Description |
---|---|---|---|---|
Nom de l'instance | Chaîne | N/A | Non | Nom de l'instance pour laquelle vous souhaitez configurer l'intégration. |
Description | Chaîne | N/A | Non | Description de l'instance. |
Racine de l'API | Chaîne | https://{address}:{port} | Oui | Racine de l'API du serveur Vectra. |
Jeton d'API | Mot de passe | N/A | Oui | Jeton d'API du compte Vectra. |
Vérifier le protocole SSL | Case à cocher | Cochée | Oui | Si cette option est activée, vérifiez que le certificat SSL pour la connexion au serveur Vectra est valide. |
Exécuter à distance | Case à cocher | Décochée | Non | Cochez le champ pour exécuter l'intégration configurée à distance. Une fois la case cochée, l'option permettant de sélectionner l'utilisateur distant (agent) s'affiche. |
Actions
Ping
Description
Testez la connectivité à Vectra avec les paramètres fournis sur la page de configuration de l'intégration dans l'onglet Google Security Operations Marketplace.
Exécuter sur
L'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 |
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 : Imprimez "Successfully connected to the Vectra server with the provided connection parameters!" (Connexion au serveur Vectra réussie avec les paramètres de connexion fournis !) L'action doit échouer et arrêter l'exécution d'un playbook : Le message "Échec de la connexion au serveur Vectra ! Error is {0}".format(exception.stacktrace) |
Général |
Point de terminaison Enrich
Description
Récupérez les informations système du point de terminaison par son nom d'hôte ou son adresse IP.
Exécuter sur
Cette action s'applique aux entités suivantes :
- Adresse IP
- Nom d'hôte
Résultats de l'action
Enrichissement d'entités
Nom du champ d'enrichissement | Source (clé JSON) | Logique : quand les utiliser ? |
---|---|---|
Vectra_id | results/id | Lorsqu'il est disponible au format JSON |
Vectra_name | results/name | Lorsqu'il est disponible au format JSON |
Vectra_state | results/state | Lorsqu'il est disponible au format JSON |
Vectra_threat | résultats/menace | Lorsqu'il est disponible au format JSON |
Vectra_certainty | résultats/certitude | Lorsqu'il est disponible au format JSON |
Vectra_ip | results/last_source | Lorsqu'il est disponible au format JSON |
Vectra_tags | {results/tags} séparés par un espace | Lorsqu'il est disponible au format JSON |
Vectra_note | résultats/note | Lorsqu'il est disponible au format JSON |
Vectra_url | results/url | Lorsqu'il est disponible au format JSON |
Vectra_last_modified | results/last_modified | Lorsqu'il est disponible au format JSON |
Vectra_groups | {results/groups} séparés par des espaces | Lorsqu'il est disponible au format JSON |
Vectra_is_key_asset | results/is_key_asset | Lorsqu'il est disponible au format JSON |
Vectra_has_active_traffic | results/has_active_traffic | Lorsqu'il est disponible au format JSON |
Vectra_is_targeting_key_asset | results/is_targeting_key_asset | Lorsqu'il est disponible au format JSON |
Vectra_privilege_level | results/privilege_level | Lorsqu'il est disponible au format JSON |
Vectra_previous_ip | {results/previous_ips} séparés par des espaces | Lorsqu'il est disponible au format JSON |
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"id": 131,
"name": "DESKTOP-DAIOS7J",
"active_traffic": false,
"has_active_traffic": false,
"t_score": 0,
"threat": 0,
"c_score": 0,
"certainty": 0,
"severity": null,
"last_source": "10.0.2.68",
"ip": "10.0.2.68",
"previous_ips": [],
"last_detection_timestamp": "2019-10-08T17:13:57Z",
"key_asset": false,
"is_key_asset": false,
"state": "inactive",
"targets_key_asset": false,
"is_targeting_key_asset": false,
"detection_set": [],
"host_artifact_set": [
{
"type": "netbios",
"value": "DESKTOP-DAIOS7J",
"source": null,
"siem": false
}
],
"sensor": "YLq09aHU",
"sensor_name": "Vectra X",
"tags": [],
"note": null,
"note_modified_by": null,
"note_modified_timestamp": null,
"url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
"host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
"last_modified": "2020-02-12T13:41:51Z",
"assigned_to": null,
"assigned_date": null,
"groups": [],
"has_custom_model": false,
"privilege_level": null,
"privilege_category": null,
"probable_owner": null,
"detection_profile": null,
"host_session_luids": [],
"host_luid": "e0M-jygN"
}
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 et qu'au moins une des entités fournies a été enrichie (is_success = true) : Print "Successfully enriched the following endpoints from Vectra: \n {0}".format(entity.identifier list) Si l'action a trouvé plusieurs correspondances dans Vectra pour certaines entités Google SecOps, la première correspondance a été utilisée pour enrichir le point de terminaison : Imprimez "Plusieurs correspondances ont été trouvées dans Vectra. La première correspondance est utilisée pour les entités suivantes :/n {0}".format(liste des identifiants de l'entité) Si l'enrichissement de certaines entités échoue(is_success = true) : Imprimez "Aucune entité n'a été enrichie." L'action doit échouer et arrêter l'exécution d'un playbook : Imprimez "Erreur lors de l'exécution de l'action "Enrich Endpoint". Raison : {0}''.format(error.Stacktrace) |
Général |
Ajouter des tags
Description
Ajoutez des tags au point de terminaison ou à la détection dans Vectra.
Paramètres
Nom à afficher du paramètre | Type | Valeur par défaut | Mandatory | Description |
---|---|---|---|---|
Type d'élément | Menu déroulant | Point de terminaison Valeurs possibles : Détection |
Oui | Sélectionnez le type d'élément auquel vous souhaitez ajouter des tags. |
ID de l'élément | Chaîne | N/A | Oui | Spécifiez l'ID de la détection/du point de terminaison. |
Tags | CSV | N/A | Oui | Spécifiez les tags que vous souhaitez ajouter à la détection/au point de terminaison. Les tags doivent être séparés par une virgule (par exemple, tag1, tag2). |
Exécuter sur
Cette action ne s'applique pas aux 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 |
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 une détection/un point de terminaison est trouvé et que les tags ont été mis à jour (is_success = true) : Imprimez "Successfully added tags {0} to {1} with ID {2}.format(tags, Item Type, Item ID) Si une détection/un point de terminaison a été trouvé, mais que des tags n'ont pas été ajoutés (is_success=False) : Imprime "L'action n'a pas pu ajouter les tags {0} à {1} avec l'ID {2}. Reason: {3}. format(tags, Item Type, Item ID, tags parameter from response)". Si la détection/le point de terminaison n'a pas été trouvé (is_success=False) : Imprimez "{0} avec l'ID {1} est introuvable.format(Item Type, Item ID)." II is_success=false sans situation spécifique et sans erreur critique : Imprimez "Action wasn't able to add tags to {0} with ID {1}.format(Item Type, Item ID)" (L'action n'a pas pu ajouter de tags à {0} avec l'ID {1}.format(Item Type, Item ID)) : L'action doit échouer et arrêter l'exécution d'un playbook : Imprime "Erreur lors de l'exécution de l'action "Ajouter des tags". Raison : {0}''.format(error.Stacktrace) |
Général |
Supprimer des tags
Description
Supprimez les tags du point de terminaison ou de la détection dans Vectra.
Paramètres
Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
Type d'élément | Menu déroulant | Point de terminaison Valeurs possibles : Détection |
Oui | Sélectionnez le type d'élément dont vous souhaitez supprimer les tags. |
ID de l'élément | Chaîne | N/A | Oui | Spécifiez l'ID de la détection/du point de terminaison. |
Tags | CSV | N/A | Oui | Spécifiez les tags que vous souhaitez supprimer de la détection/du point de terminaison. Les tags doivent être séparés par une virgule (par exemple, tag1, tag2). |
Exécuter sur
Cette action ne s'applique pas aux 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 |
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 une détection/un point de terminaison est trouvé et que les tags ont été mis à jour (is_success = true) : Imprime "Successfully removed tags {0} from {1} with ID {2}.format(tags, Item Type, Item ID) Si la détection/le point de terminaison n'a pas été trouvé (is_success=False) : Imprimez "{0} avec l'ID {1} introuvable.".format(Item Type, Item ID)." Si un point de terminaison/une détection a été trouvé, mais que la balise n'a pas été trouvée (is_success=False) : Imprimez "Les tags {0} n'existent pas dans {1} avec l'ID {2}.".format(liste des tags introuvables séparés par une virgule, type d'élément, ID de l'élément)." Si is_success=false sans situation spécifique et qu'il ne s'agit pas d'une erreur critique : Imprimez "Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)" : L'action doit échouer et arrêter l'exécution d'un playbook : Message "Erreur lors de l'exécution de l'action "Supprimer les tags". Raison : {0}''.format(error.Stacktrace) |
Général |
Mettre à jour une note
Description
Note de mise à jour pour le point de terminaison ou la détection.
Paramètres
Nom à afficher du paramètre | Type | Valeur par défaut | Mandatory | Description |
---|---|---|---|---|
Type d'élément | Menu déroulant | Point de terminaison Valeurs possibles : Détection |
Oui | Sélectionnez le type d'élément pour lequel vous souhaitez modifier une note. |
ID de l'élément | Chaîne | N/A | Oui | Spécifiez l'ID de la détection/du point de terminaison. |
Remarque | Chaîne | N/A | Oui | Spécifiez la note que vous souhaitez ajouter à la détection/au point de terminaison. |
Exécuter sur
Cette action ne s'applique pas aux 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 |
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 une détection/un point de terminaison est trouvé et que la note a été mise à jour (is_success = true) : Imprimez "Note modifiée avec succès sur {1} avec l'ID {2}.format(Item Type, Item ID) Si la détection/le point de terminaison n'a pas été trouvé (is_success=False) : Imprimez "{0} avec l'ID {1} introuvable.".format(Item Type, Item ID)." Si is_success=false sans situation spécifique et qu'il ne s'agit pas d'une erreur critique : Imprimez "L'action n'a pas pu mettre à jour la note sur {0} avec l'ID {1}.format(Item Type, Item ID)" : L'action doit échouer et arrêter l'exécution d'un playbook : Imprimez "Erreur lors de l'exécution de l'action "Mettre à jour la note". Raison : {0}''.format(error.Stacktrace) |
Général |
Modifier l'état de la détection
Description
Mettez à jour l'état de la détection.
Paramètres
Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
ID de la détection | Integer | N/A | Oui | Spécifiez l'ID de la détection dont vous souhaitez modifier l'état. |
État | LDD | Correction de Valeurs possibles : Fixe Actif |
Oui | Indiquez l'état à définir pour la détection. |
Exécuter sur
Cette action ne s'applique pas aux 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 |
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 une détection est trouvée et que l'état a été mis à jour (is_success = true) : Imprimez "Successfully updated status to '{0}' on detection with ID {1}.format(Status, Detection ID)
Si aucune détection n'a été trouvée (is_success=False) : Imprimez "Détection avec l'ID {1} introuvable".format(ID de détection)." Si is_success=false sans situation spécifique et qu'il ne s'agit pas d'une erreur critique : Imprimez "Action wasn't able to update status on detection with ID {1}.format(detection ID)" (L'action n'a pas pu mettre à jour l'état de la détection avec l'ID {1}.format(detection ID)) : L'action doit échouer et arrêter l'exécution d'un playbook : Imprimez "Erreur lors de l'exécution de l'action "Mettre à jour l'état de la détection". Raison : {0}''.format(error.Stacktrace) |
Général |
Obtenir les détails d'une règle de triage
Description
Obtenez des informations détaillées sur les règles de triage.
Paramètres
Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
---|---|---|---|---|
ID des règles de tri | Integer | N/A | Oui | Spécifiez une liste d'ID de règles de tri séparés par une virgule. Exemple : 28,29 |
Créer des insights | Case à cocher | Vrai | Oui | Si cette option est activée, l'action créera un insight distinct pour chaque règle de triage traitée. |
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Insight
Titre de l'insight | Description de l'insight |
---|---|
"Triage Rule {0}".format(triage_rule) | "Detection Category: {0}\n Triage Category: {1}\n Detection: {2} \n Description: {3}".format(detection_category, triage_category, detection, description) |
Résultat du script
Nom du résultat du script | Options de valeur | Exemple |
---|---|---|
is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"id": 28,
"url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
"description": "whatever",
"enabled": true,
"created_timestamp": "2020-10-01T17:21:19Z",
"last_timestamp": "2020-10-01T17:21:19Z",
"is_whitelist": false,
"priority": 1,
"active_detections": 1,
"total_detections": 1,
"template": false,
"additional_conditions": {
"OR": [
{
"AND": [
{
"ANY_OF": {
"field": "remote1_ip",
"values": [
{
"url": null,
"value": "35.166.75.118",
"label": "35.166.75.118"
}
],
"groups": [],
"label": "C&C Server IP"
}
}
]
}
]
},
"source_conditions": {
"OR": [
{
"AND": [
{
"ANY_OF": {
"field": "host",
"values": [
{
"url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
"value": 142,
"label": "IP-10.10.100.10"
}
],
"groups": [],
"label": "Host"
}
}
]
}
]
},
"detection_category": "COMMAND & CONTROL",
"triage_category": "triage rule 1",
"detection": "Hidden HTTPS Tunnel"
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 et qu'au moins l'un des ID de règle fournis a été enrichi (is_success = true) : Print "Successfully retrieved information about the following triage rules from Vectra: \n {0}".format(processed rule ids) Si l'enrichissement de certaines entités échoue(is_success = true) : Imprimez "L'action n'a pas pu récupérer d'informations sur les règles de triage suivantes\n: {0}".format(not processed rule ids) Si l'enrichissement échoue pour toutes les entités (is_success = false) : Imprimez "Aucune information n'a été récupérée concernant les règles de triage." L'action doit échouer et arrêter l'exécution d'un playbook : Imprimez "Erreur lors de l'exécution de l'action "Obtenir les détails de la règle de triage". Raison : {0}''.format(error.Stacktrace) |
Général |
Tableau du mur des cas | Nom de la table : "Détails des règles de triage" Colonnes du tableau : ID (mappé en tant qu'ID) Activé (mappé comme activé) Catégorie de détection (mappée en tant que detection_category) Catégorie de triage (mappée en tant que triage_category) Détection (mappée en tant que détection) Liste blanche (mappée en tant que "is_whitelist") Priorité (mappée en tant que priorité) Créé le (mappé en tant que created_timestamp) |
Général |
Connecteurs
Connecteur Vectra – Détections
Configurer le connecteur Vectra – Detections 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 | 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 | eventType | 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 | Décrit le nom du champ dans lequel le nom de l'environnement est stocké. Si le champ "environment" (environnement) est introuvable, l'environnement est celui par défaut. |
Modèle d'expression régulière de l'environnement |
Chaîne | .* | Non | 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 capturer et renvoyer la valeur inchangée. Permet à l'utilisateur de manipuler le champ "environnement" à l'aide de la logique des expressions régulières. Si le modèle d'expression régulière est nul ou vide, ou si la valeur d'environnement est nulle, l'environnement par défaut est utilisé comme résultat final. |
Délai avant expiration du script (en secondes) | Integer | 180 | Oui | Délai avant expiration du processus Python exécutant le script actuel. |
Racine de l'API | Chaîne | https://x.x.x.x:x:x | Oui | Racine de l'API du serveur Vectra. |
Jeton d'API | Mot de passe | N/A | Oui | Jeton d'API du compte Vectra. |
Score de menace le plus faible à récupérer | Integer | 50 | Oui | Score de menace le plus bas qui sera utilisé pour récupérer les détections. Min : 0 Valeur maximale : 100 |
Score de certitude minimal à récupérer | Integer | 0 | Non | Score de certitude le plus bas qui sera utilisé pour récupérer les détections. Min : 0 Valeur maximale : 100 |
Filtre par catégorie | Valeurs séparées par une virgule | Commande et contrôle,botnet ,reconnaissance,déplacement latéral,exfiltration,info | Spécifiez les catégories de détections à ingérer dans Google SecOps. Valeurs possibles : Commande et contrôle Botnet Reconnaissance Mouvement latéral Exfiltration Infos |
|
Récupérer les heures Max en arrière | Integer | 1 | Non | Nombre d'heures à partir desquelles extraire les menaces. |
Nombre maximal de détections à récupérer | Integer | 25 | Non | Nombre de détections à traiter par itération de connecteur. La limite est de 5 000. Il s'agit d'une limitation de Vectra. |
Utiliser la liste blanche comme liste noire | Case à cocher | Décochée | Oui | Si cette option est activée, la liste blanche sera utilisée comme liste noire. |
Vérifier le protocole SSL | Case à cocher | Cochée | Oui | Si cette option est activée, vérifiez que le certificat SSL pour la connexion au serveur Vectra 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 le proxy.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.