Microsoft Entra-säkerhetsåtgärdsguide för program
Program har en attackyta för säkerhetsöverträdelser och måste övervakas. Även om det inte är riktat så ofta som användarkonton kan överträdelser inträffa. Eftersom program ofta körs utan mänsklig inblandning kan attackerna vara svårare att identifiera.
Den här artikeln innehåller vägledning för att övervaka och avisera om programhändelser. Den uppdateras regelbundet för att säkerställa att du:
Förhindra att skadliga program får omotiverad åtkomst till data
Förhindra att program komprometteras av dåliga aktörer
Samla in insikter som gör att du kan skapa och konfigurera nya program på ett säkrare sätt
Om du inte känner till hur program fungerar i Microsoft Entra-ID kan du läsa Appar och tjänstens huvudnamn i Microsoft Entra-ID.
Kommentar
Om du ännu inte har granskat översikten över Microsoft Entra-säkerhetsåtgärder kan du överväga att göra det nu.
Vad du ska söka efter
När du övervakar programloggarna för säkerhetsincidenter läser du följande lista för att skilja normal aktivitet från skadlig aktivitet. Följande händelser kan tyda på säkerhetsproblem. Var och en beskrivs i artikeln.
Ändringar som sker utanför normala affärsprocesser och scheman
Ändringar av programautentiseringsuppgifter
Programbehörigheter
Tjänstens huvudnamn har tilldelats ett Microsoft Entra-ID eller en roll för rollbaserad åtkomstkontroll i Azure (RBAC)
Program som beviljats högprivilegierade behörigheter
Ändringar i Azure Key Vault
Slutanvändare som beviljar programmedgivande
Stoppat slutanvändarmedgivande baserat på risknivå
Ändringar i programkonfigurationen
Universell resursidentifierare (URI) har ändrats eller inte standard
Ändringar i programägare
Url:er för utloggning har ändrats
Var du ska titta
Loggfilerna som du använder för undersökning och övervakning är:
Från Azure Portal kan du visa Microsoft Entra-granskningsloggarna och ladda ned som kommaavgränsade värdefiler (CSV) eller JSON-filer (JavaScript Object Notation). Azure Portal har flera sätt att integrera Microsoft Entra-loggar med andra verktyg, vilket möjliggör mer automatisering av övervakning och aviseringar:
Microsoft Sentinel – möjliggör intelligent säkerhetsanalys på företagsnivå med siem-funktioner (säkerhetsinformation och händelsehantering).
Sigma-regler – Sigma är en utvecklande öppen standard för att skriva regler och mallar som automatiserade hanteringsverktyg kan använda för att parsa loggfiler. Där det finns Sigma-mallar för våra rekommenderade sökvillkor har vi lagt till en länk till Sigma-lagringsplatsen. Sigma-mallarna skrivs, testas och hanteras inte av Microsoft. Lagringsplatsen och mallarna skapas och samlas i stället in av den globala IT-säkerhetscommunityn.
Azure Monitor – automatiserad övervakning och avisering av olika villkor. Kan skapa eller använda arbetsböcker för att kombinera data från olika källor.
Azure Event Hubs som är integrerade med en SIEM- Microsoft Entra-loggar kan integreras med andra SIEM:er som Splunk, ArcSight, QRadar och Sumo Logic via Azure Event Hubs-integreringen.
Microsoft Defender för molnet-appar – identifiera och hantera appar, styra mellan appar och resurser och kontrollera dina molnappars efterlevnad.
Skydda arbetsbelastningsidentiteter med Microsoft Entra ID Protection – identifierar risker för arbetsbelastningsidentiteter för inloggningsbeteende och offlineindikatorer för kompromisser.
Mycket av det du övervakar och varnar för är effekterna av dina principer för villkorsstyrd åtkomst. Du kan använda insikter och rapporteringsarbetsbok för villkorsstyrd åtkomst för att undersöka effekterna av en eller flera principer för villkorsstyrd åtkomst på dina inloggningar och resultatet av principer, inklusive enhetstillstånd. Använd arbetsboken för att visa en sammanfattning och identifiera effekterna under en tidsperiod. Du kan använda arbetsboken för att undersöka inloggningarna för en viss användare.
Resten av den här artikeln är vad vi rekommenderar att du övervakar och varnar om. Den organiseras efter typ av hot. Där det finns fördefinierade lösningar länkar vi till dem eller tillhandahåller exempel efter tabellen. Annars kan du skapa aviseringar med hjälp av föregående verktyg.
Autentiseringsuppgifter för program
Många program använder autentiseringsuppgifter för att autentisera i Microsoft Entra-ID. Andra autentiseringsuppgifter som läggs till utanför förväntade processer kan vara en skadlig aktör som använder dessa autentiseringsuppgifter. Vi rekommenderar att du använder X509-certifikat som utfärdats av betrodda myndigheter eller hanterade identiteter i stället för att använda klienthemligheter. Men om du behöver använda klienthemligheter följer du god hygienpraxis för att skydda program. Observera att uppdateringar av program och tjänstens huvudnamn loggas som två poster i granskningsloggen.
Övervaka program för att identifiera långa förfallotider för autentiseringsuppgifter.
Ersätt långlivade autentiseringsuppgifter med en kort livslängd. Se till att autentiseringsuppgifterna inte checkas in i kodlagringsplatser och att de lagras på ett säkert sätt.
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Autentiseringsuppgifter har lagts till i befintliga program | Högt | Microsoft Entra-granskningsloggar | Service-Core Directory, Category-ApplicationManagement Aktivitet: Uppdatera programcertifikat och hantering av hemligheter -och- Aktivitet: Uppdatera tjänstens huvudnamn/Uppdatera program |
Avisering när autentiseringsuppgifter läggs till utanför normal kontorstid eller arbetsflöden, av typer som inte används i din miljö eller läggs till i ett icke-SAML-flöde som stöder tjänstens huvudnamn. Microsoft Sentinel-mall Sigma-regler |
Autentiseringsuppgifter med en livslängd som är längre än vad dina principer tillåter. | Medium | Microsoft Graph | Tillstånd och slutdatum för autentiseringsuppgifter för programnyckel -och- Autentiseringsuppgifter för programlösenord |
Du kan använda MS Graph API för att hitta start- och slutdatumet för autentiseringsuppgifter och utvärdera längre livslängd än tillåtet. Se PowerShell-skript som följer den här tabellen. |
Följande fördefinierade övervakning och aviseringar är tillgängliga:
Microsoft Sentinel – Avisering när nya autentiseringsuppgifter för app- eller tjänstprinciper läggs till
Azure Monitor – Microsoft Entra-arbetsbok som hjälper dig att utvärdera Solorigate-risker – Microsoft Tech Community
undersökningsguide för Defender för molnet-appar – undersökningsguide för Defender för molnet Apps-aviseringar för avvikelseidentifiering
PowerShell – PowerShell-exempelskript för att hitta livslängden för autentiseringsuppgifter.
Programbehörigheter
Precis som ett administratörskonto kan program tilldelas privilegierade roller. Appar kan tilldelas alla Microsoft Entra-roller, till exempel användaradministratör eller Azure RBAC-roller, till exempel faktureringsläsare. Eftersom de kan köras utan en användare och som en bakgrundstjänst övervakar du noga när ett program beviljas privilegierade roller eller behörigheter.
Tjänstens huvudnamn har tilldelats en roll
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
App tilldelad till Azure RBAC-roll eller Microsoft Entra-roll | Hög till medelhög | Microsoft Entra-granskningsloggar | Typ: tjänstens huvudnamn Aktivitet: "Lägg till medlem till roll" eller "Lägg till berättigad medlem i rollen" -eller- "Lägg till begränsad medlem i rollen." |
För högprivilegierade roller är risken hög. För lågprivilegierade roller är risken medelhög. Avisering när ett program tilldelas en Azure-roll eller Microsoft Entra-roll utanför normala procedurer för ändringshantering eller konfiguration. Microsoft Sentinel-mall Sigma-regler |
Programmet har beviljats behörigheter med hög behörighet
Program bör följa principen om lägsta behörighet. Undersök programbehörigheter för att säkerställa att de behövs. Du kan skapa en rapport om beviljande av appmedgivande för att identifiera program och markera privilegierade behörigheter.
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Appen har beviljats mycket privilegierade behörigheter, till exempel behörigheter med ". Alla" (Directory.ReadWrite.All) eller omfattande behörigheter (Mail.) | Högt | Microsoft Entra-granskningsloggar | "Lägg till approlltilldelning till tjänstens huvudnamn" -var- Mål identifierar ett API med känsliga data (till exempel Microsoft Graph) -och- AppRole.Value identifierar en mycket privilegierad programbehörighet (approll). |
Appar som beviljats breda behörigheter som ". Alla" (Directory.ReadWrite.All) eller omfattande behörigheter (Mail.) Microsoft Sentinel-mall Sigma-regler |
Administratör som beviljar antingen programbehörigheter (approller) eller privilegierade delegerade behörigheter | Högt | Microsoft 365-portalen | "Lägg till approlltilldelning till tjänstens huvudnamn" -var- Mål identifierar ett API med känsliga data (till exempel Microsoft Graph) "Lägg till delegerat behörighetsbidrag" -var- Mål identifierar ett API med känsliga data (till exempel Microsoft Graph) -och- DelegatedPermissionGrant.Scope innehåller behörigheter med hög behörighet. |
Avisering när en administratör godkänner ett program. Leta särskilt efter medgivande utanför normal aktivitet och ändringsprocedurer. Microsoft Sentinel-mall Microsoft Sentinel-mall Microsoft Sentinel-mall Sigma-regler |
Programmet beviljas behörigheter för Microsoft Graph, Exchange, SharePoint eller Microsoft Entra ID. | Högt | Microsoft Entra-granskningsloggar | "Lägg till delegerat behörighetsbidrag" -eller- "Lägg till approlltilldelning till tjänstens huvudnamn" -var- Mål identifierar ett API med känsliga data (till exempel Microsoft Graph, Exchange Online och så vidare) |
Avisering som i föregående rad. Microsoft Sentinel-mall Sigma-regler |
Programbehörigheter (approller) för andra API:er beviljas | Medium | Microsoft Entra-granskningsloggar | "Lägg till approlltilldelning till tjänstens huvudnamn" -var- Mål identifierar alla andra API:er. |
Avisering som i föregående rad. Sigma-regler |
Privilegierade delegerade behörigheter beviljas för alla användares räkning | Högt | Microsoft Entra-granskningsloggar | "Lägg till delegerat behörighetsbidrag", där Mål identifierar ett API med känsliga data (till exempel Microsoft Graph) DelegatedPermissionGrant.Scope innehåller behörigheter med hög behörighet, -och- DelegatedPermissionGrant.ConsentType är "AllPrincipals". |
Avisering som i föregående rad. Microsoft Sentinel-mall Microsoft Sentinel-mall Microsoft Sentinel-mall Sigma-regler |
Mer information om övervakning av appbehörigheter finns i den här självstudien: Undersöka och åtgärda riskfyllda OAuth-appar.
Azure Key Vault
Använd Azure Key Vault för att lagra klientorganisationens hemligheter. Vi rekommenderar att du uppmärksammar eventuella ändringar i Konfiguration och aktiviteter för Key Vault.
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Hur och när dina Key Vaults används och av vem | Medium | Azure Key Vault-loggar | Resurstyp: Nyckelvalv | Leta efter: all åtkomst till Key Vault utanför vanliga processer och timmar, eventuella ändringar i Key Vault ACL. Microsoft Sentinel-mall Sigma-regler |
När du har konfigurerat Azure Key Vault aktiverar du loggning. Se hur och när dina Key Vaults används och konfigurera aviseringar i Key Vault för att meddela tilldelade användare eller distributionslistor via e-post, telefon, text eller Event Grid-meddelande om hälsotillståndet påverkas. Om du konfigurerar övervakning med Key Vault-insikter får du dessutom en ögonblicksbild av Key Vault-begäranden, prestanda, fel och svarstider. Log Analytics har också några exempelfrågor för Azure Key Vault som kan nås när du har valt ditt Nyckelvalv och sedan under "Övervakning" och väljer "Loggar".
Slutanvändares medgivande
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Slutanvändares medgivande till programmet | Låg | Microsoft Entra-granskningsloggar | Aktivitet: Medgivande till programmet/ConsentContext.IsAdminConsent = false | Leta efter: konton med hög profil eller hög behörighet, appbegäranden med hög riskbehörighet, appar med misstänkta namn, till exempel generiska, felstavade och så vidare. Microsoft Sentinel-mall Sigma-regler |
Att godkänna ett program är inte skadligt. Undersök dock nya bidrag för slutanvändarmedgivande som söker efter misstänkta program. Du kan begränsa åtgärder för användarmedgivande.
Mer information om medgivandeåtgärder finns i följande resurser:
Hantera medgivande till program och utvärdera begäranden om medgivande i Microsoft Entra-ID
Identifiera och åtgärda otillåtna medgivandebidrag – Office 365
Spelbok för incidenthantering – Undersökning av beviljande av appmedgivande
Slutanvändaren stoppades på grund av riskbaserat medgivande
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Slutanvändares medgivande har stoppats på grund av riskbaserat medgivande | Medium | Microsoft Entra-granskningsloggar | Core Directory/ApplicationManagement/Medgivande till programmet Felstatusorsak = Microsoft.online.Security.userConsent BlockedForRiskyAppsExceptions |
Övervaka och analysera när medgivande stoppas på grund av risk. Leta efter: konton med hög profil eller hög behörighet, appbegäranden med hög riskbehörighet eller appar med misstänkta namn, till exempel generiska, felstavade och så vidare. Microsoft Sentinel-mall Sigma-regler |
Autentiseringsflöden för program
Det finns flera flöden i OAuth 2.0-protokollet. Det rekommenderade flödet för ett program beror på vilken typ av program som skapas. I vissa fall finns det ett val av flöden som är tillgängliga för programmet. I det här fallet rekommenderas vissa autentiseringsflöden framför andra. Mer specifikt bör du undvika autentiseringsuppgifter för resursägares lösenord (ROPC) eftersom dessa kräver att användaren exponerar sina aktuella lösenordsautentiseringsuppgifter för programmet. Programmet använder sedan autentiseringsuppgifterna för att autentisera användaren mot identitetsprovidern. De flesta program bör använda autentiseringskodflödet eller autentiseringskodflödet med Proof Key for Code Exchange (PKCE), eftersom det här flödet rekommenderas.
Det enda scenario där ROPC föreslås är för automatiserad programtestning. Mer information finns i Köra automatiserade integreringstester .
Enhetskodflödet är ett annat OAuth 2.0-protokollflöde för indatabegränsade enheter och används inte i alla miljöer. När enhetskodflödet visas i miljön och inte används i ett indatabegränsat enhetsscenario. Mer undersökning är berättigad för ett felkonfigurerat program eller potentiellt något skadligt. Enhetskodflödet kan också blockeras eller tillåtas i villkorsstyrd åtkomst. Mer information finns i autentiseringsflöden för villkorsstyrd åtkomst.
Övervaka programautentisering med hjälp av följande formation:
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Program som använder ROPC-autentiseringsflödet | Medium | Inloggningslogg för Microsoft Entra | Status=Lyckades Autentiseringsprotokoll-ROPC |
Hög förtroendenivå placeras i det här programmet eftersom autentiseringsuppgifterna kan cachelagras eller lagras. Flytta om möjligt till ett säkrare autentiseringsflöde. Detta bör endast användas vid automatiserad testning av program, om alls. Mer information finns i Microsofts identitetsplattform och autentiseringsuppgifter för OAuth 2.0-resursägares lösenord Sigma-regler |
Program som använder enhetskodflödet | Låg till medelhög | Inloggningslogg för Microsoft Entra | Status=Lyckades Autentiseringsprotokollenhetskod |
Enhetskodflöden används för indatabegränsade enheter, som kanske inte finns i alla miljöer. Om lyckade enhetskodflöden visas, utan behov av dem, undersöker du giltigheten. Mer information finns i Microsofts identitetsplattform och beviljandeflödet för OAuth 2.0-enhetsauktorisering Sigma-regler |
Ändringar i programkonfigurationen
Övervaka ändringar i programkonfigurationen. Mer specifikt ändras konfigurationen till den enhetliga resursidentifieraren (URI), ägarskap och utloggnings-URL.
Dangling URI- och omdirigerings-URI-ändringar
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Dangling URI | Högt | Microsoft Entra-loggar och programregistrering | Service-Core Directory, Category-ApplicationManagement Aktivitet: Uppdatera program Lyckades – Egenskapsnamn AppAddress |
Leta till exempel efter dinglande URI:er som pekar på ett domännamn som inte längre finns eller som du inte uttryckligen äger. Microsoft Sentinel-mall Sigma-regler |
Omdirigering av URI-konfigurationsändringar | Högt | Microsoft Entra-loggar | Service-Core Directory, Category-ApplicationManagement Aktivitet: Uppdatera program Lyckades – Egenskapsnamn AppAddress |
Leta efter URI:er som inte använder HTTPS*, URI:er med jokertecken i slutet eller domänen för URL:en, URI:er som INTE är unika för programmet, URI:er som pekar på en domän som du inte kontrollerar. Microsoft Sentinel-mall Sigma-regler |
Avisering när dessa ändringar identifieras.
AppID-URI har lagts till, ändrats eller tagits bort
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Ändringar i AppID-URI | Högt | Microsoft Entra-loggar | Service-Core Directory, Category-ApplicationManagement Aktivitet: Uppdatera Program Aktivitet: Uppdatera tjänstens huvudnamn |
Leta efter eventuella AppID URI-ändringar, till exempel att lägga till, ändra eller ta bort URI:n. Microsoft Sentinel-mall Sigma-regler |
Avisering när dessa ändringar identifieras utanför godkända procedurer för ändringshantering.
Ny ägare
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Ändringar i programägarskapet | Medium | Microsoft Entra-loggar | Service-Core Directory, Category-ApplicationManagement Aktivitet: Lägga till ägare i programmet |
Leta efter alla instanser av en användare som läggs till som programägare utanför normala ändringshanteringsaktiviteter. Microsoft Sentinel-mall Sigma-regler |
Utloggnings-URL har ändrats eller tagits bort
Vad du ska övervaka | Risknivå | Där | Filtrera/underfilter | Kommentar |
---|---|---|---|---|
Ändringar i utloggnings-URL | Låg | Microsoft Entra-loggar | Service-Core Directory, Category-ApplicationManagement Aktivitet: Uppdatera program -och- Aktivitet: Uppdatera tjänstprincip |
Leta efter ändringar i en utloggnings-URL. Tomma poster eller poster till obefintlig plats hindrar en användare från att avsluta en session. Microsoft Sentinel-mall Sigma-regler |
Resurser
GitHub Microsoft Entra toolkit – https://github.com/microsoft/AzureADToolkit
Säkerhetsöversikt och säkerhetsvägledning för Azure Key Vault – Översikt över Azure Key Vault-säkerhet
Solorigate riskinformation och verktyg – Microsoft Entra-arbetsbok som hjälper dig att komma åt Solorigate-risker
Vägledning för OAuth-attackidentifiering – Ovanligt tillägg av autentiseringsuppgifter till en OAuth-app
Microsoft Entra-övervakningskonfigurationsinformation för SIEMs – Partnerverktyg med Azure Monitor-integrering
Nästa steg
Översikt över Microsoft Entra-säkerhetsåtgärder
Säkerhetsåtgärder för användarkonton
Säkerhetsåtgärder för konsumentkonton
Säkerhetsåtgärder för privilegierade konton