Ressources pour la création de connecteurs Microsoft Sentinel personnalisés

Microsoft Sentinel propose une large gamme de connecteurs intégrés pour les solutions externes et les services Azure et prend également en charge l’ingestion de données provenant de certaines sources sans un connecteur dédié.

Si vous ne parvenez pas à connecter votre source de données à Microsoft Sentinel en utilisant l’une des solutions existantes disponibles, envisagez de créer votre propre connecteur de source de données.

Pour obtenir la liste complète des connecteurs pris en charge, consultez le billet de blog Microsoft Sentinel : les grands connecteurs (CEF, Syslog, direct, agent, personnalisé, etc.).

Comparer les méthodes de connecteur personnalisé

Le tableau suivant compare les détails essentiels de chaque méthode de création de connecteurs personnalisés décrite dans cet article. Sélectionnez les liens dans le tableau pour obtenir plus d’informations sur chaque méthode.

Description de la méthode Fonctionnalité Sans serveur Complexité
Plateforme de connecteurs sans code (CCP)
Idéale pour les audiences moins spécialisées pour créer des connecteurs SaaS à l’aide d’un fichier config au lieu d’un développement avancé.
Prend en charge toutes les capacités disponibles avec le code. Oui Faible ; développement simple et sans code
Agent Log Analytics
Idéale pour collecter des fichiers à partir de sources locales et IaaS
Collecte de fichiers uniquement. Non Faible
Logstash
Idéale pour les sources locales et IaaS, toute source pour laquelle un plug-in est disponible et les organisations qui connaissent déjà Logstash
Les capacités des plug-ins disponibles, ainsi que celles du plug-in personnalisé, offrent une flexibilité significative. Non ; nécessite l’exécution d’une machine virtuelle ou d’un cluster de machines virtuelles Faible ; prend en charge de nombreux scénarios avec des plug-ins
Logic Apps
Coût élevé ; à éviter pour les grandes quantités de données
Idéale pour les sources cloud à faible volume
La programmation sans code offre une flexibilité limitée, sans prise en charge de l’implémentation des algorithmes.

Si aucune action disponible ne répond déjà à vos besoins, la création d’une action personnalisée peut ajouter une certaine complexité.
Oui Faible ; développement simple et sans code
PowerShell
Idéale pour le prototypage et les chargements de fichiers périodiques
Prise en charge directe pour la collecte de fichiers.

PowerShell peut être utilisé pour collecter davantage de sources, mais nécessitera le codage et la configuration du script en tant que service.
Non Faible
API Log Analytics
Idéale pour les éditeurs de logiciels indépendants qui implémentent l’intégration et pour les exigences uniques de collecte
Prend en charge toutes les capacités disponibles avec le code. Dépend de l’implémentation Élevé
Azure Functions
Idéale pour les sources cloud à volume élevé et pour les exigences uniques de collecte
Prend en charge toutes les capacités disponibles avec le code. Oui Élevé ; nécessite des connaissances en programmation

Conseil

Pour comparer l’utilisation de Logic Apps et d’Azure Functions pour le même connecteur, consultez :

Se connecter avec la plateforme de connecteurs sans code

La plateforme de connecteurs sans code (CCP) fournit un fichier config qui peut être utilisé par les clients et les partenaires, puis déployé dans votre propre espace de travail ou en tant que solution dans la galerie de solutions de Microsoft Sentinel.

Les connecteurs créés à l’aide de la CCP sont entièrement SaaS, sans aucune exigence en matière d’installation de service, et comprennent également un monitoring de l’intégrité et une assistance complète fournis par Microsoft Sentinel.

Pour plus d’informations, consultez Créer un connecteur sans code pour Microsoft Sentinel.

Se connecter avec l’agent Log Analytics

Si votre source de données livre des événements dans des fichiers, nous vous recommandons d’utiliser l’agent Log Analytics d’Azure Monitor pour créer votre connecteur personnalisé.

Se connecter avec Logstash

Si vous connaissez Logstash, vous pouvez utiliser cette solution avec le plug-in de sortie Logstash pour Microsoft Sentinel afin de créer votre connecteur personnalisé.

Grâce au plug-in de sortie Logstash pour Microsoft Sentinel, vous pouvez utiliser n’importe quel plug-in d’entrée et de filtrage Logstash et configurer Microsoft Sentinel comme sortie pour un pipeline Logstash. Logstash dispose d’une vaste bibliothèque de plug-ins qui permettent l’entrée de diverses sources, telles qu’Event Hubs, Apache Kafka, des fichiers, des bases de données et des services Cloud. Utilisez les plug-ins de filtrage pour analyser les événements, filtrer les événements inutiles, obfusquer les valeurs et bien plus encore.

Pour obtenir des exemples d’utilisation de Logstash en tant que connecteur personnalisé, consultez :

Pour obtenir des exemples de plug-ins Logstash utiles, consultez :

Conseil

Logstash permet également la mise à l’échelle de la collecte des données à l’aide d’un cluster. Pour plus d’informations, consultez Utilisation d’une machine virtuelle Logstash avec équilibrage de charge à grande échelle.

Se connecter avec Logic Apps

Utilisez Azure Logic Apps pour créer un connecteur personnalisé serverless pour Microsoft Sentinel.

Notes

Si la création de connecteurs serverless à l’aide de Logic Apps peut être pratique, l’utilisation de Logic Apps pour vos connecteurs peut s’avérer coûteuse pour des volumes importants de données.

Nous vous recommandons d’utiliser cette méthode uniquement pour les sources de données de faible volume ou pour enrichir vos chargements de données.

  1. Pour démarrer vos applications logiques, utilisez l’un des déclencheurs suivants :

    Déclencheur Description
    Tâche récurrente Par exemple, programmez votre application logique pour récupérer régulièrement des données à partir de fichiers, de bases de données ou d’API externes spécifiques.
    Pour plus d’informations, consultez Créer, planifier et exécuter des tâches et des workflows récurrents avec Azure Logic Apps.
    Déclenchement à la demande Exécutez votre application logique à la demande pour la collecte et le test manuels des données.
    Pour plus d’informations, consultez Appeler, déclencher ou imbriquer des applications logiques à l’aide de points de terminaison HTTPS.
    Point de terminaison HTTP/S Recommandé pour la diffusion en continu et si le système source peut démarrer le transfert de données.
    Pour plus d’informations, consultez Appeler des points de terminaison de service via HTTP ou HTTPS.
  2. Utilisez l’un des connecteurs Logic Apps qui lisent les informations pour obtenir vos événements. Par exemple :

    Conseil

    Des connecteurs personnalisés pour les API REST, les serveurs SQL et les systèmes de fichiers permettent également de récupérer des données à partir de sources de données locales. Pour plus d’informations, consultez la documentation Installer une passerelle de données locale.

  3. Préparez les informations que vous souhaitez récupérer.

    Par exemple, utilisez l’action Analyse JSON pour accéder aux propriétés du contenu JSON, ce qui vous permet de sélectionner ces propriétés dans la liste du contenu dynamique lorsque vous spécifiez des entrées pour votre application logique.

    Pour plus d’informations, consultez Effectuer des opérations sur les données dans Azure Logic Apps.

  4. Écrivez les données dans Log Analytics.

    Pour plus d’informations, consultez la documentation Collecteur de données Azure Log Analytics.

Pour obtenir des exemples sur la façon dont vous pouvez créer un connecteur personnalisé pour Microsoft Sentinel à l’aide de Logic Apps, consultez :

Se connecter avec PowerShell

Le script PowerShell Upload-AzMonitorLog vous permet d’utiliser PowerShell pour diffuser en continu des événements ou des informations contextuelles sur Microsoft Sentinel depuis la ligne de commande. Cette diffusion en continu crée un connecteur personnalisé entre votre source de données et Microsoft Sentinel.

Par exemple, le script suivant charge un fichier CSV dans Microsoft Sentinel :

Import-Csv .\testcsv.csv
| .\Upload-AzMonitorLog.ps1
-WorkspaceId '69f7ec3e-cae3-458d-b4ea-6975385-6e426'
-WorkspaceKey $WSKey
-LogTypeName 'MyNewCSV'
-AddComputerName
-AdditionalDataTaggingName "MyAdditionalField"
-AdditionalDataTaggingValue "Foo"

Le script PowerShell Upload-AzMonitorLog utilise les paramètres suivants :

Paramètre Description
WorkspaceId ID de l’espace de travail Microsoft Sentinel où vous stockerez vos données. Trouver l’ID et la clé de votre espace de travail.
WorkspaceKey Clé primaire ou secondaire de l’espace de travail Microsoft Sentinel dans lequel vous stockerez vos données. Trouver l’ID et la clé de votre espace de travail.
LogTypeName Nom de la table de journal personnalisée dans laquelle vous souhaitez stocker les données. Un suffixe _CL est automatiquement ajouté à la fin du nom de votre table.
AddComputerName Lorsque ce paramètre existe, le script ajoute le nom de l’ordinateur actuel à chaque enregistrement de journal, dans un champ nommé Computer.
TaggedAzureResourceId Lorsque ce paramètre existe, le script associe tous les enregistrements de journal chargés à la ressource Azure spécifiée.

Cette association permet de charger des enregistrements de journal pour les requêtes en contexte de ressources et adhère à un contrôle d’accès centré sur les ressources et basé sur les rôles.
AdditionalDataTaggingName Lorsque ce paramètre existe, le script ajoute un autre champ à chaque enregistrement de journal, avec le nom configuré et la valeur configurée pour le paramètre AdditionalDataTaggingValue.

Dans ce cas, AdditionalDataTaggingValue ne doit pas être vide.
AdditionalDataTaggingValue Lorsque ce paramètre existe, le script ajoute un autre champ à chaque enregistrement de journal, avec la valeur configurée et le nom de champ configuré pour le paramètre AdditionalDataTaggingName.

Si le paramètre AdditionalDataTaggingName est vide, mais qu’une valeur est configurée, le nom de champ par défaut est DataTagging.

Trouver l’ID et la clé de votre espace de travail

Vous trouverez les détails des paramètres WorkspaceID et WorkspaceKey dans Microsoft Sentinel :

  1. Dans Microsoft Sentinel, sélectionnez Paramètres sur la gauche, puis sélectionnez l’onglet Paramètres de l’espace de travail.

  2. Sous Prise en main de Log Analytics>1 Connecter une source de données, sélectionnez Gestion des agents Windows et Linux.

  3. Recherchez l’ID de votre espace de travail, la clé primaire et la clé secondaire dans les onglets Serveurs Windows.

Se connecter avec l’API Log Analytics

Vous pouvez diffuser en continu des événements sur Microsoft Sentinel en utilisant l’API de collecteur de données Log Analytics pour appeler directement un point de terminaison RESTful.

Bien que l’appel d’un point de terminaison RESTful nécessite directement davantage de programmation, il offre également plus de flexibilité.

Pour plus d’informations, consultez l’API de collecteur de données Log Analytics, en particulier les exemples suivants :

Se connecter avec Azure Functions

Utilisez Azure Functions avec une API RESTful et divers langages de codage, tels que PowerShell, pour créer un connecteur personnalisé serverless.

Pour voir des exemples de cette méthode, consultez :

Analyser les données de votre connecteur personnalisé

Pour tirer parti des données collectées avec votre connecteur personnalisé, développez des analyseurs de l’Advanced SIEM Information Model (ASIM) pour utiliser votre connecteur. L’utilisation d’ASIM permet au contenu intégré de Microsoft Sentinel d’utiliser vos données personnalisées et facilite l’interrogation des données par les analystes.

Si votre méthode de connecteur le permet, vous pouvez implémenter une partie de l’analyse dans le cadre du connecteur pour améliorer les performances de l’analyse du temps de requête :

  • Si vous avez utilisé Logstash, utilisez le plug-in de filtre Grok pour analyser vos données.
  • Si vous avez utilisé une fonction Azure, analysez vos données à l’aide du code.

Vous devez toujours implémenter des analyseurs ASIM, mais l’implémentation d’une partie de l’analyse directement avec le connecteur simplifie l’analyse et améliore les performances.

Étapes suivantes

Utilisez les données ingérées dans Microsoft Sentinel pour sécuriser votre environnement à l’aide de l’un des processus suivants :

Découvrez également un exemple de création de connecteurs personnalisé pour la surveillance Zoom : Surveiller Zoom à l’aide de Microsoft Sentinel.