Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het DNS-informatiemodel wordt gebruikt om gebeurtenissen te beschrijven die zijn gerapporteerd door een DNS-server of een DNS-beveiligingssysteem en wordt gebruikt door Microsoft Sentinel om bronagnostische analyses in te schakelen.
Zie Normalisatie en het Advanced Security Information Model (ASIM) voor meer informatie.
Schemaoverzicht
Het ASIM DNS-schema vertegenwoordigt de ACTIVITEIT van het DNS-protocol. Zowel DNS-servers als apparaten die DNS-aanvragen naar een DNS-server verzenden, registreren DNS-activiteit. De DNS-protocolactiviteit omvat DNS-query's, DNS-serverupdates en DNS-bulkgegevensoverdrachten. Omdat het schema protocolactiviteit vertegenwoordigt, wordt het beheerd door RFC's en officieel toegewezen parameterlijsten, waarnaar in dit artikel wordt verwezen indien van toepassing. Het DNS-schema vertegenwoordigt geen dns-servercontrolegebeurtenissen.
De belangrijkste activiteit die door DNS-servers wordt gerapporteerd, is een DNS-query, waarvoor het EventType veld is ingesteld op Query.
De belangrijkste velden in een DNS-gebeurtenis zijn:
DnsQuery, dat de domeinnaam rapporteert waarvoor de query is uitgegeven.
De SrcIpAddr (alias naar IpAddr), die het IP-adres vertegenwoordigt van waaruit de aanvraag is gegenereerd. DNS-servers bieden doorgaans het veld SrcIpAddr, maar DNS-clients bieden dit veld soms niet en alleen het veld SrcHostname .
EventResultDetails, waarin wordt gerapporteerd of de aanvraag is geslaagd en zo niet, waarom.
Indien beschikbaar, DnsResponseName, die het antwoord bevat dat door de server aan de query is verstrekt. Voor ASIM hoeft het antwoord niet te worden geparseerd en de indeling verschilt per bron.
Als u dit veld wilt gebruiken in bron-agnostische inhoud, zoekt u de inhoud met de
hasoperatoren ofcontains.
DNS-gebeurtenissen die op clientapparaten worden verzameld, kunnen ook gebruikers- en procesgegevens bevatten.
Richtlijnen voor het verzamelen van DNS-gebeurtenissen
DNS is een uniek protocol omdat het een groot aantal computers kan kruisen. Aangezien DNS gebruikmaakt van UDP, worden aanvragen en antwoorden ontkoppeld en zijn ze niet rechtstreeks aan elkaar gerelateerd.
In de volgende afbeelding ziet u een vereenvoudigde DNS-aanvraagstroom, met inbegrip van vier segmenten. Een aanvraag in de praktijk kan complexer zijn, waarbij meer segmenten betrokken zijn.
Omdat aanvraag- en antwoordsegmenten niet rechtstreeks met elkaar zijn verbonden in de DNS-aanvraagstroom, kan volledige logboekregistratie leiden tot aanzienlijke duplicatie.
Het meest waardevolle segment om te registreren is het antwoord op de client. Het antwoord bevat de domeinnaamquery's, het zoekresultaat en het IP-adres van de client. Hoewel veel DNS-systemen alleen dit segment registreren, zit er waarde in het vastleggen van de andere onderdelen. Een DNS-cache-vergiftigingsaanval maakt bijvoorbeeld vaak gebruik van valse reacties van een upstream-server.
Als uw gegevensbron volledige DNS-logboekregistratie ondersteunt en u ervoor hebt gekozen om meerdere segmenten te registreren, past u uw query's aan om gegevensduplicatie in Microsoft Sentinel te voorkomen.
U kunt bijvoorbeeld uw query wijzigen met de volgende normalisatie:
_Im_Dns | where SrcIpAddr != "127.0.0.1" and EventSubType == "response"
Parsers
Zie het overzicht van ASIM-parsers voor meer informatie over ASIM-parsers.
Out-of-the-box parsers
Als u parsers wilt gebruiken waarmee alle out-of-the-box ASIM-parsers worden samengevoegd en ervoor wilt zorgen dat uw analyse wordt uitgevoerd in alle geconfigureerde bronnen, gebruikt u de samenvoegingsparseer _Im_Dns als de tabelnaam in uw query.
Raadpleeg de lijst met ASIM-parsers voor de lijst met dns-parsers Microsoft Sentinel out-of-the-box biedt.
Uw eigen genormaliseerde parsers toevoegen
Bij het implementeren van aangepaste parsers voor het Dns-informatiemodel geeft u de KQL-functies een naam met behulp van de indeling vimDns<vendor><Product>. Raadpleeg het artikel ASIM-parsers beheren voor meer informatie over het toevoegen van uw aangepaste parsers aan de DNS-unifying-parser.
Parameters voor filteren van parser
De DNS-parsers ondersteunen filterparameters. Hoewel deze parameters optioneel zijn, kunnen ze uw queryprestaties verbeteren.
De volgende filterparameters zijn beschikbaar:
| Naam | Type | Beschrijving |
|---|---|---|
| Starttime | Datetime | Filter alleen DNS-query's die op of na deze tijd zijn uitgevoerd. Deze parameter filtert op het TimeGenerated veld, dat de standaardindeling is voor de tijd van de gebeurtenis, ongeacht de parserspecifieke toewijzing van de velden EventStartTime en EventEndTime. |
| Eindtijd | Datetime | Filter alleen DNS-query's die op of vóór deze tijd zijn uitgevoerd. Deze parameter filtert op het TimeGenerated veld, dat de standaardindeling is voor de tijd van de gebeurtenis, ongeacht de parserspecifieke toewijzing van de velden EventStartTime en EventEndTime. |
| srcipaddr | tekenreeks | Filter alleen DNS-query's van dit bron-IP-adres. |
| domain_has_any | dynamisch/tekenreeks | Filter alleen DNS-query's waarbij de domain (of query) een van de vermelde domeinnamen heeft, inclusief als onderdeel van het gebeurtenisdomein. De lengte van de lijst is beperkt tot 10.000 items. |
| responsecodename | tekenreeks | Filter alleen DNS-query's waarvoor de naam van de antwoordcode overeenkomt met de opgegeven waarde. Bijvoorbeeld: NXDOMAIN |
| response_has_ipv4 | tekenreeks | Filter alleen DNS-query's waarin het antwoordveld het opgegeven IP-adres of IP-adresvoorvoegsel bevat. Gebruik deze parameter als u wilt filteren op één IP-adres of voorvoegsel. Er worden geen resultaten geretourneerd voor bronnen die geen antwoord bieden. |
| response_has_any_prefix | Dynamische | Filter alleen DNS-query's waarin het antwoordveld een van de vermelde IP-adressen of IP-adresvoorvoegsels bevat. Voorvoegsels moeten eindigen op een ., bijvoorbeeld: 10.0.. Gebruik deze parameter als u wilt filteren op een lijst met IP-adressen of voorvoegsels. Er worden geen resultaten geretourneerd voor bronnen die geen antwoord bieden. De lengte van de lijst is beperkt tot 10.000 items. |
| eventtype | tekenreeks | Filter alleen DNS-query's van het opgegeven type. Als er geen waarde is opgegeven, worden alleen opzoekquery's geretourneerd. |
Als u bijvoorbeeld alleen DNS-query's wilt filteren van de laatste dag waarvoor de domeinnaam niet is omgezet, gebruikt u:
_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())
Als u alleen DNS-query's wilt filteren voor een opgegeven lijst met domeinnamen, gebruikt u:
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)
Sommige parameters kunnen zowel een lijst met waarden van het type dynamic als één tekenreekswaarde accepteren. Als u een letterlijke lijst wilt doorgeven aan parameters die een dynamische waarde verwachten, gebruikt u expliciet een dynamische letterlijke waarde. Bijvoorbeeld:dynamic(['192.168.','10.'])
Genormaliseerde inhoud
Zie Beveiligingsinhoud van DNS-query's voor een volledige lijst met analyseregels die gebruikmaken van genormaliseerde DNS-gebeurtenissen.
Schemadetails
Het DNS-informatiemodel is afgestemd op het OSSEM DNS-entiteitsschema.
Zie de IANA-parameterreferentie (Internet Assigned Numbers Authority) voor meer informatie.
Algemene ASIM-velden
Belangrijk
Algemene velden voor alle schema's worden uitgebreid beschreven in het artikel Algemene velden van ASIM .
Algemene velden met specifieke richtlijnen
In de volgende lijst worden velden vermeld met specifieke richtlijnen voor DNS-gebeurtenissen:
| Veld | Klasse | Type | Beschrijving |
|---|---|---|---|
| EventType | Verplicht | Opgesomde | Geeft de bewerking aan die door de record is gerapporteerd. Voor DNS-records is deze waarde de DNS-op-code. Voorbeeld: Query |
| EventSubType | Optioneel | Opgesomde |
responseOf request . Voor de meeste bronnen worden alleen de antwoorden geregistreerd en daarom is de waarde vaak een antwoord. |
| EventResultDetails | Verplicht | Opgesomde | Voor DNS-gebeurtenissen bevat dit veld de DNS-antwoordcode. Opmerkingen: - IANA definieert de case voor de waarden niet, dus analyse moet de case normaliseren. - Als de bron alleen een numerieke antwoordcode opgeeft en geen antwoordcodenaam, moet de parser een opzoektabel bevatten om deze waarde te verrijken. - Als deze record een aanvraag vertegenwoordigt en niet een antwoord, stelt u in op N.V. Voorbeeld: NXDOMAIN |
| EventSchemaVersion | Verplicht | SchemaVersion (tekenreeks) | De versie van het schema dat hier wordt beschreven, is 0.1.7. |
| EventSchema | Verplicht | Opgesomde | De naam van het schema dat hier wordt beschreven, is Dns. |
| Dvc-velden | - | - | Voor DNS-gebeurtenissen verwijzen apparaatvelden naar het systeem dat de DNS-gebeurtenis rapporteert. |
Alle algemene velden
Velden die in de onderstaande tabel worden weergegeven, zijn gemeenschappelijk voor alle ASIM-schema's. Elke hierboven opgegeven richtlijn overschrijft de algemene richtlijnen voor het veld. Een veld kan bijvoorbeeld in het algemeen optioneel zijn, maar verplicht voor een specifiek schema. Zie het artikel Algemene ASIM-velden voor meer informatie over elk veld.
| Klasse | Velden |
|---|---|
| Verplicht |
-
EventCount - EventStartTime - EventEndTime - EventType - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
| Aanbevolen |
-
EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
| Optioneel |
-
EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcO's - DvcOsVersion - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
Bronsysteemvelden
| Veld | Klasse | Type | Beschrijving |
|---|---|---|---|
| Src | Alias | Tekenreeks | Een unieke id van het bronapparaat. Dit veld kan de velden SrcDvcId, SrcHostname of SrcIpAddr als alias gebruiken. Voorbeeld: 192.168.12.1 |
| SrcIpAddr | Aanbevolen | IP-adres | Het IP-adres van de client die de DNS-aanvraag heeft verzonden. Voor een recursieve DNS-aanvraag is deze waarde doorgaans het rapportageapparaat en in de meeste gevallen ingesteld op 127.0.0.1. Voorbeeld: 192.168.12.1 |
| SrcPortNumber | Optioneel | Geheel getal | Bronpoort van de DNS-query. Voorbeeld: 54312 |
| Ipaddr | Alias | Alias naar SrcIpAddr | |
| SrcGeoCountry | Optioneel | Land | Het land/de regio die is gekoppeld aan het bron-IP-adres. Voorbeeld: USA |
| SrcGeoRegion | Optioneel | Regio | De regio die is gekoppeld aan het bron-IP-adres. Voorbeeld: Vermont |
| SrcGeoCity | Optioneel | Plaats | De plaats die is gekoppeld aan het bron-IP-adres. Voorbeeld: Burlington |
| SrcGeoLatitude | Optioneel | Latitude | De breedtegraad van de geografische coördinaat die is gekoppeld aan het bron-IP-adres. Voorbeeld: 44.475833 |
| SrcGeoLongitude | Optioneel | Lengtegraad | De lengtegraad van de geografische coördinaat die is gekoppeld aan het bron-IP-adres. Voorbeeld: 73.211944 |
| SrcRiskLevel | Optioneel | Geheel getal | Het risiconiveau dat aan de bron is gekoppeld. De waarde moet worden aangepast tot een bereik van 0 tot , met 0 voor goedaardig en 100 voor 100een hoog risico.Voorbeeld: 90 |
| SrcOriginalRiskLevel | Optioneel | Tekenreeks | Het risiconiveau dat is gekoppeld aan de bron, zoals gerapporteerd door het rapportageapparaat. Voorbeeld: Suspicious |
| SrcHostname | Aanbevolen | Hostnaam (tekenreeks) | De hostnaam van het bronapparaat, met uitzondering van domeingegevens. Voorbeeld: DESKTOP-1282V4D |
| Hostnaam | Alias | Alias naar SrcHostname | |
| SrcDomain | Aanbevolen | Domein (tekenreeks) | Het domein van het bronapparaat. Voorbeeld: Contoso |
| SrcDomainType | Voorwaardelijke | Opgesomde | Het type SrcDomain, indien bekend. Mogelijke waarden zijn: - Windows (zoals: contoso)- FQDN (zoals: microsoft.com)Vereist als SrcDomain wordt gebruikt. |
| SrcFQDN | Optioneel | FQDN (tekenreeks) | De hostnaam van het bronapparaat, inclusief domeingegevens indien beschikbaar. Opmerking: dit veld ondersteunt zowel de traditionele FQDN-indeling als de Windows-indeling domein\hostnaam. In het veld SrcDomainType wordt de gebruikte indeling weergegeven. Voorbeeld: Contoso\DESKTOP-1282V4D |
| SrcDvcId | Optioneel | Tekenreeks | De id van het bronapparaat zoals gerapporteerd in de record. Bijvoorbeeld: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| SrcDvcScopeId | Optioneel | Tekenreeks | De bereik-id van het cloudplatform waartoe het apparaat behoort. SrcDvcScopeId wordt toegewezen aan een abonnements-id op Azure en aan een account-id op AWS. |
| SrcDvcScope | Optioneel | Tekenreeks | Het cloudplatformbereik waartoe het apparaat behoort. SrcDvcScope wordt toegewezen aan een abonnements-id op Azure en aan een account-id op AWS. |
| SrcDvcIdType | Voorwaardelijke | Opgesomde | Het type SrcDvcId, indien bekend. Mogelijke waarden zijn: - AzureResourceId- MDEidAls er meerdere id's beschikbaar zijn, gebruikt u de eerste id uit de lijst en slaat u de andere id's op in respectievelijk SrcDvcAzureResourceId en SrcDvcMDEid. Opmerking: dit veld is vereist als SrcDvcId wordt gebruikt. |
| SrcDeviceType | Optioneel | Opgesomde | Het type van het bronapparaat. Mogelijke waarden zijn: - Computer- Mobile Device- IOT Device- Other |
| SrcDescription | Optioneel | Tekenreeks | Een beschrijvende tekst die is gekoppeld aan het apparaat. Bijvoorbeeld: Primary Domain Controller. |
Brongebruikersvelden
| Veld | Klasse | Type | Beschrijving |
|---|---|---|---|
| SrcUserId | Optioneel | Tekenreeks | Een machineleesbare, alfanumerieke, unieke weergave van de brongebruiker. Zie De entiteit Gebruiker voor meer informatie en voor alternatieve velden voor extra id's. Voorbeeld: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
| SrcUserScope | Optioneel | Tekenreeks | Het bereik, zoals Microsoft Entra tenant, waarin SrcUserId en SrcUsername zijn gedefinieerd. of zie UserScope in het artikel Schemaoverzicht voor meer informatie en een lijst met toegestane waarden. |
| SrcUserScopeId | Optioneel | Tekenreeks | De bereik-id, zoals Microsoft Entra Directory-id, waarin SrcUserId en SrcUsername zijn gedefinieerd. Zie UserScopeId in het artikel Schemaoverzicht voor meer informatie en een lijst met toegestane waarden. |
| SrcUserIdType | Voorwaardelijke | UserIdType | Het type id dat is opgeslagen in het veld SrcUserId . Zie UserIdType in het artikel Schemaoverzicht voor meer informatie en een lijst met toegestane waarden. |
| SrcUsername | Optioneel | Gebruikersnaam (tekenreeks) | De brongebruikersnaam, inclusief domeingegevens, indien beschikbaar. Zie De entiteit Gebruiker voor meer informatie. Voorbeeld: AlbertE |
| SrcUsernameType | Voorwaardelijke | UsernameType | Hiermee geeft u het type van de gebruikersnaam op dat is opgeslagen in het veld SrcUsername . Zie UsernameType in het artikel Schemaoverzicht voor meer informatie en een lijst met toegestane waarden. Voorbeeld: Windows |
| Gebruiker | Alias | Alias naar SrcUsername | |
| SrcUserType | Optioneel | UserType | Het type van de brongebruiker. Zie UserType in het artikel Schemaoverzicht voor meer informatie en een lijst met toegestane waarden. Bijvoorbeeld: Guest |
| SrcUserSessionId | Optioneel | Tekenreeks | De unieke id van de aanmeldingssessie van de Actor. Voorbeeld: 102pTUgC3p8RIqHvzxLCHnFlg |
| SrcOriginalUserType | Optioneel | Tekenreeks | Het oorspronkelijke brongebruikerstype, indien opgegeven door de bron. |
Bronprocesvelden
| Veld | Klasse | Type | Beschrijving |
|---|---|---|---|
| SrcProcessName | Optioneel | Tekenreeks | De bestandsnaam van het proces dat de DNS-aanvraag heeft geïnitieerd. Deze naam wordt doorgaans beschouwd als de procesnaam. Voorbeeld: C:\Windows\explorer.exe |
| Proces | Alias | Alias naar de SrcProcessName Voorbeeld: C:\Windows\System32\rundll32.exe |
|
| SrcProcessId | Optioneel | Tekenreeks | De proces-id (PID) van het proces dat de DNS-aanvraag heeft geïnitieerd. Voorbeeld: 48610176 Opmerking: Het type wordt gedefinieerd als tekenreeks voor ondersteuning van verschillende systemen, maar in Windows en Linux moet deze waarde numeriek zijn. Als u een Windows- of Linux-machine gebruikt en een ander type hebt gebruikt, moet u de waarden converteren. Als u bijvoorbeeld een hexadecimale waarde hebt gebruikt, converteert u deze naar een decimale waarde. |
| SrcProcessGuid | Optioneel | GUID (tekenreeks) | Een gegenereerde unieke id (GUID) van het proces dat de DNS-aanvraag heeft geïnitieerd. Voorbeeld: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
Doelsysteemvelden
| Veld | Klasse | Type | Beschrijving |
|---|---|---|---|
| Dst | Alias | Tekenreeks | Een unieke id van de server die de DNS-aanvraag heeft ontvangen. In dit veld kunnen de velden DstDvcId, DstHostname of DstIpAddr als alias worden gebruikt . Voorbeeld: 192.168.12.1 |
| DstIpAddr | Optioneel | IP-adres | Het IP-adres van de server die de DNS-aanvraag heeft ontvangen. Voor een normale DNS-aanvraag is deze waarde doorgaans het rapportageapparaat en in de meeste gevallen ingesteld op 127.0.0.1.Voorbeeld: 127.0.0.1 |
| DstGeoCountry | Optioneel | Land | Het land/de regio die is gekoppeld aan het doel-IP-adres. Zie Logische typen voor meer informatie. Voorbeeld: USA |
| DstGeoRegion | Optioneel | Regio | De regio of status die is gekoppeld aan het doel-IP-adres. Zie Logische typen voor meer informatie. Voorbeeld: Vermont |
| DstGeoCity | Optioneel | Plaats | De plaats die is gekoppeld aan het doel-IP-adres. Zie Logische typen voor meer informatie. Voorbeeld: Burlington |
| DstGeoLatitude | Optioneel | Latitude | De breedtegraad van de geografische coördinaat die is gekoppeld aan het doel-IP-adres. Zie Logische typen voor meer informatie. Voorbeeld: 44.475833 |
| DstGeoLongitude | Optioneel | Lengtegraad | De lengtegraad van de geografische coördinaat die is gekoppeld aan het doel-IP-adres. Zie Logische typen voor meer informatie. Voorbeeld: 73.211944 |
| DstRiskLevel | Optioneel | Geheel getal | Het risiconiveau dat aan de bestemming is gekoppeld. De waarde moet worden aangepast naar een bereik van 0 tot 100, waarbij 0 goedaardig is en 100 een hoog risico is. Voorbeeld: 90 |
| DstOriginalRiskLevel | Optioneel | Tekenreeks | Het risiconiveau dat is gekoppeld aan de bestemming, zoals gerapporteerd door het rapportageapparaat. Voorbeeld: Malicious |
| DstPortNumber | Optioneel | Geheel getal | Doelpoortnummer. Voorbeeld: 53 |
| DstHostname | Optioneel | Hostnaam (tekenreeks) | De hostnaam van het doelapparaat, met uitzondering van domeingegevens. Als er geen apparaatnaam beschikbaar is, slaat u het relevante IP-adres in dit veld op. Voorbeeld: DESKTOP-1282V4DOpmerking: deze waarde is verplicht als DstIpAddr is opgegeven. |
| DstDomain | Optioneel | Domein (tekenreeks) | Het domein van het doelapparaat. Voorbeeld: Contoso |
| DstDomainType | Voorwaardelijke | Opgesomde | Het type DstDomain, indien bekend. Mogelijke waarden zijn: - Windows (contoso\mypc)- FQDN (learn.microsoft.com)Vereist als DstDomain wordt gebruikt. |
| DstFQDN | Optioneel | FQDN (tekenreeks) | De hostnaam van het doelapparaat, inclusief domeingegevens indien beschikbaar. Voorbeeld: Contoso\DESKTOP-1282V4D Opmerking: dit veld ondersteunt zowel de traditionele FQDN-indeling als de Windows-indeling domein\hostnaam. Het DstDomainType weerspiegelt de gebruikte indeling. |
| DstDvcId | Optioneel | Tekenreeks | De id van het doelapparaat zoals gerapporteerd in de record. Voorbeeld: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| DstDvcScopeId | Optioneel | Tekenreeks | De bereik-id van het cloudplatform waartoe het apparaat behoort. DstDvcScopeId wordt toegewezen aan een abonnements-id op Azure en aan een account-id op AWS. |
| DstDvcScope | Optioneel | Tekenreeks | Het cloudplatformbereik waartoe het apparaat behoort. DstDvcScope wordt toegewezen aan een abonnements-id op Azure en aan een account-id op AWS. |
| DstDvcIdType | Voorwaardelijke | Opgesomde | Het type DstDvcId, indien bekend. Mogelijke waarden zijn: - AzureResourceId- MDEidIfAls er meerdere id's beschikbaar zijn, gebruikt u de eerste uit de bovenstaande lijst en slaat u de andere id's op in respectievelijk de velden DstDvcAzureResourceId of DstDvcMDEid . Vereist als DstDeviceId wordt gebruikt. |
| DstDeviceType | Optioneel | Opgesomde | Het type van het doelapparaat. Mogelijke waarden zijn: - Computer- Mobile Device- IOT Device- Other |
| DstDescription | Optioneel | Tekenreeks | Een beschrijvende tekst die is gekoppeld aan het apparaat. Bijvoorbeeld: Primary Domain Controller. |
DNS-specifieke velden
| Veld | Klasse | Type | Beschrijving |
|---|---|---|---|
| DnsQuery | Verplicht | Tekenreeks | Het domein dat de aanvraag probeert op te lossen. Opmerkingen: - Sommige bronnen verzenden geldige FQDN-query's in een andere indeling. In het DNS-protocol zelf bevat de query bijvoorbeeld een punt (.) aan het einde, die moet worden verwijderd. - Hoewel het DNS-protocol het type waarde in dit veld beperkt tot een FQDN, staan de meeste DNS-servers elke waarde toe en dit veld is daarom niet beperkt tot alleen FQDN-waarden. Met name DNS-tunneling-aanvallen kunnen ongeldige FQDN-waarden in het queryveld gebruiken. - Hoewel het DNS-protocol meerdere query's in één aanvraag toestaat, is dit scenario zeldzaam, als het al wordt gevonden. Als de aanvraag meerdere query's bevat, slaat u de eerste query in dit veld op en houdt u de rest optioneel in het veld AdditionalFields . Voorbeeld: www.malicious.com |
| Domein | Alias | Alias naar DnsQuery. | |
| DnsQueryType | Optioneel | Geheel getal | De typecodes van de DNS-resourcerecord. Voorbeeld: 28 |
| DnsQueryTypeName | Aanbevolen | Opgesomde | De namen van het type DNS-resourcerecord . Opmerkingen: - IANA definieert de case voor de waarden niet, dus analyse moet de case zo nodig normaliseren. - De waarde ANY wordt ondersteund voor de antwoordcode 255.- De waarde TYPExxxx wordt ondersteund voor niet-toegewezen antwoordcodes, waarbij xxxx de numerieke waarde van de antwoordcode is, zoals gerapporteerd door de BIND DNS-server.-Als de bron alleen een numerieke querytypecode opgeeft en geen naam van het querytype, moet de parser een opzoektabel bevatten om deze waarde te verrijken. Voorbeeld: AAAA |
| DnsResponseName | Optioneel | Tekenreeks | De inhoud van het antwoord, zoals opgenomen in de record. De DNS-antwoordgegevens zijn inconsistent tussen rapportageapparaten, zijn complex om te parseren en hebben minder waarde voor bronagnostische analyses. Daarom is voor het informatiemodel geen parsering en normalisatie vereist en Microsoft Sentinel maakt gebruik van een hulpfunctie om antwoordinformatie te verstrekken. Zie DNS-antwoord verwerken voor meer informatie. |
| DnsResponseCodeName | Alias | Alias naar EventResultDetails | |
| DnsResponseCode | Optioneel | Geheel getal | De numerieke DNS-antwoordcode. Voorbeeld: 3 |
| TransactionIdHex | Aanbevolen | Hexadecimaal (tekenreeks) | De unieke DNS-query-id die is toegewezen door de DNS-client, in hexadecimale indeling. Houd er rekening mee dat deze waarde deel uitmaakt van het DNS-protocol en verschilt van DnsSessionId, de sessie-id van de netwerklaag, die doorgaans wordt toegewezen door het rapportageapparaat. |
| NetworkProtocol | Optioneel | Opgesomde | Het transportprotocol dat wordt gebruikt door de netwerkomzettings-gebeurtenis. De waarde kan UDP of TCP zijn en is meestal ingesteld op UDP voor DNS. Voorbeeld: UDP |
| NetworkProtocolVersion | Optioneel | Opgesomde | De versie van NetworkProtocol. Wanneer u deze gebruikt om onderscheid te maken tussen IP-versie, gebruikt u de waarden IPv4 en IPv6. |
| DnsQueryClass | Optioneel | Geheel getal | De DNS-klasse-id. In de praktijk wordt alleen de KLASSE IN (ID 1) gebruikt, waardoor dit veld minder waardevol is. |
| DnsQueryClassName | Aanbevolen | DnsQueryClassName (tekenreeks) | De naam van de DNS-klasse. In de praktijk wordt alleen de KLASSE IN (ID 1) gebruikt, waardoor dit veld minder waardevol is. Voorbeeld: IN |
| DnsFlags | Optioneel | Tekenreeks | Het veld vlaggen, zoals opgegeven door het rapportageapparaat. Als er vlaggegevens zijn opgegeven in meerdere velden, voegt u deze samen met komma's als scheidingsteken. Omdat DNS-vlaggen complex zijn om te parseren en minder vaak worden gebruikt door analyses, zijn parseren en normaliseren niet vereist. Microsoft Sentinel kunt een hulpfunctie gebruiken om informatie over vlaggen op te geven. Zie DNS-antwoord verwerken voor meer informatie. Voorbeeld: ["DR"] |
| DnsNetworkDuration | Optioneel | Geheel getal | De hoeveelheid tijd, in milliseconden, voor het voltooien van de DNS-aanvraag. Voorbeeld: 1500 |
| Duur | Alias | Alias naar DnsNetworkDuration | |
| DnsFlagsAuthenticated | Optioneel | Booleaanse waarde | De DNS-vlag AD , die is gerelateerd aan DNSSEC, geeft in een antwoord aan dat alle gegevens in de antwoord- en instantiesecties van het antwoord zijn geverifieerd door de server volgens het beleid van die server. Zie RFC 3655 Sectie 6.1 voor meer informatie. |
| DnsFlagsAuthoritative | Optioneel | Booleaanse waarde | De DNS-vlag AA geeft aan of het antwoord van de server gezaghebbend was |
| DnsFlagsCheckIngDisabled | Optioneel | Booleaanse waarde | De DNS-vlag CD , die is gerelateerd aan DNSSEC, geeft in een query aan dat niet-geverifieerde gegevens acceptabel zijn voor het systeem dat de query verzendt. Zie RFC 3655 Sectie 6.1 voor meer informatie. |
| DnsFlagsRecursionAvailable | Optioneel | Booleaanse waarde | De DNS-vlag RA geeft in een antwoord aan dat die server recursieve query's ondersteunt. |
| DnsFlagsRecursionDesired | Optioneel | Booleaanse waarde | De DNS-vlag RD geeft in een aanvraag aan dat die client wil dat de server recursieve query's gebruikt. |
| DnsFlagsTruncated | Optioneel | Booleaanse waarde | De DNS-vlag TC geeft aan dat een antwoord is afgekapt omdat de maximale antwoordgrootte is overschreden. |
| DnsFlagsZ | Optioneel | Booleaanse waarde | De DNS-vlag Z is een afgeschafte DNS-vlag, die mogelijk wordt gerapporteerd door oudere DNS-systemen. |
| DnsSessionId | Optioneel | tekenreeks | De DNS-sessie-id zoals gerapporteerd door het rapportageapparaat. Deze waarde verschilt van TransactionIdHex, de unieke DNS-query-id die is toegewezen door de DNS-client. Voorbeeld: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55 |
| Sessionid | Alias | Alias naar DnsSessionId | |
| DnsResponseIpCountry | Optioneel | Land | Het land/de regio die is gekoppeld aan een van de IP-adressen in het DNS-antwoord. Zie Logische typen voor meer informatie. Voorbeeld: USA |
| DnsResponseIpRegion | Optioneel | Regio | De regio of status die is gekoppeld aan een van de IP-adressen in het DNS-antwoord. Zie Logische typen voor meer informatie. Voorbeeld: Vermont |
| DnsResponseIpCity | Optioneel | Plaats | De plaats die is gekoppeld aan een van de IP-adressen in het DNS-antwoord. Zie Logische typen voor meer informatie. Voorbeeld: Burlington |
| DnsResponseIpLatitude | Optioneel | Latitude | De breedtegraad van de geografische coördinaat die is gekoppeld aan een van de IP-adressen in het DNS-antwoord. Zie Logische typen voor meer informatie. Voorbeeld: 44.475833 |
| DnsResponseIpLongitude | Optioneel | Lengtegraad | De lengtegraad van de geografische coördinaat die is gekoppeld aan een van de IP-adressen in het DNS-antwoord. Zie Logische typen voor meer informatie. Voorbeeld: 73.211944 |
Inspectievelden
De volgende velden worden gebruikt om een inspectie aan te geven die door een DNS-beveiligingsapparaat wordt uitgevoerd. De velden met betrekking tot bedreigingen vertegenwoordigen één bedreiging die is gekoppeld aan het bronadres, het doeladres, een van de IP-adressen in het antwoord of het DNS-querydomein. Als meer dan één bedreiging is geïdentificeerd als een bedreiging, kan informatie over andere IP-adressen worden opgeslagen in het veld AdditionalFields.
| Veld | Klasse | Type | Beschrijving |
|---|---|---|---|
| UrlCategory | Optioneel | Tekenreeks | Een DNS-gebeurtenisbron kan ook de categorie van de aangevraagde domeinen opzoeken. Het veld heet UrlCategory om uit te lijnen met het Microsoft Sentinel netwerkschema. DomainCategory wordt toegevoegd als een alias die past bij DNS. Voorbeeld: Educational \\ Phishing |
| DomainCategory | Alias | Alias naar UrlCategory. | |
| RuleName | Optioneel | Tekenreeks | De naam of id van de regel waarmee de bedreiging is geïdentificeerd. Voorbeeld: AnyAnyDrop |
| RuleNumber | Optioneel | Geheel getal | Het nummer van de regel waarmee de bedreiging is geïdentificeerd. Voorbeeld: 23 |
| Regel | Alias | Tekenreeks | De waarde van RuleName of de waarde van RuleNumber. Als de waarde van RuleNumber wordt gebruikt, moet het type worden geconverteerd naar tekenreeks. |
| RuleNumber | Optioneel | int | Het nummer van de regel die is gekoppeld aan de waarschuwing. Bijvoorbeeld. 123456 |
| RuleName | Optioneel | tekenreeks | De naam of id van de regel die is gekoppeld aan de waarschuwing. Bijvoorbeeld. Server PSEXEC Execution via Remote Access |
| ThreatId | Optioneel | Tekenreeks | De id van de bedreiging of malware die is geïdentificeerd in de netwerksessie. Voorbeeld: Tr.124 |
| ThreatCategory | Optioneel | Tekenreeks | Als een DNS-gebeurtenisbron ook DNS-beveiliging biedt, kan deze ook de DNS-gebeurtenis evalueren. Het kan bijvoorbeeld zoeken naar het IP-adres of domein in een bedreigingsinformatiedatabase en het domein of IP-adres toewijzen met een bedreigingscategorie. |
| ThreatIpAddr | Optioneel | IP-adres | Een IP-adres waarvoor een bedreiging is geïdentificeerd. Het veld ThreatField bevat de naam van het veld dat ThreatIpAddr vertegenwoordigt. Als er een bedreiging wordt geïdentificeerd in het veld Domein , moet dit veld leeg zijn. |
| ThreatField | Voorwaardelijke | Opgesomde | Het veld waarvoor een bedreiging is geïdentificeerd. De waarde is , SrcIpAddrDstIpAddr, Domainof DnsResponseName. |
| ThreatName | Optioneel | Tekenreeks | De naam van de geïdentificeerde bedreiging, zoals gerapporteerd door het rapportageapparaat. |
| ThreatConfidence | Optioneel | ConfidenceLevel (geheel getal) | Het betrouwbaarheidsniveau van de geïdentificeerde bedreiging, genormaliseerd naar een waarde tussen 0 en een 100. |
| ThreatOriginalConfidence | Optioneel | Tekenreeks | Het oorspronkelijke betrouwbaarheidsniveau van de geïdentificeerde bedreiging, zoals gerapporteerd door het rapportageapparaat. |
| ThreatRiskLevel | Optioneel | RiskLevel (geheel getal) | Het risiconiveau dat is gekoppeld aan de geïdentificeerde bedreiging, genormaliseerd tot een waarde tussen 0 en een 100. |
| ThreatOriginalRiskLevel | Optioneel | Tekenreeks | Het oorspronkelijke risiconiveau dat is gekoppeld aan de geïdentificeerde bedreiging, zoals gerapporteerd door het rapportageapparaat. |
| ThreatIsActive | Optioneel | Booleaanse waarde | Waar als de geïdentificeerde bedreiging wordt beschouwd als een actieve bedreiging. |
| ThreatFirstReportedTime | Optioneel | Datetime | De eerste keer dat het IP-adres of domein is geïdentificeerd als een bedreiging. |
| ThreatLastReportedTime | Optioneel | Datetime | De laatste keer dat het IP-adres of domein is geïdentificeerd als een bedreiging. |
Afgeschafte aliassen en velden
De volgende velden zijn aliassen die worden onderhouden voor achterwaartse compatibiliteit. Ze zijn op 31 december 2021 uit het schema verwijderd.
-
Query(alias naarDnsQuery) -
QueryType(alias naarDnsQueryType) -
QueryTypeName(alias naarDnsQueryTypeName) -
ResponseName(alias naarDnsResponseName) -
ResponseCodeName(alias naarDnsResponseCodeName) -
ResponseCode(alias naarDnsResponseCode) -
QueryClass(alias naarDnsQueryClass) -
QueryClassName(alias naarDnsQueryClassName) -
Flags(alias naarDnsFlags) SrcUserDomain
Schema-updates
De wijzigingen in versie 0.1.2 van het schema zijn:
- Het veld
EventSchemais toegevoegd. - Toegewezen vlagveld toegevoegd, waarmee het gecombineerde veld Vlaggen wordt vergroot:
DnsFlagsAuthoritative,DnsFlagsCheckingDisabled,DnsFlagsRecursionAvailable,DnsFlagsRecursionDesired,DnsFlagsTruncated, enDnsFlagsZ.
De wijzigingen in versie 0.1.3 van het schema zijn:
- Het schema bevat nu expliciet de
Src*velden ,Dst*enUser*Process*. - Er zijn meer
Dvc*velden toegevoegd die overeenkomen met de meest recente algemene velddefinitie. -
DstEnSrctoegevoegd als aliassen aan een voorloop-id voor de bron- en doelsystemen. - Optioneel
DnsNetworkDurationenDurationtoegevoegd, een alias. - Optionele velden Geo-locatie en Risiconiveau toegevoegd.
De wijzigingen in versie 0.1.4 van het schema zijn:
- De optionele velden
ThreatIpAddr,ThreatField,ThreatName,ThreatConfidence,ThreatOriginalConfidence,ThreatOriginalRiskLevel, ,ThreatIsActive,ThreatFirstReportedTime, enThreatLastReportedTime.
De wijzigingen in versie 0.1.5 van het schema zijn:
- De velden , , , , ,
DstDvcScopeId,DstDvcScope, ,DvcScopeIdenDvcScope.SrcDvcScopeSrcDvcScopeIdSrcUserSessionIdSrcUserScope
De wijzigingen in versie 0.1.6 van het schema zijn:
- De velden
DnsResponseIpCountry,DnsResponseIpRegion,DnsResponseIpCity,DnsResponseIpLatitudeenDnsResponseIpLongitude.
De wijzigingen in versie 0.1.7 van het schema zijn:
- De velden
SrcDescription, , ,DstDescription,DstOriginalRiskLevelSrcUserScopeId, ,NetworkProtocolVersion,Rule,RuleName, ,RuleNumber, enThreatId.SrcOriginalRiskLevel
Bronspecifieke discrepanties
Het doel van normalisatie is om ervoor te zorgen dat alle bronnen consistente telemetrie bieden. Een bron die niet de vereiste telemetrie biedt, zoals verplichte schemavelden, kan niet worden genormaliseerd. Bronnen die doorgaans alle vereiste telemetrie bieden, zelfs als er enkele discrepanties zijn, kunnen echter worden genormaliseerd. Discrepanties kunnen van invloed zijn op de volledigheid van queryresultaten.
De volgende tabel bevat bekende discrepanties:
| Source | Verschillen |
|---|---|
| Microsoft DNS-server verzameld met behulp van de DNS-connector en de Log Analytics-agent | De connector biedt niet het verplichte DnsQuery-veld voor de oorspronkelijke gebeurtenis-id 264 (reactie op een dynamische update). De gegevens zijn beschikbaar bij de bron, maar niet doorgestuurd door de connector. |
| Corelight Zeek | Corelight Zeek biedt mogelijk niet het verplichte DnsQuery-veld. We hebben dergelijk gedrag waargenomen in bepaalde gevallen waarin de naam van de DNS-antwoordcode is NXDOMAIN. |
DNS-antwoord verwerken
In de meeste gevallen bevatten geregistreerde DNS-gebeurtenissen geen antwoordinformatie, die groot en gedetailleerd kan zijn. Als uw record meer antwoordgegevens bevat, slaat u deze op in het veld ResponseName zoals deze wordt weergegeven in de record.
U kunt ook een extra KQL-functie opgeven met de naam _imDNS<vendor>Response_, die het niet-geparseerde antwoord als invoer neemt en dynamische waarde retourneert met de volgende structuur:
[
{
"part": "answer"
"query": "yahoo.com."
"TTL": 1782
"Class": "IN"
"Type": "A"
"Response": "74.6.231.21"
}
{
"part": "authority"
"query": "yahoo.com."
"TTL": 113066
"Class": "IN"
"Type": "NS"
"Response": "ns5.yahoo.com"
}
...
]
De velden in elke woordenlijst in de dynamische waarde komen overeen met de velden in elk DNS-antwoord. De part vermelding moet , answerauthorityof additional bevatten om het deel in het antwoord weer te geven waartoe de woordenlijst behoort.
Tip
Om optimale prestaties te garanderen, roept u de imDNS<vendor>Response functie alleen aan wanneer dat nodig is en pas na een eerste filter om betere prestaties te garanderen.
DNS-vlaggen verwerken
Parseren en normaliseren is niet vereist voor vlaggegevens. Sla in plaats daarvan de vlaggegevens van het rapportageapparaat op in het veld Vlaggen . Als het bepalen van de waarde van afzonderlijke vlaggen eenvoudig is, kunt u ook de velden voor toegewezen vlaggen gebruiken.
U kunt ook een extra KQL-functie opgeven met de naam _imDNS<vendor>Flags_, die het niet-geparseerde antwoord of toegewezen vlagvelden als invoer gebruikt en een dynamische lijst retourneert, met booleaanse waarden die elke vlag in de volgende volgorde vertegenwoordigen:
- Geverifieerd (AD)
- Gezaghebbend (AA)
- Uitgeschakeld (CD) controleren
- Recursie beschikbaar (RA)
- Recursie Desired (RD)
- Afgekapt (TC)
- Z
Volgende stappen
Zie voor meer informatie: