Salta al contingut
← Tornar al blog
4 min ca

Auditar els permisos de Microsoft 365 en una tarda

Auditoria bàsica de permisos de Microsoft 365 en unes hores: administradors, MFA, comptes sense ús, consentiments OAuth i reenviaments, amb PowerShell de només lectura.

  • microsoft-365
  • entra-id
  • auditoria
  • powershell
  • iam
Auditar els permisos de Microsoft 365 en una tarda

Es pot fer una auditoria bàsica de permisos de Microsoft 365 en una tarda si es limita al que concentra més risc: administradors, convidats externs, comptes sense MFA o sense ús, aplicacions amb consentiment i reenviaments de correu. No substitueix una auditoria completa, però troba les fallades que fan servir els atacants i que quasi sempre s'acumulen sense que ningú les miri.

Necessites un rol de lectura (Global Reader o Security Reader) i el mòdul de PowerShell de Microsoft Graph. Tot el que segueix és de només lectura.

1. Administradors (30 minuts)

Llista qui té rols privilegiats i per què. Més de cinc administradors globals ja és un senyal d'alerta, i cadascun hauria de poder justificar-se. El detall de quins rols fer servir en el seu lloc és a mínim privilegi a Entra ID.

Connect-MgGraph -Scopes "RoleManagement.Read.Directory","User.Read.All"
Get-MgDirectoryRole -All | ForEach-Object {
  $rol = $_.DisplayName
  Get-MgDirectoryRoleMember -DirectoryRoleId $_.Id |
    ForEach-Object { [pscustomobject]@{ Rol = $rol; Usuario = $_.AdditionalProperties.userPrincipalName } }
}

2. MFA (30 minuts)

L'informe de registre de mètodes d'autenticació mostra qui no té MFA i qui fa servir mètodes febles.

Connect-MgGraph -Scopes "AuditLog.Read.All"
Get-MgReportAuthenticationMethodUserRegistrationDetail -All |
  Where-Object { -not $_.IsMfaRegistered } |
  Select-Object UserPrincipalName, IsAdmin

Primer els administradors sense MFA, després finances i direcció. Per quins mètodes exigir, mira MFA resistent al phishing.

3. Comptes sense ús i convidats (30 minuts)

Connect-MgGraph -Scopes "User.Read.All","AuditLog.Read.All"
Get-MgUser -All -Property DisplayName,UserPrincipalName,UserType,SignInActivity,AccountEnabled |
  Where-Object { $_.AccountEnabled -and $_.SignInActivity.LastSignInDateTime -lt (Get-Date).AddDays(-90) } |
  Select-Object UserPrincipalName, UserType, @{n='UltimAcces';e={$_.SignInActivity.LastSignInDateTime}}

Compte habilitat sense accés en 90 dies: pregunta al seu responsable. Els convidats externs (UserType = Guest) mereixen revisió a part: continuen col·laborant? A quins equips tenen accés? Aquest mateix problema, en versió de cicle de vida, és el de les comptes òrfenes. Tingues en compte que SignInActivity requereix llicència Entra ID P1.

4. Aplicacions amb consentiment (30 minuts)

Les aplicacions OAuth amb permisos com Mail.Read o Files.Read.All continuen tenint accés encara que canviïs la contrasenya.

Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgOauth2PermissionGrant -All |
  Select-Object ClientId, ConsentType, Scope

Busca aplicacions desconegudes amb permisos amplis i consentiment d'usuari. Revoca el que ningú reconegui i restringeix qui pot donar consentiment.

5. Reenviaments de correu (20 minuts)

Connect-ExchangeOnline
Get-Mailbox -ResultSize Unlimited |
  Where-Object { $_.ForwardingSmtpAddress -or $_.ForwardingAddress } |
  Select-Object UserPrincipalName, ForwardingSmtpAddress, ForwardingAddress

Un reenviament a una adreça externa que ningú recorda haver creat és un dels senyals de BEC. Revisa també les regles de safata que reenvien o mouen correu.

6. Polítiques d'accés (20 minuts)

Comprova que existeixen les polítiques base i que cap compte està exclòs sense motiu. Llista i ordre a accés condicional: les polítiques base. Mira també la puntuació de seguretat (Secure Score) al portal de Defender, que serveix com a llista de tasques prioritzada.

Què fer amb el que trobis

  1. Anota cada troballa amb responsable i data, en un full.
  2. Arregla primer el que sigui de risc alt i esforç baix: MFA a administradors, baixes de comptes, reenviaments desconeguts.
  3. Repeteix cada trimestre. La utilitat d'una auditoria és en la comparació entre dates.

Preguntes freqüents

Cada quant convé revisar els permisos?

Com a mínim cada trimestre, i sempre després de canvis grans (fusions, sortides de personal clau, migracions).

Necessito llicències especials?

Per al bàsic no. L'activitat d'inici de sessió requereix Entra ID P1, i les revisions d'accés automàtiques, Entra ID Governance.

És segur executar aquestes ordres?

Són de només lectura i no modifiquen res, però prova-les primer amb un compte de lectura i revisa l'abast dels permisos que concedeixes a Graph.