Diffuser en continu et filtrer des données à partir de serveurs DNS Windows avec le connecteur AMA

Cet article explique comment utiliser le connecteur Azure Monitor Agent (AMA) pour diffuser en continu et filtrer des événements à partir de vos journaux de serveur DNS (Domain Name System) Windows. Vous pouvez ensuite analyser de manière plus approfondie vos données pour protéger vos serveurs DNS contre les menaces et les attaques.

L’AMA et son extension DNS sont installés sur votre serveur Windows Server pour charger des données à partir de vos journaux analytiques DNS vers l’espace de travail Microsoft Sentinel. En savoir plus sur le connecteur.

Vue d’ensemble

Pourquoi il est important de surveiller l’activité DNS

DNS est un protocole largement utilisé, qui met en correspondance les noms d’hôte et les adresses IP lisibles par ordinateur. Étant donné que DNS n’a pas été conçu en se focalisant sur la sécurité, le service est fortement ciblé par les activités malveillantes, ce qui rend sa journalisation essentielle dans la surveillance de la sécurité.

Voici quelques menaces connues qui ciblent les serveurs DNS :

  • Attaques DDoS ciblant des serveurs DNS
  • Amplification de DDoS DNS
  • Détournement de DNS
  • Tunneling DNS
  • Empoisonnement de DNS
  • Usurpation de DNS
  • Attaque NXDOMAIN
  • Attaques de domaine fantôme

Événements DNS Windows via le connecteur AMA

Bien que certains mécanismes aient été introduits pour améliorer la sécurité globale de ce protocole, les serveurs DNS sont toujours un service fortement ciblé. Les organisations peuvent surveiller les journaux DNS pour mieux comprendre l’activité réseau et pour identifier les comportements suspects ou les attaques ciblant des ressources au sein du réseau. Les Événements DNS Windows via le connecteur AMA fournissent ce type de visibilité.

Avec ce connecteur, vous pouvez :

  • Identifier les clients qui tentent de résoudre des noms de domaines malveillants
  • Afficher et surveiller les charges de requêtes sur les serveurs DNS.
  • Afficher les échecs d’inscription DNS dynamique
  • Identifier les noms de domaine fréquemment interrogés et les clients communiquant.
  • Identifier les enregistrements de ressources obsolètes
  • Afficher tous les journaux liés à DNS à un seul emplacement.

Fonctionnement de la collection avec les Événements DNS Windows via le connecteur AMA

  1. Le connecteur AMA utilise l’extension DNS installée pour collecter et analyser les journaux.

    Notes

    Les Événements DNS Windows via le connecteur AMA prennent actuellement en charge les activités d’événements analytiques uniquement.

  2. Le connecteur diffuse en continu les événements vers l’espace de travail Microsoft Sentinel pour analyse plus approfondie.

  3. Vous pouvez désormais utiliser des filtres avancés pour filtrer des événements ou des informations spécifiques. Avec les filtres avancés, vous ne chargez que les données utiles que vous souhaitez surveiller, ce qui réduit les coûts et l’utilisation de la bande passante.

Normalisation à l’aide d’ASIM

Ce connecteur est entièrement normalisé à l’aide des analyseurs ASIM (Advanced Security Information Model). Le connecteur diffuse en continu les événements qui proviennent des journaux analytiques dans la table normalisée nommée ASimDnsActivityLogs. Cette table agit comme un traducteur, en utilisant un langage unifié, partagé par tous les connecteurs DNS à venir.

Pour un analyseur indépendant de la source qui unifie toutes les données DNS et garantit que votre analyse s’exécute sur toutes les sources configurées, utilisez l’analyseur d’unification DNS ASIM_Im_Dns.

L’analyseur d’unification ASIM complète la table ASimDnsActivityLogs native. Bien que la table native soit conforme à ASIM, l’analyseur est nécessaire pour ajouter des fonctionnalités, telles que des alias, disponibles uniquement au moment de la requête, et pour combiner ASimDnsActivityLogs avec d’autres sources de données DNS.

Le schéma DNS ASIM représente l’activité du protocole DNS, telle que journalisée dans le serveur DNS Windows dans les journaux analytiques. Le schéma est régi par des listes de paramètres officielles et des RFC qui définissent des champs et des valeurs.

Consultez la liste des champs de serveur DNS Windows traduits en noms de champs normalisés.

Configurer le DNS Windows via le connecteur AMA

Vous pouvez configurer le connecteur de deux façons :

  • Portail Microsoft Sentinel. Avec cette configuration, vous pouvez créer, gérer et supprimer une seule règle de collecte de données (DCR) par espace de travail. Même si vous définissez plusieurs DCR via l’API, le portail n’affiche qu’une seule DCR.
  • API. Avec cette configuration, vous pouvez créer, gérer et supprimer plusieurs DCR.

Prérequis

Avant de commencer, vérifiez que vous disposez des éléments suivants :

  • La solution Microsoft Sentinel activée.
  • Un espace de travail Microsoft Sentinel défini.
  • Windows Server 2012 R2 avec le correctif logiciel d’audit et version ultérieure.
  • Un serveur DNS Windows.
  • Pour collecter des événements à partir de n’importe quel système qui n’est pas une machine virtuelle Azure, vérifiez qu’Azure Arc est installé. Installez et activez Azure Arc avant de pouvoir activer le connecteur basé sur l’agent Azure Monitor. Cette exigence inclut les éléments suivants :
    • Les serveurs Windows installés sur des machines physiques
    • Les serveurs Windows installés sur des machines virtuelles locales
    • Les serveurs Windows installés sur des machines virtuelles dans des clouds non-Azure

Configurer le connecteur dans le portail Microsoft Sentinel (IU)

Ouvrir la page du connecteur et créer la DCR

  1. Ouvrez le portail Azure et accédez au service Microsoft Sentinel.
  2. Dans le panneau Connecteurs de données, dans la barre de recherche, tapez DNS.
  3. Sélectionnez le connecteur Événements DNS Windows via AMA.
  4. Sous la description du connecteur, sélectionnez Ouvrir la page du connecteur.
  5. Dans la zone Configuration, sélectionnez Créer une règle de collecte de données. Vous pouvez créer un seule DCR par espace de travail. Si vous devez créer plusieurs DCR, utilisez l’API.

Le nom, l’abonnement et le groupe de ressources de la DCR sont automatiquement définis en fonction du nom de l’espace de travail, de l’abonnement actuel et du groupe de ressources dans lequel le connecteur a été sélectionné.

Screenshot of creating a new D C R for the Windows D N S over A M A connector.

Définir les ressources (machines virtuelles)

  1. Sélectionnez l’onglet Ressources, puis Ajouter des ressources.

  2. Sélectionnez les machines virtuelles sur lesquelles vous souhaitez installer le connecteur pour collecter les journaux.

    Screenshot of selecting resources for the Windows D N S over A M A connector.

  3. Passez en revue vos modifications et sélectionnez Enregistrer>Appliquer.

Filtrer les événements non souhaités

Lorsque vous utilisez des filtres, vous excluez l’événement spécifié par le filtre. En d’autres termes, Microsoft Sentinel ne collecte pas de données pour l’événement spécifié. Bien que cette étape ne soit pas obligatoire, elle peut aider à réduire les coûts et à simplifier le tri des événements.

Pour créer des filtres :

  1. Dans la page du connecteur, dans la zone Configuration, sélectionnez Ajouter des filtres de collecte de données.

  2. Tapez un nom pour le filtre et sélectionnez le type de filtre. Le type de filtre est un paramètre qui réduit le nombre d’événements collectés. Les paramètres sont normalisés en fonction du schéma normalisé DNS. Consultez la liste des champs disponibles pour le filtrage.

    Screenshot of creating a filter for the Windows D N S over A M A connector.

  3. Choisissez les valeurs pour lesquelles vous souhaitez filtrer le champ parmi les valeurs répertoriées dans la liste déroulante.

    Screenshot of adding fields to a filter for the Windows D N S over A M A connector.

  4. Pour ajouter des filtres complexes, sélectionnez Ajouter un champ d’exclusion au filtre et ajouter le champ approprié. Consultez les exemples de la section Utiliser les filtres avancés ci-dessous.

  5. Pour ajouter d’autres filtres, sélectionnez Ajouter un nouveau filtre d’exclusion.

  6. Lorsque vous avez fini d’ajouter des filtres, sélectionnez Ajouter.

  7. De retour sur la page principale des connecteurs, sélectionnez Appliquer les modifications pour enregistrer et déployer les filtres sur vos connecteurs. Pour modifier ou supprimer des filtres ou des champs existants, sélectionnez les icônes de modification ou de suppression dans la table sous la zone Configuration.

  8. Pour ajouter des champs ou des filtres après votre déploiement initial, sélectionnez à nouveau Ajouter des filtres de collecte de données.

Configurer le connecteur avec l’API

Vous pouvez créer des DCR à l’aide de l’API. Utilisez cette option si vous devez créer plusieurs DCR.

Utilisez cet exemple comme modèle pour créer ou mettre à jour une DCR :

URL et en-tête de la requête


PUT 

    https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2019-11-01-preview 

Corps de la demande


{
    "properties": {
        "dataSources": {
            "windowsEventLogs": [],
            "extensions": [
                {
                    "streams": [
                        "Microsoft-ASimDnsActivityLogs"
                    ],
                    "extensionName": "MicrosoftDnsAgent",
                    "extensionSettings": {
                        "Filters": [
                            {
                                "FilterName": "SampleFilter",
                                "Rules": [
                                    {
                                        "Field": "EventOriginalType",
                                        "FieldValues": [
                                            "260"
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    "name": "SampleDns"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{sentinelWorkspaceName}",
                    "workspaceId": {WorkspaceGuid}",
                    "name": "WorkspaceDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-ASimDnsActivityLogs"
                ],
                "destinations": [
                    " WorkspaceDestination "
                ]
            }
        ],
    },
    "location": "eastus2",
    "tags": {},
    "kind": "Windows",
    "id":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Insights/dataCollectionRules/{workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
    "name": " {workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
    "type": "Microsoft.Insights/dataCollectionRules",
}

Utiliser des filtres avancés

Les journaux des événements de serveur DNS peuvent contenir un grand nombre d’événements. Vous pouvez utiliser le filtrage avancé pour filtrer les événements inutiles avant le chargement des données, ce qui permet d’économiser du temps de tri et des coûts précieux. Les filtres suppriment les données inutiles du flux d’événements chargés dans votre espace de travail.

Les filtres sont basés sur une combinaison de nombreux champs.

  • Vous pouvez utiliser plusieurs valeurs pour chaque champ à l’aide d’une liste séparée par des virgules.
  • Pour créer des filtres composés, utilisez différents champs avec une relation AND.
  • Pour combiner différents filtres, utilisez une relation OR entre eux.

Passez en revue les champs disponibles pour le filtrage.

Utiliser des caractères génériques

Vous pouvez utiliser des caractères génériques dans les filtres avancés. Passez en revue ces considérations lorsque vous utilisez des caractères génériques :

  • Ajoutez un point après chaque astérisque (*.).
  • N’utilisez pas d’espaces dans la liste des domaines.
  • Les caractères génériques s’appliquent uniquement aux sous-domaines du domaine, y compris www.domain.com, quel que soit le protocole. Par exemple, si vous utilisez *.domain.com dans un filtre avancé :
    • Le filtre s’applique à www.domain.com et subdomain.domain.com, que le protocole soit HTTPS, FTP ou autre.
    • Le filtre ne s’applique pas à domain.com. Pour appliquer un filtre à domain.com, spécifiez le domaine directement, sans utiliser de caractère générique.

Exemples de filtres avancés

Ne pas collecter d’ID d’événements spécifiques

Ce filtre indique au connecteur de ne pas collecter EventID 256, EventID 257 ou EventID 260 avec des adresses IPv6.

Utilisation du portail Microsoft Sentinel :

  1. Créez un filtre avec le champ EventOriginalType, en utilisant l’opérateur Equals, avec les valeurs 256, 257 et 260.

    Screenshot of filtering out event IDs for the Windows D N S over A M A connector.

  2. Créez un filtre avec le champ EventOriginalType défini ci-dessus et en utilisant l’opérateur And, et avec le champ DnsQueryTypeName défini sur AAAA.

    Screenshot of filtering out event IDs and IPv6 addresses for the Windows D N S over A M A connector.

Utilisation de l’API :

"Filters": [
    {
        "FilterName": "SampleFilter",
        "Rules": [
            {
                "Field": "EventOriginalType",
                "FieldValues": [
                    "256", "257", "260"                                                                              
                ]
            },
            {
                "Field": "DnsQueryTypeName",
                "FieldValues": [
                    "AAAA"                                        
                ]
            }
        ]
    },
    {
        "FilterName": "EventResultDetails",
        "Rules": [
            {
                "Field": "EventOriginalType",
                "FieldValues": [
                    "230"                                        
                ]
            },
            {
                "Field": "EventResultDetails",
                "FieldValues": [
                    "BADKEY","NOTZONE"                                        
                ]
            }
        ]
    }
]

Ne pas collecter d’événements avec des domaines spécifiques

Ce filtre indique au connecteur de ne pas collecter d’événements à partir de sous-domaines de microsoft.com, google.com, amazon.com, ou d’événements de facebook.com ou center.local.

Utilisation du portail Microsoft Sentinel :

Définissez le champ DnsQuery en utilisant l’opérateur Equals, avec la liste *.microsoft.com,*.google.com,facebook.com,*.amazon.com,center.local.

Passez en revue ces considérations concernant l’utilisation de caractères génériques.

Screenshot of filtering out domains for the Windows D N S over A M A connector.

Pour définir différentes valeurs dans un seul champ, utilisez l’opérateur OR.

Utilisation de l’API :

Passez en revue ces considérations concernant l’utilisation de caractères génériques.

"Filters": [ 

    { 

        "FilterName": "SampleFilter", 

        "Rules": [ 

            { 

                "Field": "DnsQuery", 

                "FieldValues": [ 

                    "*.microsoft.com", "*.google.com", "facebook.com", "*.amazon.com","center.local"                                                                               

                ] 

            }, 

         } 

    } 

] 

Étapes suivantes

Dans cet article, vous avez appris à configurer les événements DNS Windows via le connecteur AMA pour charger des données et filtrer vos journaux DNS Windows. Pour en savoir plus sur Microsoft Sentinel, consultez les articles suivants :