Поделиться через


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

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

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

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

Примечание.

Соединитель "События Windows DNS через AMA" в настоящее время поддерживают только действия событий аналитики.

Необходимые компоненты

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

  • Рабочая область Log Analytics, включенная для Microsoft Sentinel.
  • Решение WINDOWS Server DNS, установленное в рабочей области.
  • Windows Server 2012 R2 с исправлением для аудита и более поздние версии.
  • Для DNS-сервера Windows.

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

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

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

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

Если вам нужно создать несколько контроллеров домена, используйте ВМЕСТО него API . Использование API для создания нескольких контроллеров домена по-прежнему будет отображать только один DCR на портале.

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

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

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

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

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

    Снимок экрана: создание нового правила сбора данных для соединителя

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

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

    Снимок экрана: выбор ресурсов для соединителя

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

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

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

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

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

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


PUT 

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

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


{
    "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",
}

Использование расширенных фильтров в контроллерах домена

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

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

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

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

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

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

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

    Снимок экрана: создание фильтра для соединителя

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

    Снимок экрана: добавление полей в фильтр для соединителя

  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.

    Снимок экрана: фильтрация идентификаторов событий для соединителя

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

    Снимок экрана: фильтрация идентификаторов событий и IPv6-адресов для соединителя

Использование 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"                                        
                ]
            }
        ]
    }
]

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

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

Использование портала Microsoft Sentinel:

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

При использовании подстановочных знаков ознакомьтесь со следующими рекомендациями.

Снимок экрана: фильтрация доменов для соединителя

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

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

При использовании подстановочных знаков ознакомьтесь со следующими рекомендациями.

"Filters": [ 

    { 

        "FilterName": "SampleFilter", 

        "Rules": [ 

            { 

                "Field": "DnsQuery", 

                "FieldValues": [ 

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

                ] 

            }, 

         } 

    } 

] 

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

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

Для средства синтаксического анализа источника, который объединяет все DNS-данные и гарантирует, что анализ выполняется во всех настроенных источниках, используйте средство_Im_Dnsсинтаксического анализа ASIM DNS.

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

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

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

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