Kas teid rünnatakse? Võtke ühendust intsidentidele reageerimise meeskonnaga

Identiteet ja juurdepääs

OAuth-rakenduste nõusolekute auditeerimine Microsoft Entra ID-s

Vaadake üle Microsoft 365 kasutajate antud load, tühistage riskantsed ning seadke Entra ID-s nõusoleku poliitika ja administraatori nõusoleku töövoog.

Saadaval ka:EnglishTürkçeDeutschFrançaisEspañolItalianoPolskiNederlands

Illustratsioon: OAuth-rakenduste nõusolekute auditeerimine Microsoft Entra ID-s

Microsoft Entra ID vaiketenantis võib iga kasutaja kinnitada kolmanda osapoole rakenduse, mis loeb tema postkasti, ja IT-osakonnalt ei küsita selle kohta midagi. Kui te pole seda seadistust kunagi üle vaadanud, lähtuge eeldusest, et mõned load on juba antud, ning auditeerige need enne poliitika muutmist.

Mida vaikeseadistus lubab

Kasutaja võib anda rakendusele nõusoleku lugeda oma postkasti. Ta ei saa anda rakendusele piiramatut lugemis- ja kirjutamisjuurdepääsu kõigile organisatsiooni failidele, sest see eeldab administraatorit. Microsoft soovitab lubada kasutajanõusoleku ainult kinnitatud väljaandja (verified publisher) rakendustele, et vähendada riski, et pahatahtlikud rakendused meelitavad kasutajaid juurdepääsu andma.

Nõusolek ei ole ka parool. OAuth 2.0 (RFC 6749) kohaselt saab rakendus kasutaja volituste asemel väljastatud juurdepääsutõendi (access token), millel on kindel scope ja eluiga. Nõusolek on eraldi objekt ning selle peate ise üles leidma ja eemaldama.

Antud lubade loetlemine

Vajate vähemalt rolli Cloud Application Administrator või Application Administrator. Microsoft Entra admin center'is minge Entra ID > Enterprise apps > All applications, valige rakendus ja avage Permissions. Vahekaart Admin consent näitab õigusi, mis on antud kogu organisatsiooni nimel. Vahekaart User consent näitab, mida on andnud konkreetsed kasutajad või grupid.

Portaal töötab rakendus rakenduse haaval, seega kogu tenanti ülevaate saamiseks on vaja tsüklit. Microsofti tühistamisjuhendis toodud Graphi lõpp-punktid on piiratud ühe service principaliga: oauth2PermissionGrants tagastab delegeeritud õigused ja appRoleAssignments rakenduse õigused. Allolev skript kasutab samaväärseid cmdlet'e ning teisendab ID-d nimedeks, sealhulgas sellised rakendusrollid nagu Mail.Read:

Connect-MgGraph -Scopes "Application.ReadWrite.All","DelegatedPermissionGrant.ReadWrite.All","AppRoleAssignment.ReadWrite.All"

$sps  = Get-MgServicePrincipal -All
$name = @{}
$role = @{}
foreach ($s in $sps) {
  $name[$s.Id] = $s.DisplayName
  foreach ($r in $s.AppRoles) { $role["$($s.Id)|$($r.Id)"] = $r.Value }
}

$rows = @()
foreach ($g in Get-MgOauth2PermissionGrant -All) {
  $rows += [pscustomobject]@{ App=$name[$g.ClientId]; Type="Delegated"
    Resource=$name[$g.ResourceId]; Detail=$g.Scope }
}
foreach ($sp in $sps) {
  $assigned = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $sp.Id -All |
    Where-Object { $_.PrincipalType -eq "ServicePrincipal" }
  foreach ($a in $assigned) {
    $rows += [pscustomobject]@{ App=$sp.DisplayName; Type="Application"
      Resource=$name[$a.ResourceId]; Detail=$role["$($a.ResourceId)|$($a.AppRoleId)"] }
  }
}
$rows | Export-Csv consent-audit.csv -NoTypeInformation

Need scope'id pärinevad Microsofti tühistamisnäidetest ja sisaldavad kirjutamisõigust, mida ainult lugev audit ei vaja. Küsige kitsamaid scope'e, kui teie tenant seda lubab, ning testige skripti esmalt väikesel hulgal.

Triaaži järjekord

See järjekord on meie enda, mitte Microsofti juhis. Alustage delegeeritud õigustest, mille scope'id loevad või saadavad e-kirju või loevad faile. Filtreerige veergu Detail väärtuste Mail ja Files järgi. Seejärel võtke ette kõik rakenduse õigused.

Pahatahtlik luba näeb portaalis tavaline välja: usutav nimi ja mõni scope. Muster, mida otsida, on see, kui mitu kasutajat on andnud nõusoleku samale tundmatule rakendusele, mille väljaandjat te kinnitada ei saa. Kui leiate sellise, käsitlege seda intsidendina ja kaasake meie intsidendile reageerimise meeskond või oma enda meeskond.

Riskantsete lubade eemaldamine

Administraatori antud õiguste puhul avage vahekaart Admin consent, valige õiguse kõrval juhtnupp ... ja vajutage Revoke permission. Vahekaardil User consent ei saa portaalis midagi tühistada. Nende jaoks vajate Graphi või PowerShelli.

Graphis kustutage delegeeritud luba selle ID järgi või eemaldage rakenduse õigus selle assignment ID järgi:

DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}

Tühistamisjuhendis on ka PowerShelli skriptid, mis eemaldavad ühe rakenduse kõik delegeeritud ja rakenduse õigused. Lugege need enne käivitamist läbi, sest need kustutavad selle service principali kõik õigused.

Tühistamine ei takista kasutajal sama rakendust uuesti kinnitamast. Microsoft nimetab kaht abinõu: peatada rakenduse õiguste küsimine dünaamilise nõusoleku (dynamic consent) kaudu või blokeerida kasutajanõusolek täielikult. Kolmanda osapoole rakenduste puhul ei saa te muuta, mida need küsivad, seega on meie hinnangul blokeerimine kontroll, mis on teie käes.

Kasutajanõusoleku piiramine

Vajate rolli Privileged Role Administrator. Global Administrator roll on vajalik ainult siis, kui kasutate admin center'it, kus seadistus asub jaotises Identity > Applications > Enterprise apps > Consent and permissions > User consent settings.

Entra pakub selleks kaht sisseehitatud poliitikat:

IDMõju
microsoft-user-default-lowKasutajad annavad nõusoleku ainult kinnitatud väljaandjate või teie tenantis registreeritud rakendustele ning ainult õigustele, mille olete liigitanud väikese mõjuga õigusteks
microsoft-user-default-legacyKasutajad annavad nõusoleku mis tahes õigusele, mis ei vaja administraatori nõusolekut, mis tahes rakendusele

Poliitika low sõltub sellest, et te õigused liigitate, ja just nii valite, mida kasutajad tohivad kinnitada. Tehke seda esimesena ning testige seejärel tavalise kasutajakontoga.

Enne kui PowerShellis või Graphis midagi muudate, pärige praegune authorizationPolicy. Teie tenantile võivad olla määratud ManagePermissionGrantsForOwnedResource.* poliitikad, näiteks see, mis lubab arendajatel hallata nõusolekut enda omatavate rakenduste jaoks. Jätke need kogumisse alles, muidu eemaldate need. Kasutajanõusoleku keelamine Graph PowerShelliga näeb välja nii:

Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"

$body = @{
  "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
    "managePermissionGrantsForOwnedResource.{other-current-policies}"
  )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Kui soovite hoopis lubada nõusoleku väikese mõju poliitika alusel, lisage Graphi PATCH-päringus väärtusele defaultUserRolePermissions.permissionGrantPoliciesAssigned kirje managePermissionGrantsForSelf.microsoft-user-default-low. Poliitika muutmine mõjutab ainult tulevasi nõusolekuid, seega olemasolevad load jäävad kehtima, kuni te need eemaldate.

Andke kasutajatele võimalus küsida

Kui blokeerite nõusoleku ilma alternatiivita, hakkavad kasutajad otsima kõrvalteid. Admin consent workflow lubab neil selle asemel taotleda heakskiitu. Global Administrator lülitab selle sisse jaotises Entra ID > Enterprise apps > Consent and permissions > Admin consent settings. Seadke "Users can request admin consent to apps they are unable to consent to" väärtusele Yes ja valige seejärel:

  • Läbivaatajad (reviewers): kasutajad, grupid või rollid. Läbivaatajaks olemine ei suurenda nende õigusi, seega peab igaühel olema juba õigus anda nõusolek taotletud rakendusele. Microsoft Graphi rakenduserolle (rakenduse õigusi) taotlevaid rakendusi saavad kinnitada ainult Global Administratorid.
  • E-posti teavitused: kui keelate need läbivaatajatele, keelatakse ka taotlejate teavitused.
  • Taotluse kehtivusaeg ja aegumise meeldetuletused: kehtivusaeg on päevade arv, mille jooksul taotlus kehtib. Esimene meeldetuletus saabub umbes poolel teel, kolmepäevase taotluse puhul seega teisel päeval.

Salvestage ja oodake, et töövoog hakkaks kehtima, kuni tund aega. Eemaldatud läbivaataja säilitab juurdepääsu taotlustele, mis esitati ajal, mil tal see roll oli. Uued läbivaatajad ei saa tegutseda taotluste puhul, mis loodi enne nende lisamist.

Juurdepääsu võivad anda ka Entra sisseehitatud rollid, Exchange RBAC ja Teamsi ressursipõhine nõusolek (resource-specific consent), seega kaasake need laiemasse ülevaatusse.

Kust alustada

  1. Käivitage inventuuriskript ning vaadake delegeeritud õigusi ja rakenduse õigusi eraldi nimekirjadena. Märkige rakendused, mida keegi põhjendada ei oska.
  2. Tühistage riskantsed load: administraatori nõusolekuga antud portaalis, kasutaja nõusolekuga antud Graphi või PowerShelli kaudu.
  3. Lugege praegune authorizationPolicy, seejärel seadke kasutajanõusolek poliitikale microsoft-user-default-low koos liigitatud õigustega või keelake see, jättes alles kirjed ManagePermissionGrantsForOwnedResource.*.
  4. Lülitage sisse admin consent workflow. Nimetage läbivaatajad, kelle rollid võivad anda nõusoleku sellele, mida kasutajad küsivad, ja hoidke nende hulgas Global Administratorit, sest ainult see roll kinnitab Microsoft Graphi rakenduse õigusi.
  5. Korrake ülevaatust ajakava alusel. Kui teil napib aega, saab meie konsultatsioonimeeskond selle läbi viia hindamisena ja meie hallatav turvateenus võib katta seire.

Kuidas saame aidata

Nõustamine ja koolitus

Hindame teie praegust olukorda, seame koos teiega prioriteedid ja õpetame töötajaid ründeid ära tundma.

Kirjutage meile
AngelForce’i meeskond

Kirjutanud AngelForce’i meeskond: CEH-, LPT Masteri ja CISA-sertifikaadiga turvakonsultandid, kes testivad, jälgivad ja kaitsevad organisatsioonide süsteeme kogu Euroopas.

Artikkel on kirjutatud tehisintellekti abil allpool loetletud avalike allikate põhjal ning AngelForce’i meeskond vaatas selle enne avaldamist üle.

Allikad

  1. learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-user-consent
  2. learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-admin-consent-workflow
  3. learn.microsoft.com/en-us/entra/identity/enterprise-apps/manage-application-permissions
  4. www.rfc-editor.org/rfc/rfc6749.html

Artiklid teemal „Identiteet ja juurdepääs“

Rääkige meile, mida soovite kaitsta

Kirjeldage oma keskkonda ja seda, mida soovite saavutada. Vastame e-posti teel.

Kirjutage meile
info@angelforce.eu +372 5705 2044

AngelForce OÜ · Tallinn, Eesti