Délégations de boîtes aux lettres : FullAccess et SendAs, l'accumulation silencieuse
Une assistante qui change de service, un intérim qui se termine, une boîte partagée créée pour un projet oublié : les délégations sur les boîtes aux lettres s'accordent en quelques secondes et ne se retirent presque jamais. Après quelques années, personne ne sait plus qui peut lire la messagerie de la direction.
Quatre types de délégation à ne pas confondre
| Droit | Ce qu'il permet | Commande de lecture |
|---|---|---|
| FullAccess | Ouvrir la boîte et lire tout son contenu | Get-MailboxPermission |
| SendAs | Envoyer un message qui semble provenir du titulaire | Get-RecipientPermission |
| SendOnBehalf | Envoyer « de la part de », mention visible par le destinataire | Propriété GrantSendOnBehalfTo |
| Droits sur dossiers | Lire ou modifier un dossier précis (calendrier, boîte de réception) | Get-MailboxFolderPermission |
FullAccess et SendAs sont indépendants : un utilisateur peut lire une boîte sans pouvoir envoyer en son nom, et inversement. Pour un attaquant qui compromet un compte, chaque délégation est un accès supplémentaire, sans nouvelle authentification.
Comment les droits s'accumulent
Les causes sont toujours les mêmes :
- des délégations accordées pour une absence ou un remplacement, jamais retirées ;
- des changements de poste où l'on ajoute les nouveaux accès sans retirer les anciens ;
- des boîtes partagées dont les membres ne sont jamais revus ;
- des droits accordés à des comptes désactivés, ou directement à des utilisateurs plutôt qu'à des groupes ;
- des migrations depuis Exchange on-premises qui ont transporté des autorisations historiques.
Le mappage automatique
Lorsqu'un droit FullAccess est accordé, Outlook ajoute par défaut la boîte déléguée dans le profil de l'utilisateur. Ce mappage automatique est pratique, mais il rend la délégation invisible dans l'administration courante : l'utilisateur « voit » simplement une boîte de plus. Il peut être désactivé lors de l'attribution avec -AutoMapping $false, ce qui est utile pour les accès ponctuels ou les boîtes volumineuses.
Passer en revue avec PowerShell
Le module Exchange Online permet d'extraire l'ensemble des délégations explicites, en excluant les entrées système et héritées :
Get-EXOMailbox -ResultSize Unlimited | ForEach-Object {
Get-EXOMailboxPermission -Identity $_.UserPrincipalName |
Where-Object { $_.User -notlike 'NT AUTHORITY\SELF' -and -not $_.IsInherited }
} | Select-Object Identity, User, AccessRights
Get-EXORecipientPermission -ResultSize Unlimited |
Where-Object { $_.Trustee -notlike 'NT AUTHORITY\SELF' } |
Select-Object Identity, Trustee, AccessRights
Get-EXOMailbox -ResultSize Unlimited -Properties GrantSendOnBehalfTo |
Where-Object { $_.GrantSendOnBehalfTo } |
Select-Object UserPrincipalName, GrantSendOnBehalfTo
Sur un tenant volumineux, exportez les résultats en CSV et faites valider chaque délégation par le titulaire de la boîte ou son responsable.
Priorité. Commencez par les boîtes des dirigeants, de la finance, des RH et du service juridique : ce sont les cibles privilégiées de la fraude au président et de l'espionnage, et les délégations y sont souvent les plus nombreuses.
En résumé
La délégation n'est pas un problème en soi ; l'absence de revue en est un. Accordez les droits à des groupes plutôt qu'à des individus, documentez les délégations sensibles, intégrez leur retrait au processus de mobilité et de départ, et planifiez une revue au moins annuelle des boîtes à privilèges.