Передавайте и фильтруйте данные с DNS-серверов Windows с помощью коннектора AMA

В этой статье описывается использование соединителя Azure Monitor Agent (AMA) для потоковой передачи и фильтрации событий из журналов dns-сервера Windows. Затем вы можете глубоко проанализировать данные, чтобы защитить DNS-серверы от угроз и атак. AMA и его расширение DNS устанавливаются на Windows Server для отправки данных из аналитических журналов DNS в рабочую область Microsoft Sentinel.

DNS — это широко используемый протокол, который сопоставляется между именами узлов и читаемыми IP-адресами компьютера. Так как служба DNS не разрабатывалась с учетом безопасности, эта служба в значительной степени ориентирована на вредоносные действия, что делает ее ведение журнала важной частью мониторинга безопасности. Некоторые хорошо известные угрозы, предназначенные для DNS-серверов, включают атаки DDoS, направленные на DNS-серверы, усиление DDoS DNS, перехват DNS и многое другое.

Хотя некоторые механизмы были введены для повышения общей безопасности протокола DNS, DNS-серверы по-прежнему остаются высокоцелевым сервисом. Организации могут отслеживать журналы DNS для лучшего понимания сетевой активности и выявления подозрительного поведения или атак, направленных на ресурсы в сети. Разъём Windows DNS Events через AMA обеспечивает видимость активности DNS-сети и подозрительного поведения. Например, используйте соединитель для идентификации клиентов, которые пытаются устранить вредоносные доменные имена, просматривать и отслеживать нагрузки запросов на DNS-серверах или просматривать динамические сбои регистрации DNS.

Примечание.

Коннектор Windows DNS Events via AMA поддерживает только события из аналитического журнала.

Предварительные условия

Перед началом работы убедитесь, что у вас есть:

  • Рабочая область Log Analytics с поддержкой Microsoft Sentinel.
  • Коннектор данных События Windows DNS через AMA, установленный в составе решения Windows Server DNS из Content Hub.
  • Поддерживаются Windows Server 2016 и более поздние версии, а также Windows Server 2012 R2 с исправлением для аудита.
  • Роль DNS-сервера установлена при включённых журналах аналитических событий DNS-Server. Журналы аналитических событий DNS не включены по умолчанию. Дополнительные сведения см. в разделе Включение ведения журнала аналитических событий.

Чтобы собирать события из любой системы, не являющейся виртуальной машиной Azure, убедитесь, что установлен Azure Arc. Установите и включите Azure Arc перед включением соединителя на основе агента Azure Monitor. Требование установки Azure Arc применяется к:

  • Серверы Windows, установленные на физических компьютерах
  • Серверы Windows, установленные на локальных виртуальных машинах
  • Серверы Windows, установленные на виртуальных машинах в облаках, отличных от Azure

Настройте коннектор Windows DNS через AMA в портале

Используйте параметр настройки портала, чтобы настроить соединитель с помощью одного правила сбора данных (DCR) для каждой рабочей области. Затем используйте расширенные фильтры, чтобы отфильтровать определенные события или сведения, отправляя только ценные данные, которые вы хотите отслеживать, сокращая затраты и использование пропускной способности.

Если вам нужно создать несколько DCR, вместо этого настройте соединитель через API. При использовании API для создания нескольких DCR на портале по-прежнему отображается только один DCR.

Чтобы настроить соединитель, выполните следующие действия.

  1. В Microsoft Sentinel откройте страницу Соединители данных и найдите соединитель События DNS Windows через AMA.

  2. В нижней части боковой области выберите Открыть страницу соединителя.

  3. В области Конфигурация выберите Создать правило сбора данных. Для каждой рабочей области можно создать один DCR.

    Имя DCR, подписка и группа ресурсов автоматически задаются на основе имени рабочей области, текущей подписки и группы ресурсов, из которых был выбран соединитель. Например, вы можете:

    Снимок экрана: создание нового D C R для соединителя Windows D N S over A M A.

  4. Выберите вкладку Ресурсы>Добавить ресурсы.

  5. Выберите виртуальные машины, на которых нужно установить соединитель для сбора журналов. Например, вы можете:

    Снимок экрана с выбором ресурсов для соединителя Windows D N S over A M A.

  6. Просмотрите изменения и нажмите кнопку Сохранить>применить.

Настройте коннектор Windows DNS через AMA с помощью API

Используйте параметр настройки API, чтобы настроить коннектор с использованием нескольких DCR для каждой рабочей области. Если вы предпочитаете использовать один DCR, настройте соединитель на портале .

При создании нескольких DCR через API в портале по-прежнему отображается только один DCR.

Используйте следующий пример в качестве шаблона для создания или обновления DCR:

URL-адрес и заголовок запроса

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version={latest-supported-version}

Сведения о последней поддерживаемой версии API см. в разделе "Правила сбора данных" — REST API (Azure Monitor).

Снимок экрана: внешний вид версии API в документации по DCR.

Текст запроса

При создании DCR используйте следующий пример текста запроса. Эта полезная нагрузка определяет свойства DCR, включая расположение, вид платформы, источники данных, фильтры событий и целевую рабочую область Log Analytics:

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

Используйте расширенные фильтры в DCR

Журналы событий DNS-сервера могут содержать огромное количество событий. Мы рекомендуем использовать расширенную фильтрацию, чтобы отфильтровать ненужные события перед отправкой данных, экономя ценное время и затраты на рассмотрение. Фильтры удаляют ненужные данные из потока событий, поступающих в вашу рабочую область, и работают на основе комбинации нескольких полей.

Дополнительные сведения см. в разделе Доступные поля для фильтрации.

Создание расширенных фильтров с помощью портала

Используйте следующую процедуру для создания фильтров на портале. Дополнительные сведения о создании фильтров с помощью API см. в разделе Примеры расширенной фильтрации.

Чтобы создать фильтры с помощью портала, выполните следующие действия:

  1. На странице соединителя в области Конфигурация выберите Добавить фильтры сбора данных.

  2. Введите имя фильтра и выберите тип фильтра, который является параметром, уменьшающим количество собранных событий. Параметры нормализуются в соответствии с нормализованной схемой DNS. Дополнительные сведения см. в разделе Доступные поля для фильтрации.

    Снимок экрана: создание фильтра для соединителя Windows D N S over A M A.

  3. Выберите значения, по которым нужно отфильтровать поле среди значений, перечисленных в раскрывающемся списке.

    Снимок экрана: добавление полей в фильтр для соединителя Windows D N S over A M A.

  4. Чтобы добавить сложные фильтры, выберите Добавить поле исключения, чтобы отфильтровать и добавить соответствующее поле.

    • Используйте разделенные запятыми списки, чтобы определить несколько значений для каждого поля.
    • Чтобы создать составные фильтры, используйте разные поля с отношением AND.
    • Чтобы объединить различные фильтры, используйте связь OR между ними.

    Фильтры также поддерживают подстановочные знаки следующим образом:

    • Добавьте точку после каждой звездочки (*.).
    • Не используйте пробелы между списком доменов.
    • Подстановочные знаки применяются только к поддоменам домена, включая www.domain.com, независимо от протокола. Например, если вы используете *.domain.com в расширенном фильтре:
      • Фильтр применяется к www.domain.com и subdomain.domain.com, независимо от того, является ли протокол HTTPS, FTP и т. д.
      • Фильтр не применяется к domain.com. Чтобы применить фильтр к domain.com, укажите домен напрямую, не используя подстановочный знак.
  5. Чтобы добавить новые фильтры, выберите Добавить новый фильтр исключения.

  6. Завершив добавление фильтров, нажмите кнопку Добавить.

  7. Вернувшись на главную страницу соединителя, выберите Применить изменения, чтобы сохранить и применить фильтры к соединителям. Чтобы изменить или удалить существующие фильтры или поля, выберите значки редактирования или удаления в таблице в области Конфигурация .

  8. Чтобы добавить поля или фильтры после первоначального развертывания, снова выберите Добавить фильтры сбора данных .

Примеры расширенной фильтрации

Используйте следующие примеры для создания часто используемых расширенных фильтров с помощью портала или API.

Не собирать конкретные идентификаторы событий

Этот фильтр предписывает соединителю не собирать eventID 256 или EventID 257 или EventID 260 с IPv6-адресами.

С помощью портала Microsoft Sentinel:

  1. Создайте фильтр с полем EventOriginalType с помощью оператора Equals со значениями 256, 257 и 260.

    Снимок экрана, на котором показано исключение идентификаторов событий для коннектора Windows D N S по A M A.

  2. Создайте фильтр с указанным выше полем EventOriginalType и, используя оператор And, также добавьте поле DnsQueryTypeName со значением AAAA.

    Снимок экрана фильтрации идентификаторов событий и IPv6-адресов для коннектора Windows D N S over A M A.

Использование API:

Следующий JSON показывает эквивалентные определения фильтров для API. Первый фильтр исключает события с EventID 256, 257 или 260 с типом запроса AAAA (IPv6), а второй фильтр исключает EventID 230 с конкретными данными об ошибках.

"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"                                        
                ]
            }
        ]
    }
]

Не собирайте события с определёнными доменами

Этот фильтр предписывает соединителю не собирать события из поддоменов microsoft.com, google.com, amazon.com или событий из facebook.com или center.local.

С помощью портала Microsoft Sentinel:

Задайте поле DnsQuery с помощью оператора Equals со списком *.microsoft.com,*.google.com,facebook.com,*.amazon.com,center.local.

Ознакомьтесь с этими соображениями по фильтрации с использованием подстановочных знаков в фильтрах доменов DNS AMA.

Снимок экрана с фильтрацией доменов для коннектора Windows D N S с помощью A M A.

Чтобы определить различные значения в одном поле, используйте оператор OR .

Использование API:

Следующий JSON показывает эквивалентный фильтр исключения доменов для полезной нагрузки DCR API, исключая события DNS-запросов, которые совпадают с конкретными доменами и их поддоменами. Ознакомьтесь с этими соображениями по фильтрации с использованием подстановочных знаков в фильтрах доменов DNS AMA.

"Filters": [ 
    { 
        "FilterName": "SampleFilter", 
        "Rules": [ 
            { 
                "Field": "DnsQuery", 
                "FieldValues": [ 
                    "*.microsoft.com", "*.google.com", "facebook.com", "*.amazon.com","center.local"                                                                               
                ]
            }
        ]
    }
]

Нормализация с помощью ASIM

Этот соединитель полностью нормализуется с помощью средств синтаксического анализа расширенной информационной модели безопасности (ASIM). Соединитель направляет события из аналитических журналов DNS Windows в нормализованную таблицу с именем ASimDnsActivityLogs. Эта таблица служит своего рода переводчиком, используя единый язык, общий для всех существующих и будущих DNS-коннекторов.

Чтобы использовать анализатор, не зависящий от источника, который объединяет все данные DNS и обеспечивает выполнение анализа по всем настроенным источникам, используйте унифицирующий анализатор DNS ASIM_Im_Dns.

Средство унифицированного синтаксического анализа ASIM дополняет собственную ASimDnsActivityLogs таблицу. Хотя собственная таблица совместима с ASIM, средство синтаксического анализа требуется для добавления возможностей, таких как псевдонимы, доступных только во время запроса, и для объединения ASimDnsActivityLogs с другими источниками данных DNS.

Схема DNS ASIM представляет действие протокола DNS, зарегистрированное на DNS-сервере Windows в аналитических журналах. Схема управляется официальными списками параметров и RFC, определяющими поля и значения.

См. список полей DNS-сервера Windows , переведенных в нормализованные имена полей.

Из этой статьи вы узнали, как настроить события Windows DNS через соединитель AMA для отправки данных и фильтрации журналов Windows DNS. Дополнительные сведения о Microsoft Sentinel см. в следующих статьях: