Przesyłaj strumieniowo i filtruj dane z serwerów DNS systemu Windows za pomocą łącznika AMA

W tym artykule opisano, jak używać łącznika Azure Monitor Agent (AMA) do przesyłania strumieniowego danych i filtrowania zdarzeń z dzienników serwera DNS systemu Windows. Następnie możesz dokładnie przeanalizować dane, aby chronić serwery DNS przed zagrożeniami i atakami. Usługa AMA i jej rozszerzenie DNS są instalowane w Windows Server w celu przekazywania danych z dzienników analitycznych DNS do obszaru roboczego Microsoft Sentinel.

DNS to powszechnie używany protokół, który mapuje nazwy hostów i adresy IP czytelne dla komputera. Ponieważ system DNS nie został zaprojektowany z myślą o zabezpieczeniach, usługa jest wysoce objęta złośliwym działaniem, dzięki czemu rejestrowanie jest istotną częścią monitorowania zabezpieczeń. Niektóre powszechnie znane zagrożenia wymierzone w serwery DNS obejmują ataki DDoS na serwery DNS, ataki amplifikacyjne DNS, przejmowanie DNS i inne.

Chociaż wprowadzono pewne mechanizmy poprawiające ogólne bezpieczeństwo protokołu DNS, serwery DNS nadal są usługą wysoce targetowaną. Organizacje mogą monitorować dzienniki DNS, aby lepiej zrozumieć aktywność sieci oraz zidentyfikować podejrzane zachowanie lub ataki dotyczące zasobów w sieci. Zdarzenia DNS Windows przez złącze AMA zapewniają wgląd w aktywność sieci DNS i podejrzane zachowania. Na przykład użyj łącznika, aby zidentyfikować klientów, którzy próbują rozpoznać złośliwe nazwy domen, wyświetlić i monitorować obciążenia żądań na serwerach DNS lub wyświetlić dynamiczne błędy rejestracji DNS.

Uwaga

Zdarzenia DNS systemu Windows za pośrednictwem łącznika AMA obsługują tylko zdarzenia dziennika analitycznego.

Wymagania wstępne

Przed rozpoczęciem sprawdź, czy masz następujące elementy:

  • Obszar roboczy usługi Log Analytics z włączoną usługą Microsoft Sentinel.
  • Łącznik danych Zdarzenia DNS systemu Windows za pośrednictwem AMA, zainstalowany w ramach rozwiązania Windows Server DNS z centrum zawartości.
  • Obsługiwany jest system Windows Server 2016 i nowsze lub Windows Server 2012 R2 z poprawką audytu.
  • Zainstalowano rolę serwera DNS z włączonymi analitycznymi dziennikami zdarzeń DNS-Server. Dzienniki zdarzeń analitycznych DNS nie są domyślnie włączone. Aby uzyskać więcej informacji, zobacz Włączanie rejestrowania zdarzeń analitycznych.

Aby zbierać zdarzenia z dowolnego systemu, który nie jest maszyną wirtualną platformy Azure, upewnij się, że zainstalowano usługę Azure Arc. Zainstaluj i włącz usługę Azure Arc przed włączeniem łącznika opartego na programie Azure Monitor Agent. Wymóg instalacji Azure Arc dotyczy do:

  • Serwery z systemem Windows zainstalowane na maszynach fizycznych
  • Serwery z systemem Windows zainstalowane na lokalnych maszynach wirtualnych
  • Serwery z systemem Windows zainstalowane na maszynach wirtualnych w chmurach innych niż Azure

Skonfiguruj w portalu łącznik DNS over AMA dla systemu Windows

Użyj opcji konfiguracji portalu, aby skonfigurować łącznik przy użyciu pojedynczej reguły zbierania danych (DCR) dla każdego obszaru roboczego. Następnie użyj zaawansowanych filtrów, aby odfiltrować określone zdarzenia lub informacje, przesyłając tylko cenne dane, które chcesz monitorować, zmniejszając koszty i użycie przepustowości.

Jeśli musisz utworzyć wiele obiektów DCR, zamiast tego skonfiguruj łącznik za pośrednictwem interfejsu API. Utworzenie wielu elementów DCR za pomocą interfejsu API nadal będzie powodować wyświetlanie w portalu tylko jednego elementu DCR.

Aby skonfigurować łącznik:

  1. W usłudze Microsoft Sentinel otwórz stronę Łączniki danych i znajdź łącznik Zdarzenia DNS systemu Windows za pośrednictwem AMA.

  2. W dolnej części okienka bocznego wybierz pozycję Otwórz stronę łącznika.

  3. W obszarze Konfiguracja wybierz pozycję Utwórz regułę zbierania danych. Możesz utworzyć pojedyncze dcr dla każdego obszaru roboczego.

    Nazwa DCR, subskrypcja i grupa zasobów są automatycznie ustawiane na podstawie nazwy obszaru roboczego, bieżącej subskrypcji oraz grupy zasobów, z której wybrano łącznik. Przykład:

    Zrzut ekranu przedstawiający tworzenie nowego D C R dla łącznika Windows D N S over A M A.

  4. Wybierz kartę Zasoby>Dodaj zasoby.

  5. Wybierz maszyny wirtualne, na których chcesz zainstalować łącznik, aby zbierać dzienniki. Przykład:

    Zrzut ekranu wyboru zasobów dla łącznika Windows D N S over A M A.

  6. Przejrzyj zmiany i wybierz pozycję Zapisz>zastosuj.

Konfigurowanie łącznika DNS systemu Windows za pośrednictwem usługi AMA za pośrednictwem interfejsu API

Użyj opcji konfiguracji interfejsu API, aby skonfigurować łącznik przy użyciu wielu DCR dla każdego obszaru roboczego. Jeśli wolisz użyć jednego DCR, zamiast tego skonfiguruj łącznik w portalu.

Użycie interfejsu API do utworzenia wielu elementów DCR nadal powoduje, że w portalu jest wyświetlany tylko jeden element DCR.

Użyj następującego przykładu jako szablonu, aby utworzyć lub zaktualizować dcr:

Adres URL żądania i nagłówek

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

Aby uzyskać najnowszą obsługiwaną wersję interfejsu API, zobacz Reguły zbierania danych — interfejs API REST (Azure Monitor).

Zrzut ekranu przedstawiający wygląd wersji interfejsu API w dokumentacji DCR.

Treść żądania

Podczas tworzenia DCR użyj następującej przykładowej treści żądania. Ten ładunek definiuje właściwości dcR, w tym lokalizację, rodzaj platformy, źródła danych, filtry zdarzeń i miejsce docelowe obszaru roboczego 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" : {}
}

Używaj filtrów zaawansowanych w swoich DCR

Dzienniki zdarzeń serwera DNS mogą zawierać ogromną liczbę zdarzeń. Zalecamy użycie zaawansowanego filtrowania w celu odfiltrowania niepotrzebnych zdarzeń przed przekazaniem danych, co pozwala zaoszczędzić cenny czas klasyfikacji i koszty. Filtry usuwają niepotrzebne dane ze strumienia zdarzeń przesyłanych do Twojego obszaru roboczego i bazują na kombinacji wielu pól.

Aby uzyskać więcej informacji, zobacz Dostępne pola do filtrowania.

Tworzenie zaawansowanych filtrów za pośrednictwem portalu

Użyj poniższej procedury, aby utworzyć filtry za pośrednictwem portalu. Aby uzyskać więcej informacji na temat tworzenia filtrów przy użyciu interfejsu API, zobacz Zaawansowane przykłady filtrowania.

Aby utworzyć filtry za pośrednictwem portalu:

  1. Na stronie łącznika w obszarze Konfiguracja wybierz pozycję Dodaj filtry zbierania danych.

  2. Wprowadź nazwę filtru i wybierz typ filtru, który jest parametrem, który zmniejsza liczbę zebranych zdarzeń. Parametry są normalizowane zgodnie ze schematem znormalizowanym przez system DNS. Aby uzyskać więcej informacji, zobacz Dostępne pola do filtrowania.

    Zrzut ekranu przedstawiający tworzenie filtru dla łącznika windows D N S za pośrednictwem łącznika A M A.

  3. Wybierz wartości, dla których chcesz filtrować pole spośród wartości wymienionych na liście rozwijanej.

    Zrzut ekranu przedstawiający dodawanie pól do filtru dla systemu Windows D N S za pośrednictwem łącznika A M A.

  4. Aby dodać złożone filtry, wybierz pozycję Dodaj pole wykluczania, aby filtrować i dodać odpowiednie pole.

    • Użyj list rozdzielonych przecinkami, aby zdefiniować wiele wartości dla każdego pola.
    • Aby utworzyć filtry złożone, użyj różnych pól z relacją AND.
    • Aby połączyć różne filtry, użyj relacji OR między nimi.

    Filtry obsługują również symbole wieloznaczne w następujący sposób:

    • Dodaj kropkę po każdej gwiazdki (*.).
    • Nie używaj spacji między listą domen.
    • Znaki wieloznaczne dotyczą wyłącznie subdomen danej domeny, w tym www.domain.com, niezależnie od protokołu. Jeśli na przykład używasz filtru *.domain.com zaawansowanego:
      • Filtr ma zastosowanie do www.domain.com i subdomain.domain.com, niezależnie od tego, czy protokół to HTTPS, FTP itd.
      • Filtr nie dotyczy domain.com. Aby zastosować filtr do domain.com, określ domenę bezpośrednio bez użycia symbolu wieloznacznego.
  5. Aby dodać więcej nowych filtrów, wybierz pozycję Dodaj nowy filtr wykluczania.

  6. Po zakończeniu dodawania filtrów wybierz pozycję Dodaj.

  7. Po powrocie na stronę łącznika głównego wybierz pozycję Zastosuj zmiany , aby zapisać i wdrożyć filtry w łącznikach. Aby edytować lub usuwać istniejące filtry lub pola, wybierz ikony edycji lub usuwania w tabeli w obszarze Konfiguracja .

  8. Aby dodać pola lub filtry po początkowym wdrożeniu, wybierz ponownie pozycję Dodaj filtry zbierania danych .

Zaawansowane przykłady filtrowania

Poniższe przykłady umożliwiają tworzenie często używanych filtrów zaawansowanych za pośrednictwem portalu lub interfejsu API.

Nie zbieraj określonych identyfikatorów zdarzeń

Ten filtr nakazuje łącznikowi, aby nie zbierał identyfikatorów EventID 256, EventID 257 lub EventID 260 z adresami IPv6.

Korzystanie z portalu Microsoft Sentinel:

  1. Utwórz filtr z polem EventOriginalType przy użyciu operatora Equals z wartościami 256, 257 i 260.

    Zrzut ekranu przedstawiający filtrowanie identyfikatorów zdarzeń dla systemu Windows D N S za pośrednictwem łącznika A M A.

  2. Utwórz filtr z polem EventOriginalType zdefiniowanym powyżej i użyj operatora And , w tym pola DnsQueryTypeName ustawionego na wartość AAAA.

    Zrzut ekranu przedstawiający filtrowanie identyfikatorów zdarzeń i adresów IPv6 dla łącznika Windows D N S opartego na A M A.

Korzystanie z interfejsu API:

Poniższy JSON pokazuje definicje równoważnych filtrów dla API. Pierwszy filtr wyklucza zdarzenia o EventID 256, 257 lub 260, które mają typ zapytania AAAA (IPv6), a drugi filtr wyklucza EventID 230 z konkretnymi szczegółami wyników błędu.

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

Nie zbieraj zdarzeń z określonymi domenami

Ten filtr nakazuje łącznikowi, aby nie zbierał zdarzeń z żadnych poddomen microsoft.com, google.com, amazon.com ani zdarzeń z facebook.com lub center.local.

Korzystanie z portalu Microsoft Sentinel:

Ustaw pole DnsQuery przy użyciu operatora Equals z listą *.microsoft.com,*.google.com,facebook.com,*.amazon.com,center.local.

Zapoznaj się z tymi zagadnieniami dotyczącymi filtrowania symboli wieloznacznych w filtrach domeny AMA systemu DNS.

Zrzut ekranu przedstawiający filtrowanie domen dla systemu Windows D N S za pośrednictwem łącznika A M A.

Aby zdefiniować różne wartości w jednym polu, użyj operatora OR .

Korzystanie z interfejsu API:

Poniższy JSON pokazuje równoważny filtr wykluczeń domen dla payloadu API DCR, z wyłączeniem zdarzeń DNS zapytań dopasowanych do konkretnych domen i ich poddomen. Zapoznaj się z tymi zagadnieniami dotyczącymi filtrowania symboli wieloznacznych w filtrach domeny AMA systemu DNS.

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

Normalizacja przy użyciu karty ASIM

Ten łącznik jest w pełni znormalizowany przy użyciu analizatorów ASIM (Advanced Security Information Model). Łącznik przesyła zdarzenia pochodzące z analitycznych dzienników DNS systemu Windows do znormalizowanej tabeli o nazwie ASimDnsActivityLogs. Ta tabela pełni funkcję tłumacza, posługując się jednym wspólnym językiem współdzielonym przez wszystkie obecne i przyszłe łączniki DNS.

W przypadku analizatora niezależnego od źródła, który scala wszystkie dane DNS i zapewnia wykonywanie analizy we wszystkich skonfigurowanych źródłach, użyj ujednolicającego analizatora DNS ASIM_Im_Dns.

Parser unifikujący ASIM uzupełnia natywną tabelę ASimDnsActivityLogs. Chociaż tabela natywna jest zgodna ze standardem ASIM, parser jest potrzebny, aby dodać funkcje, takie jak aliasy dostępne tylko w czasie wykonywania zapytania, oraz aby połączyć ASimDnsActivityLogs z innymi źródłami danych DNS.

Schemat DNS usługi ASIM reprezentuje działanie protokołu DNS, które jest rejestrowane na serwerze DNS systemu Windows w dziennikach analitycznych. Schemat jest regulowany przez oficjalne listy parametrów i RFC definiujące pola i wartości.

Zobacz listę pól serwera DNS systemu Windows przetłumaczonych na nazwy znormalizowanych pól.

W tym artykule przedstawiono sposób konfigurowania zdarzeń DNS systemu Windows za pośrednictwem łącznika AMA w celu przekazywania danych i filtrowania dzienników DNS systemu Windows. Aby dowiedzieć się więcej na temat Microsoft Sentinel, zobacz następujące artykuły: