Partage via


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.

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é. Parmi les menaces connues qui ciblent les serveurs DNS, citons les attaques DDoS ciblant les serveurs DNS, l’amplification DDoS de DNS, le détournement de DNS, etc.

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é. Par exemple, utilisez le connecteur pour identifier les clients qui tentent de résoudre des noms de domaine malveillants, de voir et de monitorer les charges de demandes sur les serveurs DNS, ou de voir les échecs d’inscription DNS dynamiques.

Remarque

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

Prérequis

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

  • Un espace de travail Log Analytics activé pour Microsoft Sentinel.
  • Solution DNS Windows Server installée sur votre espace de travail.
  • 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 Windows DNS sur AMA dans le portail

Utilisez l’option de configuration du portail pour configurer le connecteur en utilisant une seule règle de collecte de données (DCR) par espace de travail. Ensuite, utilisez des filtres avancés pour masquer des événements ou des informations spécifiques, en chargeant uniquement les données utiles que vous souhaitez monitorer, afin de réduire les coûts et l’utilisation de la bande passante.

Si vous devez créer plusieurs DCR, utilisez l’API à la place. L’utilisation de l’API pour créer plusieurs DCR affiche toujours seulement une DCR dans le portail.

Pour configurer le connecteur :

  1. Dans Microsoft Sentinel, ouvrez la page Connecteurs de données et recherchez le connecteur Événements Windows DNS via AMA.

  2. En bas du volet latéral, sélectionnez Ouvrir la page du connecteur.

  3. 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.

    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é. Par exemple :

    Capture d’écran de la création d’une DCR pour le connecteur DNS Windows via AMA.

  4. Sélectionnez l’onglet Ressources >Ajouter des ressources.

  5. Sélectionnez les machines virtuelles sur lesquelles vous souhaitez installer le connecteur pour collecter les journaux. Par exemple :

    Capture d’écran de la sélection de ressources pour le connecteur DNS Windows via AMA.

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

Configurer le connecteur Windows DNS sur AMA en utilisant l’API

Utilisez l’option de configuration de l’API pour configurer le connecteur en utilisant plusieurs DCR par espace de travail. Si vous préférez utiliser une seule DCR, utilisez l’option du portail à la place.

L’utilisation de l’API pour créer plusieurs DCR affiche toujours seulement une DCR dans le portail.

Utilisez l’exemple suivant 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 dans vos DCR

Les journaux des événements de serveur DNS peuvent contenir un grand nombre d’événements. Nous vous recommandons d’utiliser le filtrage avancé pour masquer 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 et sont basés sur une combinaison de plusieurs champs.

Pour plus d’informations, consultez Champs disponibles pour le filtrage.

Créer des filtres avancés dans le portail

Utilisez la procédure suivante pour créer des filtres dans le portail. Pour plus d’informations sur la création de filtres avec l’API, consultez Exemples de filtrage avancés.

Pour créer des filtres dans le portail :

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

  2. Entrez un nom pour le filtre et sélectionnez le type de filtre, qui 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. Pour plus d’informations, consultez Champs disponibles pour le filtrage.

    Capture d’écran de la création d’un filtre pour le connecteur DNS Windows via AMA.

  3. Sélectionnez dans la liste déroulante les valeurs dont vous voulez filtrer le champ.

    Capture d’écran de l’ajout de champs à un filtre pour le connecteur DNS Windows via AMA.

  4. Pour ajouter des filtres complexes, sélectionnez Ajouter un champ d’exclusion au filtre et ajouter le champ approprié.

    • Utilisez des listes séparées par des virgules pour définir plusieurs valeurs pour chaque champ.
    • 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.

    Les filtres prennent également en charge les caractères génériques de la façon suivante :

    • 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.
  5. Pour ajouter d’autres filtres, sélectionnez Ajouter un nouveau filtre d’exclusion.

  6. Quand 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.

Exemples de filtrage avancé

Utilisez les exemples suivants pour créer des filtres avancés couramment utilisés, dans le portail ou avec l’API.

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.

    Capture d’écran du filtrage d’ID d’événements pour le connecteur DNS Windows via AMA.

  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.

    Capture d’écran du filtrage d’ID d’événements et d’adresses IPv6 pour le connecteur DNS Windows via AMA.

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.

Capture d’écran du filtrage de domaines pour le connecteur DNS Windows via AMA.

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"                                                                               

                ] 

            }, 

         } 

    } 

] 

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.

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 :