Conseils de visibilité : qui a accès à la boîte aux lettres ?
La plupart des organisations comptant plus de 10 ou 20 personnes et exécutant Exchange Server sur site ou Office 365 dans le cloud disposent de boîtes aux lettres partagées à un certain niveau. Ces scénarios pourraient inclure les éléments suivants :
- Un cadre ou un manager qui gère généralement ses propres tâches mais propose un accès délégué à ses contacts, calendriers ou e-mails à un assistant administratif ou exécutif afin qu'il puisse avoir accès aux éléments de la boîte de réception du manager.
- Une boîte aux lettres partagée pour un service tel que « Service client » ou « Comptabilité » pour laquelle tous les employés de ce service partagent l'accès à la boîte aux lettres pour recevoir le courrier entrant, y répondre au nom du service (sans utiliser leurs propres comptes) , et gérer ses affaires électroniques.
Dans certaines situations, vous pourriez avoir besoin rapidement d'une liste de boîtes aux lettres permettant à des personnes autres que les propriétaires de la boîte aux lettres d'accéder aux données qu'elles contiennent. Une bonne pratique consisterait à auditer ce type d’accès de manière cohérente, que ce soit trimestriellement, semestriellement ou même mensuellement pour les installations très sensibles. Une autre bonne pratique consisterait à enregistrer chaque fois que ce type d'autorisation est accordé par votre propre service de sécurité ; cependant, dans le monde réel, cette méthode manuelle de suivi avant l'octroi ne capturera pas les utilisateurs qui délèguent l'accès eux-mêmes via quelque chose d'aussi simple qu'un clic droit sur leur calendrier dans Outlook et en choisissant de partager le calendrier avec un collègue. C'est plus difficile à capturer de manière automatisée.
Utilisation du script PowerShell
Abordons d’abord le scénario le plus simple. Pour savoir quelles boîtes aux lettres sont partagées avec d'autres utilisateurs, vous pouvez utiliser la puissance de PowerShell pour capturer ces boîtes aux lettres partagées afin de savoir avec quoi vous travaillez.
Get-Mailbox –RecipientTypeDetails ‘SharedMailbox’ | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITYSELF" -and $_.IsInherited -eq $false} | Format-Table Identity, User –AutoSizeCette commande fournira un tableau simple montrant l'identité et les utilisateurs ayant accès aux boîtes aux lettres partagées. Ceci est un bon endroit pour commencer.
Pour déterminer plus en détail qui a accès aux données d'une boîte aux lettres, vous devrez commencer à interagir avec les services Web Exchange, qui disposent d'une API capable d'exposer beaucoup plus d'informations que les modules PowerShell pour Exchange ne le font actuellement. Heureusement, Glen Scales, MVP de Microsoft Exchange Server, a publié sur son blog un exemple de script que nous pouvons utiliser pour savoir quels utilisateurs ont accès à des dossiers spécifiques dans la boîte aux lettres d'un utilisateur. Glen suggère sur son blog que ce rapport, qui se présente sous la forme d'un HTML d'apparence décente, peut être envoyé par courrier électronique aux utilisateurs pour un rapide coup d'œil et une vérification, quelque chose du genre : « Oui, je connais ces personnes et je sais qu'ils ont un identifiant valide. raison pour laquelle j’ai accès à ma boîte aux lettres.
$rptCollection = @()
$delegates = $service.getdelegates($MailboxName,$true)
foreach($Delegate in $delegates.DelegateUserResponses){
$rptObj = "" | select EmailAddress,Inbox,Calendar,Contacts,Tasks,Notes,Journal,MeetingMessages,ViewPrivateItems
$rptObj.EmailAddress = $Delegate.DelegateUser.UserId.PrimarySmtpAddress
$rptObj.Inbox = $Delegate.DelegateUser.Permissions.InboxFolderPermissionLevel
$rptObj.Calendar = $Delegate.DelegateUser.Permissions.CalendarFolderPermissionLevel
$rptObj.Contacts = $Delegate.DelegateUser.Permissions.ContactsFolderPermissionLevel
$rptObj.Tasks = $Delegate.DelegateUser.Permissions.TasksFolderPermissionLevel
$rptObj.Notes = $Delegate.DelegateUser.Permissions.NotesFolderPermissionLevel
$rptObj.Journal = $Delegate.DelegateUser.Permissions.JournalFolderPermissionLevel $rptObj.ViewPrivateItems = $Delegate.DelegateUser.ViewPrivateItems
$rptObj.MeetingMessages = $Delegate.DelegateUser.ReceiveCopiesOfMeetingMessages
$rptCollection += $rptObj
}$tableStyle = @"
<style>
BODY{background-color:white;}
TABLE{border-width: 1px;
border-style: solid;
border-color: black;
border-collapse: collapse;
}
TH{border-width: 1px;
padding: 10px;
border-style: solid;
border-color: black;
background-color:#66CCCC
}
TD{border-width: 1px;
padding: 2px;
border-style: solid;
border-color: black;
background-color:white
}
</style>
"@$body = @"
<p style="font-size:25px;family:calibri;color:#ff9100">
$TableHeader
</p>
"@$rptCollection | ConvertTo-HTML -head $tableStyle | Out-File c:delgateReport.htmlDéployer un outil professionnel
Au lieu d'utiliser des scripts PowerShell, vous pouvez déployer un outil professionnel. Dans la capture d'écran suivante (dans ce cas, il s'agit de Netwrix Auditor for Exchange), nous constatons une modification apportée aux autorisations et à la délégation des boîtes aux lettres :
Avec cet outil, vous pouvez voir qui a accédé à quelle boîte aux lettres, quand et à partir de quel poste de travail l'accès a eu lieu, et quels éléments l'utilisateur a consulté, modifié ou supprimé.
Cela permet également de démontrer aux auditeurs que vous prenez des mesures pour protéger vos boîtes aux lettres réseau contre tout accès non autorisé.

