Supprimer des emails indésirables à l’aide de la commande Search-Mailbox avec Exchange

Bonjour à tous

Cet article a pour but de :
– Présenter une technique permettant de copier puis supprimer des emails indésirables (spam / virus) sur un serveur Exchange.
– Présenter la commande Exchange Search-Mailbox qui permet d’effectuer cette action.
– Présenter les prérequis pour la mise en place de la solution (permissions requises sur Exchange) et les contraintes légales.

Mon client disposait de l’architecture suivante :
– Une passerelle SMTP (antivirus / antispam) en DMZ.
– Un serveur Windows 2008 R2 avec Exchange 2010 Standard SP3 (machine et antivirus à jour). Ce serveur ne disposait pas d’une solution antivirus / antispam dédiée à l’analyse du contenu des bases de données Exchange. L’antivirus (analyse des fichiers) installé sur le serveur était configuré pour exclure les bases de données Exchange conformément aux articles Microsoft :
https://technet.microsoft.com/en-us/library/bb332342(v=exchg.141).aspx
https://blogs.technet.microsoft.com/rmilne/2014/02/04/exchange-and-antivirus-exclusions-a-critical-conversation/
– Des clients Windows 7 avec Outlook 2010 (machines et antivirus à jour).

La problématique :
Une grande partie des utilisateurs de mon client avaient reçu plusieurs centaines d’emails indésirables qui n’avaient pas été détectés en tant que tel par la passerelle SMTP.

Plan d’action mise en œuvre :
Les règles de filtrage de la passerelle SMTP ont rapidement été mis à jour pour filtrer ces emails indésirables. Il restait cependant la problématique des emails déjà reçus sur les boîtes aux lettres Exchange. Pour supprimer ces emails, nous avons alors utilisé la commande Search-Mailbox avec le paramètre DeleteContent. Cette commande permet en effet :
– D’effectuer des recherches à l’aide de mots clés au niveau des éléments d’une ou plusieurs boîtes aux lettres.
– De copier ces éléments vers une autre boîte aux lettres.
– De supprimer automatiquement des éléments dans une boîte aux lettres sans possibilité de restauration.

Commande pour déterminer le nombre d’éléments dans la boîte aux lettres GMATHIEU avec un titre contenant la chaîne de caractère « Bonjour Monsieur » :
Search-Mailbox -Identity gmathieu -SearchQuery ‘Subject:”Bonjour Monsieur”‘ -EstimateResultOnly

Commande pour copier les emails de la boite aux lettres gmathieu avec « Virus Terrible » dans le corps de l’email vers un dossier Quarentine-Virus (déjà existant ou non) de la boîte aux lettres QuarantaineMessagerie :
Search-Mailbox -Identity gmathieu -SearchQuery ‘Body:”Virus terrible”‘ -TargetMailbox service-ars -TargetFolder Quarentine-Virus

Commande permettant de supprimer tous les emails avec la chaîne de caractère « Virus Terrible » :
Search-Mailbox -Identity gmathieu -SearchQuery ‘Body:”Virus terrible”‘ -DeleteContent

Astuce :
Si la chaîne de caractères contient une apostrophe ou des guillemets, passez par une variable intermédiaire :
$KeyWords = “J’essaie de vous joindre”
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery “Subject: $KeyWords” -EstimateResultOnly
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery “Subject: $keywords” -TargetMailbox service-ars -TargetFolder Quarentine-Virus
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery “Subject:$Keywords” -DeleteContent.

Pour plus d’informations sur la commande Search-Mailbox :
https://technet.microsoft.com/en-us/library/dd298173(v=exchg.160).aspx
https://technet.microsoft.com/en-us/library/ee633452.aspx
https://technet.microsoft.com/en-us/library/dd638205(v=exchg.160).aspx

Quels sont les prérequis pour utiliser la commande Search-mailbox :
Pour utiliser la commande Search Mailbox avec Exchange 2010, il faut avoir le rôle Mailbox Search.
Pour utiliser cette commande avec le commutateur -DeleteContent, il faut aussi avoir le rôle Mailbox Import Export.
Sous Exchange 2010, le rôle Mailbox Search est assigné au groupe Discovery Management par défaut. Ce groupe se trouve dans l’OU Microsoft Exchange Security et est vide par défaut.
Le rôle Mailbox Import Export n’est pas assigné à un groupe.

Pour pouvoir utiliser la commande Search-Mailbox avec le commutateur DeleteContent, il faut donc :
– Créer le groupe Import_Export_Mailbox en tant que groupe Universel dans l’OU Microsoft Exchange Security.
– Assigner le rôle Mailbox Import Export à ce groupe avec la commande :
New-ManagementRoleAssignment -Name “Import Export_Enterprise Support” -SecurityGroup “Import_Export_Mailbox” -Role “Mailbox Import Export”
– Ajouter le compte de l’administrateur en charge de l’opération dans les groupes Discovery Management et Import_Export_Mailbox. Fermer puis rouvrir la session pour prise en charge des nouveaux groupes.

Notes :
Il est possible de lister les permissions Exchange assignées aux groupes à l’aide de la commande ci-dessous :
Get-ManagementRoleAssignment | Export-Csv -Path c:\role.csv
Le commutateur DeleContent n’est pas disponible si l’on ne dispose pas du droit Mailbox Import Export.
https://social.technet.microsoft.com/Forums/exchange/en-US/81a39682-6f9d-4625-9546-78970982a220/searchmailbox-deletecontent?forum=exchange2010
Il est recommandé d’inclure dans la charte informatique une clause qui explique aux utilisateurs que le contenu de leur boite aux lettres pour être analysé par la direction informatique.

A+

Guillaume MATHIEU
Directeur Technique de Metsys
http://www.metsys.fr

A propos Guillaume Mathieu

Directeur Technique chez Flexsi
Ce contenu a été publié dans antivirus, Exchange, Messagerie, Outils, PowerShell, Sécurité, Scripts. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire