Intégrer Armis à Google SecOps

Ce document explique comment intégrer Armis à Google Security Operations.

Version de l'intégration : 12.0

Cas d'utilisation

  1. Effectuer des actions d'enrichissement
  2. Ingérez les alertes.
  3. Effectuez une action de triage (mettez à jour l'état de l'alerte).

Paramètres d'intégration

Utilisez les paramètres suivants pour configurer l'intégration :

Nom du paramètre Type Valeur par défaut Obligatoire Description
Racine de l'API Chaîne Oui Racine de l'API Armis
Code secret de l'API Mot de passe N/A Oui Code secret de l'API Armis
Vérifier le protocole SSL Case à cocher Cochée Oui Si cette option est activée, elle vérifie que le certificat SSL pour la connexion au serveur Armis est valide.

Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.

Vous pourrez apporter des modifications ultérieurement, si nécessaire. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.

Actions

Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis Votre bureau et Effectuer une action manuelle.

Ping

Testez la connectivité à Armis.

Paramètres

N/A

Date d'exécution

L'action n'utilise pas d'entités ni 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 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 Armis établie 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 Armis. Error is {0}".format(exception.stacktrace)

Général

Enrichir les entités

Enrichissez les entités à l'aide des informations d'Armis. Entités acceptées : adresse IP, adresse MAC.

Paramètres

Nom du paramètre Type Valeur par défaut Obligatoire Description
Créer un insight de point de terminaison Case à cocher Cochée Oui Si cette option est activée, l'action crée un insight contenant des informations sur les points de terminaison.

Date d'exécution

Cette action s'applique aux entités suivantes :

  • Adresse IP
  • Adresse MAC

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

{
    "accessSwitch": null,
    "category": "Computers",
    "dataSources": [
        {
            "firstSeen": "2021-03-07T04:04:22.562873+00:00",
            "lastSeen": "2021-03-07T04:04:22.562873+00:00",
            "name": "Example",
            "types": [
                "Asset & System Management",
                "Virtualization"
            ]
        },
        {
            "firstSeen": "2021-03-07T04:04:22.562873+00:00",
            "lastSeen": "2021-03-07T04:04:22.562873+00:00",
            "name": "Armis Smart Scanner",
            "types": [
                "Vulnerability Management"
            ]
        }
    ],
    "firstSeen": "2021-03-07T04:04:22.562873+00:00",
    "id": 1616,
    "ipAddress": "192.0.2.120",
    "ipv6": null,
    "lastSeen": "2021-03-21T08:05:40.244960+00:00",
    "macAddress": "01:23:45:ab:cd:ef",
    "manufacturer": "VMware",
    "model": "VMware Virtual Platform",
    "name": "Example",
    "operatingSystem": "CentOS",
    "operatingSystemVersion": "6.6",
    "purdueLevel": 4.0,
    "riskLevel": 5,
    "sensor": {
        "name": "North conference room",
        "type": "Physical Sensor"
    },
    "site": {
        "location": "Palo Alto",
        "name": "Palo Alto Offices"
    },
    "tags": [
        "Discover",
        "Example"
    ],
    "type": "Virtual Machines",
    "user": "",
    "visibility": "Full"
}

Enrichissement d'entités

Nom du champ d'enrichissement Logique : quand les utiliser ?
category Lorsqu'il est disponible au format JSON
id Lorsqu'il est disponible au format JSON
ipAddress Lorsqu'il est disponible au format JSON
macAddress Lorsqu'il est disponible au format JSON
nom Lorsqu'il est disponible au format JSON
os Lorsqu'il est disponible au format JSON
purdue_level Lorsqu'il est disponible au format JSON
risk_level Lorsqu'il est disponible au format JSON
tags Lorsqu'il est disponible au format JSON
type Lorsqu'il est disponible au format JSON
utilisateur Lorsqu'il est disponible au format JSON
visibility Lorsqu'il est disponible au format JSON
site Lorsqu'il est disponible au format JSON
lien Lorsqu'il est disponible au format JSON
Mur des cas
Type de résultat Description Type
Message de sortie*

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

if enriched some(is_success = true): "Successfully enriched the following entities using Armis:\n".format(entity.identifier)

Si l'enrichissement n'a pas été effectué pour certaines entités (is_success = true) : "L'action n'a pas pu enrichir les entités suivantes à l'aide d'Armis :\n".format(entity.identifier)

Si l'enrichissement n'a pas été effectué pour toutes les entités (is_success = false) : "Aucune entité n'a été enrichie".

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. : "Erreur lors de l'exécution de l'action "Enrichir les entités". Raison : {0}''.format(error.Stacktrace)

Général
Tableau des entités Entité

Lister les connexions d'alertes

Répertoriez les connexions associées à l'alerte dans Armis.

Paramètres

Nom du paramètre Type Valeur par défaut Obligatoire Description
ID d'alerte Integer Oui Spécifiez l'ID de l'alerte pour laquelle vous souhaitez extraire les données de connexion.
Gravité la plus faible à récupérer LDD

Moyenne

Valeurs possibles :

  • Faible
  • Moyen
  • Élevée
Non Spécifiez le niveau de gravité le plus bas des connexions à utiliser lors de leur récupération.
Nombre maximal de connexions à renvoyer Integer 50 Non Spécifiez le nombre de connexions à renvoyer.

Date d'exécution

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

Résultat JSON

{
    "band": null,
    "channel": null,
    "dhcpAuthenticationDuration": null,
    "duration": 12339,
    "endTimestamp": "2021-03-18T20:19:31.562873+00:00",
    "id": 33355,
    "inboundTraffic": 12412512,
    "outboundTraffic": 19626489,
    "protocol": "Bluetooth",
    "radiusAuthenticationDuration": null,
    "risk": "Medium",
    "rssi": null,
    "sensor": {
        "name": "EXAMPLE",
        "type": "Switch"
    },
    "site": {
        "location": "Location",
        "name": "Location HQ"
    },
    "snr": null,
    "sourceId": 2097,
    "startTimestamp": "2021-03-18T16:53:52.562873+00:00",
    "targetId": 217,
    "title": "Connection between Example and user's iPhone",
    "totalAssociationDuration": null,
    "traffic": 32039001,
    "wlanAssociationDuration": null
}
Mur des cas
Type de résultat Description Type
Message de sortie*

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

if 200 and data is available (is_success = true): "Successfully returned connections related to the alert {alertId} based on the provided criteria in Armis."

Si le code 200 est renvoyé et qu'aucune donnée n'est disponible (is_success=false) : "Aucune connexion n'a été trouvée pour l'alerte {alertId} en fonction des critères fournis dans Armis."

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

Si une erreur fatale se produit (par exemple, des identifiants incorrects, une absence de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Lister les connexions d'alertes". Raison : {0}''.format(error.Stacktrace)

Général
Tableau du mur des cas

Nom : Communications disponibles

Colonnes :

  • Titre
  • Protocole
  • Gravité
  • Heure de début
  • Heure de fin
Général

Modifier l'état d'une alerte

Mettez à jour l'état de l'alerte dans Armis.

Paramètres

Nom du paramètre Type Valeur par défaut Obligatoire Description
ID d'alerte Integer Oui Spécifiez l'ID de l'alerte dont vous souhaitez modifier l'état.
État LDD

Non gérée

Valeurs possibles :

  • Non gérée
  • Supprimée
  • Résolu
Non Spécifiez l'état à définir pour l'alerte.

Date d'exécution

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 Description Type
Message de sortie*

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

if 200 (is_success = true): "L'état de l'alerte "{alert id}" a bien été défini sur "{status}" dans Armis.".

Si le code d'état est 400 (is_success=true) : "L'alerte "{alert id}" a déjà l'état "{status}" dans Armis. "

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 Alert Status". Raison : {0}''.format(error.Stacktrace)

Si le code d'erreur est 404 : "Erreur lors de l'exécution de l'action "Mettre à jour l'état de l'alerte". Motif : l'alerte "{alert id}" est introuvable dans Armis.

Général

Connecteur

Pour en savoir plus sur la configuration des connecteurs dans Google SecOps, consultez Ingérer vos données (connecteurs).

Armis - Alerts Connector

Récupérez les alertes avec les activités associées depuis Armis.

Paramètres du connecteur

Utilisez les paramètres suivants pour configurer le connecteur :

Nom du paramètre Type Valeur par défaut Obligatoire Description
Nom du champ de produit Chaîne alert_type Oui

Nom du champ dans lequel le nom du produit est stocké.

La valeur par défaut est alert_type.

Le nom du produit a un impact majeur sur le mappage. Pour simplifier et améliorer le processus de mappage du connecteur, la valeur par défaut alert_type est résolue en une valeur de remplacement référencée à partir du code. Toute entrée non valide pour ce paramètre est résolue par défaut sur une valeur de remplacement.

Nom du champ d'événement Chaîne type Oui

Nom du champ qui détermine le nom (sous-type) de l'événement.

Nom du champ "Environnement" Chaîne "" Non

Nom du champ dans lequel le nom de l'environnement est stocké.

Si le champ "environment" (environnement) est manquant, le connecteur utilise la valeur par défaut.

Environment Regex Pattern Chaîne .* Non

Modèle d'expression régulière à exécuter sur la valeur trouvée dans le champ Environment Field Name. Ce paramètre vous permet de manipuler le champ "environment" à l'aide de la logique d'expression régulière.

Utilisez la valeur par défaut .* pour récupérer la valeur Environment Field Name brute requise.

Si le modèle d'expression régulière est nul ou vide, ou si la valeur d'environnement est nulle, le résultat final de l'environnement est l'environnement par défaut.

Délai avant expiration du script (en secondes) Integer 180 Oui

Délai limite, en secondes, pour le processus Python qui exécute le script actuel.

Racine de l'API Chaîne https:// Oui Racine de l'API de l'instance Armis.
Code secret de l'API Mot de passe N/A Oui Code secret de l'API du compte Armis.
Gravité la plus faible à récupérer Faible Faible Non Gravité la plus faible qui sera utilisée pour récupérer les alertes. Valeurs possibles : Low, Medium, High.
Nombre maximal d'heures en arrière Integer 1 Non

Nombre d'heures avant la première itération du connecteur pour récupérer les alertes.

Ce paramètre peut s'appliquer à l'itération initiale du connecteur après l'avoir activé pour la première fois, ou à la valeur de remplacement pour un code temporel de connecteur expiré.

Nombre maximal d'alertes à récupérer Integer 10 Non Nombre d'alertes à traiter par itération de connecteur. La valeur maximale est de 1000.
Use whitelist as a blacklist Case à cocher Cochée Oui

Si cette option est sélectionnée, le connecteur utilise la liste dynamique comme liste de blocage.

Vérifier le protocole SSL Case à cocher Décochée Oui Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Armis.
Adresse du serveur proxy Chaîne Non Adresse du serveur proxy à utiliser.
Nom d'utilisateur du proxy Chaîne Non Nom d'utilisateur du proxy pour l'authentification.
Mot de passe du proxy Mot de passe Non Mot de passe du proxy pour l'authentification.

Règles du connecteur

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.