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
- Effectuer des actions d'enrichissement
- Ingérez les alertes.
- 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 : |
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 :
|
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 :
|
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 | 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 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 |
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 Utilisez la valeur par défaut 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.