Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
DNS-informationsmodellen används för att beskriva händelser som rapporterats av en DNS-server eller ett DNS-säkerhetssystem och används av Microsoft Sentinel för att aktivera källagnostisk analys.
Mer information finns i Normalisering och ASIM (Advanced Security Information Model).
Schemaöversikt
ASIM DNS-schemat representerar DNS-protokollaktivitet. Både DNS-servrar och enheter som skickar DNS-begäranden till en DNS-serverlogg dns-aktivitet. DNS-protokollaktiviteten omfattar DNS-frågor, DNS-serveruppdateringar och massöverföring av DNS-data. Eftersom schemat representerar protokollaktiviteten styrs det av RFC:er och officiellt tilldelade parameterlistor, som refereras till i den här artikeln när det är lämpligt. DNS-schemat representerar inte DNS-servergranskningshändelser.
Den viktigaste aktiviteten som rapporteras av DNS-servrar är en DNS-fråga som fältet EventType är inställt på Query.
De viktigaste fälten i en DNS-händelse är:
DnsQuery, som rapporterar domännamnet som frågan utfärdades för.
SrcIpAddr (alias till IpAddr), som representerar DEN IP-adress som begäran genererades från. DNS-servrar tillhandahåller vanligtvis fältet SrcIpAddr, men DNS-klienter tillhandahåller ibland inte det här fältet och anger bara fältet SrcHostname .
EventResultDetails, som rapporterar om begäran lyckades och om inte, varför.
När det är tillgängligt innehåller DnsResponseName, som innehåller svaret från servern på frågan. ASIM kräver inte parsning av svaret, och dess format varierar mellan källor.
Om du vill använda det här fältet i källagnostiskt innehåll söker du i innehållet med operatorerna
hasellercontains.
DNS-händelser som samlas in på klientenheten kan också innehålla information om användare och processer .
Riktlinjer för insamling av DNS-händelser
DNS är ett unikt protokoll eftersom det kan korsa ett stort antal datorer. Eftersom DNS använder UDP kopplas även begäranden och svar bort och är inte direkt relaterade till varandra.
Följande bild visar ett förenklat DNS-begärandeflöde, inklusive fyra segment. En verklig begäran kan vara mer komplex, med fler segment inblandade.
Eftersom segmenten för begäran och svar inte är direkt anslutna till varandra i DNS-begärandeflödet kan fullständig loggning resultera i betydande duplicering.
Det mest värdefulla segmentet att logga är svaret på klienten. Svaret innehåller domännamnsfrågor, uppslagsresultatet och klientens IP-adress. Många DNS-system loggar bara det här segmentet, men det finns ett värde i loggningen av de andra delarna. Till exempel drar en förgiftningsattack i DNS-cache ofta nytta av falska svar från en överordnad server.
Om datakällan stöder fullständig DNS-loggning och du har valt att logga flera segment justerar du dina frågor för att förhindra dataduplicering i Microsoft Sentinel.
Du kan till exempel ändra frågan med följande normalisering:
_Im_Dns | where SrcIpAddr != "127.0.0.1" and EventSubType == "response"
Tolkar
Mer information om ASIM-parsers finns i översikten över ASIM-parsers.
Färdiga parsers
Om du vill använda parsers som förenar alla asim-parsers och se till att analysen körs över alla konfigurerade källor använder du den enande parsern _Im_Dns som tabellnamn i frågan.
Listan över DNS-parsare Microsoft Sentinel innehåller färdiga anvisningar finns i ASIM-parsningslistan.
Lägg till dina egna normaliserade parsers
När du implementerar anpassade parsers för Dns-informationsmodellen namnger du dina KQL-funktioner med formatet vimDns<vendor><Product>. Läs artikeln Hantera ASIM-parsers för att lära dig hur du lägger till dina anpassade parsers i DNS-enande parsern.
Filtrera parserparametrar
DNS-parsarna stöder filtreringsparametrar. Även om de här parametrarna är valfria kan de förbättra frågeprestandan.
Följande filtreringsparametrar är tillgängliga:
| Namn | Typ | Beskrivning |
|---|---|---|
| Starttime | Datetime | Filtrera endast DNS-frågor som kördes vid eller efter den här tiden. Den här parametern filtrerar fältet TimeGenerated , som är standarddesignatorn för tidpunkten för händelsen, oavsett parserspecifik mappning av fälten EventStartTime och EventEndTime. |
| Endtime | Datetime | Filtrera endast DNS-frågor som har körts vid eller före den här tiden. Den här parametern filtrerar fältet TimeGenerated , som är standarddesignatorn för tidpunkten för händelsen, oavsett parserspecifik mappning av fälten EventStartTime och EventEndTime. |
| srcipaddr | sträng | Filtrera endast DNS-frågor från den här käll-IP-adressen. |
| domain_has_any | dynamisk/sträng | Filtrera endast DNS-frågor där domain (eller query) har något av de angivna domännamnen, inklusive som en del av händelsedomänen. Listans längd är begränsad till 10 000 objekt. |
| responsecodename | sträng | Filtrera endast DNS-frågor som svarskodens namn matchar det angivna värdet för. Till exempel: NXDOMAIN |
| response_has_ipv4 | sträng | Filtrera endast DNS-frågor där svarsfältet innehåller angiven IP-adress eller IP-adressprefix. Använd den här parametern när du vill filtrera på en enskild IP-adress eller ett prefix. Resultat returneras inte för källor som inte ger något svar. |
| response_has_any_prefix | Dynamisk | Filtrera endast DNS-frågor där svarsfältet innehåller någon av de angivna IP-adresserna eller IP-adressprefixen. Prefix ska sluta med , .till exempel: 10.0.. Använd den här parametern när du vill filtrera på en lista med IP-adresser eller prefix. Resultat returneras inte för källor som inte ger något svar. Listans längd är begränsad till 10 000 objekt. |
| Eventtype | sträng | Filtrera endast DNS-frågor av den angivna typen. Om inget värde anges returneras endast uppslagsfrågor. |
Om du till exempel bara vill filtrera DNS-frågor från den senaste dagen som inte kunde matcha domännamnet använder du:
_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())
Om du bara vill filtrera DNS-frågor efter en angiven lista med domännamn använder du:
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)
Vissa parametrar kan acceptera både en lista med värden av typen dynamic eller ett enda strängvärde. Om du vill skicka en literallista till parametrar som förväntar sig ett dynamiskt värde använder du uttryckligen en dynamisk literal. Till exempel: dynamic(['192.168.','10.'])
Normaliserat innehåll
En fullständig lista över analysregler som använder normaliserade DNS-händelser finns i Säkerhetsinnehåll för DNS-frågor.
Schemainformation
DNS-informationsmodellen är i linje med OSSEM DNS-entitetsschemat.
Mer information finns i DNS-parameterreferensen för Internet Assigned Numbers Authority (IANA).
Vanliga ASIM-fält
Viktigt
Fält som är gemensamma för alla scheman beskrivs i detalj i artikeln vanliga ASIM-fält .
Vanliga fält med specifika riktlinjer
I följande lista nämns fält som har specifika riktlinjer för DNS-händelser:
| Fält | Klass | Typ | Beskrivning |
|---|---|---|---|
| EventType | Obligatorisk | Uppräknade | Anger åtgärden som rapporterats av posten. För DNS-poster är det här värdet DNS-op-koden. Exempel: Query |
| EventSubType | Valfritt | Uppräknade | Antingen request eller response. För de flesta källor loggas bara svaren, och därför är värdet ofta svar. |
| EventResultDetails | Obligatorisk | Uppräknade | För DNS-händelser innehåller det här fältet DNS-svarskoden. Anmärkningar: – IANA definierar inte skiftläget för värdena, så analys måste normalisera ärendet. – Om källan endast innehåller en numerisk svarskod och inte ett svarskodnamn måste parsern innehålla en uppslagstabell för att berika med det här värdet. – Om den här posten representerar en begäran och inte ett svar anger du till NA. Exempel: NXDOMAIN |
| EventSchemaVersion | Obligatorisk | SchemaVersion (sträng) | Den version av schemat som dokumenteras här är 0.1.7. |
| EventSchema | Obligatorisk | Uppräknade | Namnet på schemat som dokumenteras här är Dns. |
| Dvc-fält | - | - | För DNS-händelser refererar enhetsfält till systemet som rapporterar DNS-händelsen. |
Alla vanliga fält
Fält som visas i tabellen nedan är gemensamma för alla ASIM-scheman. Eventuella riktlinjer som anges ovan åsidosätter de allmänna riktlinjerna för fältet. Ett fält kan till exempel vara valfritt i allmänhet, men obligatoriskt för ett visst schema. Mer information om varje fält finns i artikeln vanliga ASIM-fält .
| Klass | Fält |
|---|---|
| Obligatorisk |
-
EventCount - EventStartTime - EventEndTime - Eventtype - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
| Rekommenderas |
-
EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
| Valfritt |
-
EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
Källsystemfält
| Fält | Klass | Typ | Beskrivning |
|---|---|---|---|
| Src | Alias | Sträng | En unik identifierare för källenheten. Det här fältet kan ha alias för fälten SrcDvcId, SrcHostname eller SrcIpAddr . Exempel: 192.168.12.1 |
| SrcIpAddr | Rekommenderas | IP-adress | IP-adressen för klienten som skickade DNS-begäran. För en rekursiv DNS-begäran är det här värdet vanligtvis rapporteringsenheten och i de flesta fall inställt på 127.0.0.1. Exempel: 192.168.12.1 |
| SrcPortNumber | Valfritt | Heltal | Källporten för DNS-frågan. Exempel: 54312 |
| IpAddr | Alias | Alias till SrcIpAddr | |
| SrcGeoCountry | Valfritt | Land | Det land/den region som är associerad med källans IP-adress. Exempel: USA |
| SrcGeoRegion | Valfritt | Region | Den region som är associerad med källans IP-adress. Exempel: Vermont |
| SrcGeoCity | Valfritt | Ort | Den ort som är associerad med källans IP-adress. Exempel: Burlington |
| SrcGeoLatitude | Valfritt | Latitude | Latitud för den geografiska koordinat som är associerad med källans IP-adress. Exempel: 44.475833 |
| SrcGeoLongitude | Valfritt | Longitud | Longitud för den geografiska koordinat som är associerad med källans IP-adress. Exempel: 73.211944 |
| SrcRiskLevel | Valfritt | Heltal | Den risknivå som är associerad med källan. Värdet ska justeras till ett intervall på 0 till , med 0 för godartad och 100100för hög risk.Exempel: 90 |
| SrcOriginalRiskLevel | Valfritt | Sträng | Den risknivå som är associerad med källan, enligt rapporteringsenhetens rapporter. Exempel: Suspicious |
| SrcHostname | Rekommenderas | Värdnamn (sträng) | Källenhetens värdnamn, exklusive domäninformation. Exempel: DESKTOP-1282V4D |
| Hostname | Alias | Alias till SrcHostname | |
| SrcDomain | Rekommenderas | Domän (sträng) | Källenhetens domän. Exempel: Contoso |
| SrcDomainType | Villkorsstyrd | Uppräknade | Typen av SrcDomain, om det är känt. Möjliga värden inkluderar: - Windows (till exempel: contoso)- FQDN (till exempel: microsoft.com)Krävs om SrcDomain används. |
| SrcFQDN | Valfritt | FQDN (sträng) | Källenhetens värdnamn, inklusive domäninformation när det är tillgängligt. Obs! Det här fältet stöder både traditionellt FQDN-format och Windows-domän\värddatornamnformat. Fältet SrcDomainType återspeglar det format som används. Exempel: Contoso\DESKTOP-1282V4D |
| SrcDvcId | Valfritt | Sträng | ID:t för källenheten enligt rapporten i posten. Till exempel: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| SrcDvcScopeId | Valfritt | Sträng | Molnplattformens omfångs-ID som enheten tillhör. SrcDvcScopeId mappas till ett prenumerations-ID på Azure och till ett konto-ID på AWS. |
| SrcDvcScope | Valfritt | Sträng | Molnplattformsomfånget som enheten tillhör. SrcDvcScope mappar till ett prenumerations-ID på Azure och till ett konto-ID på AWS. |
| SrcDvcIdType | Villkorsstyrd | Uppräknade | Typen av SrcDvcId, om det är känt. Möjliga värden inkluderar: - AzureResourceId- MDEidOm flera ID:er är tillgängliga använder du det första från listan och lagrar de andra i SrcDvcAzureResourceId respektive SrcDvcMDEid. Obs! Det här fältet krävs om SrcDvcId används. |
| SrcDeviceType | Valfritt | Uppräknade | Typ av källenhet. Möjliga värden inkluderar: - Computer- Mobile Device- IOT Device- Other |
| SrcDescription | Valfritt | Sträng | En beskrivande text som är associerad med enheten. Till exempel: Primary Domain Controller. |
Källanvändarfält
| Fält | Klass | Typ | Beskrivning |
|---|---|---|---|
| SrcUserId | Valfritt | Sträng | En maskinläsbar, alfanumerisk, unik representation av källanvändaren. Mer information och alternativa fält för ytterligare ID:n finns i Entiteten Användare. Exempel: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
| SrcUserScope | Valfritt | Sträng | Omfånget, till exempel Microsoft Entra klientorganisation, där SrcUserId och SrcUsername definieras. eller mer information och lista över tillåtna värden finns i UserScope i artikeln Schemaöversikt. |
| SrcUserScopeId | Valfritt | Sträng | Omfångs-ID, till exempel Microsoft Entra katalog-ID, där SrcUserId och SrcUsername definieras. Mer information och lista över tillåtna värden finns i UserScopeId i artikeln Schemaöversikt. |
| SrcUserIdType | Villkorsstyrd | UserIdType | Typen av ID som lagras i fältet SrcUserId . Mer information och lista över tillåtna värden finns i UserIdType i artikeln Schemaöversikt. |
| SrcUsername | Valfritt | Användarnamn (sträng) | Källans användarnamn, inklusive domäninformation när det är tillgängligt. Mer information finns i Användarentiteten. Exempel: AlbertE |
| SrcUsernameType | Villkorsstyrd | UsernameType | Anger typen av användarnamn som lagras i fältet SrcUsername . Mer information och lista över tillåtna värden finns i UsernameType i artikeln Schemaöversikt. Exempel: Windows |
| Användaren | Alias | Alias för SrcUsername | |
| SrcUserType | Valfritt | UserType | Typ av källanvändare. Mer information och lista över tillåtna värden finns i UserType i artikeln Schemaöversikt. Till exempel: Guest |
| SrcUserSessionId | Valfritt | Sträng | Det unika ID:t för inloggningssessionen för aktören. Exempel: 102pTUgC3p8RIqHvzxLCHnFlg |
| SrcOriginalUserType | Valfritt | Sträng | Den ursprungliga källanvändartypen, om den tillhandahålls av källan. |
Källprocessfält
| Fält | Klass | Typ | Beskrivning |
|---|---|---|---|
| SrcProcessName | Valfritt | Sträng | Filnamnet på den process som initierade DNS-begäran. Det här namnet anses vanligtvis vara processnamnet. Exempel: C:\Windows\explorer.exe |
| Process | Alias | Alias för SrcProcessName Exempel: C:\Windows\System32\rundll32.exe |
|
| SrcProcessId | Valfritt | Sträng | Process-ID (PID) för den process som initierade DNS-begäran. Exempel: 48610176 Obs! Typen definieras som sträng för att stödja olika system, men i Windows och Linux måste det här värdet vara numeriskt. Om du använder en Windows- eller Linux dator och använder en annan typ ska du konvertera värdena. Om du till exempel använde ett hexadecimalt värde konverterar du det till ett decimalvärde. |
| SrcProcessGuid | Valfritt | GUID (sträng) | En genererad unik identifierare (GUID) för den process som initierade DNS-begäran. Exempel: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
Målsystemfält
| Fält | Klass | Typ | Beskrivning |
|---|---|---|---|
| Dst | Alias | Sträng | En unik identifierare för servern som tog emot DNS-begäran. Det här fältet kan vara alias för fälten DstDvcId, DstHostname eller DstIpAddr . Exempel: 192.168.12.1 |
| DstIpAddr | Valfritt | IP-adress | IP-adressen för servern som tog emot DNS-begäran. För en vanlig DNS-begäran är det här värdet vanligtvis rapporteringsenheten och i de flesta fall inställt på 127.0.0.1.Exempel: 127.0.0.1 |
| DstGeoCountry | Valfritt | Land | Det land/den region som är associerad med mål-IP-adressen. Mer information finns i Logiska typer. Exempel: USA |
| DstGeoRegion | Valfritt | Region | Den region eller det tillstånd som är associerat med målets IP-adress. Mer information finns i Logiska typer. Exempel: Vermont |
| DstGeoCity | Valfritt | Ort | Den stad som är associerad med målets IP-adress. Mer information finns i Logiska typer. Exempel: Burlington |
| DstGeoLatitude | Valfritt | Latitude | Latitud för den geografiska koordinat som är associerad med målets IP-adress. Mer information finns i Logiska typer. Exempel: 44.475833 |
| DstGeoLongitude | Valfritt | Longitud | Longitud för den geografiska koordinat som är associerad med målets IP-adress. Mer information finns i Logiska typer. Exempel: 73.211944 |
| DstRiskLevel | Valfritt | Heltal | Den risknivå som är associerad med målet. Värdet bör justeras till ett intervall på 0 till 100, vilket 0 är godartat och 100 är en hög risk. Exempel: 90 |
| DstOriginalRiskLevel | Valfritt | Sträng | Den risknivå som är associerad med målet, enligt rapporteringsenhetens rapporter. Exempel: Malicious |
| DstPortNumber | Valfritt | Heltal | Målportnummer. Exempel: 53 |
| DstHostname | Valfritt | Värdnamn (sträng) | Målenhetens värdnamn, exklusive domäninformation. Om inget enhetsnamn är tillgängligt lagrar du relevant IP-adress i det här fältet. Exempel: DESKTOP-1282V4DObs! Det här värdet är obligatoriskt om DstIpAddr anges. |
| DstDomain | Valfritt | Domän (sträng) | Målenhetens domän. Exempel: Contoso |
| DstDomainType | Villkorsstyrd | Uppräknade | Typ av DstDomain, om det är känt. Möjliga värden inkluderar: - Windows (contoso\mypc)- FQDN (learn.microsoft.com)Krävs om DstDomain används. |
| DstFQDN | Valfritt | FQDN (sträng) | Målenhetens värdnamn, inklusive domäninformation när det är tillgängligt. Exempel: Contoso\DESKTOP-1282V4D Obs! Det här fältet stöder både traditionellt FQDN-format och Windows-domän\värddatornamnformat. DstDomainType återspeglar det format som används. |
| DstDvcId | Valfritt | Sträng | ID:t för målenheten enligt rapporten i posten. Exempel: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| DstDvcScopeId | Valfritt | Sträng | Molnplattformens omfångs-ID som enheten tillhör. DstDvcScopeId mappas till ett prenumerations-ID på Azure och till ett konto-ID på AWS. |
| DstDvcScope | Valfritt | Sträng | Molnplattformsomfånget som enheten tillhör. DstDvcScope mappas till ett prenumerations-ID på Azure och till ett konto-ID på AWS. |
| DstDvcIdType | Villkorsstyrd | Uppräknade | Typ av DstDvcId, om det är känt. Möjliga värden inkluderar: - AzureResourceId- MDEidIfOm flera ID:er är tillgängliga använder du det första från listan ovan och lagrar de andra i fälten DstDvcAzureResourceId respektive DstDvcMDEid . Krävs om DstDeviceId används. |
| DstDeviceType | Valfritt | Uppräknade | Typ av målenhet. Möjliga värden inkluderar: - Computer- Mobile Device- IOT Device- Other |
| DstDescription | Valfritt | Sträng | En beskrivande text som är associerad med enheten. Till exempel: Primary Domain Controller. |
DNS-specifika fält
| Fält | Klass | Typ | Beskrivning |
|---|---|---|---|
| DnsQuery | Obligatorisk | Sträng | Domänen som begäran försöker matcha. Anmärkningar: – Vissa källor skickar giltiga FQDN-frågor i ett annat format. I själva DNS-protokollet innehåller frågan till exempel en punkt (.) i slutet, som måste tas bort. – Dns-protokollet begränsar typen av värde i det här fältet till ett fullständigt domännamn, men de flesta DNS-servrar tillåter valfritt värde, och det här fältet är därför inte begränsat till endast FQDN-värden. Framför allt kan DNS-tunnelattacker använda ogiltiga FQDN-värden i frågefältet. – Dns-protokollet tillåter flera frågor i en enda begäran, men det här scenariot är ovanligt, om det finns alls. Om begäran har flera frågor lagrar du den första i det här fältet och behåller sedan resten i fältet AdditionalFields . Exempel: www.malicious.com |
| Domän | Alias | Alias till DnsQuery. | |
| DnsQueryType | Valfritt | Heltal |
Koder för DNS-resursposttyp. Exempel: 28 |
| DnsQueryTypeName | Rekommenderas | Uppräknade |
Namn på DNS-resursposttyp. Anmärkningar: – IANA definierar inte skiftläget för värdena, så analys måste normalisera ärendet efter behov. – Värdet ANY stöds för svarskoden 255.– Värdet TYPExxxx stöds för ommappade svarskoder, där xxxx är det numeriska värdet för svarskoden, enligt rapporten från BIND DNS-servern.-Om källan endast innehåller en numerisk frågetypkod och inte ett namn på frågetypen måste parsern innehålla en uppslagstabell för att berika med det här värdet. Exempel: AAAA |
| DnsResponseName | Valfritt | Sträng | Innehållet i svaret, som ingår i posten. DNS-svarsdata är inkonsekventa mellan rapporteringsenheter, är komplexa att parsa och har mindre värde för källagnostisk analys. Informationsmodellen kräver därför inte parsning och normalisering, och Microsoft Sentinel använder en hjälpfunktion för att tillhandahålla svarsinformation. Mer information finns i Hantera DNS-svar. |
| DnsResponseCodeName | Alias | Alias för EventResultDetails | |
| DnsResponseCode | Valfritt | Heltal |
Den numeriska DNS-svarskoden. Exempel: 3 |
| TransactionIdHex | Rekommenderas | Hexadecimalt (sträng) | DNS-frågans unika ID som tilldelats av DNS-klienten, i hexadecimalt format. Observera att det här värdet är en del av DNS-protokollet och skiljer sig från DnsSessionId, nätverksskiktets sessions-ID, som vanligtvis tilldelas av rapporteringsenheten. |
| NetworkProtocol | Valfritt | Uppräknade | Transportprotokollet som används av nätverksmatchningshändelsen. Värdet kan vara UDP eller TCP och är oftast inställt på UDP för DNS. Exempel: UDP |
| NetworkProtocolVersion | Valfritt | Uppräknade | Versionen av NetworkProtocol. När du använder den för att skilja mellan IP-version använder du värdena IPv4 och IPv6. |
| DnsQueryClass | Valfritt | Heltal |
DNS-klass-ID. I praktiken används endast IN-klassen (ID 1) och därför är det här fältet mindre värdefullt. |
| DnsQueryClassName | Rekommenderas | DnsQueryClassName (sträng) |
DNS-klassnamnet. I praktiken används endast IN-klassen (ID 1) och därför är det här fältet mindre värdefullt. Exempel: IN |
| DnsFlags | Valfritt | Sträng | Fältet flaggor som tillhandahålls av rapporteringsenheten. Om flagginformation anges i flera fält sammanfogar du dem med kommatecken som avgränsare. Eftersom DNS-flaggor är komplexa att parsa och används mindre ofta av analys krävs inte parsning och normalisering. Microsoft Sentinel kan använda en hjälpfunktion för att tillhandahålla information om flaggor. Mer information finns i Hantera DNS-svar. Exempel: ["DR"] |
| DnsNetworkDuration | Valfritt | Heltal | Hur lång tid, i millisekunder, för slutförandet av DNS-begäran. Exempel: 1500 |
| Varaktighet | Alias | Alias för DnsNetworkDuration | |
| DnsFlagsAuthenticated | Valfritt | Boolesk | DNS-flaggan AD , som är relaterad till DNSSEC, anger i ett svar att alla data som ingår i svars- och auktoritetsavsnitten i svaret har verifierats av servern enligt serverns principer. Mer information finns i RFC 3655 Avsnitt 6.1 för mer information. |
| DnsFlagsAuthoritative | Valfritt | Boolesk | DNS-flaggan AA anger om svaret från servern var auktoritativt |
| DnsFlagsCheckingDisabled | Valfritt | Boolesk | DNS-flaggan CD , som är relaterad till DNSSEC, anger i en fråga att icke-verifierade data är godtagbara för systemet som skickar frågan. Mer information finns i RFC 3655 Avsnitt 6.1 för mer information. |
| DnsFlagsRecursionAvailable | Valfritt | Boolesk | DNS-flaggan RA anger i ett svar att servern stöder rekursiva frågor. |
| DnsFlagsRecursionDesired | Valfritt | Boolesk | DNS-flaggan RD anger i en begäran att klienten vill att servern ska använda rekursiva frågor. |
| DnsFlagsTruncated | Valfritt | Boolesk | DNS-flaggan TC anger att ett svar trunkerades eftersom det överskred den maximala svarsstorleken. |
| DnsFlagsZ | Valfritt | Boolesk | DNS-flaggan Z är en inaktuell DNS-flagga som kan rapporteras av äldre DNS-system. |
| DnsSessionId | Valfritt | sträng | DNS-sessionsidentifieraren enligt rapporteringsenhetens rapport. Det här värdet skiljer sig från TransactionIdHex, dns-frågans unika ID som tilldelats av DNS-klienten. Exempel: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55 |
| Sessionid | Alias | Alias till DnsSessionId | |
| DnsResponseIpCountry | Valfritt | Land | Det land/den region som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer. Exempel: USA |
| DnsResponseIpRegion | Valfritt | Region | Den region eller det tillstånd som är associerat med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer. Exempel: Vermont |
| DnsResponseIpCity | Valfritt | Ort | Den stad som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer. Exempel: Burlington |
| DnsResponseIpLatitude | Valfritt | Latitude | Latitud för den geografiska koordinat som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer. Exempel: 44.475833 |
| DnsResponseIpLongitude | Valfritt | Longitud | Longitud för den geografiska koordinat som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer. Exempel: 73.211944 |
Kontrollfält
Följande fält används för att representera en inspektion som en DNS-säkerhetsenhet utförde. De hotrelaterade fälten representerar ett enda hot som är associerat med antingen källadressen, måladressen, en av IP-adresserna i svaret eller DNS-frågedomänen. Om mer än ett hot har identifierats som ett hot kan information om andra IP-adresser lagras i fältet AdditionalFields.
| Fält | Klass | Typ | Beskrivning |
|---|---|---|---|
| UrlCategory | Valfritt | Sträng | En DNS-händelsekälla kan också slå upp kategorin för de begärda domänerna. Fältet kallas UrlCategory för att justera med Microsoft Sentinel nätverksschema. DomainCategory läggs till som ett alias som passar DNS. Exempel: Educational \\ Phishing |
| DomainCategory | Alias | Alias till UrlCategory. | |
| RuleName | Valfritt | Sträng | Namnet eller ID:t för regeln som identifierade hotet. Exempel: AnyAnyDrop |
| RuleNumber | Valfritt | Heltal | Numret på regeln som identifierade hotet. Exempel: 23 |
| Regel | Alias | Sträng | Antingen värdet för RuleName eller värdet för RuleNumber. Om värdet för RuleNumber används ska typen konverteras till sträng. |
| RuleNumber | Valfritt | int | Numret på regeln som är associerad med aviseringen. E.g. 123456 |
| RuleName | Valfritt | sträng | Namnet eller ID:t för regeln som är associerad med aviseringen. E.g. Server PSEXEC Execution via Remote Access |
| ThreatId | Valfritt | Sträng | ID:t för det hot eller den skadliga kod som identifierades i nätverkssessionen. Exempel: Tr.124 |
| ThreatCategory | Valfritt | Sträng | Om en DNS-händelsekälla också tillhandahåller DNS-säkerhet kan den också utvärdera DNS-händelsen. Den kan till exempel söka efter IP-adressen eller domänen i en hotinformationsdatabas och tilldela domänen eller IP-adressen med en hotkategori. |
| ThreatIpAddr | Valfritt | IP-adress | En IP-adress för vilken ett hot har identifierats. Fältet ThreatField innehåller namnet på fältet ThreatIpAddr representerar. Om ett hot identifieras i fältet Domän ska det här fältet vara tomt. |
| ThreatField | Villkorsstyrd | Uppräknade | Det fält för vilket ett hot identifierades. Värdet är antingen SrcIpAddr, DstIpAddr, Domaineller DnsResponseName. |
| ThreatName | Valfritt | Sträng | Namnet på det hot som identifierats, enligt rapporteringsenhetens rapporter. |
| ThreatConfidence | Valfritt | ConfidenceLevel (heltal) | Konfidensnivån för det identifierade hotet normaliserades till ett värde mellan 0 och 100. |
| ThreatOriginalConfidence | Valfritt | Sträng | Den ursprungliga konfidensnivån för det identifierade hotet, enligt rapporteringsenhetens rapporter. |
| ThreatRiskLevel | Valfritt | RiskLevel (heltal) | Den risknivå som är associerad med det identifierade hotet, normaliserad till ett värde mellan 0 och 100. |
| ThreatOriginalRiskLevel | Valfritt | Sträng | Den ursprungliga risknivån som är associerad med det identifierade hotet, enligt rapporteringsenhetens rapporter. |
| ThreatIsActive | Valfritt | Boolesk | Sant om det identifierade hotet anses vara ett aktivt hot. |
| ThreatFirstReportedTime | Valfritt | Datetime | Första gången IP-adressen eller domänen identifierades som ett hot. |
| ThreatLastReportedTime | Valfritt | Datetime | Senaste gången IP-adressen eller domänen identifierades som ett hot. |
Inaktuella alias och fält
Följande fält är alias som underhålls för bakåtkompatibilitet. De togs bort från schemat den 31 december 2021.
-
Query(alias tillDnsQuery) -
QueryType(alias tillDnsQueryType) -
QueryTypeName(alias tillDnsQueryTypeName) -
ResponseName(alias tillDnsResponseName) -
ResponseCodeName(alias tillDnsResponseCodeName) -
ResponseCode(alias tillDnsResponseCode) -
QueryClass(alias tillDnsQueryClass) -
QueryClassName(alias tillDnsQueryClassName) -
Flags(alias tillDnsFlags) SrcUserDomain
Schemauppdateringar
Ändringarna i version 0.1.2 av schemat är:
- Fältet har lagts till
EventSchema. - Ett dedikerat flaggfält har lagts till, vilket utökar det kombinerade fältet Flaggor :
DnsFlagsAuthoritative,DnsFlagsCheckingDisabled,DnsFlagsRecursionAvailable,DnsFlagsRecursionDesired,DnsFlagsTruncatedochDnsFlagsZ.
Ändringarna i version 0.1.3 av schemat är:
- Schemat dokumenterar
Src*nu uttryckligen fälten ,Dst*Process*ochUser*. -
Dvc*Fler fält har lagts till för att matcha den senaste definitionen för vanliga fält. - Har lagts
Srctill ochDstsom alias till en ledande identifierare för käll- och målsystemen. - Lade till valfritt
DnsNetworkDurationochDuration, ett alias till det. - Valfria fält för geoplats och risknivå har lagts till.
Ändringarna i version 0.1.4 av schemat är:
- De valfria fälten
ThreatIpAddr,ThreatField,ThreatName,ThreatConfidence,ThreatOriginalConfidence,ThreatOriginalRiskLevel,ThreatIsActive,ThreatFirstReportedTimeochThreatLastReportedTimehar lagts till.
Ändringarna i version 0.1.5 av schemat är:
- Fälten , , , , , ,
DstDvcScopeochDvcScopeIdDvcScopehar lagtsSrcUserScopetill.DstDvcScopeIdSrcDvcScopeSrcDvcScopeIdSrcUserSessionId
Ändringarna i version 0.1.6 av schemat är:
- Fälten ,
DnsResponseIpRegion,DnsResponseIpCity,DnsResponseIpLatitudeochDnsResponseIpLongitudehar lagtsDnsResponseIpCountrytill.
Ändringarna i version 0.1.7 av schemat är:
- Fälten , , , , , ,
NetworkProtocolVersion,Rule,RuleName,RuleNumberochThreatIdhar lagtsSrcDescriptiontill.SrcUserScopeIdDstOriginalRiskLevelDstDescriptionSrcOriginalRiskLevel
Källspecifika avvikelser
Målet med normalisering är att säkerställa att alla källor tillhandahåller konsekvent telemetri. En källa som inte tillhandahåller nödvändig telemetri, till exempel obligatoriska schemafält, kan inte normaliseras. Källor som vanligtvis tillhandahåller all nödvändig telemetri, även om det finns vissa avvikelser, kan dock normaliseras. Avvikelser kan påverka frågeresultatens fullständighet.
I följande tabell visas kända avvikelser:
| Source | Avvikelser |
|---|---|
| Microsoft DNS-server som samlats in med HJÄLP av DNS-anslutningsappen och Log Analytics-agenten | Anslutningsappen tillhandahåller inte det obligatoriska DnsQuery-fältet för ursprungligt händelse-ID 264 (svar på en dynamisk uppdatering). Data är tillgängliga vid källan, men vidarebefordras inte av anslutningsappen. |
| Corelight Zeek | Corelight Zeek kanske inte tillhandahåller det obligatoriska DnsQuery-fältet. Vi har observerat sådant beteende i vissa fall där DNS-svarskodens namn är NXDOMAIN. |
Hantera DNS-svar
I de flesta fall innehåller loggade DNS-händelser inte svarsinformation, vilket kan vara stort och detaljerat. Om din post innehåller mer svarsinformation lagrar du den i fältet ResponseName som den visas i posten.
Du kan också ange en extra KQL-funktion med namnet _imDNS<vendor>Response_, som tar det oförseparerade svaret som indata och returnerar dynamiskt värde med följande struktur:
[
{
"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"
}
...
]
Fälten i varje ordlista i det dynamiska värdet motsvarar fälten i varje DNS-svar. Posten part ska innehålla antingen answer, authorityeller additional för att återspegla delen i svaret som ordlistan tillhör.
Tips
För att säkerställa optimala prestanda anropar du bara funktionen när det imDNS<vendor>Response behövs och först efter en inledande filtrering för att säkerställa bättre prestanda.
Hantera DNS-flaggor
Parsning och normalisering krävs inte för flaggdata. Lagra i stället de flaggdata som tillhandahålls av rapporteringsenheten i fältet Flaggor . Om det är enkelt att fastställa värdet för enskilda flaggor kan du också använda fälten för dedikerade flaggor.
Du kan också ange en extra KQL-funktion med namnet _imDNS<vendor>Flags_, som tar det oparserade svaret eller dedikerade flaggfält som indata och returnerar en dynamisk lista, med booleska värden som representerar varje flagga i följande ordning:
- Autentiserad (AD)
- Auktoritativt (AA)
- Kontrollerar inaktiverad (CD)
- Rekursion tillgänglig (RA)
- Önskad rekursion (RD)
- Trunkerad (TC)
- Z
Nästa steg
Mer information finns i: