Guide de l'API REST ExtraHop
Présentation de l'API REST ExtraHop
L'API REST ExtraHop vous permet d'automatiser les tâches d'administration et de configuration de votre système ExtraHop. Vous pouvez envoyer des requêtes à l'API ExtraHop via une interface REST (Representational State Transfer), accessible via des URI de ressources et des normes HTTP méthodes.
Vidéo : | Consultez la formation associée : Présentation de l'API Rest |
Chaque système ExtraHop donne accès à l'explorateur d'API ExtraHop REST intégré, qui vous permet de visualiser toutes les ressources, méthodes, propriétés et paramètres système disponibles. L'explorateur d'API REST vous permet également d'envoyer des appels d'API directement à votre système ExtraHop.
Remarque : | Ce guide est destiné à un public ayant une connaissance de base du développement de logiciels et du système ExtraHop. |
Exigences relatives à l'API ExtraHop
Avant de pouvoir commencer à écrire des scripts pour l'API REST ExtraHop ou à effectuer des opérations via l'explorateur d'API REST, vous devez satisfaire aux exigences suivantes :
- Votre système ExtraHop doit être configuré pour permettre la génération de clés d'API pour le type d'utilisateur que vous êtes (distant ou local).
- Vous devez générer une clé d'API valide.
- Vous devez avoir un compte utilisateur sur le système ExtraHop avec un compte utilisateur approprié privilèges défini pour le type de tâches que vous souhaitez effectuer.
Accédez à l'API REST ExtraHop et authentifiez-vous
Les utilisateurs de configuration et les utilisateurs dotés de privilèges d'administration du système et d'accès contrôlent si les utilisateurs peuvent générer des clés d'API. Par exemple, vous pouvez empêcher les utilisateurs distants de générer des clés ou vous pouvez désactiver complètement la génération de clés d'API. Lorsque cette fonctionnalité est activée, les clés d'API sont générées par les utilisateurs et ne peuvent être consultées que par l'utilisateur qui les a générées.
Remarque : | Les administrateurs configurent les comptes utilisateurs et attribuent des privilèges, mais les utilisateurs génèrent ensuite leurs propres clés d'API. Les utilisateurs peuvent supprimer les clés d'API pour leur propre compte, et les utilisateurs disposant de privilèges d' administration du système et d'accès peuvent supprimer les clés d'API de n'importe quel utilisateur. Pour plus d'informations, voir Utilisateurs et groupes d'utilisateurs. |
Après avoir généré une clé d'API, vous devez l'ajouter aux en-têtes de vos demandes. L' exemple suivant montre une demande qui récupère les métadonnées relatives au microprogramme exécuté sur le système ExtraHop :
curl -i -X GET --header "Accept: application/json" \ --header "Authorization: ExtraHop apikey=2bc07e55971d4c9a88d0bb4d29ecbb29" \ "https://<hostname-or-IP-of-your-ExtraHop-system>/api/v1/extrahop"
Niveaux de privilèges
Les niveaux de privilèges utilisateur déterminent les tâches système et d'administration ExtraHop que l'utilisateur peut effectuer via l'API REST ExtraHop.
Vous pouvez consulter les niveaux de privilèges des utilisateurs via granted_roles et effective_roles propriétés. Le granted_roles La propriété vous indique quels niveaux de privilèges sont explicitement accordés à l'utilisateur. Le effective_roles La propriété affiche tous les niveaux de privilèges d'un utilisateur, y compris ceux reçus en dehors du rôle accordé, par exemple via un groupe d'utilisateurs.
Le granted_roles et effective_roles les propriétés sont renvoyées par les opérations suivantes :
- GET /utilisateurs
- GET /users/ {nom d'utilisateur}
Le granted_roles et effective_roles les propriétés prennent en charge les niveaux de privilèges suivants. Notez que le type de tâches pour chaque système ExtraHop varie en fonction de la disponibilité ressources répertoriés dans l'explorateur d'API REST et dépendent des modules activés sur le système et des privilèges d'accès aux modules utilisateur.
Niveau de privilège | Actions autorisées |
---|---|
« système » : « complet » |
|
« write » : « complet » |
|
« write » : « limité » |
|
« write » : « personnel » |
|
« metrics » : « complet » |
|
« metrics » : « restreint » |
|
« ndr » : « complet » |
Il s'agit d'un privilège d'accès au module qui peut être accordé à un utilisateur en plus de l'un des niveaux de privilège d'accès au système suivants :
|
« ndr » : « aucun » |
Il s'agit d'un privilège d'accès au module qui peut être accordé à un utilisateur en plus de l'un des niveaux de privilège d'accès au système suivants :
|
« npm » : « complet » |
Il s'agit d'un privilège d'accès au module qui peut être accordé à un utilisateur en plus de l'un des niveaux de privilège d'accès au système suivants :
|
« npm » : « aucun » |
Il s'agit d'un privilège d'accès au module qui peut être accordé à un utilisateur en plus de l'un des niveaux de privilège d'accès au système suivants :
|
« paquets » : « pleins » |
Il s'agit d'un privilège supplémentaire qui peut être accordé à un utilisateur disposant de l'un des niveaux de privilège suivants :
|
« paquets » : « full_with_keys » |
Il s'agit d'un privilège supplémentaire qui peut être accordé à un utilisateur disposant de l'un des niveaux de privilège suivants :
|
« packets » : « slices_only » |
Il s'agit d'un privilège supplémentaire qui peut être accordé à un utilisateur disposant de l'un des niveaux de privilège suivants :
|
Gérer l'accès aux clés d'API
Les utilisateurs disposant de privilèges d'administration du système et des accès peuvent configurer s'ils peuvent générer des clés d'API pour le système ExtraHop. Vous pouvez autoriser uniquement les utilisateurs locaux à générer des clés, ou vous pouvez également désactiver complètement la génération de clés d'API.
- Connectez-vous aux paramètres d'administration du système ExtraHop via https://<extrahop-hostname-or-IP-address>/admin.
- Dans le Paramètres d'accès section, cliquez Accès à l'API.
-
Dans le Gérer l'accès aux API section, sélectionnez l'une des options
suivantes :
- Autoriser tous les utilisateurs à générer une clé d'API: Les utilisateurs locaux et distants peuvent générer des clés d'API.
- Seuls les utilisateurs locaux peuvent générer une clé d'API: Les utilisateurs distants ne peuvent pas générer de clés d'API.
- Aucun utilisateur ne peut générer de clé d'API: aucune clé d'API ne peut être générée par aucun utilisateur.
- Cliquez Enregistrer les paramètres.
Générer une clé API
Vous devez générer une clé d'API avant de pouvoir effectuer des opérations via l' API REST ExtraHop. Les clés ne peuvent être consultées que par l'utilisateur qui les a générées ou par les utilisateurs disposant de privilèges d'administration du système et des accès. Après avoir généré une clé d'API, ajoutez-la à vos en-têtes de demande ou à l'explorateur d'API ExtraHop REST.
Before you begin
Assurez-vous que le système ExtraHop est configuré pour permettre la génération de clés d'API.- Dans le Paramètres d'accès section, cliquez sur Accès à l'API.
- Dans le Générer une clé API section, tapez la description de la nouvelle clé, puis cliquez sur Générez.
- Faites défiler l'écran vers le bas jusqu'à Clés d'API section et copiez la clé API qui correspond à votre description.
Configurer le partage de ressources entre origines (CORS)
Partage de ressources entre origines (CORS) vous permet d'accéder à l'API REST ExtraHop au-delà des limites du domaine et à partir de pages Web spécifiées sans que la demande passe par un serveur proxy.
- Connectez-vous aux paramètres d'administration du système ExtraHop via https://<extrahop-hostname-or-IP-address>/admin.
- Dans le Paramètres d'accès section, cliquez sur Accès à l'API.
-
Dans le Paramètres CORS section, spécifiez l'une des configurations
d'accès suivantes.
- Pour ajouter une URL spécifique, saisissez une URL d'origine dans la zone de texte, puis
cliquez sur l'icône plus (+) ou appuyez sur ENTER.
L'URL doit inclure un schéma, tel que HTTP ou HTTPS, et le nom de domaine exact. Vous ne pouvez pas ajouter de chemin, mais vous pouvez fournir un numéro de port.
- Pour autoriser l'accès depuis n'importe quelle URL, sélectionnez Autoriser les requêtes d'API
depuis n'importe quelle origine case à cocher.
Remarque : Autoriser l'accès à l'API REST depuis n'importe quelle origine est moins sûr que de fournir une liste d' origines explicites.
- Pour ajouter une URL spécifique, saisissez une URL d'origine dans la zone de texte, puis
cliquez sur l'icône plus (+) ou appuyez sur ENTER.
- Cliquez Enregistrer les paramètres puis cliquez sur Terminé.
Configurer un certificat TLS
Avant d'adresser des requêtes à un système ExtraHop doté d'un certificat auto-signé, vous devez configurer un certificat TLS pour chaque utilisateur qui accédera au système ExtraHop depuis un ordinateur spécifique.
Dans chacun des exemples suivants, remplacez {HOST} par le nom d'hôte de votre système ExtraHop.
Remarque : | Le certificat TLS s'applique uniquement à l'utilisateur qui exécute la commande. Chaque utilisateur doit exécuter la commande avec ses informations dcessaires d'identification pour configurer le certificat TLS. |
En savoir plus sur l'explorateur d'API REST
L'explorateur d'API REST est un outil Web qui vous permet d'afficher des informations détaillées sur les ressources, les méthodes, les paramètres, les propriétés et les codes d'erreur de l'API REST ExtraHop. Des exemples de code sont disponibles en Python, cURL et Ruby pour chaque ressource. Vous pouvez également effectuer des opérations directement via l'outil.
Ouvrez l'explorateur d'API REST
Vous pouvez ouvrir l'explorateur d'API REST depuis les paramètres d'administration ou via l'URL suivante :
https://<extrahop-hostname-or-ip-address>/api/v1/explore/
Afficher les informations sur les opérations
Dans l'explorateur d'API REST, vous pouvez cliquer sur n'importe quelle opération pour afficher les informations de configuration de la ressource.
Le tableau suivant fournit des informations sur les sections disponibles pour les ressources dans l'explorateur d' API REST. La disponibilité des sections varie selon la méthode HTTP. Toutes les méthodes ne comportent pas toutes les sections répertoriées dans le tableau.
Rubrique | Descriptif | ||
---|---|---|---|
Paramètres du corps | Fournit tous les champs du corps de la demande et les valeurs prises en charge pour chaque champ. | ||
Paramètres | Fournit des informations sur les paramètres de requête disponibles. | ||
Réponses | Fournit des informations sur les possibilités HTTP
codes d'état de la ressource. Si vous cliquez Envoyer une demande, cette
section inclut également la réponse du serveur ainsi que les
syntaxes cURL, Python et Ruby requises pour envoyer la demande spécifiée.
|
Identifier les objets sur le système ExtraHop
Pour effectuer des opérations d'API sur un objet spécifique, vous devez localiser l'ID de l'objet. Vous pouvez facilement localiser l'ID de l'objet à l'aide des méthodes suivantes dans l' explorateur d'API REST.
- L'ID de l'objet est fourni dans les en-têtes renvoyés par une requête POST. Par exemple, si vous
envoyez une requête POST pour créer une page, les en-têtes de réponse affichent une URL de localisation.
La demande suivante a renvoyé l'emplacement de la balise nouvellement créée sous la forme /api/v1/tags/1 et l'identifiant de la balise comme 1.
{ "date": "Tue, 09 Nov 2021 18:21:00 GMT ", "via": "1.1 localhost", "server": "Apache", "content-type": "text/plain; charset=utf-8", "location": "/api/v1/tags/1", "cache-control": "private, max-age=0", "connection": "Keep-Alive", "keep-alive": "timeout=90, max=100", "content-length": "0" }
- L'ID d'objet est fourni pour tous les objets renvoyés par une requête GET. Par exemple, si vous
exécutez une requête GET sur tous les appareils, le corps de la réponse contient des informations pour
chaque équipement, y compris son identifiant.
Le corps de réponse suivant affiche une entrée pour un seul équipement, avec un ID de 10212 :
{ "mod_time": 1448474346504, "node_id": null, "id": 10212, "extrahop_id": "test0001", "description": null, "user_mod_time": 1448474253809, "discover_time": 1448474250000, "vlanid": 0, "parent_id": 9352, "macaddr": "00:05:G3:FF:FC:28", "vendor": "Cisco", "is_l3": true, "ipaddr4": "10.10.10.5", "ipaddr6": null, "device_class": "node", "default_name": "Cisco5", "custom_name": null, "cdp_name": "", "dhcp_name": "", "netbios_name": "", "dns_name": "", "custom_type": "", "analysis_level": 1 },
Ressources de l'API ExtraHop
Vous pouvez effectuer des opérations sur les ressources suivantes via l'API REST ExtraHop. Vous pouvez également consulter des informations plus détaillées sur ces ressources, telles que disponibles HTTP méthodes, paramètres de requête et propriétés d'objet dans l'explorateur d'API REST.
Carte des activités
Une carte dactivity est une représentation visuelle dynamique de l'activité du protocole L4-L7 entre les appareils de votre réseau. Créez un schéma 2D ou 3D des connexions des équipements en temps réel pour en savoir plus sur le flux de trafic et les relations entre les appareils.
Voici quelques points importants à prendre en compte au sujet des cartes d'activités :
- Vous ne pouvez créer des cartes d'activité pour les appareils que dans l'analyse standard et l'analyse avancée. Les appareils en mode découverte ne sont pas inclus dans les cartes d'activités. Pour plus d'informations, voir Niveaux d'analyse.
- Si vous créez une carte d'activités pour un équipement, un groupe d'activités ou un groupe d'équipements sans aucune activité de protocole pendant l'intervalle de temps sélectionné, la carte apparaît sans aucune donnée. Modifiez l'intervalle de temps ou votre sélection d'origine et réessayez.
- Vous pouvez créer une carte dactivitiés dans un console pour visualiser les connexions des équipements entre tous vos capteurs.
Pour en savoir plus sur la configuration et la navigation dans les cartes d'activité, voir Cartes d'activités.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
OBTENIR /activitymaps | Récupérez toutes les cartes d'activités. |
POST/Activitymaps | Créez une nouvelle carte dactivitiés. |
POST /activitymaps/query | Exécutez une requête de topologie du réseau, qui renvoie les données de la carte dactivités sous forme de fichier plat. |
SUPPRIMER /activitymaps/ {id} | Supprimez une carte dactivitiés spécifique. |
OBTENEZ /activitymaps/ {id} | Récupérez une carte dactivitiés spécifique. |
PATCH /activitymaps/ {id} | Mettez à jour une carte dactivitiés spécifique. |
POST /activitymaps/ {id} /requête | Exécutez une requête topologique pour une carte d'activités spécifique, qui renvoie les données de la carte d'activités sous forme de fichier plat. |
GET /activitymaps/ {id} /partage | Récupérez les utilisateurs et leurs autorisations de partage pour une carte dactivitiés spécifique. |
PATCH /activitymaps/ {id} /partage | Mettez à jour les utilisateurs et leurs autorisations de partage pour une carte dactivitiés spécifique. |
PUT /activitymaps/ {id} /partage | Remplacez les utilisateurs et leurs autorisations de partage pour une carte dactivitiés spécifique. |
Détails de l'opération
POST /activitymaps
Spécifiez les paramètres suivants.
- body: Objet
- Les propriétés de la carte dactivities.
- name: Corde
- Nom convivial de la carte dactivités.
- short_code: Corde
- (Facultatif) Le code abrégé unique qui est global à toutes les cartes d'activités.
- description: Corde
- Description de la carte dactivitiés.
- weighting: Corde
- (Facultatif) La valeur métrique qui détermine la pondération de l'activité entre les appareils. Les valeurs d'élément prises en charge sont « bytes », « connections » et « turns ».
- mode: Corde
- (Facultatif) La mise en page de la carte dactivités. Les valeurs prises en charge sont « 2dforce » et « 3dforce ».
- show_alert_status: Booléen
- (Facultatif) Indique s'il faut afficher l'état d'alerte des appareils sur la carte dactivités. Si cette option est activée, la couleur de chaque équipement sur la carte représente le niveau d'alerte le plus grave associé à l'équipement.
- walks: Tableau d'objets
- La liste d'un ou de plusieurs objets de promenade. Une promenade est le chemin de circulation composé d'une ou de plusieurs marches. Chaque étape commence par un ou plusieurs appareils d'origine et s'étend aux connexions aux appareils homologues basées sur l'activité du protocole. Chaque extension depuis l'origine est une étape. Le contenu de l'objet est défini dans la section « promenade » ci-dessous.
- origins: Tableau d'objets
- La liste d'un ou de plusieurs appareils d'origine de la première étape de la promenade. Le contenu de l'objet est défini dans la section « source_object » ci-dessous.
- object_type: Corde
- Type de source métrique.
Les valeurs suivantes sont valides :
- device
- device_group
- object_id: Numéro
- Identifiant unique de l'objet source.
- steps: Tableau d'objets
- La liste d'une ou de plusieurs étapes de la promenade. Chaque étape est définie par l'activité du protocole entre les appareils de l'étape précédente et un nouvel ensemble de périphériques homologues. Le contenu de l'objet est défini dans la section « étape » ci-dessous.
- relationships: Tableau d'objets
- (Facultatif) Liste d'un ou de plusieurs filtres qui définissent la relation entre deux appareils. Les filtres spécifient les rôles et les protocoles à rechercher lors de la localisation des appareils homologues au cours de l'étape. Les relations sont représentées sous forme d'arête sur la carte dactivités. Le contenu de l'objet est défini dans la section « relation » ci-dessous. Si aucune valeur n'est spécifiée, l'opération localisera tous les homologues.
- protocol: Corde
- (Facultatif) Le protocole métrique associé à la relation, tel que « HTTP » ou « DNS ». L'opération localise uniquement les connexions entre les appareils via le protocole spécifié.
- role: Corde
- (Facultatif) Rôle d'équipement associé au protocole métrique de la relation. L'opération localise uniquement les connexions entre les appareils via le protocole associé dans le rôle spécifié. Les valeurs de rôle prises en charge sont « client », « serveur » ou « quelconque ». Définissez sur « any » pour localiser toutes les relations client, serveur et équipement homologue associées au protocole spécifié.
- peer_in: Tableau d'objets
- (Facultatif) Liste d'un ou de plusieurs objets d'équipement homologues à inclure dans la carte dactivités. Seules les relations avec les homologues de l'objet source spécifié sont incluses. Le contenu de l'objet est défini dans la section « source_object » ci-dessous.
- object_type: Corde
- Type de source métrique.
Les valeurs suivantes sont valides :
- device
- device_group
- object_id: Numéro
- Identifiant unique de l'objet source.
- peer_not_in: Tableau d'objets
- (Facultatif) Liste d'un ou de plusieurs objets d'équipement homologues à exclure de la carte dactivités. Les relations avec les homologues de l'objet source spécifié sont exclues. Le contenu de l'objet est défini dans la section « source_object » ci-dessous.
- object_type: Corde
- Type de source métrique.
Les valeurs suivantes sont valides :
- device
- device_group
- object_id: Numéro
- Identifiant unique de l'objet source.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "mode": "string", "name": "string", "short_code": "string", "show_alert_status": true, "walks": { "origins": { "object_type": "string", "object_id": 0 }, "steps": { "relationships": { "protocol": "string", "role": "string" }, "peer_in": { "object_type": "string", "object_id": 0 }, "peer_not_in": { "object_type": "string", "object_id": 0 } } }, "weighting": "string" }
POST /activitymaps/query
Spécifiez les paramètres suivants.
- body: Objet
- Les propriétés de la requête topologique.
- from: Numéro
- L'horodateur de début de la plage temporelle recherchée par la requête, exprimé en millisecondes depuis l'époque.
- until: Numéro
- (Facultatif) L'horodateur de fin de la plage de temps recherchée par la requête, exprimé en millisecondes depuis l'époque. Si aucune valeur n'est définie, la fin de la requête est par défaut « maintenant ».
- weighting: Corde
- (Facultatif) La valeur métrique qui détermine la pondération de l'activité entre les appareils.
Les valeurs suivantes sont valides :
- bytes
- connections
- turns
- edge_annotations: Tableau de chaînes
- (Facultatif) La liste d'une ou plusieurs annotations de bord à inclure dans la requête topologique.
Les valeurs suivantes sont valides :
- protocols
- appearances
- walks: Tableau d'objets
- Liste d'un ou de plusieurs objets de promenade à inclure dans la requête topologique. Une promenade est le chemin de circulation composé d'une ou de plusieurs marches. Chaque étape commence par un ou plusieurs appareils d'origine et s'étend aux connexions aux appareils homologues basées sur l'activité du protocole. Chaque extension depuis l'origine est une étape. Le contenu de l'objet est défini dans la section « topology_walk » ci-dessous.
- origins: Tableau d'objets
- La liste d'un ou de plusieurs appareils d'origine de la première étape de la promenade. Le contenu de l'objet est défini dans la section « topology_source » ci-dessous.
- object_type: Corde
- Type d'objet source.
Les valeurs suivantes sont valides :
- all_devices
- device_group
- device
- object_id: Numéro
- Identifiant unique de l'objet source. Défini sur 0 si la valeur du paramètre « object_type » est « all_devices ».
- steps: Tableau d'objets
- La liste d'une ou de plusieurs étapes de la promenade. Chaque étape est définie par l'activité du protocole entre les appareils de l'étape précédente et un nouvel ensemble de périphériques homologues. Le contenu de l'objet est défini dans la section « topology_step » ci-dessous.
- relationships: Tableau d'objets
- (Facultatif) Liste d'un ou de plusieurs filtres qui définissent la relation entre deux appareils. Les filtres spécifient les rôles et les protocoles à rechercher lors de la localisation des appareils homologues au cours de l'étape. Les relations sont représentées sous forme d'arête sur la carte dactivités. Si aucune valeur n'est définie, l'opération inclut tous les homologues. Le contenu de l'objet est défini dans la section « topology_relationship » ci-dessous.
- role: Corde
- (Facultatif) Le rôle de l'équipement homologue par rapport à l'équipement d'origine.
Les valeurs suivantes sont valides :
- client
- server
- any
- protocol: Corde
- (Facultatif) Le protocole par lequel l'équipement d'origine communique, tel que « HTTP ». Si aucune valeur n'est définie, l'objet inclut un protocole.
- peer_in: Tableau d'objets
- (Facultatif) La liste d'un ou de plusieurs appareils homologues à inclure dans le graphe topologique. Seules les relations avec les homologues de l'objet source spécifié sont incluses. Le contenu de l'objet est défini dans la section « topology_source » ci-dessous.
- object_type: Corde
- Type d'objet source.
Les valeurs suivantes sont valides :
- all_devices
- device_group
- device
- object_id: Numéro
- Identifiant unique de l'objet source. Défini sur 0 si la valeur du paramètre « object_type » est « all_devices ».
- peer_not_in: Tableau d'objets
- (Facultatif) La liste d'un ou de plusieurs appareils homologues à exclure du graphe topologique. Les relations avec les appareils homologues de l'objet source spécifié sont exclues. Le contenu de l'objet est défini dans la section « topology_source » ci-dessous.
- object_type: Corde
- Type d'objet source.
Les valeurs suivantes sont valides :
- all_devices
- device_group
- device
- object_id: Numéro
- Identifiant unique de l'objet source. Défini sur 0 si la valeur du paramètre « object_type » est « all_devices ».
Spécifiez le paramètre body au format JSON suivant.
{ "edge_annotations": [], "from": 0, "until": 0, "walks": { "origins": { "object_type": "string", "object_id": 0 }, "steps": { "relationships": { "role": "string", "protocol": "string" }, "peer_in": { "object_type": "string", "object_id": 0 }, "peer_not_in": { "object_type": "string", "object_id": 0 } } }, "weighting": "string" }
GET /activitymaps
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "description": "string", "id": 0, "mod_time": 0, "mode": "string", "name": "string", "owner": "string", "rights": [ "string" ], "short_code": "string", "show_alert_status": true, "walks": [], "weighting": "string" }
GET /activitymaps/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la carte dactivités.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "description": "string", "id": 0, "mod_time": 0, "mode": "string", "name": "string", "owner": "string", "rights": [ "string" ], "short_code": "string", "show_alert_status": true, "walks": [], "weighting": "string" }
POST /activitymaps/{id}/query
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la carte dactivités.
- body: Objet
- Les propriétés de la requête topologique.
- from: Numéro
- L'horodateur de début de la plage temporelle recherchée par la requête, exprimé en millisecondes depuis l'époque.
- until: Numéro
- (Facultatif) L'horodateur de fin de la plage de temps recherchée par la requête, exprimé en millisecondes depuis l'époque. Si aucune valeur n'est définie, la fin de la requête est par défaut « maintenant ».
- edge_annotations: Tableau de chaînes
- (Facultatif) La liste d'une ou plusieurs annotations de bord à inclure dans la requête topologique.
Les valeurs suivantes sont valides :
- protocols
- appearances
Spécifiez le paramètre body au format JSON suivant.
{ "edge_annotations": [], "from": 0, "until": 0 }
DELETE /activitymaps/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la carte dactivités.
PATCH /activitymaps/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la carte dactivités.
- body: Objet
- Les propriétés de la carte dactivités à mettre à jour.
GET /activitymaps/{id}/sharing
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la carte dactivités.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "anyone": "string", "groups": {}, "users": {} }
Alerte
Les alertes sont des notifications du système qui sont générées selon des critères d'alerte spécifiés. Les alertes par défaut sont disponibles dans le système, ou vous pouvez créer une alerte personnalisée.
Remarque : | Les détections par apprentissage automatique nécessitent connexion aux services cloud ExtraHop . |
Le tableau suivant présente toutes les opérations que vous pouvez effectuer avec cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /alertes | Récupérez toutes les alertes. |
POST /alertes | Créez une nouvelle alerte avec des valeurs spécifiées. |
SUPPRIMER /alerts/ {id} | Supprimez une alerte spécifique. |
OBTENIR /alerts/ {id} | Récupérez une alerte spécifique. |
PATCH /alerts/ {id} | Appliquez les mises à jour à une alerte spécifique. |
GET /alerts/ {id} /applications | Récupérez toutes les applications auxquelles une alerte spécifique a été attribuée. |
POST /alerts/ {id} /applications | Attribuez et annulez l'attribution d'une alerte spécifique aux applications. |
SUPPRIMER /alerts/ {id} /applications/ {child-id} | Annuler l'attribution d'une application à une alerte spécifique. |
POST /alerts/ {id} /applications/ {child id} | Assignez une application à une alerte spécifique. |
GET /alerts/ {id} /devicegroups | Tout récupérer groupes d'équipements auxquels une alerte spécifique est attribuée. |
POST /alerts/ {id} /devicegroups | Attribuez et annulez l'attribution d'une alerte spécifique à des groupes d'équipements. |
SUPPRIMER /alerts/ {id} /devicegroups/ {child-id} | Annuler l'attribution d'un groupe déquipements à une alerte spécifique. |
POST /alerts/ {id} /devicegroups/ {child id} | Assignez un groupe déquipements à une alerte spécifique. |
GET /alerts/ {id} /appareils | Récupérez tous les appareils auxquels une alerte spécifique a été attribuée. |
POST /alerts/ {id} /appareils | Attribuez et annulez l'attribution d'une alerte spécifique aux appareils. |
SUPPRIMER /alerts/ {id} /appareils/ {child id} | Annuler l'attribution d'un équipement à une alerte spécifique. |
POST /alerts/ {id} /appareils/ {child id} | Assignez un équipement à une alerte spécifique. |
GET /alerts/ {id} /emailgroups | Récupérez tous les groupes d'e-mails auxquels une alerte spécifique est attribuée. |
POST /alerts/ {id} /emailgroups | Attribuez et annulez l'attribution d'une alerte spécifique à des groupes de messagerie. |
SUPPRIMER /alerts/ {id} /emailgroups/ {child-id} | Annuler l'attribution d'un groupe d'e-mails à une alerte spécifique. |
POST /alerts/ {id} /emailgroups/ {child id} | Attribuez un groupe d'e-mails à une alerte spécifique. |
GET /alerts/ {id} /intervalles d'exclusion | Récupérez tous les intervalles d'exclusion auxquels une alerte spécifique est attribuée. |
POST /alerts/ {id} /intervalles d'exclusion | Attribuez et annulez l'attribution d'une alerte spécifique à des intervalles d'exclusion. |
SUPPRIMER /alerts/ {id} /exclusionintervals/ {child-id} | Annulez l'attribution d'un intervalle d'exclusion à une alerte spécifique. |
POST /alerts/ {id} /exclusionintervals/ {child id} | Attribuez un intervalle d'exclusion à une alerte spécifique. |
GET /alerts/ {id} /réseaux | Récupérez tous les réseaux auxquels une alerte spécifique est attribuée. |
POST /alerts/ {id} /réseaux | Attribuez et annulez l'attribution d'une alerte spécifique aux réseaux. |
SUPPRIMER /alerts/ {id} /networks/ {child-id} | Annuler l'attribution d'un réseau à une alerte spécifique. |
POST /alerts/ {id} /réseaux/ {child id} | Assignez un réseau à une alerte spécifique. |
OBTENIR /alerts/ {id} /statistiques | Récupérez toutes les statistiques supplémentaires relatives à une alerte spécifique. |
Détails de l'opération
GET /alerts
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "apply_all": true, "author": "string", "categories": [ "string" ], "cc": [], "description": "string", "disabled": true, "field_name": "string", "field_name2": "string", "field_op": "string", "id": 0, "interval_length": 0, "mod_time": 0, "name": "string", "notify_snmp": true, "object_type": "string", "operand": "string", "operator": "string", "param": {}, "param2": {}, "protocols": [ "string" ], "refire_interval": 0, "severity": 0, "stat_name": "string", "type": "string", "units": "string" }
POST /alerts
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les valeurs de propriété spécifiées à la nouvelle alerte.
- description: Corde
- Description facultative de l'alerte.
- notify_snmp: Booléen
- (Facultatif) Indique s'il faut envoyer une interruption SNMP lorsqu'une alerte est générée.
- field_op: Corde
- Type de comparaison entre les champs field_name et field_name2 lors de l'application d'un ratio. Applicable uniquement aux alertes de seuil.
Les valeurs suivantes sont valides :
- /
- null
- stat_name: Corde
- Le nom statistique de l'alerte. Applicable uniquement aux alertes de seuil.
- disabled: Booléen
- (Facultatif) Indique si l'alerte est désactivée.
- operator: Corde
- Opérateur logique appliqué lors de la comparaison de la valeur du champ d'opérande avec les conditions d'alerte. Applicable uniquement aux alertes de seuil.
Les valeurs suivantes sont valides :
- ==
- >
- <
- >=
- <=
- operand: Corde
- La valeur à comparer aux conditions d'alerte. La méthode de comparaison est spécifiée par la valeur du champ opérateur. Applicable uniquement aux alertes de seuil.
- field_name: Corde
- Nom de la métrique surveillée. Applicable uniquement aux alertes de seuil.
- name: Corde
- Le nom unique et convivial de l'alerte.
- cc: Tableau de cordes
- La liste des adresses e-mail, non incluses dans un groupe d'e-mails, pour recevoir des notifications.
- apply_all: Booléen
- Indique si l'alerte est attribuée à toutes les sources de données disponibles.
- severity: Numéro
- (Facultatif) Le niveau de gravité de l'alerte, qui est affiché dans l'historique des alertes, les notifications par e-mail et les interruptions SNMP. Les niveaux de gravité 0 à 2 nécessitent une attention immédiate. Les niveaux de gravité sont décrits dans Guide de l'API REST.
Les valeurs suivantes sont valides :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- author: Corde
- Le nom de l'utilisateur qui a créé l'alerte.
- param: Objet
- Le premier paramètre d'alerte, qui est soit un modèle clé, soit un point de données. Applicable uniquement aux alertes de seuil.
- interval_length: Numéro
- Durée de l'intervalle d'alerte, exprimée en secondes. Applicable uniquement aux alertes de seuil.
Les valeurs suivantes sont valides :
- 30
- 60
- 120
- 300
- 600
- 900
- 1200
- 1800
- param2: Objet
- Le deuxième paramètre d'alerte, qui est soit un modèle clé, soit un point de données. Applicable uniquement aux alertes de seuil.
- units: Corde
- Intervalle dans lequel évaluer la condition d'alerte. Applicable uniquement aux alertes de seuil.
Les valeurs suivantes sont valides :
- none
- period
- 1 sec
- 1 min
- 1 hr
- field_name2: Corde
- La deuxième métrique surveillée lors de l'application d'un ratio. Applicable uniquement aux alertes de seuil.
- refire_interval: Numéro
- (Facultatif) Intervalle de temps pendant lequel les conditions d'alerte sont surveillées, exprimé en secondes.
Les valeurs suivantes sont valides :
- 300
- 600
- 900
- 1800
- 3600
- 7200
- 14400
- type: Corde
- Type d'alerte.
Les valeurs suivantes sont valides :
- threshold
- object_type: Corde
- Type de source métrique surveillée par la configuration des alertes. Applicable uniquement aux alertes de détection.
Les valeurs suivantes sont valides :
- application
- device
- protocols: Tableau de cordes
- (Facultatif) La liste des protocoles surveillés. Applicable uniquement aux alertes de détection.
- categories: Tableau de cordes
- (Facultatif) Liste d'une ou de plusieurs catégories de détection. Une alerte est générée uniquement si une détection est identifiée dans les catégories spécifiées. Applicable uniquement aux alertes de détection.
Spécifiez le paramètre body au format JSON suivant.
{ "apply_all": true, "author": "string", "categories": [ "string" ], "cc": [], "description": "string", "disabled": true, "field_name": "string", "field_name2": "string", "field_op": "string", "interval_length": 0, "name": "string", "notify_snmp": true, "object_type": "string", "operand": "string", "operator": "string", "param": {}, "param2": {}, "protocols": [ "string" ], "refire_interval": 0, "severity": 0, "stat_name": "string", "type": "string", "units": "string" }
GET /alerts/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "apply_all": true, "author": "string", "categories": [ "string" ], "cc": [], "description": "string", "disabled": true, "field_name": "string", "field_name2": "string", "field_op": "string", "id": 0, "interval_length": 0, "mod_time": 0, "name": "string", "notify_snmp": true, "object_type": "string", "operand": "string", "operator": "string", "param": {}, "param2": {}, "protocols": [ "string" ], "refire_interval": 0, "severity": 0, "stat_name": "string", "type": "string", "units": "string" }
PATCH /alerts/{id}
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les mises à jour des valeurs de propriété spécifiées à l'alerte.
- id: Numéro
- L'identifiant unique de l'alerte.
GET /alerts/{id}/stats
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "alert_id": 0, "field_name": "string", "id": 0, "param": "string", "stat_name": "string" }
GET /alerts/{id}/devicegroups
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/devicegroups
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les groupes d'équipements attribués et non affectés à l'alerte.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/devicegroups/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du groupe dcesséquipements.
- id: Numéro
- L'identifiant unique de l'alerte.
DELETE /alerts/{id}/devicegroups/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du groupe dcesséquipements.
- id: Numéro
- L'identifiant unique de l'alerte.
GET /alerts/{id}/emailgroups
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/emailgroups
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les groupes de messagerie attribués et non attribués à l'alerte.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/emailgroups/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique du groupe de messagerie.
- id: Numéro
- L'identifiant unique de l'alerte.
DELETE /alerts/{id}/emailgroups/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique du groupe de messagerie.
- id: Numéro
- L'identifiant unique de l'alerte.
GET /alerts/{id}/exclusionintervals
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/exclusionintervals
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les intervalles d'exclusion attribués et non attribués à l'alerte.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/exclusionintervals/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique de l'intervalle d'exclusion.
- id: Numéro
- L'identifiant unique de l'alerte.
DELETE /alerts/{id}/exclusionintervals/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique de l'intervalle d'exclusion.
- id: Numéro
- L'identifiant unique de l'alerte.
GET /alerts/{id}/devices
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/devices
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les appareils affectés et non affectés à l'alerte.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/devices/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de l'équipement.
- id: Numéro
- L'identifiant unique de l'alerte.
DELETE /alerts/{id}/devices/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de l'équipement.
- id: Numéro
- L'identifiant unique de l'alerte.
GET /alerts/{id}/networks
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/networks
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les réseaux attribués et non attribués à l'alerte.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/networks/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique du réseau.
- id: Numéro
- L'identifiant unique de l'alerte.
DELETE /alerts/{id}/networks/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique du réseau.
- id: Numéro
- L'identifiant unique de l'alerte.
GET /alerts/{id}/applications
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'alerte.
POST /alerts/{id}/applications
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les applications attribuées et non attribuées à l'alerte.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'alerte.
Niveaux de gravité des alertes
Le niveau de gravité que vous spécifiez pour une alerte est affiché sur la page Alertes, les notifications par e-mail et les interruptions SNMP.
Les niveaux de gravité suivants sont pris en charge. Les niveaux de gravité de 0 à 2 nécessitent une attention immédiate.
Valeur | Nom | Descriptif |
---|---|---|
0 | Urgence | Les fonctionnalités du système ne sont pas disponibles. |
1 | Alerte | Une action immédiate est requise. |
2 | Critique | Des conditions critiques se produisent. |
3 | Erreur | Des conditions d'erreur se produisent. |
4 | Avertissement | Des conditions d'avertissement se produisent. |
5 | Avis | Les opérations normales se produisent dans des conditions importantes, telles qu'un redémarrage. |
6 | Infos | Les opérations normales se produisent avec les mises à jour des processus. |
7 | Déboguer | Les messages de niveau de débogage sont disponibles. |
Priorité d'analyse
Le système ExtraHop analyse et classe le trafic pour chaque équipement qu'il découvre. Votre licence réserve au système ExtraHop la capacité de collecter des métriques pour les appareils à valeur élevée. Cette capacité est associée à deux niveaux d'analyse : Analyse avancée et Analyse standard.
Vous pouvez spécifier quels appareils reçoivent les niveaux d'Analyse avancée et d'Analyse standard en configurant règles de priorité d'analyse. Les priorités d'analyse aident le système ExtraHop à identifier les appareils importants dans votre environnement. Un troisième niveau d' analyse, le mode découverte, est disponible pour les appareils qui ne sont pas en analyse avancée ou standard.
Remarque : | Par défaut, chaque sonde gère ses propres priorités d'analyse. Si la sonde est connectée à une console, vous pouvez les gérer de manière centralisée paramètres système partagés depuis la console. |
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif |
---|---|
GET /analysispriority/config/ {sensor_id} | Récupérez les règles de priorité d'analyse pour un objet spécifique sonde. |
PUT /analysispriority/config/ {sensor_id} | Remplacer les règles de priorité d'analyse pour un objet spécifique sonde. |
GET /analysispriority/{sensor_id} /manager | Récupérez le système configuré pour gérer les règles de priorité d'analyse pour le sonde. |
PATCH /priorité d'analyse/{sensor_id} /gestionnaire | Mettre à jour le système qui gère les règles de priorité d'analyse pour un domaine spécifique sonde. |
Détails de l'opération
GET /analysispriority/{appliance_id}/manager
Spécifiez les paramètres suivants.
- appliance_id: Numéro
- Identifiant de la sonde locale. Cette valeur doit être définie sur 0.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "manager": {} }
GET /analysispriority/config/{appliance_id}
Spécifiez les paramètres suivants.
- appliance_id: Numéro
- Identifiant d'une sonde. Définissez cette valeur sur 0 si vous faites appel à une sonde.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "advanced_rules": [], "autofill_advanced": true, "autofill_standard": true, "is_in_effect": true, "standard_rules": [] }
PUT /analysispriority/config/{appliance_id}
Spécifiez les paramètres suivants.
- body: Objet
- Propriétés des règles d'analyse des priorités.
- autofill_advanced: Booléen
- Indique s'il faut placer automatiquement les appareils dans Analyse avancée jusqu'à ce que leur capacité soit atteinte. Les appareils de la liste advanced_rules sont priorisés, suivis des appareils de la liste standard_rules, puis de l'heure de découverte de l'équipement. La capacité d'Analyse avancée est déterminée par la licence du système ExtraHop.
- advanced_rules: Tableau d'objets
- (Facultatif) Les règles de priorité de l'Analyse avancée pour un groupe de déquipements.
- type: Corde
- Type de groupe auquel les règles de priorité d'analyse s'appliquent.
Les valeurs suivantes sont valides :
- device_group
- object_id: Numéro
- Identifiant unique du groupe.
- description: Corde
- (Facultatif) Description des règles de priorité d'analyse.
- autofill_standard: Booléen
- Indique s'il faut placer automatiquement les appareils dans l'analyse standard jusqu'à ce que leur capacité totale soit atteinte. Les appareils de la liste standard_rules sont priorisés, suivis de l'heure de découverte de l'équipement. La capacité totale est déterminée par la licence du système ExtraHop.
- standard_rules: Tableau d'objets
- (Facultatif) Les règles de priorité d'analyse standard pour un groupe déquipements.
- type: Corde
- Type de groupe auquel les règles de priorité d'analyse s'appliquent.
Les valeurs suivantes sont valides :
- device_group
- object_id: Numéro
- Identifiant unique du groupe.
- description: Corde
- (Facultatif) Description des règles de priorité d'analyse.
Spécifiez le paramètre body au format JSON suivant.
{ "advanced_rules": { "type": "string", "object_id": 0, "description": "string" }, "autofill_advanced": true, "autofill_standard": true, "standard_rules": { "type": "string", "object_id": 0, "description": "string" } }
- appliance_id: Numéro
- Identifiant d'une sonde. Définissez cette valeur sur 0 si vous faites appel à une sonde.
PATCH /analysispriority/{appliance_id}/manager
Spécifiez les paramètres suivants.
- body: Objet
- ID du capteur ou de la console qui gérera les règles de priorité d'analyse pour le capteur local. Définissez cette valeur sur 0 pour rétablir la gestion sur la sonde locale.
- manager: Numéro
- Identifiant unique de la sonde ou de la console de gestion.
Spécifiez le paramètre body au format JSON suivant.
{ "manager": 0 }
- appliance_id: Numéro
- Identifiant de la sonde locale. Cette valeur doit être définie sur 0.
Clé API
Une clé d'API permet à un utilisateur d'effectuer des opérations via l'API REST ExtraHop.
Vous pouvez générer la clé d'API initiale pour le compte utilisateur configuré via l'API REST. Toutes les autres clés d' API sont générées via la page Accès aux API dans les paramètres d'administration.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
OBTENEZ /apikeys | Récupérez toutes les clés d'API. |
POST/apikeys | Créez la clé d'API initiale pour le compte utilisateur configuré. |
OBTENEZ /apikeys/ {keyid} | Récupérez les informations relatives à une clé d'API spécifique. |
Détails de l'opération
GET /apikeys
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "description": "string", "id": 0, "key": "string", "time_added": 0, "user_id": 0, "username": "string" }
Appareil
Le système ExtraHop consiste en un réseau d'appareils ExtraHop connectés, tels que capteurs, consoles, des magasins d'enregistrements et des magasins de paquets qui effectuent des tâches telles que la surveillance du trafic, l' analyse des données, le stockage des données et l'identification des détections.
Vous pouvez récupérer des informations et établir des connexions pour les appareils ExtraHop locaux et distants.
Remarque : | Vous pouvez uniquement établir une connexion entre des appliances ExtraHop similaires, telles que RevealX Enterprise ou Performance. |
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif |
---|---|
GET /appareils | Récupérez toutes les appliances ExtraHop distantes connectées à l'appliance locale. |
POST /appareils | Établissez une nouvelle connexion à une appliance ExtraHop distante. |
SUPPRIMER /appliances/ {id} | Déconnectez un appareil ExtraHop spécifique de celui-ci console. |
GET /appliances/ {id} | Récupérez une appliance ExtraHop distante spécifique connectée à l'appliance locale ( valable uniquement sur les consoles). |
GET /appliances/ {id} /cloudservices | Récupérez l'état des services cloud ExtraHop sur cette appliance. |
POST /appliances/ {id} /cloudservices | Modifiez les paramètres des services cloud ExtraHop sur cette appliance. |
GET /appliances/ {id} /productkey | Récupérez la clé de produit pour une appliance spécifiée (valable uniquement sur les consoles). |
GET /appliances/ {ids_id} /association | Récupérez l'ID de la sonde réseau d'analyse de paquets à laquelle la sonde IDS est connectée. |
POST /appliances/{ids_id} /association | Joignez une sonde IDS à une sonde réseau dveloppe d'analyse de paquets. |
GET /appliances/firmware/next | Récupérez les versions du microprogramme vers lesquelles les systèmes ExtraHop distants peuvent être mis à niveau (uniquement valable sur consoles). |
POST /Appliances/firmware/upgrade | Mettez à niveau le microprogramme des systèmes ExtraHop distants connectés au système local. Les images du firmware sont téléchargées depuis ExtraHop Cloud Services (uniquement valable sur les consoles). |
GET /appliances/{ids_id}/association | Récupérez l'ID de la sonde réseau d'analyse de paquets à laquelle la sonde IDS est connectée (valable uniquement sur consoles). |
POST /appliances/{ids_id}/association | Associez une sonde IDS à une sonde réseau dveloppe d'analyse de paquets (uniquement valable sur consoles). |
Détails de l'opération
GET /appliances
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "add_time": 0, "advanced_analysis_capacity": 0, "analysis_levels_managed": true, "connection_type": "string", "data_access": true, "display_name": "string", "fingerprint": "string", "firmware_version": "string", "hostname": "string", "id": 0, "license_platform": "string", "license_status": "string", "licensed_features": {}, "licensed_modules": [ "string" ], "managed_by_local": true, "manages_local": true, "nickname": "string", "platform": "string", "status_message": "string", "sync_time": 0, "total_capacity": 0, "uuid": "string" }
GET /appliances/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Spécifiez l'identifiant unique de l'appliance. Spécifiez 0 pour sélectionner l'appliance locale.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "add_time": 0, "advanced_analysis_capacity": 0, "analysis_levels_managed": true, "connection_type": "string", "data_access": true, "display_name": "string", "fingerprint": "string", "firmware_version": "string", "hostname": "string", "id": 0, "license_platform": "string", "license_status": "string", "licensed_features": {}, "licensed_modules": [ "string" ], "managed_by_local": true, "manages_local": true, "nickname": "string", "platform": "string", "status_message": "string", "sync_time": 0, "total_capacity": 0, "uuid": "string" }
GET /appliances/{ids_id}/association
Spécifiez les paramètres suivants.
- ids_id: Numéro
- Spécifiez l'ID de la sonde IDS.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "associated_sensor_id": 0 }
POST /appliances/{ids_id}/association
Spécifiez les paramètres suivants.
- ids_id: Numéro
- Spécifiez l'ID de la sonde IDS.
- body: Objet
- Spécifiez l'ID de la sonde réseau dveloppe analyse de paquets.
- associated_sensor_id: Numéro
- L'ID de la sonde réseau dveloppe l'analyse de paquets.
Spécifiez le paramètre body au format JSON suivant.
{ "associated_sensor_id": 0 }
GET /appliances/{id}/productkey
Spécifiez les paramètres suivants.
- id: Numéro
- Spécifiez l'identifiant unique de l'appliance.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "product_key": "string" }
GET /appliances/firmware/next
Spécifiez les paramètres suivants.
- ids: Corde
- (Facultatif) Une liste CSV d'identifiants uniques pour les appareils distants. Si ce paramètre est spécifié, l'opération renvoie les versions du microprogramme vers lesquelles toutes les appliances distantes spécifiées peuvent être mises à niveau. Si ce paramètre n'est pas spécifié, l'opération renvoie les versions du microprogramme vers lesquelles n'importe quelle appliance distante peut être mise à niveau.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "release": "string", "versions": [] }
GET /appliances/{id}/cloudservices
Spécifiez les paramètres suivants.
- id: Numéro
- Spécifiez l'identifiant unique de l'appliance. Cette valeur doit être définie sur 0, ce qui permet de sélectionner l'appliance locale.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "connection_status": "string", "connection_status_color": "string", "enabled_services": [], "last_active_time": 0, "last_analyzed_time": 0 }
POST /appliances/{id}/cloudservices
Spécifiez les paramètres suivants.
- id: Numéro
- Spécifiez l'identifiant unique de l'appliance. Cette valeur doit être définie sur 0, ce qui permet de sélectionner l'appliance locale.
- body: Objet
- Spécifiez l'action pour modifier les paramètres des services cloud ExtraHop.
- action: Corde
- Spécifiez l'action pour modifier les paramètres des services cloud ExtraHop.
Les valeurs suivantes sont valides :
- unenroll
Spécifiez le paramètre body au format JSON suivant.
{ "action": "string" }
POST /appliances/firmware/upgrade
Spécifiez les paramètres suivants.
- body: Objet
- Les options de mise à niveau du microprogramme.
- version: Corde
- Version du microprogramme vers laquelle effectuer la mise à niveau des appliances. Vous pouvez récupérer la liste des versions valides à l'aide de l'opération GET /api/v1/appliances/firmware/next.
- system_ids: Tableau de nombres
- Une liste d'identifiants uniques pour les appareils distants. Vous pouvez récupérer les ID d'appliance à l'aide de l'opération GET /api/v1/appliances ; les ID d'appliance sont renvoyés dans les champs ID de la réponse.
Spécifiez le paramètre body au format JSON suivant.
{ "system_ids": [], "version": "string" }
POST /appliances
Spécifiez les paramètres suivants.
- body: Objet
- Spécifiez les propriétés de la nouvelle connexion.
- host: Corde
- Le nom d'hôte de l'appliance distante.
- remote_setup_password: Corde
- (Facultatif) Le mot de passe du compte utilisateur de configuration sur le stockage des paquets EXA ou ExtraHop cible. Ce paramètre n'est pas obligatoire si l'appliance distante est un nœud d'un cluster Explore déjà connecté à la console. Ce paramètre n'est pas valide si l'appliance distante est une sonde.
- remote_pairing_token: Corde
- (Facultatif) Le jeton généré sur la sonde cible. Vous devez spécifier ce paramètre pour vous authentifier auprès de la sonde cible. Ce paramètre n'est pas valide si vous vous connectez à un stockage des paquets EXA ou ExtraHop.
- fingerprint: Corde
- (Facultatif) L'empreinte digitale de l'appliance distante. Si vous connectez une console à un packetstore EXA ou ExtraHop, ce champ est obligatoire. Sinon, pour contourner la vérification de l'empreinte digitale, spécifiez « insecure_skip_verification ». Notez que le contournement de la vérification peut permettre des attaques de type « man-in-the-middle ».
- reset_configuration: Booléen
- (Facultatif) Indique s'il faut réinitialiser la configuration de l'appliance distante.
- remote_nickname_for_local: Corde
- (Facultatif) Le surnom de l'appliance distante, auquel fait référence l'appliance locale. Si vous connectez une sonde à un autre appareil, ce champ est obligatoire.
- local_nickname_for_remote: Corde
- (Facultatif) Le surnom de l'appliance locale, auquel fait référence l'appliance distante.
- remote_appliance_type: Corde
- Type d'appliance pour la nouvelle connexion.
Les valeurs suivantes sont valides :
- command
- explore
- discover
- trace
- manages_local: Booléen
- (Facultatif) Indique si l'appliance distante gère l'appliance locale.
- managed_by_local: Booléen
- (Facultatif) Indique si l'appliance distante est gérée par l'appliance locale. Si vous connectez une console à un capteur, ce champ n'est pas obligatoire car la console gère toujours les capteurs connectés.
- data_access: Booléen
- Indique si les données peuvent être partagées entre les appareils locaux et distants.
- product_key: Corde
- (Facultatif) La clé de produit de l'appliance distante. Si ce paramètre est spécifié, l'appliance distante reçoit une licence avec la clé de produit. Ce paramètre n'est pas valide lorsque le paramètre remote_pairing_token est spécifié.
Spécifiez le paramètre body au format JSON suivant.
{ "data_access": true, "fingerprint": "string", "host": "string", "local_nickname_for_remote": "string", "managed_by_local": true, "manages_local": true, "product_key": "string", "remote_appliance_type": "string", "remote_nickname_for_local": "string", "remote_pairing_token": "string", "remote_setup_password": "string", "reset_configuration": true }
Demande
Les applications sont des groupes définis par l'utilisateur qui collectent des métriques identifiées par le biais de déclencheurs pour plusieurs types de trafic. L'application All Activity par défaut contient toutes les métriques collectées.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur la ressource de l'application :
Fonctionnement | Descriptif |
---|---|
OBTENIR /applications | Récupérez toutes les applications qui étaient actives au cours d'une période donnée. |
POST/applications | Créez une nouvelle application. |
OBTENEZ /applications/ {id} | Récupérez une application spécifique. |
CORRECTIF /applications/ {id} | Mettez à jour une application spécifique. |
GET /applications/ {id} /activité | Récupérez toutes les activités d'une application spécifique. |
GET /applications/ {id} /alertes | Tout récupérer alertes qui sont affectés à une application spécifique. |
POST /applications/ {id} /alertes | Attribuez et annulez l'attribution d'alertes à une application spécifique. |
SUPPRIMER /applications/ {id} /alerts/ {child-id} | Annuler l'attribution d'une alerte à une application spécifique. |
POST /applications/ {id} /alerts/ {child id} | Attribuez une alerte à une application spécifique. |
GET /applications/ {id} /tableaux de bord | Récupérez tous les tableaux de bord relatifs à une application spécifique. |
Détails de l'opération
GET /applications/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de l'application.
- include_criteria: Booléen
- (Facultatif) Indique s'il faut inclure les critères associés à l'application dans la réponse.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "criteria": [], "description": "string", "discovery_id": "string", "display_name": "string", "extrahop_id": "string", "id": 0, "mod_time": 0, "node_id": 0, "user_mod_time": 0 }
POST /applications
Spécifiez les paramètres suivants.
- body: Objet
- Les propriétés de l'application.
- node_id: Numéro
- (Facultatif) L'identifiant unique de la sonde à laquelle cette application est associée. L'identifiant peut être récupéré via l'opération GET /appliances. Ce champ n'est valide que sur une console.
- discovery_id: Corde
- L'identifiant unique de l'application, qui est affiché sur la page de l'application dans le système ExtraHop.
- display_name: Corde
- Nom convivial de l'application.
- description: Corde
- (Facultatif) Description facultative de l'application.
- criteria: Tableau d'objets
- (Facultatif) Tableau de critères de protocole et de source associés à l'application. Le contenu de ce tableau est défini dans la section « critères » ci-dessous.
- protocol_default: Corde
- Protocoles par défaut surveillés par l'application. Les valeurs prises en charge sont « any » et « none ».
- sources: Tableau d'objets
- Tableau contenant une ou plusieurs sources métriques associées à l'application. L'application collecte uniquement les métriques provenant des sources spécifiées. Le contenu de ce tableau est défini dans la section « source » ci-dessous.
- type: Corde
- Type de source métrique associée à l'application. Les valeurs de type source prises en charge sont « device » et « device_group ».
- id: Numéro
- Identifiant unique de l'équipement ou du groupe d'équipements associé à l'application.
- protocols: Objet
- (Facultatif) Liste d'un ou de plusieurs mappages de protocoles et de rôles associés à l'application. L'application collecte uniquement des métriques à partir des protocoles spécifiés. Le format de chaque protocole est {'protocol' : 'role'}. Exemple : {'http' : 'serveur'}. Les valeurs de rôle prises en charge sont « client », « serveur », « any » ou « none ».
Spécifiez le paramètre body au format JSON suivant.
{ "criteria": { "protocol_default": "string", "sources": { "type": "string", "id": 0 }, "protocols": {} }, "description": "string", "discovery_id": "string", "display_name": "string", "node_id": 0 }
PATCH /applications/{id}
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les mises à jour de propriétés spécifiées à l'application.
- id: Numéro
- Identifiant unique de l'application.
GET /applications
Spécifiez les paramètres suivants.
- active_from: Numéro
- (Facultatif) Renvoie uniquement les applications actives après la durée spécifiée. Les valeurs positives indiquent le temps en millisecondes écoulé depuis l'époque. Les valeurs négatives indiquent l'heure en millisecondes avant l'heure actuelle.
- active_until: Numéro
- (Facultatif) Renvoie uniquement les applications actives avant l'heure spécifiée. Les valeurs positives indiquent le temps en millisecondes écoulé depuis l'époque. Les valeurs négatives indiquent l'heure en millisecondes avant l'heure actuelle.
- limit: Numéro
- (Facultatif) Limitez le nombre de demandes renvoyées au nombre maximum spécifié.
- offset: Numéro
- (Facultatif) Ignorez les n premiers résultats de l'application. Ce paramètre est souvent associé au paramètre limite.
- search_type: Corde
- Type d'objet à rechercher.
Les valeurs suivantes sont valides :
- any
- name
- node
- discovery_id
- extrahop-id
- value: Corde
- (Facultatif) Les critères de recherche. Ajoutez une barre oblique avant et après les critères pour appliquer la correspondance RegEx.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "criteria": [], "description": "string", "discovery_id": "string", "display_name": "string", "extrahop_id": "string", "id": 0, "mod_time": 0, "node_id": 0, "user_mod_time": 0 }
GET /applications/{id}/activity
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de l'application.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "application_id": 0, "from_time": 0, "id": 0, "mod_time": 0, "stat_name": "string", "until_time": 0 }
GET /applications/{id}/alerts
Spécifiez les paramètres suivants.
- id: Numéro
- Récupérez l'identifiant unique de l'application.
- direct_assignments_only: Booléen
- (Facultatif) Indique si les résultats sont limités aux alertes directement attribuées à l'application.
POST /applications/{id}/alerts
Spécifiez les paramètres suivants.
- body: Objet
- Attribuez ou annulez l'attribution de la liste spécifiée d'identifiants uniques pour les alertes.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- Fournissez un identifiant unique pour l'application.
POST /applications/{id}/alerts/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique de l'alerte.
- id: Numéro
- Identifiant unique de l'application.
Journal d'audit
Le journal d'audit affiche un enregistrement de toutes les activités d'administration et de configuration du système enregistrées, telles que l'heure de l'activité, l'utilisateur qui a effectué l'activité, l'opération, les détails de l'opération et les composants du système.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
OBTENIR /auditlog | Récupérez tous les messages du journal dÈRE d'audit. |
Détails de l'opération
GET /auditlog
Spécifiez les paramètres suivants.
- limit: Numéro
- (Facultatif) Nombre maximal de messages de journal à renvoyer.
- offset: Numéro
- (Facultatif) Nombre de messages de journal à ignorer dans les résultats. Renvoie les messages du journal à partir de la valeur de décalage.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "body": {}, "id": 0, "occur_time": 0, "time": 0 }
Auth
Vous pouvez configurer une authentification unique (SSO) sécurisée sur le système ExtraHop via un ou plusieurs fournisseurs d'identité SAML (Security Assertion Markup Language).
Lorsqu'un utilisateur se connecte à un système ExtraHop configuré en tant que fournisseur de services (SP) pour l'authentification SSO SAML, le système ExtraHop demande l'autorisation au fournisseur d'identité (IdP) approprié. Le fournisseur d'identité authentifie les informations dcredentiation de l'utilisateur, puis renvoie l'autorisation de l'utilisateur au système ExtraHop. L'utilisateur peut alors accéder au système ExtraHop.
Opération | Descriptif |
---|---|
GET /auth/fournisseurs d'identité | Récupérez tous les fournisseurs d'identité. |
POST/auth/fournisseurs d'identité | Ajoutez un fournisseur d'identité pour l'authentification à distance. |
SUPPRIMER /auth/identityproviders/ {id} | Supprimez un fournisseur d'identité spécifique. |
OBTENEZ /auth/identityproviders/ {id} | Récupérez un fournisseur d'identité spécifique. |
PATCH /auth/identityproviders/ {id} | Mettez à jour un fournisseur d'identité existant. |
GET /auth/identityproviders/ {id} /privilèges | Récupérez les paramètres de privilège pour un fournisseur d'identité spécifique. |
PATCH /auth/identityproviders/ {id} /privilèges | Mettez à jour les paramètres de privilège pour un fournisseur d'identité spécifique. |
OBTENEZ /auth/samlsp | Récupérez les métadonnées du fournisseur de sécurité (SP) SAML pour ce système ExtraHop. |
Détails de l'opération
POST /auth/identityproviders
Spécifiez les paramètres suivants.
- body: Objet
- Paramètres du fournisseur d'identité.
- name: Corde
- Le nom du fournisseur d'identité.
- enabled: Booléen
- Indique si l'authentification via le fournisseur d'identité est activée sur le système ExtraHop.
- entity_id: Corde
- (Facultatif) Identifiant d'entité SAML 2.0.
- sso_url: Corde
- (Facultatif) L'URL d'authentification unique (SSO) SAML 2.0.
- signing_certificate: Corde
- (Facultatif) Le certificat de signature SAML 2.0 X.509 au format PEM.
- type: Corde
- Type de fournisseur d'identité.
Les valeurs suivantes sont valides :
- saml
- auto_provision_users: Booléen
- Indique si un utilisateur peut être créé sur le système ExtraHop à partir du fournisseur d'identité.
Spécifiez le paramètre body au format JSON suivant.
{ "auto_provision_users": true, "enabled": true, "entity_id": "string", "name": "string", "signing_certificate": "string", "sso_url": "string", "type": "string" }
GET /auth/identityproviders
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "auto_provision_users": true, "enabled": true, "entity_id": "string", "id": 0, "name": "string", "signing_certificate": "string", "sso_url": "string", "type": "string" }
GET /auth/identityproviders/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du fournisseur d'identité.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "auto_provision_users": true, "enabled": true, "entity_id": "string", "id": 0, "name": "string", "signing_certificate": "string", "sso_url": "string", "type": "string" }
PATCH /auth/identityproviders/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du fournisseur d'identité.
- body: Objet
- Les paramètres du fournisseur d'identité.
DELETE /auth/identityproviders/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du fournisseur d'identité.
GET /auth/identityproviders/{id}/privileges
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du fournisseur d'identité.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "detectionsaccesslevel": {}, "ndrlevel": {}, "npmlevel": {}, "packetslevel": {}, "writelevel": {} }
Bundle
Les ensembles sont des documents au format JSON qui contiennent des informations sur la configuration système sélectionnée, telles que les déclencheurs, tableaux de bord, des applications, ou alertes.
Vous pouvez créer un bundle, puis transférer ces configurations vers un autre système ExtraHop, ou enregistrer le bundle en tant que sauvegarde. Les packs peuvent également être téléchargés sur Offres groupées de solutions ExtraHop et appliquées via l'API REST. Pour plus d'informations, voir Lots.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /bundles | Récupérez les métadonnées de tous les bundles du système ExtraHop. |
POST/bundles | Téléchargez un nouveau bundle sur le système ExtraHop. |
SUPPRIMER /bundles/ {id} | Supprimez un bundle spécifique. |
OBTENEZ /bundles/ {id} | Récupérez une exportation de bundle spécifique. |
POST /bundles/ {id} /appliquer | Appliquez un bundle enregistré au système ExtraHop. |
Détails de l'opération
GET /bundles
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "built_in": true, "created_time": 0, "description": "string", "id": 0, "mod_time": 0, "name": "string" }
POST /bundles
Spécifiez les paramètres suivants.
- body: Corde
- Une exportation de bundle au format JSON.
- name: Corde
- Le nom convivial du bundle.
- description: Corde
- (Facultatif) Description facultative du bundle.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "name": "string" }
GET /bundles/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du bundle.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "built_in": true, "created_time": 0, "description": "string", "id": 0, "mod_time": 0, "name": "string" }
POST /bundles/{id}/apply
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du bundle.
- body: Objet
- Les options de configuration pour appliquer le bundle.
- policy: Corde
- Indique si les objets en conflit doivent être remplacés ou ignorés.
Les valeurs suivantes sont valides :
- overwrite
- skip
- include_assignments: Booléen
- Indique si les assignations d'objets doivent être restaurées avec le bundle.
- node_ids: Tableau de nombres
- Une liste d'identifiants uniques pour les capteurs sur lesquels appliquer le bundle. Ce champ n'est valide que sur une console.
Spécifiez le paramètre body au format JSON suivant.
{ "include_assignments": true, "node_ids": [], "policy": "string" }
Nuage
Cette ressource vous permet de connecter votre site capteurs à RevealX 360 Pour plus d' informations, consultez Connectez-vous à RevealX 360 à partir de capteurs autogérés.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif |
---|---|
POST /cloud/connect | Connectez le système ExtraHop à RevealX 360. |
Détails de l'opération
POST /cloud/connect
Spécifiez les paramètres suivants.
- body: Objet
- Le jeton que vous avez généré à partir de RevealX 360.
- cloud_token: Corde
- Le jeton que vous avez généré à partir de RevealX 360.
- nickname: Corde
- Un surnom permettant d'identifier facilement la sonde.
Spécifiez le paramètre body au format JSON suivant.
{ "cloud_token": "string", "nickname": "string" }
équipement personnalisé
Vous pouvez créer un équipement personnalisé en définissant un ensemble de règles.
Par exemple, vous pouvez créer un équipement personnalisé doté d'une adresse IP sur un VLAN spécifié. Par défaut, toutes les adresses IP situées en dehors des domaines de diffusion surveillés localement sont agrégées derrière un routeur. Pour identifier les appareils qui se trouvent derrière ce routeur, vous pouvez créer un appareil personnalisé, puis collecter des métriques à partir de celui-ci. Pour plus d'informations, voir Créez des appareils personnalisés via l'API REST.
Remarque : | La ressource d'équipement personnalisée n'est pas disponible sur les consoles. |
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Opération | Descriptif |
---|---|
GET/appareils personnalisés | Récupérez tous les appareils personnalisés. |
POST/appareils personnalisés | Créez un équipement personnalisé. |
SUPPRIMER /customdevices/ {id} | Supprimez un équipement personnalisé spécifique. |
OBTENEZ /customdevices/ {id} | Récupérez un équipement personnalisé spécifique. |
PATCH /appareils personnalisés/ {id} | Mettez à jour un équipement personnalisé spécifique. |
Détails de l'opération
GET /customdevices
Spécifiez les paramètres suivants.
- include_criteria: Booléen
- (Facultatif) Indique si les critères d'équipement personnalisés doivent être inclus.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "criteria": [], "description": "string", "disabled": true, "extrahop_id": "string", "id": 0, "mod_time": 0, "name": "string" }
GET /customdevices/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'équipement personnalisé.
- include_criteria: Booléen
- (Facultatif) Indique si les critères d'équipement personnalisés doivent être inclus.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "criteria": [], "description": "string", "disabled": true, "extrahop_id": "string", "id": 0, "mod_time": 0, "name": "string" }
DELETE /customdevices/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'équipement personnalisé.
POST /customdevices
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les valeurs de propriété spécifiées au nouvel équipement personnalisé.
- author: Corde
- Le nom du créateur de l'équipement personnalisé.
- extrahop_id: Corde
- (Facultatif) Un identifiant unique pour l'équipement personnalisé. Si ce champ n'est pas spécifié, un identifiant est généré à partir du nom de l'équipement personnalisé. L'ID ne peut pas contenir d'espaces et ne peut pas être modifié une fois l'équipement personnalisé enregistré.
- name: Corde
- Le nom convivial de l'équipement personnalisé.
- description: Corde
- (Facultatif) Description facultative de l'équipement personnalisé.
- disabled: Booléen
- Indique si l'équipement personnalisé est inactif.
- criteria: Tableau d'objets
- (Facultatif) Un ensemble de critères d'équipement personnalisés pour cet appareil. Si ce champ est spécifié avec la méthode PATCH, tous les critères précédemment spécifiés sont supprimés.
- ipaddr: Corde
- L'adresse IP à laquelle doit correspondre l'équipement personnalisé.
- ipaddr_direction: Corde
- Direction du trafic à laquelle doit correspondre l'adresse ipaddr. Les critères déterminent la direction du trafic à destination ou en provenance de l'adresse ipaddr qui correspond.
Les valeurs suivantes sont valides :
- any
- dst
- src
- ipaddr_peer: Corde
- L'adresse IP avec laquelle l'adresse IPadder communique pour correspondre à l'équipement personnalisé. S'il est spécifié, ce paramètre limite le trafic correspondant à l'équipement personnalisé. Par exemple, si ipaddr_direction est « src », l'équipement personnalisé ne fait correspondre que le trafic vers l'adresse ipaddr_peer à partir de l'adresse ipaddr. Ce paramètre n'est valide que si ipaddr est spécifié et si ipaddr_direction n'a pas la valeur « any ».
- src_port_min: Numéro
- Limite inférieure du port source à laquelle correspond l'équipement personnalisé. Valeurs prises en charge : 1-65535.
- src_port_max: Numéro
- Limite maximale du port source à laquelle l'équipement personnalisé doit correspondre. Valeurs prises en charge : 1-65535.
- dst_port_min: Numéro
- Limite inférieure du port de destination correspondant à l'équipement personnalisé. Valeurs prises en charge : 1-65535.
- dst_port_max: Numéro
- Limite maximale du port de destination à laquelle l'équipement personnalisé doit correspondre. Valeurs prises en charge : 1-65535.
- vlan_min: Numéro
- La limite inférieure du VLAN à laquelle correspond l'équipement personnalisé.
- vlan_max: Numéro
- La limite maximale du VLAN à laquelle l'équipement personnalisé doit correspondre.
Spécifiez le paramètre body au format JSON suivant.
{ "author": "string", "criteria": { "ipaddr": "string", "ipaddr_direction": "string", "ipaddr_peer": "string", "src_port_min": 0, "src_port_max": 0, "dst_port_min": 0, "dst_port_max": 0, "vlan_min": 0, "vlan_max": 0 }, "description": "string", "disabled": true, "extrahop_id": "string", "name": "string" }
Personnalisation
La ressource Personnalisation vous permet de gérer les fichiers de sauvegarde sur le système ExtraHop. Vous devez disposer des privilèges d'administration du système et des droits d'accès pour effectuer des opérations sur cette ressource.
Les fichiers de sauvegarde contiennent à la fois des personnalisations et des ressources système. Les personnalisations sont des objets définis par l'utilisateur, tels que des alertes, des tableaux de bord, des déclencheurs et des mesures personnalisées. Les ressources système sont des éléments tels que les ensembles, les utilisateurs et les groupes locaux et le certificat TLS. Pour plus d'informations, voir Sauvegarder et restaurer une sonde ou une console.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif |
---|---|
GET /personnalisations | Récupérez tous les fichiers de sauvegarde. |
POST /personnalisations | Créez un fichier de sauvegarde. |
GET /personnalisations/status | Récupérez les informations relatives à l'état de la dernière tentative de sauvegarde. |
SUPPRIMER /customizations/ {id} | Supprimez un fichier de sauvegarde spécifique. |
GET /personnalisations/ {id} | Récupérez un fichier de sauvegarde spécifique. |
POST /personnalisations/ {id} /appliquer | Restaurez uniquement les personnalisations à partir d'un fichier de sauvegarde spécifique. |
POST /personnalisations/ {id} /téléchargement | Téléchargez un fichier de sauvegarde spécifique. |
Détails de l'opération
GET /customizations
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "auto": true, "create_time": 0, "id": 0, "name": "string", "recovered": true }
POST /customizations
Spécifiez les paramètres suivants.
- body: Objet
- Nom unique pour le fichier de sauvegarde.
- name: Corde
- Nom unique pour le fichier de sauvegarde.
Spécifiez le paramètre body au format JSON suivant.
{ "name": "string" }
GET /customizations/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du fichier de sauvegarde.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "auto": true, "create_time": 0, "id": 0, "name": "string", "recovered": true }
DELETE /customizations/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du fichier de sauvegarde.
POST /customizations/{id}/apply
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du fichier de sauvegarde.
Tableaux de bord
Les tableaux de bord sont des vues intégrées ou personnalisées des informations de vos métriques ExtraHop. Pour plus d' informations, voir Tableaux de bord.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Opération | Description | ||
---|---|---|---|
GET/Tableaux de bord | Récupérez tous les tableaux de bord. | ||
SUPPRIMER /dashboards/ {id} | Supprimez un tableau de bord spécifique. | ||
GET /dashboards/ {id} | Récupérez un tableau de bord spécifique. | ||
PATCH /tableaux de bords/ {id} | Mettez à jour la propriété d'un tableau de bord spécifique. | ||
GET /dashboards/ {id} /rapports | Récupérez les rapports de tableau de bord contenant un tableau de bord spécifique.
|
||
GET /dashboards/ {id} /partage | Récupérez les utilisateurs et leurs autorisations de partage pour un tableau de bord spécifique. | ||
PATCH /dashboards/ {id} /partage | Mettez à jour les utilisateurs et leurs autorisations de partage pour un tableau de bord spécifique. | ||
PUT /dashboards/ {id} /partage | Remplacez les utilisateurs et leurs autorisations de partage pour un tableau de bord spécifique. |
Détails de l'opération
GET /dashboards
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "comment": "string", "id": 0, "mod_time": 0, "name": "string", "owner": "string", "rights": [ "string" ], "short_code": "string", "type": "string" }
GET /dashboards/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du tableau de bord.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "comment": "string", "id": 0, "mod_time": 0, "name": "string", "owner": "string", "rights": [ "string" ], "short_code": "string", "type": "string" }
DELETE /dashboards/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du tableau de bord.
PATCH /dashboards/{id}
Spécifiez les paramètres suivants.
- body: Objet
- Le nom d'utilisateur du propriétaire du tableau de bord.
- id: Numéro
- Identifiant unique du tableau de bord.
GET /dashboards/{id}/sharing
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du tableau de bord.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "anyone": "string", "groups": {}, "users": {} }
PUT /dashboards/{id}/sharing
Spécifiez les paramètres suivants.
- body: Objet
- Les utilisateurs et leurs niveaux d'autorisation.
- id: Numéro
- Identifiant unique du tableau de bord.
Appareil
Les appareils sont des objets de votre réseau qui ont été identifiés et classés par votre système ExtraHop. Pour plus d'informations, voir Appareils.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif | ||
---|---|---|---|
GET /appareils | Récupérez tous les appareils actifs au cours d'une période donnée. Pour plus d'
informations, voir Extraire la liste des équipements via l'API REST.
|
||
POST /appareils/recherche | Récupérez tous les appareils qui répondent à des critères spécifiques. Pour plus d'informations, voir Rechercher un équipement via l'API REST.
|
||
OBTENIR /appareils/ {id} | Récupérez un équipement spécifique. | ||
PATCH /appareils/ {id} | Mettez à jour un équipement spécifique. | ||
GET /devices/ {id} /activité | Récupérez toutes les activités d'un équipement. | ||
GET /devices/ {id} /alertes | Tout récupérer alertes qui sont assignés à un équipement spécifique. | ||
POST /devices/ {id} /alertes | Attribuez et annulez l'attribution d'un équipement spécifique aux alertes. | ||
SUPPRIMER /devices/ {id} /alerts/ {child-id} | Annuler l'attribution d'une alerte à un équipement spécifique. | ||
POST /appareils/ {id} /alerts/ {child id} | Attribuez une alerte à un équipement spécifique. | ||
GET /devices/ {id} /tableaux de bord | Récupérez tous les tableaux de bord relatifs à un équipement spécifique. | ||
GET /appareils/ {id} /groupes de périphériques | Tout récupérer groupes d'équipements qui sont assignés à un équipement spécifique. | ||
POST /appareils/ {id} /devicegroups | Attribuez et annulez l'attribution d'un équipement spécifique à des groupes d'équipements. | ||
SUPPRIMER /devices/ {id} /devicegroups/ {child-id} | Annuler l'attribution d'un groupe déquipements à un équipement spécifique. | ||
POST /appareils/ {id} /devicegroups/ {child id} | Assignez un groupe déquipements à un équipement spécifique. | ||
GET /devices/ {id} /dnsnames | Récupérez tous les noms DNS associés à un équipement spécifique. | ||
GET /appareils/ {id} /ipaddrs | Récupérez toutes les adresses IP associées à un équipement spécifique au cours d'une période donnée. | ||
GET /devices/ {id} /software | Récupérez la liste des logiciels exécutés sur l'équipement spécifié. | ||
GET /devices/ {id} /tags | Récupérez toutes les balises attribuées à un équipement spécifique. | ||
POST /appareils/ {id} /tags | Attribuez et annulez l'attribution d'un équipement spécifique aux tags. | ||
SUPPRIMER /devices/ {id} /tags/ {child-id} | Annuler l'attribution d'un tag à un équipement spécifique. | ||
POST /appareils/ {id} /tags/ {child id} | Attribuez une étiquette à un équipement spécifique. | ||
GET /appareils/ {id} /déclencheurs | Récupérez tous les déclencheurs assignés à un équipement spécifique. | ||
POST /appareils/ {id} /déclencheurs | Attribuez et annulez l'attribution d'un équipement spécifique aux déclencheurs. | ||
SUPPRIMER /devices/ {id} /triggers/ {child-id} | Annuler l'attribution d'un déclencheur à un équipement spécifique. | ||
POST /appareils/ {id} /triggers/ {child id} | Assignez un déclencheur à un équipement spécifique. |
Détails de l'opération
GET /devices
Spécifiez les paramètres suivants.
- active_from: Numéro
- (Facultatif) L'horodateur de début de la demande. Renvoie uniquement les appareils actifs après cette période. Le temps est exprimé en millisecondes depuis l'époque. 0 indique l'heure de la demande. Une valeur négative est évaluée par rapport à l'heure actuelle. L'unité par défaut pour une valeur négative est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- active_until: Numéro
- (Facultatif) L'horodateur de fin de la demande. Renvoie uniquement l'équipement actif avant cette heure. Suit les mêmes directives relatives aux valeurs temporelles que le paramètre active_from.
- limit: Numéro
- (Facultatif) Limitez le nombre d'appareils renvoyés au nombre maximum spécifié.
- offset: Numéro
- (Facultatif) Ignorez les premiers résultats de l'équipement. Ce paramètre est souvent associé au paramètre limite.
- search_type: Corde
- Indique le champ dans lequel effectuer la recherche.
Les valeurs suivantes sont valides :
- any
- name
- discovery_id
- ip address
- mac address
- vendor
- type
- tag
- activity
- node
- vlan
- discover time
- value: Corde
- (Facultatif) Spécifie les critères de recherche.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "activity": [], "analysis": "string", "analysis_level": 0, "auto_role": "string", "cdp_name": "string", "cloud_account": "string", "cloud_instance_description": "string", "cloud_instance_id": "string", "cloud_instance_name": "string", "cloud_instance_type": "string", "critical": true, "custom_criticality": "string", "custom_make": "string", "custom_model": "string", "custom_name": "string", "custom_type": "string", "default_name": "string", "description": "string", "device_class": "string", "dhcp_name": "string", "discover_time": 0, "discovery_id": "string", "display_name": "string", "dns_name": "string", "extrahop_id": "string", "id": 0, "ipaddr4": "string", "ipaddr6": "string", "is_l3": true, "last_seen_time": 0, "macaddr": "string", "mod_time": 0, "model": "string", "model_override": "string", "netbios_name": "string", "node_id": 0, "on_watchlist": true, "parent_id": 0, "role": "string", "subnet_id": "string", "user_mod_time": 0, "vendor": "string", "vlanid": 0, "vpc_id": "string" }
POST /devices/search
Spécifiez les paramètres suivants.
- body: Objet
- Les critères relatifs à l'équipement.
- active_from: Numéro
- (Facultatif) L'horodateur de début de la demande. Renvoie uniquement les appareils actifs après cette période. Le temps est exprimé en millisecondes depuis l'époque. 0 indique l'heure de la demande. Une valeur négative est évaluée par rapport à l'heure actuelle. L'unité par défaut pour une valeur négative est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- active_until: Numéro
- (Facultatif) L'horodateur de fin de la demande. Renvoie uniquement les appareils actifs avant cette heure. Suit les mêmes directives relatives aux valeurs temporelles que le paramètre active_from.
- limit: Numéro
- (Facultatif) Limitez le nombre d'appareils renvoyés au nombre maximum spécifié.
- offset: Numéro
- (Facultatif) Ignorez le nombre d'appareils spécifié. Ce paramètre est souvent associé au paramètre limit pour paginer les ensembles de résultats.
- filter: Objet
- (Facultatif) Spécifiez les critères de filtre pour les résultats de recherche.
- field: Corde
- Le nom du champ sur lequel filtrer les résultats. La recherche compare le contenu du paramètre de champ à la valeur du paramètre d'opérande.
Les valeurs suivantes sont valides :
- name
- discovery_id
- ipaddr
- macaddr
- vendor
- tag
- activity
- node
- vlan
- discover_time
- role
- dns_name
- dhcp_name
- netbios_name
- cdp_name
- custom_name
- software
- model
- is_critical
- instance_id
- instance_name
- instance_type
- cloud_account
- vpc_id
- subnet_id
- is_active
- analysis
- network_locality_type
- network_locality_id
- id
- operator: Corde
- Méthode de comparaison appliquée lors de la mise en correspondance de la valeur de l'opérande avec le contenu du champ. Tous les objets filtrants nécessitent un opérateur.
Les valeurs suivantes sont valides :
- >
- <
- <=
- >=
- =
- !=
- startswith
- and
- or
- not
- exists
- not_exists
- ~
- !~
- in
- not_in
- operand: Chaîne ou nombre ou objet ou tableau
- La valeur à laquelle la requête tente de faire correspondre. La requête compare la valeur de l'opérande au contenu du paramètre de champ et applique la méthode de comparaison spécifiée par le paramètre de l'opérateur. Vous pouvez spécifier l'opérande sous la forme d'une chaîne, d'un entier ou d'un objet. Pour plus d'informations sur les valeurs des objets, consultez Guide de l'API REST.
- rules: Tableau d'objets
- Tableau d'un ou de plusieurs objets filtrants, qui peuvent être intégrés de manière récursive. Seuls les opérateurs « et », « ou » et « non » sont autorisés pour ce paramètre.
- result_fields: Tableau de cordes
- (Facultatif) Renvoie les champs spécifiés et l'identifiant de l'équipement. Si cette option n'est pas spécifiée, tous les champs sont renvoyés.
Les valeurs suivantes sont valides :
- mod_time
- node_id
- id
- extrahop_id
- discovery_id
- display_name
- description
- user_mod_time
- discover_time
- vlanid
- parent_id
- macaddr
- vendor
- is_l3
- ipaddr4
- ipaddr6
- device_class
- default_name
- custom_name
- cdp_name
- dhcp_name
- netbios_name
- dns_name
- custom_type
- auto_role
- analysis_level
- analysis
- role
- on_watchlist
- last_seen_time
- activity
- model
- model_override
- custom_make
- custom_model
- critical
- custom_criticality
- cloud_instance_id
- cloud_instance_type
- cloud_instance_description
- cloud_instance_name
- cloud_account
- vpc_id
- subnet_id
Spécifiez le paramètre body au format JSON suivant.
{ "active_from": 0, "active_until": 0, "filter": { "field": "string", "operator": "string", "operand": "string", "rules": [] }, "limit": 0, "offset": 0, "result_fields": [] }
GET /devices/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "activity": [], "analysis": "string", "analysis_level": 0, "auto_role": "string", "cdp_name": "string", "cloud_account": "string", "cloud_instance_description": "string", "cloud_instance_id": "string", "cloud_instance_name": "string", "cloud_instance_type": "string", "critical": true, "custom_criticality": "string", "custom_make": "string", "custom_model": "string", "custom_name": "string", "custom_type": "string", "default_name": "string", "description": "string", "device_class": "string", "dhcp_name": "string", "discover_time": 0, "discovery_id": "string", "display_name": "string", "dns_name": "string", "extrahop_id": "string", "id": 0, "ipaddr4": "string", "ipaddr6": "string", "is_l3": true, "last_seen_time": 0, "macaddr": "string", "mod_time": 0, "model": "string", "model_override": "string", "netbios_name": "string", "node_id": 0, "on_watchlist": true, "parent_id": 0, "role": "string", "subnet_id": "string", "user_mod_time": 0, "vendor": "string", "vlanid": 0, "vpc_id": "string" }
PATCH /devices/{id}
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les mises à jour des valeurs de propriété spécifiées à l'équipement.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
GET /devices/{id}/activity
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "device_id": 0, "from_time": 0, "id": 0, "mod_time": 0, "stat_name": "string", "until_time": 0 }
GET /devices/{id}/ipaddrs
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
- from: Numéro
- (Facultatif) Récupère les adresses IP associées à l'équipement après la date spécifiée, exprimée en millisecondes depuis l'époque.
- until: Numéro
- (Facultatif) Récupère les adresses IP associées à l'équipement avant la date spécifiée, exprimées en millisecondes depuis l'époque.
GET /devices/{id}/dnsnames
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
- from: Numéro
- (Facultatif) Récupère les noms DNS associés à l'équipement après la date spécifiée, exprimés en millisecondes depuis l'époque.
- until: Numéro
- (Facultatif) Récupère les noms DNS associés à l'équipement avant la date spécifiée, exprimés en millisecondes depuis l'époque.
GET /devices/{id}/triggers
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
- direct_assignments_only: Booléen
- (Facultatif) Limitez les résultats aux seuls déclencheurs directement attribués à l'équipement.
POST /devices/{id}/triggers
Spécifiez les paramètres suivants.
- body: Objet
- Liste d'identifiants uniques pour les déclencheurs attribués et non attribués à l'équipement.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
POST /devices/{id}/triggers/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du déclencheur.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
DELETE /devices/{id}/triggers/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du déclencheur.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
GET /devices/{id}/dashboards
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
GET /devices/{id}/devicegroups
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'équipement.
- active_from: Numéro
- (Facultatif) L'horodateur de début de la demande. Renvoie uniquement les groupes d'équipements dynamiques auxquels l'équipement appartenait après cette période. Le temps est exprimé en millisecondes depuis l'époque. 0 indique l'heure de la demande. Une valeur négative est évaluée par rapport à l'heure actuelle. L'unité par défaut pour une valeur négative est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- active_until: Numéro
- (Facultatif) L'horodateur de fin de la demande. Renvoie uniquement les groupes d'équipements dynamiques auxquels l'équipement appartenait avant cette heure. Suit les mêmes directives relatives aux valeurs temporelles que le paramètre active_from.
POST /devices/{id}/devicegroups
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les groupes d'appareils qui sont attribués et non attribués à l'appareil.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
POST /devices/{id}/devicegroups/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du groupe dcesséquipements.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
DELETE /devices/{id}/devicegroups/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du groupe dcesséquipements.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
GET /devices/{id}/tags
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
POST /devices/{id}/tags
Spécifiez les paramètres suivants.
- body: Objet
- Liste d'identifiants uniques pour les étiquettes attribuées et non attribuées à l'équipement.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
POST /devices/{id}/tags/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de la balise.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
DELETE /devices/{id}/tags/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de la balise.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
GET /devices/{id}/alerts
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
- direct_assignments_only: Booléen
- (Facultatif) Limitez les résultats aux seules alertes directement attribuées à l'équipement.
POST /devices/{id}/alerts
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les alertes attribuées et non attribuées à l'équipement.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
POST /devices/{id}/alerts/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de l'alerte.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
DELETE /devices/{id}/alerts/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de l'alerte.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
GET /devices/{id}/software
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique de l'appareil, qui est affiché en tant qu'ID API sur la page de l'appareil dans le système ExtraHop.
- from: Numéro
- (Facultatif) Renvoie le logiciel observé sur l'équipement après la date spécifiée, exprimée en millisecondes depuis l'époque.
- until: Numéro
- (Facultatif) Renvoie le logiciel observé sur l'équipement avant la date spécifiée, exprimée en millisecondes depuis l'époque.
Valeurs d'opérandes pour la recherche d'équipements
L'opération POST /devices/search vous permet de rechercher des appareils selon des critères spécifiés dans les objets de filtre. Chaque objet doit contenir une valeur unique pour operand champ valide pour le champ spécifié field valeur.
activity
Pour effectuer une recherche par activité métrique, spécifiez field valeur en tant que activity et le operand valeur en tant que metric_category. Vous pouvez trouver metric_category valeurs dans la section Paramètres de l'API REST du catalogue de métriques.
L'exemple suivant renvoie des résultats pour les périphériques qui correspondent à toutes les activités métriques classées pour un client DHCP, telles que le nombre de requêtes DHCP envoyées.
{ "filter": { "field": "activity", "operand": "dhcp_client", "operator": "=" } }
Conseil : | Récupérez par programmation une liste de toutes les activités métriques d'un équipement via GET /devices/{id}/activity opération. Le stat_name la valeur correspond à metric_category valeur dans le metric_catalog, après le dernier point. |
Dans l'exemple de réponse suivant, stat_name la valeur est extrahop.device.dhcp_client. Supprimez le texte avant le dernier point pour identifier metric_catalog valeur de dhcp_client.
{ "id": 198606, "from_time": 1581537120000, "until_time": 1581542520000, "mod_time": 1581542533963, "device_id": 30096, "stat_name": "extrahop.device.dhcp_client" }
analyse
Pour effectuer une recherche par niveau d'analyse de l'équipement, spécifiez field valeur en tant que analysis et le operand valeur sous la forme de l'une des chaînes suivantes :
- standard
- Appareils en Analyse standard.
- avancé
- Appareils en Analyse avancée.
- découverte
- Appareils en mode de découverte.
- l2_exempté
- Appareils dans L2 Parent Analysis.
- journal des flux
- Appareils utilisés pour l'analyse des flux.
discover_time
Pour effectuer une recherche par plage horaire, spécifiez le field valeur en tant que discover_time et un operand valeur avec from et until paramètres, où les valeurs sont des dates, exprimées en millisecondes depuis l'époque.
L'exemple suivant renvoie les résultats de toutes les activités de l'équipement survenues entre 13 h 00 et 15 h 00 le 21 août 2019.
{ "filter": { "field": "discover_time", "operand": { "from": "1566392400000", "until": "1566399600000" }, "operator": "=" } }
discovery_id
Pour effectuer une recherche à l'aide de l'identifiant unique de l'équipement, spécifiez field valeur comme discovery_id et le operand valeur en tant qu'ID de découverte.
{ "filter": { "field": "discovery_id", "operand": "c12vf90qpg290000", "operator": "=" } }
identifiant
Pour récupérer plusieurs appareils, spécifiez la valeur du champ comme id, le operator valeur en tant que in, et le operand valeur sous forme de tableau d'identifiants.
{ "filter": { "field": "id", "operand": [5388,5387], "operator": "in" } }
Pour exclure des appareils des résultats de recherche, spécifiez un filtre comportant plusieurs règles et spécifiez une règle dont la valeur du champ est id, le operator valeur en tant que not_in, et le operand valeur sous forme de tableau d'identifiants.
{ "filter": { "operator": "and", "rules": [ { "field": "id", "operand": [5388,5387], "operator": "not_in" }, { "field": "discover_time", "operand": { "from": "1692984750000", "until": "1693416750000" }, "operator": "=" } ] } }
est_actif
{ "filter": { "field": "is_active", "operand": true, "operator": "=" } }
ipaddr
Pour effectuer une recherche par adresse IP, spécifiez le field valeur en tant que ipaddr et le operand valeur sous forme d'adresse IP ou de bloc CIDR.
{ "filter": { "field": "ipaddr", "operand": "192.168.12.0/28", "operator": "=" } }
node
Pour effectuer une recherche à l'aide de l'identifiant unique d'un sonde, spécifiez le field valeur en tant que node et le operand valeur en tant que sonde UUID.
{ "filter": { "field": "node", "operand": "qqvsplfa-zxsk-32l0-19g1-076vfr42pw31", "operator": "=" } }
macaddr
Pour effectuer une recherche par adresse MAC d'un équipement, spécifiez la valeur du champ comme macaddr et la valeur de l'opérande en tant qu'adresse MAC de l'équipement. L'exemple suivant renvoie les résultats pour les appareils dont l'adresse MAC est C1:1C:N2:0Q:PJ:10 ou C1:1C:N2:0Q:PJ:11.
{ "filter": { "operator": "or", "rules": [ { "field": "macaddr", "operand": "C1:1C:N2:0Q:PJ:10", "operator": "=" }, { "field": "macaddr", "operand": "C1:1C:N2:0Q:PJ:11", "operator": "=" } ] } }
model
Pour effectuer une recherche par modèle d'équipement, spécifiez field valeur en tant que model. Si l'opérateur est =, !=, exists, ou not_exists, spécifiez l'opérande comme identifiant de modèle, que vous pouvez afficher dans le model champ de POST /device/search réponses.
{ "filter": { "field": "model", "operand": "apple_ipad_pro_12_9_inch_wifi_cellular_5th_gen", "operator": "=" } }
Si l'opérateur est ~ ou !~, spécifiez l'opérande comme nom de la marque et du modèle, que vous pouvez afficher dans le système ExtraHop lorsque vous recherchez un équipement .
{ "filter": { "field": "model", "operand": "Apple iPad Pro", "operator": "~" } }
name
Pour effectuer une recherche par nom d'affichage de l'équipement, spécifiez field valeur en tant que nom et operand valeur en tant que nom d'équipement ou en tant que chaîne regex.
{ "filter": { "field": "name", "operand": "VMware B2CEB6", "operator": "=" } }
identifiant_localité_réseau
Pour effectuer une recherche par localité du réseau, spécifiez field valeur en tant que network_locality_id et la valeur de l'opérande en tant qu'ID de localité du réseau.
{ "filter": { "field": "network_locality_id", "operand": 123, "operator": "=" } }
role
Pour effectuer une recherche par rôle d'équipement, spécifiez field valeur en tant que role et le operand valeur en tant que rôle de l'équipement.
{ "filter": { "field": "role", "operand": "voip_phone", "operator": "=" } }
software
Pour effectuer une recherche à l'aide du logiciel exécuté sur l'équipement, spécifiez field valeur en tant que software et le operand valeur en tant qu'identifiant associé à ce logiciel sur le système ExtraHop.
{ "filter": { "field": "software", "operand": "windows_10", "operator": "=" } }
Conseil : | Récupérez par programmation une liste de tous les identifiants logiciels associés à un
équipement via GET /devices/{id}/software opération. Dans l'exemple de réponse suivant, id la valeur du logiciel est windows_10. [ { "software_type": "OS", "name": "Windows", "version": "10", "description": null, "id": "windows_10" } ] |
software_type
Pour effectuer une recherche par type de logiciel exécuté sur l'équipement, spécifiez field valeur en tant que software_type et le operand valeur en tant qu'ID de type de logiciel.
{ "filter": { "field": "software_type", "operand": "OS", "operator": "=" } }
Conseil : | Récupérez par programmation une liste de tous les
identifiants de type de logiciel associés à un équipement via GET /devices/{id}/software
opération. Dans l'exemple de réponse suivant, la valeur d'ID pour le type de logiciel est OS. [ { "software_type": "OS", "name": "Windows", "version": "10", "description": null, "id": "windows_10" } ] |
tag
Pour effectuer une recherche par étiquette d'équipement, spécifiez le field valeur en tant que tag et le operand valeur en tant que nom de balise ou en tant que chaîne regex.
{ "filter": { "field": "tag", "operand": "Custom Tag", "operator": "=" } }
Conseil : | Récupérez par programmation une liste de toutes les étiquettes de l'équipement via
GET /devices/{id}/tags opération. Dans l'exemple de réponse suivant, name la valeur de la balise est Custom Tag. [ { "mod_time": 1521577040934, "id": 19, "name": "Custom Tag" } ] |
vlan
Pour effectuer une recherche par l'ID d'un VLAN, spécifiez field valeur en tant que vlan et le operand valeur en tant qu'ID du VLAN.
{ "filter": { "field": "vlan", "operand": "0", "operator": "=" } }
Recherche à l'aide d'expressions régulières (regex)
Pour certains field valeurs, la chaîne peut être en syntaxe regex. Spécifiez le operand valeur en tant qu'objet ayant un value paramètre avec la syntaxe regex que vous souhaitez faire correspondre et un is_regex paramètre défini sur true. L'exemple suivant renvoie les résultats pour tous les noms DNS qui se terminent par com.
{ "filter": { "field": "dns_name", "operand": { "value": ".*?com", "is_regex": true }, "operator": "=" } }
Un operand le champ avec la syntaxe regex est valide pour les éléments suivants field valeurs :
- nom_cdp
- nom_personnalisé
- nom_DNS
- nom_dhcp
- modèle
- nom
- nom_netbios
- logiciel
- étiquette
- fournisseur
Unités de temps prises en charge
Pour la plupart des paramètres, l'unité par défaut pour la mesure du temps est la milliseconde. Toutefois, les paramètres suivants renvoient ou acceptent des unités de temps alternatives telles que les minutes et les heures :
- Appareil
- actif_depuis
- actif_jusqu'à
- Groupe d'appareils
- actif_depuis
- actif_jusqu'à
- Métriques
- à partir de
- jusqu'à
- Journal d'enregistrement
- à partir de
- jusqu'à
- context_ttl
Le tableau suivant indique les unités de temps prises en charge :
Unité de temps | Suffixe d'unité |
---|---|
Année | y |
Mois | M |
Semaine | w |
Journée | d |
Heure | h |
Minutes | m |
Deuxième | s |
Milliseconde | ms |
Pour spécifier une unité de temps autre que les millisecondes pour un paramètre, ajoutez le suffixe de l'unité à la valeur. Par exemple, pour demander des appareils actifs au cours des 30 dernières minutes, spécifiez la valeur de paramètre suivante :
GET /api/v1/devices?active_from=-30m
L'exemple suivant indique une recherche pour HTTP records créés il y a 1 à 2 heures :
{ "from": "-2h", "until": "-1h", "types": ["~http"] }
Groupe d'appareils
Groupes d'appareils peut être statique ou dynamique.
Un groupe de dispositifs statique est défini par l'utilisateur ; vous créez un groupe de dispositifs, puis vous identifiez et attribuez manuellement chaque équipement à ce groupe. Un groupe dequipment dynamique est défini et géré automatiquement par un ensemble de règles configurées.
Par exemple, vous pouvez créer un groupe d'équipements, puis définir une règle pour classer tous les appareils appartenant à une certaine plage d'adresses IP à ajouter automatiquement à ce groupe. Pour plus d'informations, voir Groupes d'appareils.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif | ||
---|---|---|---|
GET /devicegroups | Récupérez tous les groupes d'équipements actifs au cours d'une période donnée. | ||
POST/groupes d'appareils | Créez un nouveau groupe d'équipements. | ||
SUPPRIMER /devicegroups/ {id} | Supprimez un groupe déquipements. | ||
OBTENEZ /devicegroups/ {id} | Récupérez un groupe déquipements spécifique. | ||
PATCH /devicegroups/ {id} | Mettez à jour un groupe d'équipements spécifique. | ||
GET /devicegroups/ {id} /alertes | Tout récupérer alertes qui sont affectés à un groupe d'équipements spécifique. | ||
POST /devicegroups/ {id} /alertes | Attribuez et annulez l'attribution d'un groupe déquipements spécifique aux alertes. | ||
SUPPRIMER /devicegroups/ {id} /alerts/ {child-id} | Annuler l'attribution d'une alerte à un groupe déquipements spécifique. | ||
POST /devicegroups/ {id} /alerts/ {child id} | Attribuez une alerte à un groupe déquipements spécifique. | ||
GET /devicegroups/ {id} /tableaux de bord | Récupérez tous les tableaux de bord associés à un groupe déquipements spécifique. | ||
GET /devicegroups/ {id} /appareils | Récupérez tous les appareils du groupe déquipements actifs au cours d'une
période donnée.
|
||
POST /devicegroups/ {id} /appareils | Attribuez et annulez l'attribution d'appareils à un groupe de dispositifs statique spécifique. | ||
SUPPRIMER /devicegroups/ {id} /devices/ {child-id} | Annulation de l'attribution d'un équipement à un groupe de dispositifs statique spécifique. | ||
POST /devicegroups/ {id} /appareils/ {child id} | Assignez un équipement à un groupe de dispositifs statique spécifique. | ||
GET /devicegroups/ {id} /déclencheurs | Récupérez tous les déclencheurs assignés à un groupe déquipements spécifique. | ||
POST /devicegroups/ {id} /déclencheurs | Attribuez et annulez l'attribution d'un groupe déquipements spécifique aux déclencheurs. | ||
SUPPRIMER /devicegroups/ {id} /triggers/ {child-id} | Annulez l'attribution d'un déclencheur à un groupe déquipements spécifique. | ||
POST /devicegroups/ {id} /triggers/ {child id} | Assignez un déclencheur à un groupe déquipements spécifique. |
Détails de l'opération
GET /devicegroups
Spécifiez les paramètres suivants.
- since: Numéro
- (Facultatif) Renvoie uniquement les groupes d'équipements qui ont été modifiés après cette période, exprimés en millisecondes depuis l'époque.
- all: Booléen
- (Facultatif) Obsolète. Remplacé par le paramètre type.
- name: Corde
- (Facultatif) La valeur de recherche Regex pour filtrer les groupes d'équipements par nom.
- type: Corde
- (Facultatif) Renvoie uniquement les groupes d'équipements du type spécifié.
Les valeurs suivantes sont valides :
- user_created
- built_in
- all
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "built_in": true, "description": "string", "dynamic": true, "editors": [], "field": "string", "filter": {}, "id": 0, "include_custom_devices": true, "mod_time": 0, "name": "string", "value": "string" }
GET /devicegroups/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "built_in": true, "description": "string", "dynamic": true, "editors": [], "field": "string", "filter": {}, "id": 0, "include_custom_devices": true, "mod_time": 0, "name": "string", "value": "string" }
POST /devicegroups
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les valeurs de propriété spécifiées au nouveau groupe dcesséquipements.
- description: Corde
- Description facultative du groupe dO'équipements.
- name: Corde
- Le nom convivial du groupe dcesséquipements.
- include_custom_devices: Booléen
- (Facultatif) Obsolète. Remplacé par le paramètre de filtre.
- dynamic: Booléen
- (Facultatif) Indique si le groupe dafficheurs est dynamique.
- field: Corde
- Obsolète. Remplacé par le paramètre de filtre.
Les valeurs suivantes sont valides :
- any
- name
- ip address
- mac address
- vendor
- type
- tag
- vlan
- activity
- node
- discover time
- value: Objet
- (Facultatif) Obsolète. Remplacé par le paramètre de filtre.
- filter: Objet
- (Facultatif) Spécifiez les critères de filtre pour les résultats de recherche.
- field: Corde
- Le nom du champ sur lequel filtrer les résultats. La recherche compare le contenu du paramètre de champ à la valeur du paramètre d'opérande.
Les valeurs suivantes sont valides :
- name
- ipaddr
- macaddr
- vendor
- tag
- activity
- node
- vlan
- discover_time
- role
- dns_name
- dhcp_name
- netbios_name
- cdp_name
- custom_name
- software
- model
- is_critical
- instance_id
- instance_name
- instance_type
- cloud_account
- vpc_id
- subnet_id
- is_active
- network_locality_type
- network_locality_id
- id
- operator: Corde
- Méthode de comparaison appliquée lors de la mise en correspondance de la valeur de l'opérande avec le contenu du champ. Tous les objets filtrants nécessitent un opérateur.
Les valeurs suivantes sont valides :
- >
- <
- <=
- >=
- =
- !=
- startswith
- and
- or
- not
- exists
- not_exists
- ~
- !~
- operand: Chaîne, numéro ou objet
- La valeur à laquelle la requête tente de faire correspondre. La requête compare la valeur de l'opérande au contenu du paramètre de champ et applique la méthode de comparaison spécifiée par le paramètre de l'opérateur. Vous pouvez spécifier l'opérande sous la forme d'une chaîne, d'un entier ou d'un objet. Pour plus d'informations sur les valeurs des objets, consultez Guide de l'API REST.
- rules: Tableau d'objets
- Tableau d'un ou de plusieurs objets filtrants, qui peuvent être intégrés de manière récursive. Seuls les opérateurs « et », « ou » et « non » sont autorisés pour ce paramètre.
- editors: Tableau de cordes
- (Facultatif) La liste des utilisateurs qui peuvent modifier le groupe dcesséquipements.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "dynamic": true, "editors": [], "field": "string", "filter": { "field": "string", "operator": "string", "operand": "string", "rules": [] }, "include_custom_devices": true, "name": "string", "value": "string" }
DELETE /devicegroups/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
PATCH /devicegroups/{id}
Spécifiez les paramètres suivants.
- body: Objet
- Applique les mises à jour des valeurs de propriétés spécifiées à un groupe dcesséquipements spécifique.
- description: Corde
- Description facultative du groupe dO'équipements.
- name: Corde
- Le nom convivial du groupe dcesséquipements.
- include_custom_devices: Booléen
- (Facultatif) Obsolète. Remplacé par le paramètre de filtre.
- field: Corde
- Obsolète. Remplacé par le paramètre de filtre.
Les valeurs suivantes sont valides :
- any
- name
- ip address
- mac address
- vendor
- type
- tag
- vlan
- activity
- node
- discover time
- value: Objet
- (Facultatif) Obsolète. Remplacé par le paramètre de filtre.
- filter: Objet
- (Facultatif) Spécifiez les critères de filtre pour les résultats de recherche.
- editors: Tableau de cordes
- (Facultatif) La liste des utilisateurs qui peuvent modifier le groupe dcesséquipements.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "editors": [], "field": "string", "filter": {}, "include_custom_devices": true, "name": "string", "value": "string" }
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
GET /devicegroups/{id}/alerts
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
- direct_assignments_only: Booléen
- (Facultatif) Limitez les résultats aux seules alertes directement attribuées au groupe dcesséquipements.
POST /devicegroups/{id}/alerts/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de l'alerte.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
DELETE /devicegroups/{id}/alerts/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique de l'alerte.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
POST /devicegroups/{id}/alerts
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les alertes attribuées et non attribuées au groupe dcesséquipements.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
GET /devicegroups/{id}/triggers
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
- direct_assignments_only: Booléen
- (Facultatif) Limitez les résultats aux seuls déclencheurs qui sont directement affectés au groupe dcesséquipements.
POST /devicegroups/{id}/triggers/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du déclencheur.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
DELETE /devicegroups/{id}/triggers/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique du déclencheur.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
POST /devicegroups/{id}/triggers
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les déclencheurs attribués et non attribués au groupe dcesséquipements.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
POST /devicegroups/{id}/devices/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique d'un équipement.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
DELETE /devicegroups/{id}/devices/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- L'identifiant unique d'un équipement.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
POST /devicegroups/{id}/devices
Spécifiez les paramètres suivants.
- body: Objet
- La liste des identifiants uniques pour les appareils attribués et non attribués au groupe dcesséquipements.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
GET /devicegroups/{id}/devices
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du groupe dcesséquipements.
- active_from: Numéro
- (Facultatif) L'horodateur de début de la demande. Renvoie uniquement les appareils actifs après cette période. Le temps est exprimé en millisecondes depuis l'époque. 0 indique l'heure de la demande. Une valeur négative est évaluée par rapport à l'heure actuelle. L'unité par défaut pour une valeur négative est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- active_until: Numéro
- (Facultatif) L'horodateur de fin de la demande. Renvoie uniquement l'équipement actif avant cette heure. Suit les mêmes directives relatives aux valeurs temporelles que le paramètre active_from.
- limit: Numéro
- (Facultatif) Limitez le nombre d'appareils retournés.
- offset: Numéro
- (Facultatif) Ignorez les premiers résultats de l'équipement. Ce paramètre est souvent associé au paramètre limite.
Unités de temps prises en charge
Pour la plupart des paramètres, l'unité par défaut pour la mesure du temps est la milliseconde. Toutefois, les paramètres suivants renvoient ou acceptent des unités de temps alternatives telles que les minutes et les heures :
- Appareil
- actif_depuis
- actif_jusqu'à
- Groupe d'appareils
- actif_depuis
- actif_jusqu'à
- Métriques
- à partir de
- jusqu'à
- Journal d'enregistrement
- à partir de
- jusqu'à
- context_ttl
Le tableau suivant indique les unités de temps prises en charge :
Unité de temps | Suffixe d'unité |
---|---|
Année | y |
Mois | M |
Semaine | w |
Journée | d |
Heure | h |
Minutes | m |
Deuxième | s |
Milliseconde | ms |
Pour spécifier une unité de temps autre que les millisecondes pour un paramètre, ajoutez le suffixe de l'unité à la valeur. Par exemple, pour demander des appareils actifs au cours des 30 dernières minutes, spécifiez la valeur de paramètre suivante :
GET /api/v1/devices?active_from=-30m
L'exemple suivant indique une recherche pour HTTP records créés il y a 1 à 2 heures :
{ "from": "-2h", "until": "-1h", "types": ["~http"] }
Valeurs d'opérande pour les groupes d'équipements
L'opération POST /devicegroups vous permet de créer des groupes d'équipements selon les critères spécifiés dans les objets filtrés. Chaque objet doit contenir une valeur unique pour operand champ valide pour le champ spécifié field valeur.
activity
Pour sélectionner les appareils par activité métrique, spécifiez le field valeur en tant que activity et le operand valeur en tant que metric_category. Vous pouvez trouver metric_category valeurs dans la section Paramètres de l'API REST du catalogue de métriques.
L'exemple suivant sélectionne des appareils dont l'activité métrique est classée pour un client DHCP, par exemple le nombre de demandes DHCP envoyées.
{ "filter": { "field": "activity", "operand": "dhcp_client", "operator": "=" } }
Conseil : | Récupérez par programmation une liste de toutes les activités métriques d'un équipement par le biais du GET /devices/{id}/activity opération. Le stat_name la valeur correspond à metric_category valeur dans le metric_catalog, après le point final. |
Dans l'exemple de réponse suivant, le stat_name la valeur est extrahop.device.dhcp_client. Supprimez le texte avant le dernier point pour identifier le metric_catalog valeur de dhcp_client.
{ "id": 198606, "from_time": 1581537120000, "until_time": 1581542520000, "mod_time": 1581542533963, "device_id": 30096, "stat_name": "extrahop.device.dhcp_client" }
discover_time
Pour sélectionner des appareils par plage de temps, spécifiez field valeur en tant que discover_time et un operand valeur avec from et until paramètres, dont les valeurs sont des dates, exprimés en millisecondes depuis l'époque.
L'exemple suivant sélectionne les appareils dont l'activité s'est produite entre 13 h 00 et 15 h 00 le 21 août 2019.
{ "filter": { "field": "discover_time", "operand": { "from": "1566392400000", "until": "1566399600000" }, "operator": "=" } }
discovery_id
Pour sélectionner des appareils par identifiant d'équipement unique, spécifiez field valeur en tant que discovery_id et le operand valeur en tant qu'ID de découverte.
{ "filter": { "field": "discovery_id", "operand": "c12vf90qpg290000", "operator": "=" } }
ipaddr
Pour sélectionner les appareils par adresse IP, spécifiez field valeur en tant que ipaddr et le operand valeur sous forme d'adresse IP ou de bloc CIDR.
{ "filter": { "field": "ipaddr", "operand": "192.168.12.0/28", "operator": "=" } }
node
Pour sélectionner des appareils en fonction de l'identifiant unique d'un sonde, spécifiez le field valeur en tant que node et le operand valeur en tant qu' UUID de l'appliance.
{ "filter": { "field": "node", "operand": "qqvsplfa-zxsk-32l0-19g1-076vfr42pw31", "operator": "=" } }
macaddr
Pour sélectionner des appareils par adresse MAC, spécifiez la valeur du champ comme suit : macaddr et la valeur de l'opérande comme adresse MAC de l'équipement. L'exemple suivant renvoie les résultats pour les appareils dont l'adresse MAC est C1:1C:N2:0Q:PJ:10 ou C1:1C:N2:0Q:PJ:11.
{ "filter": { "operator": "or", "rules": [ { "field": "macaddr", "operand": "C1:1C:N2:0Q:PJ:10", "operator": "=" }, { "field": "macaddr", "operand": "C1:1C:N2:0Q:PJ:11", "operator": "=" } ] } }
name
Pour sélectionner les appareils par nom d'affichage, spécifiez field valeur sous forme de nom et operand valeur en tant que nom de l'équipement ou en tant que chaîne regex.
{ "filter": { "field": "name", "operand": "VMware B2CEB6", "operator": "=" } }
identifiant_local du réseau
Pour sélectionner les appareils par localité du réseau, spécifiez field valeur en tant que network_locality_id et la valeur de l'opérande sous forme d'identifiant de localité du réseau.
{ "filter": { "field": "network_locality_id", "operand": 123, "operator": "=" } }
role
Pour sélectionner les appareils par rôle, spécifiez le field valeur en tant que role et le operand valeur en tant que rôle de l'équipement.
{ "filter": { "field": "role", "operand": "voip_phone", "operator": "=" } }
software
Pour sélectionner des appareils à l'aide du logiciel exécuté sur l'équipement, spécifiez le field valeur en tant que software et le operand valeur en tant qu'identifiant associé à ce logiciel sur le système ExtraHop ou en tant que chaîne regex.
{ "filter": { "field": "software", "operand": "windows_10", "operator": "=" } }
Conseil : | Récupérez par programmation une liste de tous les identifiants de logiciels associés à un
équipement via GET /devices/{id}/software opération. Dans l'exemple de réponse suivant, le id la valeur du logiciel est windows_10. [ { "software_type": "OS", "name": "Windows", "version": "10", "description": null, "id": "windows_10" } ] |
tag
Pour sélectionner les appareils par étiquette, spécifiez le field valeur en tant que tag et le operand valeur en tant que nom de balise ou en tant que chaîne regex.
{ "filter": { "field": "tag", "operand": "Custom Tag", "operator": "=" } }
Conseil : | Récupérez par programmation une liste de toutes les étiquettes de l'équipement via le
GET /devices/{id}/tags opération. Dans l'exemple de réponse suivant, le name la valeur de la balise est Custom Tag. [ { "mod_time": 1521577040934, "id": 19, "name": "Custom Tag" } ] |
vlan
Pour sélectionner des appareils en fonction de l'ID d'un VLAN, spécifiez field valeur en tant que vlan et le operand valeur en tant qu'ID du VLAN.
{ "filter": { "field": "vlan", "operand": "0", "operator": "=" } }
Recherche avec des expressions régulières (regex)
Pour certain field valeurs, la chaîne peut être en syntaxe regex. Spécifiez le operand valeur en tant qu'objet doté d'un value paramètre avec la syntaxe regex que vous souhaitez associer et un is_regex paramètre défini sur true. L'exemple suivant sélectionne les appareils dont les noms DNS se terminent par com.
{ "filter": { "field": "dns_name", "operand": { "value": ".*?com", "is_regex": true }, "operator": "=" } }
Un operand un champ avec une syntaxe regex est valide pour les éléments suivants field valeurs :
- nom_cdp
- nom_personnalisé
- nom_DNS
- nom_dhcp
- modèle
- nom
- nom_netbios
- logiciel
- étiquette
- fournisseur
Spécifiez plusieurs critères
Vous pouvez définir plusieurs critères à l'aide du rules champ. L'exemple suivant renvoie des résultats pour les appareils dont l'adresse IP est 192.168.12.0 ou 192.168.12.1.
{ "filter": { "operator": "or", "rules": [ { "field": "ipaddr", "operand": "192.168.12.0", "operator": "=" }, { "field": "ipaddr", "operand": "192.168.12.1", "operator": "=" } ] } }
Remarque : | Vous ne pouvez pas spécifier plus de 1 000 règles pour un groupe d'équipements. |
Détections
La ressource Détections vous permet de récupérer les détections qui ont été identifiées par le système ExtraHop.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif |
---|---|
GET /détections | Récupérez toutes les détections. |
GET /detections/formats | Récupérez tous les types de détection. |
GET /detections/formats/ {id} | Récupérez un type de détection spécifique. |
POST /détections/formats | Créez un nouveau type de détection personnalisé. |
SUPPRIMER /detections/formats/ {id} | Supprimez un type de détection personnalisé spécifique. |
PATCH /detections/formats/ {id} | Mettez à jour un type de détection personnalisé spécifique. |
GET /detections/rules/masquage | Récupérez toutes les règles d'exceptions. |
GET /detections/rules/masquage/ {id} | Récupérez une règle de réglage spécifique. |
POST /détections/règles/masquage | Créez une règle de réglage. |
SUPPRIMER /detections/rules/hiding/ {id} | Supprimez une règle de réglage. |
PATCH /detections/rules/masquage/ {id} | Mettez à jour une règle de réglage. |
POST /détections/recherche | Récupérez les détections qui correspondent aux critères de recherche spécifiés. |
PATCH /détections/tickets | Mettez à jour un ticket associé à des détections. |
GET /detections/ {id} | Récupérez une détection spécifique. |
GET /detections/ {id} /investigations | Récupérez toutes les enquêtes faisant l'objet d'une détection spécifique |
PATCH /detections/ {id} | Mettez à jour une détection. |
SUPPRIMER /detections/ {id} /notes | Supprimez les notes relatives à une détection donnée. |
GET /detections/ {id} /notes | Récupérez les notes pour une détection donnée. |
PUT /detections/ {id} /notes | Créez ou remplacez des notes pour une détection donnée. |
GET /detections/ {id} /related | Récupérez toutes les détections liées à une détection spécifique. |
Détails de l'opération
GET /detections/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique pour la détection.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "appliance_id": 0, "assignee": "string", "categories": [ "string" ], "create_time": 0, "description": "string", "end_time": 0, "id": 0, "is_user_created": true, "mitre_tactics": [], "mitre_techniques": [], "mod_time": 0, "participants": [], "properties": {}, "recommended": true, "recommended_factors": [], "resolution": "string", "risk_score": 0, "start_time": 0, "status": "string", "ticket_id": "string", "ticket_url": "string", "title": "string", "type": "string", "update_time": 0, "url": "string" }
GET /detections
Spécifiez les paramètres suivants.
- limit: Numéro
- (Facultatif) Limitez le nombre de détections renvoyées au nombre maximum spécifié. Une sélection aléatoire de détections est renvoyée.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "appliance_id": 0, "assignee": "string", "categories": [ "string" ], "create_time": 0, "description": "string", "end_time": 0, "id": 0, "is_user_created": true, "mitre_tactics": [], "mitre_techniques": [], "mod_time": 0, "participants": [], "properties": {}, "recommended": true, "recommended_factors": [], "resolution": "string", "risk_score": 0, "start_time": 0, "status": "string", "ticket_id": "string", "ticket_url": "string", "title": "string", "type": "string", "update_time": 0, "url": "string" }
POST /detections/search
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres de recherche de détection.
- filter: Objet
- Filtres spécifiques à la détection.
- category: Corde
- Obsolète. Remplacé par le champ des catégories.
- categories: Tableau de cordes
- Renvoie les détections provenant des catégories spécifiées.
- assignee: Tableau de cordes
- Renvoie les détections attribuées à l'utilisateur spécifié. Spécifiez « .none » pour rechercher les détections non attribuées ou « .me » pour rechercher les détections attribuées à l'utilisateur authentifié.
- ticket_id: Tableau de cordes
- Renvoie les détections associées aux tickets spécifiés. Spécifiez « .none » pour rechercher les détections qui ne sont pas associées à des tickets.
- status: Tableau de cordes
- Renvoie les détections dont l'état est spécifié. Pour rechercher des détections dont le statut est nul, qui s'affiche dans le système ExtraHop comme Ouvert, spécifiez « .none ». Vous ne pouvez modifier le statut d'une détection en « nouveau » via l'API REST que lorsque le suivi des billets par des tiers est activé.
Les valeurs suivantes sont valides :
- new
- in_progress
- closed
- acknowledged
- resolution: Tableau de cordes
- Renvoie les détections pour les tickets avec la résolution spécifiée. Spécifiez « .none » pour rechercher les détections sans résolution.
Les valeurs suivantes sont valides :
- action_taken
- no_action_taken
- types: Tableau de cordes
- Renvoie les détections avec les types spécifiés.
- risk_score_min: Numéro
- Renvoie les détections dont les scores de risque sont supérieurs ou égaux à la valeur spécifiée.
- recommended: Booléen
- Renvoie les détections recommandées pour le triage. Ce champ n'est valide que sur une console.
- from: Numéro
- Renvoie les détections survenues après la date spécifiée, exprimée en millisecondes depuis l'époque. Les détections qui ont débuté avant la date spécifiée sont renvoyées si la détection était en cours à ce moment-là.
- limit: Numéro
- Ne renvoie pas plus que le nombre de détections spécifié.
- offset: Numéro
- Le nombre de détections à ignorer pour la pagination.
- sort: Tableau d'objets
- Trie les détections renvoyées en fonction des champs spécifiés. Par défaut, les détections sont triées par date de dernière mise à jour, puis par identifiant dans l'ordre croissant.
- direction: Corde
- L'ordre dans lequel les détections renvoyées sont triées.
Les valeurs suivantes sont valides :
- asc
- desc
- field: Corde
- Le champ permettant de trier les détections.
- until: Numéro
- Renvoie les détections qui se sont terminées avant la date spécifiée, exprimée en millisecondes depuis l'époque.
- update_time: Numéro
- Renvoie les détections liées à des événements survenus après la date spécifiée, exprimées en millisecondes depuis l'époque. Notez que le service d'apprentissage automatique ExtraHop analyse les données historiques pour générer des détections. Il existe donc un délai entre le moment où les événements à l'origine de ces détections se produisent et le moment où les détections sont générées. Si vous recherchez plusieurs fois des détections dans la même fenêtre update_time, la recherche ultérieure peut renvoyer des détections qui n'ont pas été renvoyées par la recherche précédente.
- mod_time: Numéro
- Renvoie les détections qui ont été mises à jour après la date spécifiée, exprimées en millisecondes depuis l'époque.
- create_time: Numéro
- Renvoie les détections créées après la date spécifiée, exprimée en millisecondes depuis l'époque. Pour les capteurs, cela renvoie les détections qui ont été générées après la date spécifiée. Pour les consoles, cela renvoie les détections qui ont été synchronisées pour la première fois avec la console après la date spécifiée.
- id_only: Booléen
- (Facultatif) Renvoie uniquement les identifiants des détections.
Spécifiez le paramètre body au format JSON suivant.
{ "create_time": 0, "filter": { "category": "string", "categories": [], "assignee": [], "ticket_id": [], "status": [], "resolution": [], "types": [], "risk_score_min": 0, "recommended": true }, "from": 0, "id_only": true, "limit": 0, "mod_time": 0, "offset": 0, "sort": { "direction": "string", "field": "string" }, "until": 0, "update_time": 0 }
PATCH /detections/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique pour la détection.
- body: Objet
- Les paramètres de détection à mettre à jour.
- ticket_id: Corde
- L'ID du ticket associé à la détection.
- assignee: Corde
- Le destinataire de la détection ou le ticket associé à la détection.
- status: Corde
- État de la détection ou du ticket associé à la détection. Si la valeur est nulle, l'état affiché dans le système ExtraHop est Open. La valeur « new » ne peut être spécifiée via l'API REST que lorsque le suivi des billets par des tiers est activé.
Les valeurs suivantes sont valides :
- new
- in_progress
- closed
- acknowledged
- resolution: Corde
- Résolution de la détection ou du ticket associé à la détection.
Les valeurs suivantes sont valides :
- action_taken
- no_action_taken
- participants: Tableau d'objets
- Liste des appareils et des applications associés à la détection. Vous pouvez modifier des champs spécifiques pour un participant, mais vous ne pouvez pas ajouter de nouveaux participants à une détection.
- id: Numéro
- L'identifiant du participant associé à la détection.
- usernames: Tableau de cordes
- Les noms d'utilisateur associés au participant via l'API REST.
- origins: Tableau de cordes
- Les adresses IP d'origine associées au participant via l'API REST.
Spécifiez le paramètre body au format JSON suivant.
{ "assignee": "string", "participants": { "id": 0, "usernames": [], "origins": [] }, "resolution": "string", "status": "string", "ticket_id": "string" }
PATCH /detections/tickets
Spécifiez les paramètres suivants.
- body: Objet
- Les valeurs des tickets de détection à mettre à jour.
- ticket_id: Corde
- L'ID du ticket associé à la détection.
- assignee: Corde
- L'assigné du ticket associé à la détection.
- status: Corde
- État du ticket associé à la détection.
Les valeurs suivantes sont valides :
- new
- in_progress
- closed
- acknowledged
- resolution: Corde
- Résolution du ticket associé à la détection.
Les valeurs suivantes sont valides :
- action_taken
- no_action_taken
Spécifiez le paramètre body au format JSON suivant.
{ "assignee": "string", "resolution": "string", "status": "string", "ticket_id": "string" }
GET /detections/{id}/related
Spécifiez les paramètres suivants.
- id: Numéro
- L'ID de la détection pour laquelle récupérer les détections associées.
- from: Numéro
- Renvoie les détections survenues après la date spécifiée, exprimée en millisecondes depuis l'époque. Les détections qui ont débuté avant la date spécifiée sont renvoyées si la détection était en cours à ce moment-là.
- until: Numéro
- Renvoie les détections qui se sont terminées avant la date spécifiée, exprimée en millisecondes depuis l'époque.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "appliance_id": 0, "assignee": "string", "categories": [ "string" ], "create_time": 0, "description": "string", "end_time": 0, "id": 0, "is_user_created": true, "mitre_tactics": [], "mitre_techniques": [], "mod_time": 0, "participants": [], "properties": {}, "recommended": true, "recommended_factors": [], "resolution": "string", "risk_score": 0, "start_time": 0, "status": "string", "ticket_id": "string", "ticket_url": "string", "title": "string", "type": "string", "update_time": 0, "url": "string" }
GET /detections/{id}/investigations
Spécifiez les paramètres suivants.
- id: Numéro
- L'ID de la détection pour laquelle récupérer les enquêtes associées.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "appliance_id": 0, "assignee": "string", "categories": [ "string" ], "create_time": 0, "description": "string", "end_time": 0, "id": 0, "is_user_created": true, "mitre_tactics": [], "mitre_techniques": [], "mod_time": 0, "participants": [], "properties": {}, "recommended": true, "recommended_factors": [], "resolution": "string", "risk_score": 0, "start_time": 0, "status": "string", "ticket_id": "string", "ticket_url": "string", "title": "string", "type": "string", "update_time": 0, "url": "string" }
GET /detections/formats
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "categories": [], "display_name": "string", "is_user_created": true, "last_updated": 0, "mitre_categories": [], "properties": {}, "released": 0, "status": "string", "type": "string" }
GET /detections/formats/{id}
Spécifiez les paramètres suivants.
- id: Corde
- Identifiant de chaîne du format de détection.
- built_in_only: Booléen
- (Facultatif) Si ce champ est vrai, renvoie uniquement les formats de détection intégrés. Si ce champ est faux et qu'un format personnalisé et un format intégré ont le même ID, renvoie le format personnalisé. La valeur par défaut est False.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "categories": [], "display_name": "string", "is_user_created": true, "last_updated": 0, "mitre_categories": [], "properties": {}, "released": 0, "status": "string", "type": "string" }
POST /detections/formats
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres du format de détection.
- type: Corde
- Identifiant de chaîne pour le type de détection. La chaîne ne peut contenir que des lettres, des chiffres et des traits de soulignement. Bien que les types de détection soient uniques dans tous les formats intégrés et que les types de détection soient uniques dans tous les formats personnalisés, un format intégré et un format personnalisé peuvent partager le même type de détection.
- display_name: Corde
- Nom d'affichage du type de détection qui apparaît sur la page Détections du système ExtraHop.
- mitre_categories: Tableau de cordes
- (Facultatif) Les identifiants des techniques MITRE associées à la détection.
- author: Corde
- (Facultatif) L'auteur du format de détection.
- categories: Tableau de cordes
- (Facultatif) La liste des catégories auxquelles appartient la détection. Pour les opérations POST et PATCH, spécifiez une liste avec une seule chaîne. Vous ne pouvez pas spécifier plus d'une catégorie pour les formats de détection personnalisés. La catégorie « perf » ou « sec » est automatiquement ajoutée à tous les formats de détection.
Spécifiez le paramètre body au format JSON suivant.
{ "author": "string", "categories": [], "display_name": "string", "mitre_categories": [], "type": "string" }
DELETE /detections/formats/{id}
Spécifiez les paramètres suivants.
- id: Corde
- Identifiant de chaîne du format de détection.
PATCH /detections/formats/{id}
Spécifiez les paramètres suivants.
- id: Corde
- Identifiant de chaîne du format de détection.
- body: Objet
- Les paramètres du format de détection.
GET /detections/rules/hiding
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "create_time": 0, "description": "string", "detection_type": "string", "detections_hidden": 0, "enabled": true, "expiration": 0, "hide_past_detections": true, "id": 0, "offender": {}, "participants_hidden": 0, "properties": [], "victim": {} }
GET /detections/rules/hiding/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la règle de réglage.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "create_time": 0, "description": "string", "detection_type": "string", "detections_hidden": 0, "enabled": true, "expiration": 0, "hide_past_detections": true, "id": 0, "offender": {}, "participants_hidden": 0, "properties": [], "victim": {} }
POST /detections/rules/hiding
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres de la règle de réglage.
- offender: Objet
- Le délinquant auquel s'applique cette règle de réglage. Spécifiez un objet detection_hiding_participant pour appliquer la règle à une victime spécifique, ou spécifiez « Any » pour appliquer la règle à n'importe quel délinquant.
- object_type: Corde
- Type de participant.
Les valeurs suivantes sont valides :
- device
- device_group
- ipaddr
- locality_type
- network_locality
- hostname
- scanner_service
- object_id: Numéro
- L'ID de l'équipement, du groupe dcesséquipements ou de la localité du réseau. Cette option n'est valide que si le type d'objet est « équipement », « device_group » ou « network_locality ».
- object_value: Tableau ou chaîne
- L'adresse IP ou le bloc CIDR du participant. Vous pouvez spécifier une adresse ou un bloc unique dans une chaîne ou plusieurs adresses ou blocs dans un tableau. Cette option n'est valide que si l'object_type est « ipaddr ».
- object_locality: Corde
- Type de localité du réseau du participant. Spécifiez « externe » ou « interne ». Cette option n'est valide que si l'object_type est « locality_type ».
Les valeurs suivantes sont valides :
- internal
- external
- object_scanner: Tableau ou chaîne
- Le nom d'un service de numérisation externe. Vous pouvez spécifier un seul service dans une chaîne ou plusieurs valeurs dans un tableau. Vous pouvez également spécifier « N'importe lequel » pour sélectionner n'importe quel service de numérisation. Cette option n'est valide que si l'object_type est « scanner_service ».
- object_hostname: Tableau ou chaîne
- Le nom d'hôte d'un participant. Vous pouvez spécifier un nom d'hôte unique dans une chaîne ou plusieurs noms d'hôte dans un tableau. Cette option n'est valide que si l'object_type est « hostname ».
- victim: Objet
- La victime à laquelle s'applique cette règle de réglage. Spécifiez un objet detection_hiding_participant pour appliquer la règle à une victime spécifique, ou spécifiez « Any » pour appliquer la règle à n'importe quelle victime.
- object_type: Corde
- Type de participant.
Les valeurs suivantes sont valides :
- device
- device_group
- ipaddr
- locality_type
- network_locality
- hostname
- scanner_service
- object_id: Numéro
- L'ID de l'équipement, du groupe dcesséquipements ou de la localité du réseau. Cette option n'est valide que si le type d'objet est « équipement », « device_group » ou « network_locality ».
- object_value: Tableau ou chaîne
- L'adresse IP ou le bloc CIDR du participant. Vous pouvez spécifier une adresse ou un bloc unique dans une chaîne ou plusieurs adresses ou blocs dans un tableau. Cette option n'est valide que si l'object_type est « ipaddr ».
- object_locality: Corde
- Type de localité du réseau du participant. Spécifiez « externe » ou « interne ». Cette option n'est valide que si l'object_type est « locality_type ».
Les valeurs suivantes sont valides :
- internal
- external
- object_scanner: Tableau ou chaîne
- Le nom d'un service de numérisation externe. Vous pouvez spécifier un seul service dans une chaîne ou plusieurs valeurs dans un tableau. Vous pouvez également spécifier « N'importe lequel » pour sélectionner n'importe quel service de numérisation. Cette option n'est valide que si l'object_type est « scanner_service ».
- object_hostname: Tableau ou chaîne
- Le nom d'hôte d'un participant. Vous pouvez spécifier un nom d'hôte unique dans une chaîne ou plusieurs noms d'hôte dans un tableau. Cette option n'est valide que si l'object_type est « hostname ».
- expiration: Numéro
- Heure d'expiration de la règle de réglage, exprimée en millisecondes depuis l'époque. Une valeur nulle ou 0 indique que la règle n'expire pas.
- description: Corde
- (Facultatif) Description de la règle de réglage.
- detection_type: Corde
- Type de détection auquel s'applique cette règle de réglage. Affichez la liste des champs valides pour « type » en exécutant l'opération GET /detections/formats. Spécifiez « all_performance » ou « all_security » pour appliquer la règle à toutes les performances ou à toutes les détections de sécurité.
- properties: Tableau d'objets
- (Facultatif) Les critères de filtre pour les propriétés de détection.
- property: Corde
- Le nom de la propriété à filtrer.
- operator: Corde
- Méthode de comparaison appliquée lors de la mise en correspondance de la valeur de l'opérande avec la valeur de la propriété de détection.
Les valeurs suivantes sont valides :
- =
- !=
- ~
- !~
- in
- operand: Chaîne, numéro ou objet
- La valeur que le filtre tente de faire correspondre. Le filtre compare la valeur de l'opérande à la valeur de la propriété de détection et applique la méthode de comparaison spécifiée par le paramètre de l'opérateur. Vous pouvez spécifier l'opérande sous la forme d'une chaîne, d'un entier ou d'un objet. Pour plus d'informations, consultez le Guide de l'API REST.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "detection_type": "string", "expiration": 0, "offender": { "object_type": "string", "object_id": 0, "object_value": "array", "object_locality": "string", "object_scanner": "array", "object_hostname": "array" }, "properties": { "property": "string", "operator": "string", "operand": "string" }, "victim": { "object_type": "string", "object_id": 0, "object_value": "array", "object_locality": "string", "object_scanner": "array", "object_hostname": "array" } }
PATCH /detections/rules/hiding/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la règle de réglage.
- body: Objet
- Les champs des règles de réglage à mettre à jour.
- enabled: Booléen
- Indique si la règle de réglage est activée.
- expiration: Numéro
- Heure d'expiration de la règle de réglage, exprimée en millisecondes depuis l'époque. Une valeur nulle ou 0 indique que la règle n'expire pas.
- description: Corde
- Description de la règle de réglage.
- offender: Objet
- Le délinquant auquel s'applique cette règle de réglage. Spécifiez un objet detection_hiding_participant pour appliquer la règle à une victime spécifique, ou spécifiez « Any » pour appliquer la règle à n'importe quel délinquant.
- object_type: Corde
- Type de participant.
Les valeurs suivantes sont valides :
- device
- device_group
- ipaddr
- locality_type
- network_locality
- hostname
- scanner_service
- object_id: Numéro
- L'ID de l'équipement, du groupe dcesséquipements ou de la localité du réseau. Cette option n'est valide que si le type d'objet est « équipement », « device_group » ou « network_locality ».
- object_value: Tableau ou chaîne
- L'adresse IP ou le bloc CIDR du participant. Vous pouvez spécifier une adresse ou un bloc unique dans une chaîne ou plusieurs adresses ou blocs dans un tableau. Cette option n'est valide que si l'object_type est « ipaddr ».
- object_locality: Corde
- Type de localité du réseau du participant. Spécifiez « externe » ou « interne ». Cette option n'est valide que si l'object_type est « locality_type ».
Les valeurs suivantes sont valides :
- internal
- external
- object_scanner: Tableau ou chaîne
- Le nom d'un service de numérisation externe. Vous pouvez spécifier un seul service dans une chaîne ou plusieurs valeurs dans un tableau. Vous pouvez également spécifier « N'importe lequel » pour sélectionner n'importe quel service de numérisation. Cette option n'est valide que si l'object_type est « scanner_service ».
- object_hostname: Tableau ou chaîne
- Le nom d'hôte d'un participant. Vous pouvez spécifier un nom d'hôte unique dans une chaîne ou plusieurs noms d'hôte dans un tableau. Cette option n'est valide que si l'object_type est « hostname ».
- victim: Objet
- La victime à laquelle s'applique cette règle de réglage. Spécifiez un objet detection_hiding_participant pour appliquer la règle à une victime spécifique, ou spécifiez « Any » pour appliquer la règle à n'importe quelle victime.
- object_type: Corde
- Type de participant.
Les valeurs suivantes sont valides :
- device
- device_group
- ipaddr
- locality_type
- network_locality
- hostname
- scanner_service
- object_id: Numéro
- L'ID de l'équipement, du groupe dcesséquipements ou de la localité du réseau. Cette option n'est valide que si le type d'objet est « équipement », « device_group » ou « network_locality ».
- object_value: Tableau ou chaîne
- L'adresse IP ou le bloc CIDR du participant. Vous pouvez spécifier une adresse ou un bloc unique dans une chaîne ou plusieurs adresses ou blocs dans un tableau. Cette option n'est valide que si l'object_type est « ipaddr ».
- object_locality: Corde
- Type de localité du réseau du participant. Spécifiez « externe » ou « interne ». Cette option n'est valide que si l'object_type est « locality_type ».
Les valeurs suivantes sont valides :
- internal
- external
- object_scanner: Tableau ou chaîne
- Le nom d'un service de numérisation externe. Vous pouvez spécifier un seul service dans une chaîne ou plusieurs valeurs dans un tableau. Vous pouvez également spécifier « N'importe lequel » pour sélectionner n'importe quel service de numérisation. Cette option n'est valide que si l'object_type est « scanner_service ».
- object_hostname: Tableau ou chaîne
- Le nom d'hôte d'un participant. Vous pouvez spécifier un nom d'hôte unique dans une chaîne ou plusieurs noms d'hôte dans un tableau. Cette option n'est valide que si l'object_type est « hostname ».
- properties: Tableau d'objets
- Critères de filtre pour les propriétés de détection.
- property: Corde
- Le nom de la propriété à filtrer.
- operator: Corde
- Méthode de comparaison appliquée lors de la mise en correspondance de la valeur de l'opérande avec la valeur de la propriété de détection.
Les valeurs suivantes sont valides :
- =
- !=
- ~
- !~
- in
- operand: Chaîne, numéro ou objet
- La valeur que le filtre tente de faire correspondre. Le filtre compare la valeur de l'opérande à la valeur de la propriété de détection et applique la méthode de comparaison spécifiée par le paramètre de l'opérateur. Vous pouvez spécifier l'opérande sous la forme d'une chaîne, d'un entier ou d'un objet. Pour plus d'informations, consultez le Guide de l'API REST.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "enabled": true, "expiration": 0, "offender": { "object_type": "string", "object_id": 0, "object_value": "array", "object_locality": "string", "object_scanner": "array", "object_hostname": "array" }, "properties": { "property": "string", "operator": "string", "operand": "string" }, "victim": { "object_type": "string", "object_id": 0, "object_value": "array", "object_locality": "string", "object_scanner": "array", "object_hostname": "array" } }
DELETE /detections/rules/hiding/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de la règle de réglage.
GET /detections/{id}/notes
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique pour la détection.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "author": "string", "note": "string", "update_time": 0 }
Valeurs d'opérande pour les règles de réglage des propriétés de détection
Le POST /detections/rules/hiding cette opération vous permet de créer des règles de réglage qui filtrent les détections en fonction des propriétés de détection. Vous pouvez définir des critères de filtrage pour les propriétés de détection des objets. Chaque objet doit contenir une valeur unique pour operand champ valide pour le champ spécifié property valeur.
Conseil : | Vous pouvez récupérer des valeurs de propriété valides via le GET
/detections/formats opération. Découvrez les clés du
properties objet dans la réponse. Dans l'exemple suivant
, property la valeur est s3_bucket:
"properties": { "s3_bucket": { "is_optional": true, "status": "active", "is_tunable": true, "data_type": "string" } } Le is_tunable un champ indique si vous pouvez créer une règle de réglage basée sur la propriété. |
registered_domain_name
Pour masquer les règles en fonction d'un nom de domaine enregistré, spécifiez le property valeur en tant que registered_domain_name et le operand valeur en tant que nom de domaine.
L'exemple de règle suivant masque les détections de tunnels DNS pour example.com.
{ "detection_type": "dns_tunnel", "expiration": null, "offender": "Any", "victim": "Any", "properties": [ { "operand": "example.com", "operator": "=", "property": "registered_domain_name" } ] }
uris
Pour masquer les règles par un URI, spécifiez property valeur en tant que uris et le operand valeur sous forme d'URI.
L'exemple de règle suivant masque les détections d'attaques par injection SQL (SQLi) pour http://example.com/test.
{ "detection_type": "sqli_attack", "expiration": null, "offender": "Any", "victim": "Any", "properties": [ { "operand": "http://example.com/test", "operator": "=", "property": "uris" } ] }
top_level_domain
Pour masquer les règles en fonction d'un nom de domaine de premier niveau, spécifiez le property valeur en tant que top_level_domain et le operand valeur en tant que nom de domaine de premier niveau.
L'exemple de règle suivant masque les détections de domaines de premier niveau suspects pour org domaine de premier niveau.
{ "detection_type": "suspicious_tld", "expiration": null, "offender": "Any", "victim": "Any", "properties": [ { "operand": "org", "operator": "=", "property": "top_level_domain" } ] }
Recherche avec des expressions régulières (regex)
Pour certain property valeurs, la chaîne peut être en syntaxe regex. Spécifiez le operand valeur en tant qu'objet doté d'un value paramètre avec la syntaxe regex que vous souhaitez associer et un is_regex paramètre défini sur true. La règle suivante filtre les détections dans les tunnels DNS dont les noms de domaine se terminent par example.com.
{ "detection_type": "dns_tunnel", "expiration": null, "offender": "Any", "victim": "Any", "properties": [ { "operand": { "value": ".*?example.com", "is_regex": true }, "operator": "=", "property": "registered_domain_name" } ] }
Désactiver la distinction majuscules
Par défaut, recherche une chaîne property les valeurs distinguent les majuscules et minuscules. Toutefois, vous pouvez désactiver la distinction majuscules/minuscules en spécifiant la valeur de l'opérande sous la forme d'un objet doté d'un case_sensitive paramètre défini sur false.
La règle suivante masque les détections d'accès au domaine de l'outil de piratage avec l'outil de piratage ArchStrike.
{ "detection_type": "hacking_tools", "expiration": null, "offender": "Any", "victim": "Any", "properties": [ { "operand": { "value": "archstrike", "case_sensitive": false }, "operator": "=", "property": "hacking_tool" } ] }
Catégories de détection
Le champ des catégories est un tableau renvoyé dans les réponses pour GET /detections et POST /detections/search opérations. Le tableau suivant répertorie les entrées valides du tableau :
Valeur | Catégorie |
---|---|
sec | Sûreté |
sec.action | Actions par rapport à l'objectif |
sec.attack | Attaque |
sec.botnet | botnet |
sec.caution | Mise en garde |
sec.command | Commandement et contrôle |
sec.cryptomining | Cryptominage |
sec.dos | Déni de service |
sec.exfil | Exfiltration |
sec.exploit | Exploitation |
sec.hardening | Durcissement |
sec.lateral | Mouvement latéral |
sec.ransomware | Un ransomware |
sec.recon | Reconnaissance |
perf | Rendement |
perf.auth | Autorisation et contrôle d'accès |
perf.db | Base de données |
perf.network | Infrastructure réseau |
perf.service | Dégradation du service |
perf.storage | Rangement |
perf.virtual | Virtualisation des ordinateurs de bureau et des applications |
perf.web | Application Web |
Groupe de messagerie
Vous pouvez ajouter des adresses e-mail individuelles ou de groupe à un groupe de messagerie et les attribuer à un système alerte. Lorsque cette alerte est déclenchée, le système envoie un e-mail à toutes les adresses du groupe de messagerie.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET/emailgroups | Récupérez tous les groupes d'e-mails. |
POST/groupes d'e-mails | Créez un nouveau groupe de messagerie. |
SUPPRIMER /emailgroups/ {id} | Supprimez un groupe d'e-mails à l'aide d'un identifiant unique. |
OBTENEZ /emailgroups/ {id} | Récupérez un groupe d'e-mails spécifique à l'aide d'un identifiant unique. |
PATCH /emailgroups/ {id} | Appliquez les mises à jour à un groupe de messagerie spécifique. |
Détails de l'opération
GET /emailgroups
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "email_addresses": [], "group_name": "string", "id": 0, "system_notifications": true }
POST /emailgroups
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les valeurs de propriétés spécifiées au nouveau groupe de messagerie.
- group_name: Corde
- Nom convivial du groupe de messagerie.
- email_addresses: Tableau de chaînes
- Liste des adresses e-mail du groupe de messagerie.
- system_notifications: Booléen
- Indique si le groupe doit recevoir des notifications du système.
Spécifiez le paramètre body au format JSON suivant.
{ "email_addresses": [], "group_name": "string", "system_notifications": true }
GET /emailgroups/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du groupe de messagerie.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "email_addresses": [], "group_name": "string", "id": 0, "system_notifications": true }
Intervalles d'exclusion
Un intervalle d'exclusion peut être créé pour définir une période de suppression d'un alerte.
Par exemple, si vous ne souhaitez pas être informé des alertes en dehors des heures de bureau ou le week-end, un intervalle d' exclusion peut créer une règle pour supprimer l'alerte pendant cette période. Pour plus d' informations, voir Alertes.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /intervalles d'exclusion | Récupérez tous les intervalles d'exclusion. |
Intervalles POST /exclusion | Créez un nouvel intervalle d'exclusion. |
SUPPRIMER /exclusioninterval/{id} | Supprimez un intervalle d'exclusion spécifique. |
OBTENEZ /exclusioninterval/{id} | Récupérez un intervalle d'exclusion spécifique. |
PATCH /exclusionintervals/ {id} | Appliquez les mises à jour à un intervalle d'exclusion spécifique. |
Détails de l'opération
GET /exclusionintervals
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "alert_apply_all": true, "author": "string", "description": "string", "end": 0, "id": 0, "interval_type": "string", "mod_time": 0, "name": "string", "start": 0, "trend_apply_all": true }
POST /exclusionintervals
Spécifiez les paramètres suivants.
- body: Objet
- Définissez les valeurs de propriétés spécifiées sur le nouvel intervalle d'exclusion.
- name: Corde
- Nom convivial de l'intervalle d'exclusion.
- author: Corde
- (Facultatif) Le nom du créateur de l'intervalle d'exclusion.
- description: Corde
- (Facultatif) Description facultative de l'intervalle d'exclusion.
- interval_type: Corde
- La fenêtre temporelle pendant laquelle l'intervalle d'exclusion a été évalué.
Les valeurs suivantes sont valides :
- onetime
- weekly
- daily
- start: Numéro
- Début de la plage de temps de l'intervalle d'exclusion, exprimé en secondes. Cette valeur est relative à l'époque pour les exclusions ponctuelles, par rapport à minuit pour les exclusions quotidiennes et par rapport au lundi à minuit pour les exclusions hebdomadaires.
- end: Numéro
- Fin de la plage de temps de l'intervalle d'exclusion, exprimée en secondes. Cette valeur est relative à l'époque pour les exclusions ponctuelles, par rapport à minuit pour les exclusions quotidiennes et par rapport au lundi à minuit pour les exclusions hebdomadaires.
- alert_apply_all: Booléen
- Indique si cet intervalle d'exclusion doit être appliqué à toutes les alertes.
- trend_apply_all: Booléen
- Indique si cet intervalle d'exclusion doit être appliqué à toutes les tendances.
Spécifiez le paramètre body au format JSON suivant.
{ "alert_apply_all": true, "author": "string", "description": "string", "end": 0, "interval_type": "string", "name": "string", "start": 0, "trend_apply_all": true }
GET /exclusionintervals/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique de l'intervalle d'exclusion.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "alert_apply_all": true, "author": "string", "description": "string", "end": 0, "id": 0, "interval_type": "string", "mod_time": 0, "name": "string", "start": 0, "trend_apply_all": true }
ExtraHop
Cette ressource fournit des métadonnées sur le système ExtraHop.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif | ||
---|---|---|---|
GET /extrahop | Récupérez les métadonnées relatives au microprogramme exécuté sur le système ExtraHop. | ||
Ressources POST /extrahop/cloud | Mettez à jour manuellement les ressources sur le système ExtraHop. Ces ressources sont automatiquement mises à jour lorsque le système est connecté à ExtraHop Cloud Services. | ||
GET /extrahop/cluster | Récupérez les paramètres de configuration du cluster Explore. | ||
PATCH /extrahop/cluster | Mettez à jour les paramètres de configuration du cluster Explore. | ||
GET /extrahop/detections/access | Récupérez les paramètres de contrôle d'accès des détections. | ||
PUT /extrahop/detections/access | Mettez à jour les paramètres de contrôle d'accès des détections. | ||
GET /extrahop/edition | Récupérez l'édition du système ExtraHop.
|
||
POST /extrahop/firmware | Téléchargez une nouvelle image du microprogramme sur le système ExtraHop. Pour plus d'informations, voir Mettre à jour le firmware ExtraHop via l'API REST. | ||
POST /extrahop/firmware/download/url | Téléchargez une nouvelle image du microprogramme sur le système ExtraHop à partir d'une URL. | ||
POST /extrahop/firmware/téléchargement/version | Téléchargez une nouvelle image du firmware sur le système ExtraHop depuis ExtraHop Cloud Services. | ||
POST /extrahop/firmware/dernière/mise à niveau | Mettez à niveau le système ExtraHop vers la dernière image de firmware téléchargée. | ||
GET /extrahop/firmware/next | Mettez à niveau le système ExtraHop vers la dernière image de firmware téléchargée. | ||
GET /extrahop/firmware/previous | Récupérez les informations relatives à la version du microprogramme vers laquelle vous pouvez restaurer le système ExtraHop. | ||
POST /extrahop/firmware/précédent/rollback | Restaurez la version précédente du microprogramme du système ExtraHop. | ||
GET /extrahop/flowlogs/secret | Récupérez le secret du journal de flux. | ||
POST /extrahop/flowlogs/secret | Générez un nouveau secret de journal de flux. | ||
GET /extrahop/idrac | Récupérez l'adresse IP iDRAC du système ExtraHop. | ||
GET /extrahop/platform | Récupérez le nom de plate-forme du système ExtraHop.
|
||
GET /extrahop/processes | Récupérez la liste des processus en cours d'exécution sur le système ExtraHop. | ||
POST /extrahop/processes/ {process} /restart | Redémarrez un processus en cours d'exécution sur le système ExtraHop. | ||
GET /extrahop/services | Récupérez les paramètres de tous les services. | ||
PATCH /extrahop/services | Mettez à jour les paramètres des services. | ||
POST /extrahop/restart | Redémarrez le système ExtraHop. | ||
POST /extrahop/shutdown | Arrêtez le système ExtraHop. | ||
POST/extrahop/sslcert | Régénérez le certificat TLS sur le système ExtraHop. Pour plus d'informations, voir Créez un certificat TLS fiable via l'API REST | ||
PUT /extrahop/sslcert | Remplacez le certificat TLS sur le système ExtraHop. | ||
POST /extrahop/sslcert/demande de signature | Créez une demande de signature de certificat TLS. Pour plus d'informations, voir Créez un certificat TLS fiable via l'API REST. | ||
GET /extrahop/billetterie | Récupérez l'état de l'intégration de la billetterie. | ||
PATCH /extrahop/billetterie | Activez ou désactivez l'intégration de la billetterie. | ||
GET /extrahop/version | Récupérez la version du microprogramme qui s'exécute sur le système ExtraHop.
|
Détails de l'opération
GET /extrahop/version
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "version": "string" }
GET /extrahop/platform
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "platform": "string" }
GET /extrahop/edition
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "edition": "string" }
GET /extrahop
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "display_host": "string", "external_hostname": "string", "hostname": "string", "mgmt_ipaddr": "string", "platform": "string", "version": "string" }
GET /extrahop/idrac
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "ipaddr": "string" }
PUT /extrahop/sslcert
Spécifiez les paramètres suivants.
- body: Corde
- Le certificat SSL et éventuellement la clé privée. Entrez en texte brut, séparé par un saut de ligne.
POST /extrahop/sslcert/signingrequest
Spécifiez les paramètres suivants.
- body: Objet
- Paramètres de la demande de signature de certificat SSL.
- subject_alternative_names: Tableau d'objets
- Liste des noms auxquels le certificat s'applique, tels que {"type » : « dns », « name » : « www.example.com"}.
- type: Corde
- Type de sujet Nom alternatif.
Les valeurs suivantes sont valides :
- dns
- ip
- name: Corde
- Nom du sujet Nom alternatif.
- subject: Objet
- L'objet du certificat SSL. Pour consulter la liste des sujets du certificat, voir ci-dessous.
- common_name: Corde
- Le nom commun du sujet (CN).
- country_code: Corde
- (Facultatif) Le pays concerné (C).
- state_or_province_name: Corde
- (Facultatif) L'État ou la province concernés (ST).
- locality_name: Corde
- (Facultatif) La localité concernée (L).
- organization_name: Corde
- (Facultatif) L'organisation concernée (O).
- organizational_unit_name: Corde
- (Facultatif) L'unité organisationnelle (OU) concernée.
- email_address: Corde
- (Facultatif) L'adresse e-mail objet (EmailAddress).
Spécifiez le paramètre body au format JSON suivant.
{ "subject": { "common_name": "string", "country_code": "string", "state_or_province_name": "string", "locality_name": "string", "organization_name": "string", "organizational_unit_name": "string", "email_address": "string" }, "subject_alternative_names": { "type": "string", "name": "string" } }
GET /extrahop/ticketing
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "enabled": true, "external_ticketing_enabled": true, "internal_ticketing_enabled": true, "url_template": "string" }
PATCH /extrahop/ticketing
Spécifiez les paramètres suivants.
- body: Objet
- Paramètres de suivi des tickets.
- enabled: Booléen
- (Facultatif) Obsolète. Remplacé par les champs external_ticketing_enabled et internal_ticketing_enabled.
- external_ticketing_enabled: Booléen
- (Facultatif) Indique si les détections sont suivies à partir d'un système de billetterie externe. Ce champ est obligatoire si le champ internal_ticketing_enabled est spécifié.
- internal_ticketing_enabled: Booléen
- (Facultatif) Indique si les détections sont suivies depuis le système ExtraHop. Ce champ est obligatoire si le champ external_ticketing_enabled est spécifié.
- url_template: Corde
- (Facultatif) Modèle d'URL qui relie les détections à des tickets externes. Le modèle doit inclure la variable $ticket_id. Ce champ s'applique uniquement si les détections sont suivies à partir d'un système de billetterie externe.
Spécifiez le paramètre body au format JSON suivant.
{ "enabled": true, "external_ticketing_enabled": true, "internal_ticketing_enabled": true, "url_template": "string" }
PUT /extrahop/detections/access
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres d'accès aux détections pour l'appliance.
- enabled: Booléen
- Indique si les paramètres d'accès aux détections sont activés. Lorsque cette option est activée, les administrateurs peuvent restreindre l'accès aux détections à des utilisateurs spécifiques. Vous ne pouvez pas désactiver les paramètres d'accès aux détections une fois ceux-ci activés.
Spécifiez le paramètre body au format JSON suivant.
{ "enabled": true }
GET /extrahop/detections/access
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "enabled": true }
POST /extrahop/firmware
Spécifiez les paramètres suivants.
- firmware: Nom de fichier
- Le fichier .tar qui contient l'image du microprogramme. Remarque : Vous ne pouvez pas télécharger d'image de microprogramme via l'explorateur d'API REST. Pour plus d'informations sur la façon de télécharger une image via cURL ou un script Python, voir Mettez à niveau le firmware ExtraHop via l'API REST.
POST /extrahop/firmware/latest/upgrade
Spécifiez les paramètres suivants.
- body: Objet
- (Facultatif) Les options d'installation pour la mise à niveau de l'appliance.
- restart_after: Booléen
- (Facultatif) Indique s'il faut redémarrer l'appliance une fois la mise à niveau terminée.
- silent: Booléen
- (Facultatif) Spécifie s'il faut désactiver l'interface utilisateur Web ExtraHop pendant le processus de mise à niveau. En cas d'échec d'une mise à niveau, l'appliance revient automatiquement à la version précédente du microprogramme.
- force: Booléen
- (Facultatif) Spécifie s'il faut ignorer la vérification de compatibilité. Ignorez la vérification uniquement si le support ExtraHop a examiné et approuvé la mise à niveau.
Spécifiez le paramètre body au format JSON suivant.
{ "force": true, "restart_after": true, "silent": true }
POST /extrahop/firmware/download/url
Spécifiez les paramètres suivants.
- body: Objet
- Les options de téléchargement.
- firmware_url: Corde
- URL du microprogramme à télécharger. Les schémas HTTPS, HTTP et FTP sont pris en charge.
- upgrade: Booléen
- (Facultatif) Spécifie s'il faut mettre à niveau l'appliance une fois le téléchargement du microprogramme terminé.
- force: Booléen
- (Facultatif) Spécifie s'il faut ignorer la vérification de compatibilité. Ignorez la vérification uniquement si le support ExtraHop a examiné et approuvé la mise à niveau.
Spécifiez le paramètre body au format JSON suivant.
{ "firmware_url": "string", "force": true, "upgrade": true }
GET /extrahop/services
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "admin": { "enabled": true }, "keyreceiver": { "enabled": true }, "snmp": { "enabled": true }, "ssh": { "enabled": true } }
PATCH /extrahop/services
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres des services.
- admin: Objet
- (Facultatif) Les paramètres du service d'interface graphique de gestion, qui fournit un accès à l'appliance via un navigateur.
- enabled: Booléen
- Indique si le service est activé.
- snmp: Objet
- (Facultatif) Les paramètres du service SNMP, qui permettent à votre logiciel de surveillance des équipements réseau de collecter des informations à partir du système ExtraHop.
- enabled: Booléen
- Indique si le service est activé.
- ssh: Objet
- (Facultatif) Les paramètres du service SSH, qui permettent aux utilisateurs de se connecter en toute sécurité à l'interface de ligne de commande (CLI) ExtraHop.
- enabled: Booléen
- Indique si le service est activé.
- keyreceiver: Objet
- (Facultatif) Les paramètres du récepteur de clés de session SSL, qui permettent à l'appliance de recevoir et de déchiffrer les clés de session depuis le redirecteur de clés de session.
- enabled: Booléen
- Indique si le service est activé.
Spécifiez le paramètre body au format JSON suivant.
{ "admin": { "enabled": true }, "keyreceiver": { "enabled": true }, "snmp": { "enabled": true }, "ssh": { "enabled": true } }
GET /extrahop/processes
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "can_restart": true, "cpu": 0.0, "cpu_time": 0, "mem_percent": 0.0, "mem_res": 0, "mem_virt": 0, "process": "string", "start_time": 0 }
POST /extrahop/processes/{process}/restart
Spécifiez les paramètres suivants.
- process: Corde
- Le nom du processus.
Les valeurs suivantes sont valides :
- exadmin
- exalerts
- examf
- exapi
- exbridge
- excap
- exconfig
- exflowlogs
- exsnmpq
- exnotify
- exportal
- exremote
- exsearch
- exstatmirror
- extrend
- webserver
- hopcloud-api
GET /extrahop/cluster
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "ingest_enabled": true, "replication_policy": 0 }
PATCH /extrahop/cluster
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres de configuration du cluster EXA.
- ingest_enabled: Booléen
- (Facultatif) Indique si l'ingestion d'enregistrements est activée pour le cluster Explore.
- replication_policy: Numéro
- (Facultatif) Le niveau de réplication qui détermine le nombre de copies de chaque enregistrement stockées.
Spécifiez le paramètre body au format JSON suivant.
{ "ingest_enabled": true, "replication_policy": 0 }
GET /extrahop/firmware/previous
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "backup_time": 0, "version": "string" }
POST /extrahop/cloudresources
Spécifiez les paramètres suivants.
- cloudresources: Nom de fichier
- Le fichier du bundle de ressources.
GET /extrahop/flowlogs/secret
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "secret": "string" }
GET /extrahop/firmware/next
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "current_release": true, "release": "string", "versions": [] }
POST /extrahop/firmware/download/version
Spécifiez les paramètres suivants.
- body: Objet
- (Facultatif) Les options de téléchargement.
- version: Corde
- Version du microprogramme à télécharger.
- upgrade: Booléen
- (Facultatif) Spécifie s'il faut mettre à niveau l'appliance une fois le téléchargement du microprogramme terminé.
Spécifiez le paramètre body au format JSON suivant.
{ "upgrade": true, "version": "string" }
Enquêtes
Les enquêtes vous permettent d'ajouter et de visualiser plusieurs détections sur une seule chronologie et une seule carte. Pour plus d'informations, voir Enquêtes.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif |
---|---|
GET /enquêtes | Récupérez toutes les enquêtes. |
POST /enquêtes | Créez une investigation. |
POST /enquêtes/recherche | Recherchez des enquêtes. |
SUPPRIMER /investigations/ {id} | Supprimer une investigation spécifique. |
GET /investigations/ {id} | Récupérez une investigation spécifique. |
PATCH /investigations/ {id} | Mettez à jour une enquête. |
Détails de l'opération
GET /investigations/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'identifiant unique pour l'investigation.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "assessment": "string", "assignee": "string", "created_by": "string", "creation_time": 0, "description": "string", "detections": [ "string" ], "end_time": 0, "id": 0, "investigation_types": [ "string" ], "is_user_created": true, "last_interaction_by": "string", "name": "string", "notes": "string", "start_time": 0, "status": "string", "update_time": 0, "url": "string" }
GET /investigations
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "assessment": "string", "assignee": "string", "created_by": "string", "creation_time": 0, "description": "string", "detections": [ "string" ], "end_time": 0, "id": 0, "investigation_types": [ "string" ], "is_user_created": true, "last_interaction_by": "string", "name": "string", "notes": "string", "start_time": 0, "status": "string", "update_time": 0, "url": "string" }
POST /investigations/search
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres de l'enquête.
- update_time: Numéro
- Renvoie les recherches qui ont été mises à jour après la date spécifiée, exprimée en millisecondes depuis l'époque.
- creation_time: Numéro
- Renvoie les enquêtes créées après la date spécifiée, exprimée en millisecondes depuis l'époque.
- is_user_created: Booléen
- (Facultatif) Renvoie uniquement les enquêtes créées manuellement par un utilisateur.
Spécifiez le paramètre body au format JSON suivant.
{ "creation_time": 0, "is_user_created": true, "update_time": 0 }
PATCH /investigations/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- L'ID de l'investigation à mettre à jour.
- body: Objet
- Les champs d'investigation à mettre à jour.
- name: Corde
- (Facultatif) Le nom de l'enquête.
- status: Corde
- (Facultatif) L'état de l'enquête.
Les valeurs suivantes sont valides :
- open
- in_progress
- closed
- notes: Corde
- (Facultatif) Remarques facultatives concernant l'enquête.
- event_ids: Tableau de nombres
- (Facultatif) La liste des identifiants pour les détections dans le cadre de l'investigation. Si vous spécifiez ce champ, la nouvelle liste d'identifiants remplace la liste existante.
- assignee: Corde
- (Facultatif) Le nom d'utilisateur de la personne chargée de l'enquête.
- assessment: Corde
- (Facultatif) L'évaluation de l'enquête.
Les valeurs suivantes sont valides :
- malicious_true_positive
- benign_true_positive
- false_positive
- undecided
Spécifiez le paramètre body au format JSON suivant.
{ "assessment": "string", "assignee": "string", "event_ids": [], "name": "string", "notes": "string", "status": "string" }
POST /investigations
Spécifiez les paramètres suivants.
- body: Objet
- Les domaines de la nouvelle enquête.
- name: Corde
- Le nom de l'enquête.
- status: Corde
- (Facultatif) L'état de l'enquête.
Les valeurs suivantes sont valides :
- open
- in_progress
- closed
- notes: Corde
- (Facultatif) Remarques facultatives concernant l'enquête.
- event_ids: Tableau de nombres
- (Facultatif) La liste des identifiants pour les détections dans le cadre de l'investigation.
- assignee: Corde
- (Facultatif) Le nom d'utilisateur de la personne chargée de l'enquête.
- assessment: Corde
- (Facultatif) L'évaluation de l'enquête.
Les valeurs suivantes sont valides :
- malicious_true_positive
- benign_true_positive
- false_positive
- undecided
Spécifiez le paramètre body au format JSON suivant.
{ "assessment": "string", "assignee": "string", "event_ids": [], "name": "string", "notes": "string", "status": "string" }
Emplois
Vous pouvez suivre la progression de certaines tâches d'administration lancées via l' API REST. Si une requête REST crée une tâche, l'ID de la tâche est renvoyé dans le location en-tête de la réponse. Les opérations suivantes créent des emplois :
- POST /extrahop/firmware/latest/upgrade
- POST /extrahop/sslcert
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
OBTENIR /jobs | Récupérez le statut de toutes les tâches. |
GET /jobs/ {id} | Récupérez le statut d'une tâche spécifique. |
Détails de l'opération
GET /jobs/{id}
Spécifiez les paramètres suivants.
- id: Corde
- L'identifiant unique de la tâche.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "details": "string", "id": "string", "remote_jobs": [], "status": "string", "step_description": "string", "step_number": 0, "total_steps": 0, "type": "string" }
GET /jobs
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "details": "string", "id": "string", "remote_jobs": [], "status": "string", "step_description": "string", "step_number": 0, "total_steps": 0, "type": "string" }
Types d'emplois
Le GET /jobs l'opération renvoie les valeurs suivantes dans type champ de réponse.
- téléchargement extrahop_firmware_download
- Le système ExtraHop télécharge une nouvelle image du firmware à partir d'une URL ou des services cloud ExtraHop.
- mise à niveau extrahop_firmware_
- Le système ExtraHop est en cours de mise à niveau vers une nouvelle version du firmware.
- extrahop_firmware_download_upgrade
- Le système ExtraHop télécharge une image du microprogramme et effectue une mise à niveau vers une nouvelle version du micrologiciel. L'image est récupérée à partir d'une URL ou d'ExtraHop Cloud Services.
Remarque : | Le type le champ est vide pour certaines tâches. |
Licence
Cette ressource vous permet de récupérer et de définir des clés de produit ou de récupérer et de définir une licence.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /licence | Récupérez la licence appliquée à ce système ExtraHop. |
PUT/licence | Appliquez et enregistrez une nouvelle licence sur le système ExtraHop. |
OBTENIR /license/clé de produit | Récupérez la clé de produit de ce système ExtraHop. |
PUT/licence/clé de produit | Appliquez la clé de produit spécifiée au système ExtraHop et enregistrez la licence. |
Détails de l'opération
PUT /license
Spécifiez les paramètres suivants.
- body: Corde
- (Facultatif) Le texte de licence qui vous a été fourni par ExtraHop Support, y compris les lignes de début et de fin.
GET /license
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "dossier": "string", "edition": "string", "expires_at": 0, "expires_in": 0, "modules": {}, "options": {}, "platform": "string", "product_key": "string", "serial": "string" }
Métriques
Des informations métriques sont collectées sur chaque objet identifié par le système ExtraHop.
Notez que les métriques sont récupérées via la méthode POST, qui crée une requête pour collecter les informations demandées via l'API. Pour plus d'informations, voir Extraire des métriques via l'API REST.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif | ||
---|---|---|---|
POST /métriques | Récupère les métriques pour chaque objet spécifié. | ||
GET /metrics/next/ {xid} | Si vous demandez des statistiques à un console avec le
POST /metrics, POST /metrics/total, ou
POST /metrics/totalbyobject opération, et vous spécifiez des objets qui
ont été observés par plusieurs capteurs, la réponse contient le xid
champ, plutôt que des données métriques. Vous pouvez récupérer des données métriques en spécifiant
xid champ dans le GET /metrics/next/{xid}
opération, qui renvoie des métriques provenant de l'un des capteurs connectés à la
console. Répéter le GET /metrics/next/{xid} opération pour renvoyer des métriques provenant de capteurs supplémentaires. Une fois toutes les métriques récupérées, l'opération renvoie la valeur null. Si les métriques ne sont pas encore disponibles à partir de la sonde, la chaîne again est renvoyé. Patientez quelques secondes, puis réessayez.
|
||
POST /métriques/total | Récupère les totaux métriques combinés pour tous les objets spécifiés. | ||
POST /métriques/total par objet | Récupère les totaux métriques pour chaque objet spécifié. |
Par exemple, le corps de requête suivant extrait les réponses HTTP envoyées par deux appareils au cours des 30 dernières minutes.
{ "cycle": "auto", "from": -1800000, "metric_category": "http_server", "metric_specs": [ { "name": "rsp" } ], "object_ids": [ 180, 177 ], "object_type": "device", "until": 0 }
Pour POST /metrics opération, l'exemple de corps de requête précédent renvoie le nombre de réponses HTTP survenues au cours de chaque intervalle de temps, étiqueté avec l'heure de chaque événement et l'ID de l'équipement qui a envoyé les réponses, comme dans l'exemple de réponse suivant :
{ "cycle": "30sec", "node_id": 0, "clock": 1709659320000, "from": 1709657520000, "until": 1709659320000, "stats": [ { "oid": 177, "time": 1709657520000, "duration": 30000, "values": [ 4 ] }, { "oid": 177, "time": 1709657550000, "duration": 30000, "values": [ 4 ] }, { "oid": 180, "time": 1709657520000, "duration": 30000, "values": [ 4 ] }, { "oid": 180, "time": 1709657550000, "duration": 30000, "values": [ 4 ] } ] }
Pour POST /metrics/totalbyobject opération, le même exemple de corps de requête précédent récupère le total combiné pour chaque équipement sur toute la période, comme dans l'exemple de réponse suivant :
{ "cycle": "30sec", "node_id": 0, "clock": 1709659620000, "from": 1709657820000, "until": 1709659620000, "stats": [ { "oid": 180, "time": 1709659620000, "duration": 1830000, "values": [ 8 ] }, { "oid": 177, "time": 1709659620000, "duration": 1830000, "values": [ 8 ] } ] }
Pour POST /metrics/total opération, le même exemple de corps de requête précédent récupère le total combiné des deux appareils sur toute la période, comme dans l'exemple de réponse suivant :
{ "cycle": "30sec", "node_id": 0, "clock": 1709659830000, "from": 1709658030000, "until": 1709659830000, "stats": [ { "oid": -1, "time": 1709659830000, "duration": 1830000, "values": [ 16 ] } ] }
Notez que le comportement du /metrics/total et /metrics/totalbyobject les points de terminaison dépendent du type de métrique. Pour les mesures de comptage, le values Le champ contient la somme totale des valeurs sur l'intervalle de temps spécifié, comme indiqué dans l'exemple ci-dessus. Toutefois, pour les métriques des ensembles de données, le values Le champ contient une liste de valeurs et la fréquence à laquelle ces valeurs sont apparues. Par exemple, une requête concernant les temps de traitement du serveur avec le POST /metrics/total L'opération renvoie une réponse similaire à l'exemple suivant :
{ "cycle": "30sec", "node_id": 0, "clock": 1494541440000, "from": 1494539640000, "until": 1494541440000, "stats": [ { "oid": -1, "time": 1494541380000, "duration": 1800000, "values": [ [ { "value": 2.271, "freq": 5 }, { "value": 48.903, "freq": 1 } ] ] } ] }
S'il existe plus de 1 000 valeurs d'ensemble de données distinctes au cours de la période spécifiée, les valeurs similaires sont consolidées pour réduire la réponse à 1 000 valeurs. Par exemple, s'il y a moins de 1 000 valeurs, la réponse peut contenir les entrées suivantes :
{ "value": 2.571, "freq": 4 }, { "value": 2.912, "freq": 2 }
Toutefois, si la réponse contient plus de 1 000 valeurs, ces entrées peuvent être consolidées dans l'entrée suivante :
{ "value": 2.571, "freq": 6 }
Si le calc_type Le champ est spécifié et la réponse contient plus de 1 000 valeurs, le percentile ou la moyenne est calculé en fonction de l'ensemble de données consolidé.
Détails de l'opération
POST /metrics
Spécifiez les paramètres suivants.
- body: Objet
- Description de la demande métrique.
- from: Numéro
- L'horodateur de début de la demande. Renvoie uniquement les statistiques collectées après cette période. Le temps est exprimé en millisecondes depuis l'époque. 0 indique l'heure de la demande. Une valeur négative est évaluée par rapport à l'heure actuelle. L'unité par défaut pour une valeur négative est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- until: Numéro
- L'horodateur de fin de la demande. Renvoie uniquement les statistiques collectées avant cette date. Suit les mêmes directives relatives aux valeurs temporelles que le paramètre from.
- cycle: Corde
- Période d'agrégation des métriques.
Les valeurs suivantes sont valides :
- auto
- 1sec
- 30sec
- 5min
- 1hr
- 24hr
- object_type: Corde
- Indique le type d'objet des identificateurs uniques spécifiés dans la propriété object_ids.
Les valeurs suivantes sont valides :
- network
- device
- application
- vlan
- device_group
- system
- object_ids: Tableau de nombres
- La liste des valeurs numériques qui représentent des identificateurs uniques. Les identifiants uniques peuvent être récupérés via les ressources /networks, /devices, /applications, /vlans, /devicegroups, /activitygroups et /appliances. Pour les mesures de santé du système, spécifiez l'ID de la sonde ou de la console et définissez le paramètre object_type sur « système ».
- metric_category: Corde
- Groupe de mesures pouvant faire l'objet d'une recherche dans le catalogue de métriques.
- metric_specs: Tableau d'objets
- Tableau d'objets de spécification métrique.
- name: Corde
- Le nom du champ pour la métrique. Lors du filtrage dans le catalogue de métriques sur une metric_category, chaque résultat est un nom potentiel de metric_spec. Lorsqu'un résultat est sélectionné dans le catalogue, la valeur du champ « Métrique » est une option valide pour ce champ.
- key1: Corde
- (Facultatif) Filtrez les mesures détaillées. Les métriques détaillées répartissent les données par clés, qui sont des chaînes ou des adresses IP. Par exemple, la métrique « Requêtes HTTP par méthode » accepte la valeur key1 de « GET ». Les clés peuvent également être des expressions régulières délimitées par des barres obliques (« /GET/ »).
- key2: Corde
- (Facultatif) Activez un filtrage supplémentaire sur les mesures détaillées.
- calc_type: Corde
- (Facultatif) Type de calcul à effectuer.
Les valeurs suivantes sont valides :
- mean
- percentiles
- percentiles: Tableau de nombres
- (Facultatif) La liste des percentiles, triée par ordre croissant, qui doit être renvoyée. Ce paramètre n'est obligatoire que si le paramètre calc_type est défini sur « percentiles ». Si le paramètre calc_type est défini sur mean, la propriété percentiles ne peut pas être définie.
Spécifiez le paramètre body au format JSON suivant.
{ "cycle": "string", "from": 0, "metric_category": "string", "metric_specs": { "name": "string", "key1": "string", "key2": "string", "calc_type": "string", "percentiles": [] }, "object_ids": [], "object_type": "string", "until": 0 }
POST /metrics/total
Spécifiez les paramètres suivants.
- body: Objet
- Description de la demande métrique.
- from: Numéro
- L'horodateur de début de la demande. Renvoie uniquement les statistiques collectées après cette période. Le temps est exprimé en millisecondes depuis l'époque. 0 indique l'heure de la demande. Une valeur négative est évaluée par rapport à l'heure actuelle. L'unité par défaut pour une valeur négative est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- until: Numéro
- L'horodateur de fin de la demande. Renvoie uniquement les statistiques collectées avant cette date. Suit les mêmes directives relatives aux valeurs temporelles que le paramètre from.
- cycle: Corde
- Période d'agrégation des métriques.
Les valeurs suivantes sont valides :
- auto
- 1sec
- 30sec
- 5min
- 1hr
- 24hr
- object_type: Corde
- Indique le type d'objet des identificateurs uniques spécifiés dans la propriété object_ids.
Les valeurs suivantes sont valides :
- network
- device
- application
- vlan
- device_group
- system
- object_ids: Tableau de nombres
- La liste des valeurs numériques qui représentent des identificateurs uniques. Les identifiants uniques peuvent être récupérés via les ressources /networks, /devices, /applications, /vlans, /devicegroups, /activitygroups et /appliances. Pour les mesures de santé du système, spécifiez l'ID de la sonde ou de la console et définissez le paramètre object_type sur « système ».
- metric_category: Corde
- Groupe de mesures pouvant faire l'objet d'une recherche dans le catalogue de métriques.
- metric_specs: Tableau d'objets
- Tableau d'objets de spécification métrique.
- name: Corde
- Le nom du champ pour la métrique. Lors du filtrage dans le catalogue de métriques sur une metric_category, chaque résultat est un nom potentiel de metric_spec. Lorsqu'un résultat est sélectionné dans le catalogue, la valeur du champ « Métrique » est une option valide pour ce champ.
- key1: Corde
- (Facultatif) Filtrez les mesures détaillées. Les métriques détaillées répartissent les données par clés, qui sont des chaînes ou des adresses IP. Par exemple, la métrique « Requêtes HTTP par méthode » accepte la valeur key1 de « GET ». Les clés peuvent également être des expressions régulières délimitées par des barres obliques (« /GET/ »).
- key2: Corde
- (Facultatif) Activez un filtrage supplémentaire sur les mesures détaillées.
- calc_type: Corde
- (Facultatif) Type de calcul à effectuer.
Les valeurs suivantes sont valides :
- mean
- percentiles
- percentiles: Tableau de nombres
- (Facultatif) La liste des percentiles, triée par ordre croissant, qui doit être renvoyée. Ce paramètre n'est obligatoire que si le paramètre calc_type est défini sur « percentiles ». Si le paramètre calc_type est défini sur mean, la propriété percentiles ne peut pas être définie.
Spécifiez le paramètre body au format JSON suivant.
{ "cycle": "string", "from": 0, "metric_category": "string", "metric_specs": { "name": "string", "key1": "string", "key2": "string", "calc_type": "string", "percentiles": [] }, "object_ids": [], "object_type": "string", "until": 0 }
POST /metrics/totalbyobject
Spécifiez les paramètres suivants.
- body: Objet
- Description de la demande métrique.
- from: Numéro
- L'horodateur de début de la demande. Renvoie uniquement les statistiques collectées après cette période. Le temps est exprimé en millisecondes depuis l'époque. 0 indique l'heure de la demande. Une valeur négative est évaluée par rapport à l'heure actuelle. L'unité par défaut pour une valeur négative est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- until: Numéro
- L'horodateur de fin de la demande. Renvoie uniquement les statistiques collectées avant cette date. Suit les mêmes directives relatives aux valeurs temporelles que le paramètre from.
- cycle: Corde
- Période d'agrégation des métriques.
Les valeurs suivantes sont valides :
- auto
- 1sec
- 30sec
- 5min
- 1hr
- 24hr
- object_type: Corde
- Indique le type d'objet des identificateurs uniques spécifiés dans la propriété object_ids.
Les valeurs suivantes sont valides :
- network
- device
- application
- vlan
- device_group
- system
- object_ids: Tableau de nombres
- La liste des valeurs numériques qui représentent des identificateurs uniques. Les identifiants uniques peuvent être récupérés via les ressources /networks, /devices, /applications, /vlans, /devicegroups, /activitygroups et /appliances. Pour les mesures de santé du système, spécifiez l'ID de la sonde ou de la console et définissez le paramètre object_type sur « système ».
- metric_category: Corde
- Groupe de mesures pouvant faire l'objet d'une recherche dans le catalogue de métriques.
- metric_specs: Tableau d'objets
- Tableau d'objets de spécification métrique.
- name: Corde
- Le nom du champ pour la métrique. Lors du filtrage dans le catalogue de métriques sur une metric_category, chaque résultat est un nom potentiel de metric_spec. Lorsqu'un résultat est sélectionné dans le catalogue, la valeur du champ « Métrique » est une option valide pour ce champ.
- key1: Corde
- (Facultatif) Filtrez les mesures détaillées. Les métriques détaillées répartissent les données par clés, qui sont des chaînes ou des adresses IP. Par exemple, la métrique « Requêtes HTTP par méthode » accepte la valeur key1 de « GET ». Les clés peuvent également être des expressions régulières délimitées par des barres obliques (« /GET/ »).
- key2: Corde
- (Facultatif) Activez un filtrage supplémentaire sur les mesures détaillées.
- calc_type: Corde
- (Facultatif) Type de calcul à effectuer.
Les valeurs suivantes sont valides :
- mean
- percentiles
- percentiles: Tableau de nombres
- (Facultatif) La liste des percentiles, triée par ordre croissant, qui doit être renvoyée. Ce paramètre n'est obligatoire que si le paramètre calc_type est défini sur « percentiles ». Si le paramètre calc_type est défini sur mean, la propriété percentiles ne peut pas être définie.
Spécifiez le paramètre body au format JSON suivant.
{ "cycle": "string", "from": 0, "metric_category": "string", "metric_specs": { "name": "string", "key1": "string", "key2": "string", "calc_type": "string", "percentiles": [] }, "object_ids": [], "object_type": "string", "until": 0 }
Unités de temps prises en charge
Pour la plupart des paramètres, l'unité par défaut pour la mesure du temps est la milliseconde. Toutefois, les paramètres suivants renvoient ou acceptent des unités de temps alternatives telles que les minutes et les heures :
- Appareil
- actif_depuis
- actif_jusqu'à
- Groupe d'appareils
- actif_depuis
- actif_jusqu'à
- Métriques
- à partir de
- jusqu'à
- Journal d'enregistrement
- à partir de
- jusqu'à
- context_ttl
Le tableau suivant indique les unités de temps prises en charge :
Unité de temps | Suffixe d'unité |
---|---|
Année | y |
Mois | M |
Semaine | w |
Journée | d |
Heure | h |
Minutes | m |
Deuxième | s |
Milliseconde | ms |
Pour spécifier une unité de temps autre que les millisecondes pour un paramètre, ajoutez le suffixe de l'unité à la valeur. Par exemple, pour demander des appareils actifs au cours des 30 dernières minutes, spécifiez la valeur de paramètre suivante :
GET /api/v1/devices?active_from=-30m
L'exemple suivant indique une recherche pour HTTP records créés il y a 1 à 2 heures :
{ "from": "-2h", "until": "-1h", "types": ["~http"] }
Réseau
Les réseaux sont corrélés à la carte d'interface réseau qui reçoit les entrées de tous les objets identifiés par le système ExtraHop.
Sur un console, chaque sonde connectée est identifiée comme une capture réseau. Pour plus d'informations, voir Réseaux.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Opération | Descriptif |
---|---|
GET /réseaux | Récupérez tous les réseaux. |
GET /networks/ {id} | Récupérez un réseau spécifique par identifiant. |
PATCH /networks/ {id} | Mettez à jour un réseau spécifique par identifiant. |
GET /networks/ {id} /alertes | Tout récupérer alertes qui sont affectés à un réseau spécifique. |
POST /networks/ {id} /alertes | Attribuez et annulez les alertes à un réseau spécifique. |
SUPPRIMER /networks/ {id} /alerts/ {child-id} | Annuler l'attribution d'une alerte à un réseau spécifique. |
POST /networks/ {id} /alerts/ {child id} | Attribuez une alerte à un réseau spécifique. |
GET /networks/ {id} /vlan | Récupérez tous les VLAN assignés à un réseau spécifique. |
Détails de l'opération
GET /networks
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "appliance_uuid": "string", "description": "string", "id": 0, "idle": true, "mod_time": 0, "name": "string", "node_id": 0 }
PATCH /networks/{id}
Spécifiez les paramètres suivants.
- body: Objet
- Mises à jour de la valeur des propriétés à appliquer au réseau.
- id: Numéro
- Identifiant unique du réseau.
GET /networks/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du réseau.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "appliance_uuid": "string", "description": "string", "id": 0, "idle": true, "mod_time": 0, "name": "string", "node_id": 0 }
GET /networks/{id}/alerts
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique du réseau.
- direct_assignments_only: Booléen
- (Facultatif) Limitez les résultats aux seules alertes directement attribuées au réseau.
POST /networks/{id}/alerts
Spécifiez les paramètres suivants.
- body: Objet
- Listes d'identifiants d'alerte à attribuer et/ou à annuler.
- assign: Tableau de nombres
- Identifiants des ressources à attribuer
- unassign: Tableau de nombres
- Identifiants des ressources à annuler
Spécifiez le paramètre body au format JSON suivant.
{ "assign": [], "unassign": [] }
- id: Numéro
- Identifiant unique du réseau.
POST /networks/{id}/alerts/{child-id}
Spécifiez les paramètres suivants.
- child-id: Numéro
- Identifiant unique de l'alerte.
- id: Numéro
- Identifiant unique du réseau.
Entrée de localité du réseau
Vous pouvez gérer une liste qui spécifie la localité réseau des adresses IP.
Par exemple, vous pouvez créer une entrée dans la liste des localités du réseau qui spécifie qu'une adresse IP ou un bloc CIDR est interne ou externe.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif | ||
---|---|---|---|
GET/localités du réseau | Récupérez toutes les entrées de localité du réseau. | ||
LOCALITÉS POST/réseau | Créez une entrée de localité réseau. | ||
SUPPRIMER /networklocalities/ {id} | Supprimez une entrée de localité du réseau.
|
||
GET /networklocalities/ {id} | Récupérez une entrée de localité réseau spécifique. | ||
PATCH /networklocalities/ {id} | Appliquez les mises à jour à une entrée de localité réseau spécifique.
|
Détails de l'opération
GET /networklocalities
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "description": "string", "external": true, "id": 0, "mod_time": 0, "name": "string", "network": "string", "networks": [] }
POST /networklocalities
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les valeurs de propriété spécifiées à la nouvelle entrée de localité du réseau.
- name: Corde
- (Facultatif) Le nom de la localité du réseau. Si ce champ n'est pas spécifié, la localité du réseau est nommée au format suivant : « Locality_ID », où ID est l'identifiant unique de la localité du réseau.
- network: Corde
- (Facultatif) Obsolète. Spécifiez les blocs CIDR ou les adresses IP dans le champ réseaux.
- networks: Tableau de chaînes
- (Facultatif) Tableau de blocs CIDR ou d'adresses IP qui définissent la localité du réseau.
- external: Booléen
- Indique si le réseau est interne ou externe.
- description: Corde
- (Facultatif) Description facultative de l'entrée de localité du réseau.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "external": true, "name": "string", "network": "string", "networks": [] }
GET /networklocalities/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique pour l'entrée de localité du réseau.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "description": "string", "external": true, "id": 0, "mod_time": 0, "name": "string", "network": "string", "networks": [] }
DELETE /networklocalities/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- Identifiant unique pour l'entrée de localité du réseau.
PATCH /networklocalities/{id}
Spécifiez les paramètres suivants.
- body: Objet
- Appliquez les mises à jour des valeurs de propriété spécifiées à l'entrée de localité du réseau.
- network: Corde
- (Facultatif) Obsolète. Spécifiez les blocs CIDR ou les adresses IP dans le champ réseaux.
- networks: Tableau de chaînes
- (Facultatif) Tableau de blocs CIDR ou d'adresses IP qui définissent la localité du réseau.
- name: Corde
- (Facultatif) Le nom de la localité du réseau.
- external: Booléen
- (Facultatif) Indique si le réseau est interne ou externe.
- description: Corde
- (Facultatif) Description facultative de l'entrée de localité du réseau.
Spécifiez le paramètre body au format JSON suivant.
{ "description": "string", "external": true, "name": "string", "network": "string", "networks": [] }
- id: Numéro
- Identifiant unique pour l'entrée de localité du réseau.
Nœud
Un nœud est un sonde qui est connecté à un console.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /nœuds | Tout récupérer capteurs connecté à cela console. |
OBTENEZ /nodes/ {id} | Récupérez un élément spécifique sonde qui est connecté à cela console. |
PATCH /nodes/ {id} | Mettre à jour un élément spécifique sonde qui est connecté à cela console. |
Détails de l'opération
GET /nodes
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "add_time": 0, "display_name": "string", "enabled": true, "firmware_version": "string", "hostname": "string", "id": 0, "license_status": "string", "nickname": "string", "ntp_sync": true, "product_key": "string", "status_code": "string", "status_message": "string", "time_added": 0, "time_offset": 0, "uuid": "string" }
GET /nodes/{id}
Spécifiez les paramètres suivants.
- id: Numéro
- ID de la sonde.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "add_time": 0, "display_name": "string", "enabled": true, "firmware_version": "string", "hostname": "string", "id": 0, "license_status": "string", "nickname": "string", "ntp_sync": true, "product_key": "string", "status_code": "string", "status_message": "string", "time_added": 0, "time_offset": 0, "uuid": "string" }
Observations
Une observation associe l'adresse IP d'un équipement du système ExtraHop à une adresse IP extérieure à votre réseau. Par exemple, vous pouvez suivre l'activité d'un utilisateur VPN en associant l'adresse IP du client VPN sur votre réseau interne à l' adresse IP externe attribuée à l'utilisateur sur l'Internet public.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
POST /observations/associatedipaddrs | Ajoutez une observation pour créer une association entre les adresses IP des équipements. |
Détails de l'opération
POST /observations/associatedipaddrs
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres d'observation.
- observations: Tableau d'objets
- Une série d'observations.
- ipaddr: Corde
- L'adresse IP de l'équipement observée par la sonde ou la console.
- associated_ipaddr: Corde
- L'adresse IP associée.
- timestamp: Numéro
- Heure à laquelle l'observation a été créée par la source, exprimée en millisecondes depuis l'époque.
- source: Corde
- La source des observations.
Spécifiez le paramètre body au format JSON suivant.
{ "observations": { "ipaddr": "string", "associated_ipaddr": "string", "timestamp": 0 }, "source": "string" }
Flux de données ouvert
Un flux de données ouvert (ODS) est un canal par lequel vous pouvez envoyer des données métriques spécifiées à partir d'un sonde vers un système tiers externe. Par exemple, vous souhaiterez peut-être stocker ou analyser des données métriques à l'aide d'un outil distant, tel que Splunk, MongoDB ou Amazon Web Services (AWS).
L'envoi de données via un flux de données ouvert est une procédure en deux étapes. Vous devez d'abord configurer une connexion au système cible qui recevra les données. Ensuite, vous écrivez un déclencheur qui indique les données à envoyer au système cible et à quel moment. Pour plus d'informations, voir Flux de données ouverts.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /odstargets | Récupérez toutes les cibles Open Data Stream. |
OBTENEZ /odstargets/http | Récupérez toutes les cibles HTTP Open Data Stream. |
POSTE/odstargets/http | Créez une nouvelle cible HTTP Open Data Stream. |
SUPPRIMER /odstargets/http/ {name} | Supprimez une cible HTTP Open Data Stream. |
OBTENEZ /odstargets/http/ {nom} | Récupérez une cible HTTP Open Data Stream spécifique. |
OBTENEZ /odstargets/kafka | Récupérez toutes les cibles de Kafka Open Data Stream. |
POSTER /odstargets/kafka | Créez une nouvelle cible Kafka Open Data Stream. |
SUPPRIMER /odstargets/kafka/ {name} | Supprimez une cible Kafka Open Data Stream. |
OBTENEZ /odstargets/kafka/ {nom} | Récupérez une cible spécifique de Kafka Open Data Stream. |
OBTENEZ /odstargets/mongodb | Récupérez toutes les cibles de MongoDB Open Data Stream. |
POSTE/odstargets/mongodb | Créez une nouvelle cible MongoDB Open Data Stream. |
SUPPRIMER /odstargets/mongodb/ {name} | Supprimez une cible MongoDB Open Data Stream. |
OBTENEZ /odstargets/mongodb/ {nom} | Récupérez une cible MongoDB Open Data Stream spécifique. |
OBTENEZ /odstargets/raw | Récupérez toutes les cibles Raw Open Data Stream. |
POST/odstargets/raw | Créez une nouvelle cible de flux de données ouvertes brutes. |
SUPPRIMER /odstargets/raw/ {name} | Supprimez une cible de flux de données ouvertes brutes. |
OBTENEZ /odstargets/raw/ {nom} | Récupérez une cible de flux de données ouvertes brutes spécifique. |
OBTENEZ /odstargets/syslog | Récupérez toutes les cibles Syslog Open Data Stream. |
POST /odstargets/syslog | Créez une nouvelle cible Syslog Open Data Stream. |
SUPPRIMER /odstargets/syslog/ {nom} | Supprimez une cible Syslog Open Data Stream. |
OBTENEZ /odstargets/syslog/ {nom} | Récupérez une cible Syslog Open Data Stream spécifique. |
Détails de l'opération
GET /odstargets/http
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{}
GET /odstargets/http/{name}
Spécifiez les paramètres suivants.
- name: Corde
- Le nom de la cible.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{}
GET /odstargets/kafka
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "brokers": [], "compression": "string", "name": "string", "partition_strategy": "string", "protocol": "string", "skip_cert_verification": true, "tls_ca_certs": "string", "tls_client_cert": "string", "tls_client_key": "string" }
GET /odstargets/kafka/{name}
Spécifiez les paramètres suivants.
- name: Corde
- Le nom de la cible.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "brokers": [], "compression": "string", "name": "string", "partition_strategy": "string", "protocol": "string", "skip_cert_verification": true, "tls_ca_certs": "string", "tls_client_cert": "string", "tls_client_key": "string" }
GET /odstargets/mongodb
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{}
GET /odstargets/mongodb/{name}
Spécifiez les paramètres suivants.
- name: Corde
- Le nom de la cible.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{}
GET /odstargets/raw
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{}
GET /odstargets/raw/{name}
Spécifiez les paramètres suivants.
- name: Corde
- Le nom de la cible.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{}
GET /odstargets/syslog
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "batch_min_bytes": 0, "concurrent_connections": 0, "host": "string", "localtime": true, "name": "string", "port": 0, "protocol": "string", "skip_cert_verification": true, "tcp_length_prefix_framing": true, "tls_ca_certs": "string", "tls_client_cert": "string", "tls_client_key": "string" }
GET /odstargets/syslog/{name}
Spécifiez les paramètres suivants.
- name: Corde
- Le nom de la cible.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "batch_min_bytes": 0, "concurrent_connections": 0, "host": "string", "localtime": true, "name": "string", "port": 0, "protocol": "string", "skip_cert_verification": true, "tcp_length_prefix_framing": true, "tls_ca_certs": "string", "tls_client_cert": "string", "tls_client_key": "string" }
POST /odstargets/http
Spécifiez les paramètres suivants.
- body: Objet
-
- name: Corde
- Le nom de la cible.
- host: Corde
- Le nom d'hôte ou l'adresse IP du serveur HTTP distant.
- port: Numéro
- Numéro de port TCP du serveur HTTP.
- protocol: Corde
- Le protocole de transmission des données.
Les valeurs suivantes sont valides :
- http
- https
- skip_cert_verification: Booléen
- (Facultatif) Indique s'il faut contourner la vérification du certificat TLS pour les données chiffrées. Ce paramètre n'est valide que si le protocole est défini sur https.
- pipeline: Booléen
- Indique si plusieurs connexions HTTP simultanées sont activées, ce qui peut améliorer la vitesse de débit.
- additional_header: Corde
- (Facultatif) Spécifie un en-tête HTTP supplémentaire à inclure dans chaque demande. Les en-têtes doivent être spécifiés au format suivant : "<key>: <value>». Par exemple : « additional_header » : « Accept : text/html ».
- authentication: Objet
- Objet contenant des identifiants d'authentification HTTP.
- auth_type: Corde
- Type d'authentification HTTP.
Les valeurs suivantes sont valides :
- none
- basic
- aws
- azure_storage
- azure_ad
- crowdstrike
- username: Corde
- (Facultatif) Le nom de l'utilisateur. Cette option est obligatoire si auth_type est défini sur basic ou si auth_type est défini sur azure_ad et grant_type est défini sur resource_owner.
- password: Corde
- (Facultatif) Le mot de passe de l'utilisateur. Cette option est obligatoire si auth_type est défini sur basic ou si auth_type est défini sur azure_ad et grant_type est défini sur resource_owner.
- access_key: Corde
- (Facultatif) L'ID de la clé d'accès. Cette option est requise pour l'authentification entre AWS et Azure Storage.
- secret_key: Corde
- (Facultatif) La clé d'accès secrète. Cette option est requise pour l'authentification AWS.
- service: Corde
- (Facultatif) Le code de service du service AWS, tel que « AmazonEC2 ». Cette option est requise pour l'authentification AWS.
- region: Corde
- (Facultatif) Le nom de la région AWS, par exemple « us-west-1 ». Cette option est requise pour l'authentification AWS.
- grant_type: Corde
- (Facultatif) Type d'autorisation OAuth 2.0. Cette option est requise pour l'authentification par identifiant Microsoft Entra.
Les valeurs suivantes sont valides :
- client
- resource_owner
- client_id: Corde
- (Facultatif) L'ID du client. Cette option est requise pour l'authentification Microsoft Entra ID et Crowdstrike.
- client_secret: Corde
- (Facultatif) La clé secrète du client. Cette option est requise pour l'authentification Microsoft Entra ID et Crowdstrike.
- resource: Corde
- (Facultatif) L'URI de la ressource Microsoft Entra ID. Cette option est requise pour l'authentification par identifiant Microsoft Entra.
- token_endpoint: Corde
- (Facultatif) Le point de terminaison Microsoft Entra ID /token. Par exemple : « https://login.microsoftonline.com/ <tenant_id>/oauth2/token ». Cette option est requise pour l'authentification par identifiant Microsoft Entra.
Spécifiez le paramètre body au format JSON suivant.
{ "additional_header": "string", "authentication": { "auth_type": "string", "username": "string", "password": "string", "access_key": "string", "secret_key": "string", "service": "string", "region": "string", "grant_type": "string", "client_id": "string", "client_secret": "string", "resource": "string", "token_endpoint": "string" }, "host": "string", "name": "string", "pipeline": true, "port": 0, "protocol": "string", "skip_cert_verification": true }
POST /odstargets/kafka
Spécifiez les paramètres suivants.
- body: Objet
-
- name: Corde
- Le nom de la cible.
- brokers: Tableau d'objets
- Tableau d'un ou de plusieurs objets contenant des informations sur Kafka Brokers.
- host: Corde
- Le nom d'hôte ou l'adresse IP du broker Kafka distant.
- port: Numéro
- Le numéro de port TCP du broker Kafka.
- compression: Corde
- (Facultatif) Méthode de compression à appliquer aux données transmises.
Les valeurs suivantes sont valides :
- none
- gzip
- snappy
- partition_strategy: Corde
- (Facultatif) Méthode de partitionnement à appliquer aux données transmises.
Les valeurs suivantes sont valides :
- hash_key
- manual
- random
- round_robin
- protocol: Corde
- Le protocole de transmission des données.
Les valeurs suivantes sont valides :
- tcp
- tls
- tls_client_cert: Corde
- (Facultatif) Le certificat client TLS qui est envoyé au serveur Kafka lors de l'établissement dproximation TLS. Spécifiez cette option si l'authentification du client est activée sur le serveur Kafka.
- tls_client_key: Corde
- (Facultatif) La clé privée du certificat client TLS spécifiée par le paramètre tls_client_cert. Spécifiez cette option si l'authentification du client est activée sur le serveur Kafka.
- skip_cert_verification: Booléen
- (Facultatif) Indique s'il faut contourner la vérification du certificat TLS pour les données chiffrées. Ce paramètre n'est valide que si le protocole est défini sur tls.
- tls_ca_certs: Corde
- (Facultatif) Les certificats sécurisés avec lesquels valider le certificat du serveur Kafka, au format PEM. Spécifiez cette option si le certificat de votre serveur Kafka n'a pas été signé par une autorité de certification (CA) valide. Si cette option n'est pas spécifiée, le certificat de serveur est validé à l'aide de la liste intégrée des certificats CA valides. Cette option n'est valide que si le protocole est TLS.
- authentication: Objet
- (Facultatif) Objet contenant les identifiants d'authentification Kafka.
- auth_type: Corde
- Type d'authentification SASL.
Les valeurs suivantes sont valides :
- scram
- username: Corde
- Le nom d'utilisateur de l'utilisateur SASL.
- password: Corde
- Le mot de passe de l'utilisateur SASL.
- algorithm: Corde
- Algorithme de hachage pour l'authentification SASL.
Les valeurs suivantes sont valides :
- sha256
- sha512
Spécifiez le paramètre body au format JSON suivant.
{ "authentication": { "auth_type": "string", "username": "string", "password": "string", "algorithm": "string" }, "brokers": { "host": "string", "port": 0 }, "compression": "string", "name": "string", "partition_strategy": "string", "protocol": "string", "skip_cert_verification": true, "tls_ca_certs": "string", "tls_client_cert": "string", "tls_client_key": "string" }
POST /odstargets/mongodb
Spécifiez les paramètres suivants.
- body: Objet
-
- name: Corde
- Le nom de la cible.
- host: Corde
- Le nom d'hôte ou l'adresse IP du serveur MongoDB distant.
- port: Numéro
- Numéro de port TCP du serveur MongoDB.
- encrypt: Booléen
- (Facultatif) Indique si les données sont chiffrées avec le protocole TLS.
- skip_cert_verification: Booléen
- (Facultatif) Indique s'il faut contourner la vérification du certificat TLS pour les données chiffrées. Ce paramètre n'est valide que si « encryption » est défini sur « true ».
- authentication: Tableau d'objets
- (Facultatif) Tableau d'objets contenant les identifiants d'authentification MongoDB.
- database: Corde
- Nom de la base de données MongoDB.
- user: Corde
- Le nom de l'utilisateur autorisé à modifier la base de données spécifiée.
- password: Corde
- Le mot de passe de l'utilisateur.
Spécifiez le paramètre body au format JSON suivant.
{ "authentication": { "database": "string", "user": "string", "password": "string" }, "encrypt": true, "host": "string", "name": "string", "port": 0, "skip_cert_verification": true }
POST /odstargets/raw
Spécifiez les paramètres suivants.
- body: Objet
-
- name: Corde
- Le nom de la cible.
- host: Corde
- Le nom d'hôte ou l'adresse IP du serveur distant.
- port: Numéro
- Numéro de port TCP ou UDP du serveur distant.
- protocol: Corde
- Le protocole de transmission des données.
Les valeurs suivantes sont valides :
- tcp
- udp
- compression: Booléen
- (Facultatif) Indique si la compression gzip est appliquée aux données transmises.
- gzip_threshold_bytes: Numéro
- (Facultatif) Le nombre d'octets qui spécifie le seuil de création d'un nouveau message. Toutes les 30 secondes, la sonde ou la console envoie des messages dont la taille dépasse la taille spécifiée pour éviter que les messages ne deviennent trop volumineux. Cette option n'est valide que si la compression est définie sur true.
- gzip_threshold_seconds: Numéro
- (Facultatif) Le nombre de secondes qui spécifie le seuil de création d'un nouveau message. Toutes les 30 secondes, la sonde ou la console envoie des messages qui ont été écrits pendant une durée supérieure à la période spécifiée afin d'éviter que les messages ne deviennent trop volumineux. Cette option n'est valide que si la compression est définie sur true.
Spécifiez le paramètre body au format JSON suivant.
{ "compression": true, "gzip_threshold_bytes": 0, "gzip_threshold_seconds": 0, "host": "string", "name": "string", "port": 0, "protocol": "string" }
POST /odstargets/syslog
Spécifiez les paramètres suivants.
- body: Objet
-
- name: Corde
- Le nom de la cible.
- host: Corde
- Le nom d'hôte ou l'adresse IP du serveur Syslog distant.
- port: Numéro
- Numéro de port TCP ou UDP du serveur Syslog distant.
- tcp_length_prefix_framing: Booléen
- (Facultatif) Indique s'il faut ajouter le nombre d'octets d'un message au début du message. Si ce paramètre est défini sur faux, la fin de chaque message est délimitée par une nouvelle ligne de fin.
- batch_min_bytes: Numéro
- (Facultatif) Le nombre minimum d'octets à envoyer simultanément au serveur Syslog.
- concurrent_connections: Numéro
- (Facultatif) Le nombre de connexions simultanées sur lesquelles envoyer des messages.
- localtime: Booléen
- (Facultatif) Indique si les horodatages font référence au fuseau horaire local de la sonde ou de la console. Si ce paramètre est défini sur faux, les horodatages font référence à GMT.
- protocol: Corde
- Le protocole de transmission des données.
Les valeurs suivantes sont valides :
- tcp
- udp
- tls
- tls_client_cert: Corde
- (Facultatif) Le certificat client TLS qui est envoyé au serveur Syslog lors de l'établissement dproximation TLS. Spécifiez cette option si l'authentification du client est activée sur le serveur Syslog.
- tls_client_key: Corde
- (Facultatif) La clé privée du certificat client TLS spécifiée par le paramètre tls_client_cert. Spécifiez cette option si l'authentification du client est activée sur le serveur Syslog.
- skip_cert_verification: Booléen
- (Facultatif) Indique s'il faut contourner la vérification du certificat TLS pour les données chiffrées. Ce paramètre n'est valide que si le protocole est défini sur tls.
- tls_ca_certs: Corde
- (Facultatif) Les certificats sécurisés avec lesquels valider le certificat du serveur Syslog, au format PEM. Spécifiez cette option si le certificat de votre serveur Syslog n'a pas été signé par une autorité de certification (CA) valide. Si cette option n'est pas spécifiée, le certificat de serveur est validé à l'aide de la liste intégrée des certificats CA valides. Cette option n'est valide que si le protocole est TLS et que skip_cert_verification est faux.
Spécifiez le paramètre body au format JSON suivant.
{ "batch_min_bytes": 0, "concurrent_connections": 0, "host": "string", "localtime": true, "name": "string", "port": 0, "protocol": "string", "skip_cert_verification": true, "tcp_length_prefix_framing": true, "tls_ca_certs": "string", "tls_client_cert": "string", "tls_client_key": "string" }
Recherche par paquets
Vous pouvez rechercher et télécharger des paquets stockés sur le système ExtraHop. Le téléchargé les paquets peuvent ensuite être analysés via un outil tiers, tel que Wireshark.
Pour plus d'informations sur les paquets, voir Paquets.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /packets/search | Recherchez des paquets en spécifiant des paramètres dans une URL. |
POST /paquets/search | Recherchez des paquets en spécifiant des paramètres dans une chaîne JSON. |
Détails de l'opération
GET /packets/search
Spécifiez les paramètres suivants.
- output: Corde
- (Facultatif) Format de sortie.
* `pcap` - Un fichier PCAP qui contient des paquets.
* `keylog_txt` - Un fichier texte keylog contenant des secrets pour le déchiffrement.
* `pcapng` - Un fichier PCAPNG qui peut contenir à la fois des paquets et des secrets à déchiffrer.
* `zip` - Un fichier ZIP qui contient à la fois un fichier texte PCAP et un keylog.
* `extract` - Un fichier ZIP contenant des fichiers extraits de paquets correspondant à la requête. Cette option n'est valide que si vous disposez d'un accès complet au module NDR.
Les valeurs suivantes sont valides :
- pcap
- keylog_txt
- pcapng
- zip
- extract
- include_secrets: Booléen
- (Facultatif) Spécifie s'il faut inclure des secrets dans le fichier PCAPNG. Cette option n'est valide que si la sortie est définie sur pcapng.
- decrypt_files: Booléen
- (Facultatif) Spécifie s'il faut déchiffrer les fichiers extraits contenant des secrets stockés. Cette option n'est valide que si le paramètre « output » est « extract ».
- limit_bytes: Corde
- (Facultatif) Le nombre maximum approximatif d'octets à renvoyer. Une fois que le système ExtraHop a trouvé des paquets correspondant à la taille spécifiée dans les critères de recherche, il arrête de rechercher des paquets supplémentaires. Cependant, étant donné que le système analyse plusieurs paquets à la fois, la taille totale des paquets renvoyés peut être supérieure à la taille spécifiée. L'unité par défaut est l'octet, mais vous pouvez spécifier d'autres unités avec un suffixe d'unité. La valeur par défaut est « 100 Mo ». **Remarque** : Si la sortie est « extraire », il existe une valeur maximale pour ce champ. Le maximum par défaut est « 100 Mo », mais le maximum peut être modifié dans la configuration en cours. Si la sortie n'est pas « extraire », il n'y a pas de valeur maximale.
- limit_search_duration: Corde
- (Facultatif) Durée maximale approximative pour effectuer la recherche de paquets. Une fois le délai spécifié écoulé, le système ExtraHop arrête de rechercher des paquets supplémentaires. Cependant, le système va dépasser la durée spécifiée pour terminer l'analyse des paquets qui étaient recherchés avant l'expiration du délai, et le système analyse plusieurs paquets à la fois. Par conséquent, la recherche peut durer plus longtemps que la durée spécifiée. L'unité par défaut est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge. La valeur par défaut est « 5 m ». **Remarque** : Si la sortie est « extraire », il existe une valeur maximale pour ce champ. Le maximum par défaut est « 5 m », mais le maximum peut être modifié dans la configuration en cours. Si la sortie n'est pas « extraire », il n'y a pas de valeur maximale.
- always_return_body: Booléen
- (Facultatif) Spécifie le comportement si la requête ne correspond à aucun paquet ou si les paquets correspondants à la requête ne contiennent aucun fichier. Si la valeur est vraie, le système renvoie un fichier vide et un code dquo 200. Si la valeur est fausse, le système renvoie un code dveloppement 204 mais ne renvoie pas de fichier.
- from: Corde
- L'horodateur de début de la plage de temps que la recherche inclura, exprimé en millisecondes depuis l'époque. Une valeur négative indique que la recherche débutera avec les paquets capturés à un moment donné dans le passé. Par exemple, spécifiez -10m pour commencer la recherche avec les paquets capturés 10 minutes avant l'heure de la demande. Les valeurs négatives peuvent être spécifiées avec une unité de temps autre que les millisecondes, telle que les secondes ou les heures. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- until: Corde
- (Facultatif) L'horodateur de fin de la plage de temps que la recherche inclura, exprimé en millisecondes depuis l'époque. Une valeur 0 indique que la recherche se terminera avec les paquets capturés au moment de la recherche. Une valeur négative indique que la recherche se terminera par des paquets capturés à un moment donné dans le passé. Par exemple, spécifiez -5m pour terminer la recherche avec les paquets capturés 5 minutes avant l'heure de la demande. Les valeurs négatives peuvent être spécifiées avec une unité de temps autre que les millisecondes, telle que les secondes ou les heures. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- bpf: Corde
- (Facultatif) La syntaxe du filtre de paquets de Berkeley (BPF) pour la recherche de paquets. Pour plus d'informations sur la syntaxe BPF, consultez Guide de l'API REST.
- ip1: Corde
- (Facultatif) Renvoie les paquets envoyés ou reçus par l'adresse IP spécifiée.
- port1: Corde
- (Facultatif) Renvoie les paquets envoyés depuis ou reçus sur le port spécifié.
- ip2: Corde
- (Facultatif) Renvoie les paquets envoyés ou reçus par l'adresse IP spécifiée.
- port2: Corde
- (Facultatif) Renvoie les paquets envoyés depuis ou reçus sur le port spécifié.
POST /packets/search
Spécifiez les paramètres suivants.
- body: Objet
- Les paramètres de la recherche de paquets.
- output: Corde
- (Facultatif) Format de sortie.
Les valeurs suivantes sont valides :
- pcap
- keylog_txt
- pcapng
- zip
- extract
- include_secrets: Booléen
- (Facultatif) Indique s'il faut inclure ou non les secrets TLS avec les données des paquets dans les fichiers .pcapng. Valide uniquement si « output » est « pcapng ».
- decrypt_files: Booléen
- (Facultatif) Spécifie s'il faut déchiffrer les fichiers extraits contenant des secrets stockés. Cette option n'est valide que si le paramètre « output » est « extract ».
- limit_bytes: Corde
- (Facultatif) Le nombre maximum approximatif d'octets à renvoyer. Une fois que le système ExtraHop a trouvé des paquets correspondant à la taille spécifiée dans les critères de recherche, il arrête de rechercher des paquets supplémentaires. Cependant, étant donné que le système analyse plusieurs paquets à la fois, la taille totale des paquets renvoyés peut être supérieure à la taille spécifiée. L'unité par défaut est l'octet, mais vous pouvez spécifier d'autres unités avec un suffixe d'unité. La valeur par défaut est « 100 Mo ». **Remarque** : Si la sortie est « extraire », il existe une valeur maximale pour ce champ. Le maximum par défaut est « 100 Mo », mais le maximum peut être modifié dans la configuration en cours. Si la sortie n'est pas « extraire », il n'y a pas de valeur maximale.
- limit_search_duration: Corde
- (Facultatif) Durée maximale approximative pour effectuer la recherche de paquets. Une fois le délai spécifié écoulé, le système ExtraHop arrête de rechercher des paquets supplémentaires. Cependant, le système va dépasser la durée spécifiée pour terminer l'analyse des paquets qui étaient recherchés avant l'expiration du délai, et le système analyse plusieurs paquets à la fois. Par conséquent, la recherche peut durer plus longtemps que la durée spécifiée. L'unité par défaut est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge. La valeur par défaut est « 5 m ». **Remarque** : Si la sortie est « extraire », il existe une valeur maximale pour ce champ. Le maximum par défaut est « 5 m », mais le maximum peut être modifié dans la configuration en cours. Si la sortie n'est pas « extraire », il n'y a pas de valeur maximale.
- always_return_body: Booléen
- (Facultatif) Spécifie le comportement si la requête ne correspond à aucun paquet ou si les paquets correspondants à la requête ne contiennent aucun fichier. Si la valeur est vraie, le système renvoie un fichier vide et un code dquo 200. Si la valeur est fausse, le système renvoie un code dveloppement 204 mais ne renvoie pas de fichier.
- from: Corde
- L'horodateur de début de la plage de temps que la recherche inclura, exprimé en millisecondes depuis l'époque. Une valeur négative indique que la recherche débutera avec les paquets capturés à un moment donné dans le passé. Par exemple, spécifiez -10m pour commencer la recherche avec les paquets capturés 10 minutes avant l'heure de la demande. Les valeurs négatives peuvent être spécifiées avec une unité de temps autre que les millisecondes, telle que les secondes ou les heures. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- until: Corde
- (Facultatif) L'horodateur de fin de la plage de temps que la recherche inclura, exprimé en millisecondes depuis l'époque. Une valeur 0 indique que la recherche se terminera avec les paquets capturés au moment de la recherche. Une valeur négative indique que la recherche se terminera par des paquets capturés à un moment donné dans le passé. Par exemple, spécifiez -5m pour terminer la recherche avec les paquets capturés 5 minutes avant l'heure de la demande. Les valeurs négatives peuvent être spécifiées avec une unité de temps autre que les millisecondes, telle que les secondes ou les heures. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- bpf: Corde
- (Facultatif) La syntaxe du filtre de paquets de Berkeley (BPF) pour la recherche de paquets. Pour plus d'informations sur la syntaxe BPF, voir Filtrer les paquets avec la syntaxe du filtre de paquets de Berkeley.
- ip1: Corde
- (Facultatif) Renvoie les paquets envoyés ou reçus par l'adresse IP spécifiée.
- port1: Corde
- (Facultatif) Renvoie les paquets envoyés depuis ou reçus sur le port spécifié.
- ip2: Corde
- (Facultatif) Renvoie les paquets envoyés ou reçus par l'adresse IP spécifiée.
- port2: Corde
- (Facultatif) Renvoie les paquets envoyés depuis ou reçus sur le port spécifié.
Spécifiez le paramètre body au format JSON suivant.
{ "always_return_body": true, "bpf": "string", "decrypt_files": true, "from": "string", "include_secrets": true, "ip1": "string", "ip2": "string", "limit_bytes": "string", "limit_search_duration": "string", "output": "string", "port1": "string", "port2": "string", "until": "string" }
Filtrer les paquets avec la syntaxe du filtre de paquets Berkeley
Recherchez des paquets à l'aide de la syntaxe du filtre de paquets de Berkeley (BPF) uniquement ou en combinaison avec les filtres intégrés.
Les filtres de paquets Berkeley constituent une interface brute pour les couches de liaison de données et constituent un outil puissant pour l'analyse de détection des intrusions. La syntaxe BPF permet aux utilisateurs d'écrire des filtres qui explorent rapidement des paquets spécifiques pour afficher les informations essentielles.
Le système ExtraHop construit un en-tête de paquet synthétique à partir des données d'index des paquets, puis exécute les requêtes de syntaxe BPF par rapport à l'en-tête du paquet pour garantir que les requêtes sont beaucoup plus rapides que le scan de la charge utile complète du paquet. Notez qu'ExtraHop ne prend en charge qu'un sous-ensemble de la syntaxe BPF. Voir Syntaxe BPF prise en charge.
La syntaxe BPF consiste en une ou plusieurs primitives précédées d'un ou de plusieurs qualificatifs. Les primitives se composent généralement d'un identifiant (nom ou numéro) précédé d'un ou de plusieurs qualificatifs. Il existe trois types de qualifications différents :
- type
- Des qualificatifs qui indiquent le type auquel le nom ou le numéro d'identification fait référence. Par exemple, host, net, port, et portrange. S'il n'y a pas de qualificatif, host est supposé.
- dir
- Qualificatifs qui spécifient une direction de transfert particulière vers ou depuis un identifiant. Les directions possibles sont src, dst, src and dst, et src or dst. Par exemple, dst net 128.3.
- proto
- Qualificatifs qui limitent la correspondance au protocole en question. Les protocoles possibles sont ether, ip, ip6, tcp, et udp.
Syntaxe BPF prise en charge
Le système ExtraHop prend en charge le sous-ensemble suivant de la syntaxe BPF pour le filtrage des paquets.
Remarque : |
|
Primitif | Exemples | Descriptif |
---|---|---|
[src|dst] host <host ip> |
host 203.0.113.50
dst host 198.51.100.200 |
Correspond à un hôte en tant que source IP, destination, ou l'une ou l'autre des deux. Ces expressions d'hôte peuvent être spécifiées conjointement avec d'autres protocoles tels que ip, arp, rarp ou ip6. |
ether [src|dst] host <MAC> |
ether host 00:00:5E:00:53:00
ether dst host 00:00:5E:00:53:00 |
Fait correspondre un hôte en tant que source Ethernet, destination ou l'une des deux. |
vlan <ID> | vlan 100 | Correspond à un VLAN. Les numéros d'identification valides sont 0-4095. Les
bits de priorité du VLAN sont nuls. Si le paquet d'origine comportait plusieurs balises VLAN, le paquet synthétique auquel le BPF correspond n'aura que la balise VLAN la plus interne. |
[src|dst] portrange <p1>-<p2>
ou [tcp|udp] [src|dst] portrange <p1>-<p2> |
src portrange 80-88
tcp dst portrange 1501-1549 |
Fait correspondre les paquets à destination ou en provenance d'un port dans la plage donnée. Des protocoles peuvent être appliqués à une plage de ports pour filtrer des paquets spécifiques dans cette plage. |
[ip|ip6][src|dst] proto <protocol> |
proto 1
src 10.4.9.40 and proto ICMP ip6 and src fe80::aebc:32ff:fe84:70b7 and proto 47 ip and src 10.4.9.40 and proto 0x0006 |
Correspond aux protocoles IPv4 ou IPv6 autres que TCP et UDP. Le protocole peut être un numéro ou un nom. |
[ip|ip6][tcp|udp] [src|dst] port <port> |
udp and src port 2005
ip6 and tcp and src port 80 |
Correspond aux paquets IPv4 ou IPv6 sur un port spécifique. |
[src|dst] net <network> |
dst net 192.168.1.0
src net 10 net 192.168.1.0/24 |
Fait correspondre les paquets à destination ou en provenance d'une source ou d'une destination ou de l'une ou l'autre, qui résident
sur un réseau. Un numéro de réseau IPv4 peut être spécifié sous la forme de l'une des valeurs suivantes :
|
[ip|ip6] tcp tcpflags & (tcp-[ack|fin|syn|rst|push|urg|) |
tcp[tcpflags] & (tcp-ack) !=0
tcp[13] & 16 !=0 ip6 and (ip6[40+13] & (tcp-syn) != 0) |
Correspond à tous les paquets avec l'indicateur TCP spécifié |
Paquets IPv4 fragmentés (ip_offset ! = 0) | ip[6:2] & 0x3fff != 0x0000 | Correspond à tous les paquets contenant des fragments. |
Couplage
Cette ressource vous permet de générer un jeton nécessaire pour connecter un sonde à un console.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
POST/appariement/jeton | Générez un jeton requis pour connecter le sonde à un console. |
Journal des enregistrements
Les enregistrements sont des informations structurées sur les flux et les transactions concernant les événements de votre réseau.
Après avoir connecté le système ExtraHop à un magasin de disques, vous pouvez générer et envoyer des informations d'enregistrement à l'espace de stockage des enregistrements, et vous pouvez interroger des enregistrements pour récupérer des informations sur n'importe quel objet de votre réseau. Pour plus d'informations, voir Requête d'enregistrements via l'API REST.
Le tableau suivant répertorie toutes les opérations que vous pouvez effectuer sur cette ressource :
opération | Descriptif |
---|---|
GET /records/cursor/ {curseur} | Obsolète. Remplacé par POST /records/cursor. |
POST /enregistrements/curseur | Récupère les enregistrements en commençant par un curseur spécifié. Cette opération n'est prise en charge que si les enregistrements sont stockés sur un espace de stockage des enregistrements ExtraHop (tel que l'EXA 5300) ou sur CrowdStrike LogScale. |
POST /enregistrements/recherche | Effectuez une requête dans le journal d'enregistrement. |
Détails de l'opération
POST /records/search
Spécifiez les paramètres suivants.
- body: Objet
- Requête du journal d'enregistrement.
- from: Numéro
- L'horodateur de début de la plage de temps recherchée par la requête, exprimé en millisecondes depuis l'époque. Une valeur négative indique que la recherche débutera avec les enregistrements créés à un moment donné dans le passé. Par exemple, spécifiez -600 000 ms pour commencer la recherche avec les enregistrements créés 10 minutes avant l'heure de la demande. Les valeurs négatives peuvent être spécifiées avec une unité de temps autre que les millisecondes, telle que les secondes ou les heures. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- until: Numéro
- L'horodateur de fin de la plage de temps recherchée par la requête, exprimé en millisecondes depuis l'époque. Une valeur 0 indique que la recherche se terminera par les enregistrements créés au moment de la demande. Une valeur négative indique que la recherche se terminera par des enregistrements créés dans le passé. Par exemple, spécifiez -300 000 ms pour terminer la recherche avec les enregistrements créés 5 minutes avant l'heure de la demande. Les valeurs négatives peuvent être spécifiées avec une unité de temps autre que les millisecondes, telle que les secondes ou les heures. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge.
- types: Tableau de cordes
- (Facultatif) Tableau d'un ou de plusieurs formats d'enregistrement. La requête renvoie uniquement les enregistrements correspondant aux formats spécifiés. Si aucune valeur n'est spécifiée, la requête renvoie des enregistrements de n'importe quel type. Les valeurs valides pour ce champ sont affichées dans le champ Type d'enregistrement de la page Formats d'enregistrement. Par exemple : « ~cifs ».
- limit: Numéro
- Le nombre maximum d'enregistrements renvoyés par la requête. La valeur maximale ne peut pas dépasser 10 000. La valeur par défaut est 100.
- offset: Numéro
- Le nombre d'enregistrements à ignorer dans les résultats de la requête. La requête renverra des enregistrements à partir de la valeur de décalage. Ce paramètre est souvent associé aux paramètres de limite et de tri. La valeur par défaut est 0. Pour les magasins d'enregistrements ExtraHop, la valeur maximale est de 10 000 ; pour récupérer les enregistrements renvoyés après les 10 000 premiers, consultez POST /records/cursor/. Pour les magasins de disques tiers, il n'y a pas de valeur maximale.
- sort: Tableau d'objets
- Liste d'un ou de plusieurs objets de tri qui spécifient les priorités de tri. Les enregistrements renvoyés sont triés dans l'ordre dans lequel les objets sont répertoriés. Les paramètres sont définis dans la section sort_item ci-dessous. Si aucune valeur sort_item n'est fournie, les enregistrements sont triés par horodateur dans l'ordre décroissant.
- field: Corde
- Le nom du champ qui a renvoyé les enregistrements est trié par.
- direction: Corde
- L'ordre dans lequel les enregistrements renvoyés sont triés. L'ordre par défaut est décroissant. Une fois tous les autres critères de tri appliqués, ou si aucun critère de tri n'a été spécifié, l'ordre par défaut est décroissant par horodateur.
Les valeurs suivantes sont valides :
- asc
- desc
- filter: Objet
- L'objet contenant les paramètres qui spécifient les critères de filtre. Les paramètres sont définis dans la section des filtres ci-dessous. Si aucune valeur de filtre n'est fournie, la requête renvoie tous les enregistrements correspondant à l'intervalle de temps et à tout format d'enregistrement spécifié.
- field: Corde
- Le nom du champ de l'enregistrement à filtrer. La requête compare le contenu du paramètre de champ à la valeur du paramètre d'opérande. Si le nom de champ spécifié est « .any », l'union de toutes les valeurs de champ sera recherchée. Si le nom de champ spécifié est « .ipaddr » ou « .port », les rôles client, serveur, expéditeur et destinataire sont inclus dans la recherche. Les noms des champs sont situés dans des formats d'enregistrement qui peuvent être visualisés dans le système ExtraHop.
- operator: Corde
- Méthode de comparaison appliquée lors de la mise en correspondance de la valeur de l'opérande avec le contenu du champ. Tous les objets filtrants nécessitent un opérateur.
Les valeurs suivantes sont valides :
- >
- <
- <=
- >=
- =
- !=
- startswith
- ~
- !~
- and
- or
- not
- exists
- not_exists
- in
- not_in
- operand: Chaîne, numéro ou objet
- La valeur à laquelle la requête tente de faire correspondre. La requête compare la valeur de l'opérande au contenu du paramètre de champ et applique la méthode de comparaison spécifiée par le paramètre de l'opérateur. Vous pouvez spécifier explicitement le type de données de l'opérande comme décrit dans le Guide de l'API REST.
- rules: Tableau d'objets
- Liste d'un ou de plusieurs objets filtrants au sein d'un même objet filtrant. Les objets de filtre peuvent être incorporés de manière récursive. Seuls les opérateurs « et », « ou » et « non » sont autorisés pour ce paramètre.
- context_ttl: Numéro
- Durée pendant laquelle le contexte de recherche reste actif. La valeur spécifiée est interprétée comme une durée dans le futur. L'unité par défaut est la milliseconde, mais d'autres unités peuvent être spécifiées avec un suffixe d'unité. Consultez les Guide de l'API REST pour les unités de temps et les suffixes pris en charge. Si une valeur non nulle est spécifiée, la réponse inclut un identifiant de curseur accepté par POST /records/cursor/. Ce paramètre n'est pas pris en charge pour les magasins d'enregistrement tiers.
Spécifiez le paramètre body au format JSON suivant.
{ "context_ttl": 0, "filter": { "field": "string", "operator": "string", "operand": "string", "rules": [] }, "from": 0, "limit": 0, "offset": 0, "sort": { "field": "string", "direction": "string" }, "types": [], "until": 0 }
POST /records/cursor
Spécifiez les paramètres suivants.
- body: Objet
- L'ID du curseur qui indique la page suivante de résultats de la requête.
- cursor: Corde
- Identifiant unique du curseur qui indique la page de résultats suivante de la requête.
Spécifiez le paramètre body au format JSON suivant.
{ "cursor": "string" }
- context_ttl: Numéro
- (Facultatif) Durée pendant laquelle le contexte de recherche reste actif, exprimée en millisecondes.
GET /records/cursor/{cursor}
Spécifiez les paramètres suivants.
- cursor: Corde
- L'ID du curseur.
- context_ttl: Numéro
- (Facultatif) Durée pendant laquelle le contexte de recherche reste actif, exprimée en millisecondes.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "cursor": "string", "from": 0, "records": {}, "total": 0, "until": 0, "warnings": {} }
Valeurs des opérandes dans les requêtes d'enregistrement
Le operand champ dans le POST /records/search méthode spécifie la valeur à laquelle une requête d'enregistrement tente de correspondre. Vous pouvez spécifier la valeur uniquement ou à la fois le type de données et la valeur. Si vous spécifiez uniquement la valeur, la requête fera référence au format dac.enregistrement associé au field paramètre pour déterminer le type de données de la valeur.
L'exemple suivant spécifie explicitement le type de données et la valeur de l' opérande :
{ "from": -1000, "filter": { "field" : "senderAddr", "operator": "=", "operand" : { "type" : "ipaddr4", "value": "1.2.3.4" } } }
L'exemple suivant indique uniquement la valeur de l' opérande :
{ "from": -1000, "filter": { "field" : "senderAddr", "operator": "=", "operand" : "1.2.3.4" } }
Vous pouvez spécifier explicitement les types de données suivants dans le operand champ :
- application
- booléen
- équipement
Remarque : Vous devez spécifier l'ID de découverte de l'équipement dans le champ de valeur. Vous pouvez trouver l'identifiant de découverte d'un équipement via le POST /devices/search opération. - filtre_appareil
- groupe_d'appareils
- interface de flux
- réseau de flux
- ipad dr4
- ipad dr6
- nombre
- localité_réseau
- objet
- chaîne
Le operand le champ prend en charge la notation CIDR lors du filtrage par adresse IP ; le operator le champ doit être défini sur « = » ou « ! = ».
{ "filter": { "operator": "and", "rules": [ { "field": "method", "operand": "SMB2_READ", "operator": "=" }, { "field": "reqL2Bytes", "operand": "100", "operator": ">" } ] }, "types": [ "~cifs" ], "from": "-30m" }
Interrogez les enregistrements à l'aide d'un filtre de groupe déquipements
Pour filtrer les enregistrements par groupe déquipements dans l'API REST, vous devez envoyer un POST demande adressée au /records/search point de terminaison doté d'un filtre de requête d'enregistrement répondant aux critères suivants :
- Le field doit spécifier des périphériques, tels que client, server, sender, ou receiver.
- Le operator doit être soit in ou not_in.
- Le operand type doit être device_group.
- Le operand value doit être une représentation sous forme de chaîne de l'identifiant numérique du groupe déquipements. Vous pouvez récupérer les identifiants de groupes d'équipements en exécutant l'opération GET /devicegroup et en consultant le contenu du id champ dans la réponse.
Par exemple, la requête suivante recherche des enregistrements dans lesquels l' équipement client était membre d'un groupe déquipements avec un ID de 200 :
{ "from": "-30m", "filter": { "field": "client", "operator": "in", "operand": { "type": "device_group", "value": "200" } } }
Vous pouvez également filtrer les enregistrements en fonction de critères de groupe d'équipements sans créer de groupe de périphériques en spécifiant le type d'opérande comme device_filter. Par exemple, la requête suivante recherche les enregistrements dans lesquels l'équipement client exécute Windows 10 :
{ "from": "-30m", "filter": { "field": "client", "operator": "in", "operand": { "type": "device_filter", "value": { "field": "software", "operand": "windows_10", "operator": "=" } } } }
Remarque : | Valeurs d'opérande avec type device_filter pour la recherche d'enregistrements sont formatés de la même manière que les filtres de recherche d'équipements. Pour plus d'informations, voir Valeurs d'opérande pour les groupes d'équipements. |
Interroger les enregistrements à l'aide d'un filtre de localité du réseau
Pour filtrer les enregistrements par groupe déquipements dans l'API REST, vous devez envoyer une requête POST au /records/search point de terminaison doté d'un filtre de requête d'enregistrement répondant aux critères suivants :
- Le champ doit être un champ d'enregistrement qui spécifie une adresse IP telle que clientAddr, serverAddr, senderAddr, ou receiverAddr.
- L'opérateur doit être soit in ou not_in.
- Le type d'opérande doit être network_locality.
- La valeur de l'opérande doit être une représentation sous forme de chaîne d'un identifiant numérique de localité du réseau. Vous pouvez consulter les identifiants des localités à l'aide du GET /networklocalities opération.
Par exemple, la requête suivante recherche les enregistrements où l'équipement client se trouve dans une localité du réseau avec un ID de 123:
{ "from": "-30m", "filter": { "field": "clientAddr", "operand": { "type": "network_locality", "value": "123" }, "operator": "in" } }
Unités de temps prises en charge
Pour la plupart des paramètres, l'unité par défaut pour la mesure du temps est la milliseconde. Toutefois, les paramètres suivants renvoient ou acceptent des unités de temps alternatives telles que les minutes et les heures :
- Appareil
- actif_depuis
- actif_jusqu'à
- Groupe d'appareils
- actif_depuis
- actif_jusqu'à
- Métriques
- à partir de
- jusqu'à
- Journal d'enregistrement
- à partir de
- jusqu'à
- context_ttl
Le tableau suivant indique les unités de temps prises en charge :
Unité de temps | Suffixe d'unité |
---|---|
Année | y |
Mois | M |
Semaine | w |
Journée | d |
Heure | h |
Minutes | m |
Deuxième | s |
Milliseconde | ms |
Pour spécifier une unité de temps autre que les millisecondes pour un paramètre, ajoutez le suffixe de l'unité à la valeur. Par exemple, pour demander des appareils actifs au cours des 30 dernières minutes, spécifiez la valeur de paramètre suivante :
GET /api/v1/devices?active_from=-30m
L'exemple suivant indique une recherche pour HTTP records créés il y a 1 à 2 heures :
{ "from": "-2h", "until": "-1h", "types": ["~http"] }
Rapport
Un rapport est un fichier PDF d'un tableau de bord que vous pouvez planifier pour la livraison par e-mail à un ou plusieurs destinataires. Vous pouvez spécifier la fréquence à laquelle l'e-mail du rapport est envoyé et l'intervalle de temps pour les données du tableau de bord incluses dans le fichier PDF.
Important : | Vous ne pouvez planifier des rapports qu'à partir d'une machine virtuelle ECA. |
Voici quelques points importants à prendre en compte à propos des rapports de tableau de bord :
- Vous ne pouvez créer un rapport que pour les tableaux de bord que vous possédez ou qui ont été partagés avec vous. Votre capacité à créer un rapport dépend de vos privilèges d'utilisateur. Contactez votre administrateur ExtraHop pour obtenir de l'aide.
- Chaque rapport ne peut être lié qu'à un seul tableau de bord.
- Si vous avez créé un rapport pour un tableau de bord qui a ensuite été supprimé ou est devenu inaccessible, l'e-mail planifié continuera d'être envoyé aux destinataires. Toutefois, l'e-mail n'inclura pas le fichier PDF et informera les destinataires que le tableau de bord n'est pas disponible pour le propriétaire du rapport.
Le tableau suivant présente toutes les opérations que vous pouvez effectuer sur cette ressource :
Fonctionnement | Descriptif |
---|---|
GET /rapports | Récupérez tous les rapports. |
POST /rapports | Créez un rapport. |
SUPPRIMER /reports/ {id} | Supprimez un rapport spécifique. |
GET /rapports/ {id} | Récupérez un rapport spécifique. |
PATCH /rapports/ {id} | Mettez à jour un rapport spécifique. |
GET /reports/ {id} /contenu | Récupérez le contenu d'un rapport spécifique. |
PUT /reports/ {id} /contenu | Remplacez le contenu d'un rapport spécifique. |
GET /reports/ {id} /télécharger | Récupérez le PDF d'un rapport. |
POST /rapports/ {id} /emailgroups | Modifiez le groupe d'e-mails attribué à un rapport de tableau de bord spécifique. |
GET /reports/ {id} /emailgroups | Récupérez la liste des groupes d'e-mails affectés à un rapport de tableau de bord spécifique. |
SUPPRIMER /reports/ {id} /emailgroups/ {group-id} | Supprimer un groupe d'e-mails d'un rapport de tableau de bord spécifique. |
POST /reports/ {id} /emailgroups/ {group-id} | Ajoutez un groupe d'e-mails à un rapport de tableau de bord spécifique. |
POST /reports/ {id} /file d'attente | Générez et envoyez immédiatement un rapport spécifique. |
Détails de l'opération
GET /reports
Il n'existe aucun paramètre pour cette opération.
Si la demande aboutit, le système ExtraHop renvoie un objet au format suivant.
{ "cc": [], "description": "string", "email_message": "string", "email_subject": "string", "enabled": true, "from": "string", "id": 0, "include_links": "string", "name": "string", "output": {}, "owner": "string", "schedule": {}, "until": "string" }
POST /reports
Spécifiez les paramètres suivants.
- body: Objet
- Le contenu du rapport.
- name: Corde
- Le nom du rapport.
- description: Corde
- (Facultatif) Description du rapport.
- owner: Corde
- Nom d'utilisateur du propriétaire du rapport.
- cc: Tableau de cordes
- La liste des adresses e-mail, non incluses dans un groupe d'e-mails, pour recevoir des rapports.
- enabled: Booléen
- (Facultatif) Indique si le rapport est activé.
- from: Corde
- L'horodateur de début de l'intervalle de temps pour le contenu du rapport, par rapport à l'heure actuelle et exprimé en millisecondes.
- until: Corde
- (Facultatif) L'horodateur de fin de l'intervalle de temps pour le contenu du rapport, par rapport à l'heure actuelle et exprimé en millisecondes.
- email_subject: Corde
- (Facultatif) Le contenu de la ligne d'objet de l'e-mail de rapport.
- schedule: Objet
- (Facultatif) Objet contenant les paramètres qui spécifient la plage horaire planifiée pour générer et envoyer le rapport. Les paramètres sont définis dans la section schedule_type ci-dessous.
- type: Corde
- Type de calendrier de livraison du rapport.
Les valeurs suivantes sont valides :
- hourly
- daily
- weekly
- monthly
- at: Tableau d'objets
- (Facultatif) La liste des objets qui spécifient les paramètres de diffusion du rapport. Les paramètres sont définis dans la section at_type ci-dessous.
- by_day: Tableau de cordes
- (Facultatif) Les jours de la semaine où le rapport doit être envoyé.
Les valeurs suivantes sont valides :
Nous vous remercions pour vos commentaires. Pouvons-nous vous contacter pour vous poser des questions complémentaires ?