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

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • Le Security Operations 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 Security Operations . 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 n’importe quel langage (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 en tant que corps du 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 saisi 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 dans les 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 peut être établi et Domain separation 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 Security Operations , 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 scriptées.
    simple_response faux Si la valeur est définie sur true, la réponse inclut 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 un objet vide. Conforme à la définition d’API.
    Aucun champ fourni Les champs de données fournis pour la conservation sont vides. Conforme à la définition d’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é. GlideRecord insert() a échoué, une analyse plus approfondie est nécessaire.
    Erreur inconnue Se produit si aucun chemin d’erreur connu n’a été suivi. Une analyse plus approfondie est nécessaire.

    Cas d’utilisation d’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 des options existantes qui fournissent des informations détaillées sur un enregistrement à partir d’une source tierce.

    Un exemple de demande et de réponses pour le cas d’utilisation d’enrichissement de CI est affiché ici.

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

    Cas d’utilisation d’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 enrichir les observables. Les enregistrements d’enrichissement sont basés sur des options existantes qui fournissent des informations détaillées sur un enregistrement à partir d’une source tierce.

    L’exemple de demande et de réponses pour le cas d’utilisation d’enrichissement des observables est affiché ici.

    Figure 4. Créer une demande d’enrichissement des observables
    Enrichissement de l’observable : créer : demande
    Figure 5. Create-Response pour l’enrichissement des observables
    Enrichissement des observables : créer une réponse
    Remarque :
    En plus d’enrichir les enregistrements existants, vous pouvez également Security Operations 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 menace

    À 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 des résultats de recherche de menace. Les enregistrements de recherche sont basés sur les options existantes qui fournissent des informations détaillées sur un enregistrement à partir d’une source tierce.

    L’exemple de demande et de réponses pour le cas d’utilisation de recherche de menaces est affiché ici.

    Figure 6. Créer une demande pour les recherches de menaces
    Créer une demande pour les recherches de menaces
    Figure 7. Create-Response pour les recherches de menaces
    Create-Response pour les recherches de menaces