API REST pour l’intégration tierce dans Security Operations

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • Le Opérations de sécurité système de base comprend une série d’API REST scriptées qui permettent aux clients et aux partenaires de s’intégrer facilement à un déploiement existant Opérations de sécurité . Les API vous permettent de collecter des données provenant de l’extérieur de votre système (par exemple, un script Python est utilisé pour recevoir des données de VirusTotal) et de les renvoyer à votre instance.

    Les scripts écrits dans presque tous les langages (Python, par exemple) peuvent être utilisés avec les API pour effectuer des processus spécifiques au client. Les scripts doivent être écrits dans un langage capable d’effectuer un appel HTTP Post orienté vers l’extérieur. Par exemple, si vous avez une application Java, vous devez utiliser une bibliothèque, telle que le package java.net.HttpUrlConnection , pour construire un appel HTTP et transmettre une chaîne JSON comme corps pour le message.

    L’API est uniquement utilisée pour ajouter des données qui ont été collectées en dehors de notre système. Par exemple, si vous avez entré un script Python VT et que vous avez reçu des données de VT, vous pouvez renvoyer ces données à l’instance SN.

    Authentification

    Toutes les opérations au sein des définitions d’API utilisent l’authentification de plateforme fournie par le Fonctionnalité d’opération des API REST scriptées . Pour y accéder, accédez à Services web du système > Services Web basés sur un script > API REST basées sur un script et localisez l’API des options d’intégration SecOps .
    Figure 1. Service REST scripté
    Service REST scripté

    L’utilisateur et le domaine de l’utilisateur sont facilement disponibles dans le contexte de l’API. Les enregistrements peuvent être liés à un utilisateur, un chemin d’audit doit être établi et la séparation de domaine peut être réalisée. En outre, étant donné que vous êtes authentifié en tant qu’utilisateur spécifique, vous pouvez utiliser Utilisation de GlideRecordSecure pour empêcher tout accès non autorisé aux données.

    Autorisation

    Pour protéger le processus de création d’enregistrement des utilisateurs extérieurs à l’application Opérations de sécurité , vous devez disposer du rôle sn_sec_cmn.api_write . Seuls les utilisateurs disposant de ce rôle peuvent accéder aux API.

    Paramètres de demande de configuration

    Les paramètres de demande suivants sont disponibles.
    Nom Par défaut Description
    ignore_mandatory_fields faux Si la valeur est définie sur vrai, l’enregistrement est conservé même si les champs obligatoires ne sont pas renseignés.
    include_wrap faux Si la valeur est définie sur vrai, la réponse inclut la couche standard fournie par l’instance pour les API REST basées sur un script.
    simple_response faux Si la valeur est définie sur vrai, la réponse indique uniquement si l’opération a réussi.

    Réponses d’erreur

    Les erreurs suivantes peuvent se produire.
    Message d'erreur Quand cela se produit-il ? Solution
    Accès insuffisant L’utilisateur ne dispose pas du rôle sn_sec_cmn.api_write. Ajoutez le rôle à l’utilisateur.
    Corps de publication non valide Le corps de la demande est vide ou est un objet vide. Conforme à la définition de l’API.
    Aucun champ fourni Les champs de données fournis pour conserver sont vides. Conforme à la définition de l’API.
    Champs obligatoires manquants : x,y,z Les champs obligatoires sont manquants. Conformez-vous à la définition de table de la table cible ou définissez ignore_mandatory_fields sur vrai.
    Impossible de conserver l'enregistrement Impossible de conserver l’enregistrement analysé. Échec de l’insertion de GlideRecord, une analyse plus approfondie est requise.
    Erreur inconnue Se produit si aucun chemin d’erreur connu n’a été suivi. Une analyse plus approfondie est nécessaire.

    Cas d’utilisation de l’enrichissement de CI

    À l’aide de vos scripts tiers, vous pouvez écrire dans la table Enrichissement des éléments de configuration [sn_sec_cmn_ci_enrichment_result] pour l’enrichissement de CI. Les enregistrements d’enrichissement sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement provenant d’une source tierce.

    Des exemples de demande et de réponses pour le cas d’utilisation d’enrichissement de CI sont affichés ici.

    Figure 2. Créer une demande d’enrichissement de CI
    Enrichissement de CI : Créer –Demande
    Figure 3. Créer-Réponse pour l’enrichissement de CI
    Enrichissement de CI : Créer –Réponse

    Cas d’utilisation de l’enrichissement des observables

    À l’aide de vos scripts tiers, vous pouvez écrire dans la table Résultat de l’enrichissement des observables [sn_ti_observable_enrichment_result] pour l’enrichissement des observables. Les enregistrements d’enrichissement sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement provenant d’une source tierce.

    Des exemples de demande et de réponses pour le cas d’utilisation d’enrichissement des observables sont affichés ici.

    Figure 4. Créer une demande d’enrichissement des observables
    Enrichissement de l’observable : créer-demander
    Figure 5. Créer-Réponse pour l’enrichissement des observables
    Enrichissement des observables : créer une réponse
    Remarque :
    En plus d’enrichir les enregistrements existants, vous pouvez également Opérations de sécurité Mappage des données d’enrichissement ajouter de nouveaux enregistrements à des tables en transmettant une enrichment_mapping_id pour un mappage d’enrichissement existant et une chaîne de raw_data correspondante qui peut être analysée par le processus de mappage.

    Cas d’utilisation de la recherche de menaces

    À l’aide de vos scripts tiers, vous pouvez écrire dans la table Résultat de la recherche de menace [sn_ti_lookup_result] pour obtenir les résultats de la recherche de menace. Les enregistrements de recherche sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement provenant d’une source tierce.

    Des exemples de demande et de réponses pour le cas d’utilisation de recherche de menaces sont affichés ici.

    Figure 6. Créer une demande pour les recherches de menaces
    Créer une demande pour les recherches de menaces
    Figure 7. Créer-Réponse pour les recherches de menaces
    Créer-Réponse pour les recherches de menaces