Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

[Exchange Online] Comment supprimer un mail depuis une boîte aux lettres sur O365

Scénario

Dans les organisations, il peut arriver que certains e-mails soient envoyés au mauvais destinataire, et le rappel de cet e-mail via Outlook ne permet pas de le rappeler ou encore, les e-mails reçus présentent un risque de sécurité tels que :

  • Message contenant des données sensibles
  • Messages envoyés par erreur
  • Message contenant des logiciels malveillants ou des virus
  • Message d’hameçonnage

En tant qu’administrateur, vous pouvez utiliser la fonctionnalité de « la recherche de contenu » de la page d’administration « Sécurité et conformité » afin de rechercher et supprimer des messages.

Cet article vous guidera dans la suppression de message d’une boîte aux lettres utilisateur O365 avec l’aide d’eDiscovery et du PowerShell.

A noter que les actions de suppression de message seront enregistrées dans l’audit et que des alertes seront également déclenchées lors de l’exécution d’une eDiscovery.

1. Création d’une recherche de contenu

  1. Connectez-vous au centre de protection Office 365 https://protection.office.com
  2. Cliquez sur Recherche et enquête, puis sélectionnez Recherche de contenu
  3. À partir de la recherche de contenu, cliquez sur l’icône « Nouveau »
  4. Entrez un nom pour cette tâche de recherche
  5. Sélectionnez des boîtes aux lettres spécifiques ou « toutes les boîtes aux lettres »
  6. Sélectionnez « Rechercher tous les sites », les dossiers publics sont une option en fonction de vos critères de recherche
  7. Cliquez sur Suivant
  8. Entrez des mots-clés pour la recherche ou laissez vide pour rechercher tout le contenu
  9. Ajouter des conditions : dans mon exemple, je recherche un objet (par exemple, une activité de connexion inhabituelle à un compte Microsoft)

  10. Cliquez sur Rechercher

La recherche commencera et les résultats s’afficheront dans le volet de droite.
Une fois terminé, vous pouvez prévisualiser les résultats et les exporter sous forme de rapport.

2. Suppression du contenu

Maintenant que vous avez généré une recherche, vous pouvez passer à la suppression du contenu que vous aviez recherché.
Pour ce faire, connectez-vous de nouveau au Centre de sécurité et de conformité via powershell:

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange
-connectionUri https://ps.compliance.protection.outlook.com/powershell-liveid 
-Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session -AllowClobber -DisableNameChecking
$Host.UI.RawUI.WindowTitle = $UserCredential.UserName

Une fois authentifié et connecté , vous pouvez créer une nouvelle action pour supprimer les éléments trouvés dans notre recherche précédente via la commande suivante:

New-ComplianceSearchAction -SearchName "Phishing" -Purge -PurgeType SoftDelete -Confirm:$false

Exécutez la commande PowerShell ci-dessous pour voir si la purge est terminée.

Get-ComplianceSearchAction -Identity "Phishing"

La sortie PowerShell affiche l’état Terminé

Windows 11 : Fix de l’upgrade Windows Pro à Enterprise via licence 365

Le script de remédiation Intune ci-dessous permettait de fixer le bug d’upgrade de Windows Pro à Enterprise via licence 365.

Script de détection / remédiation :

# Define the registry key path and value
$registryPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MfaRequiredInClipRenew"
$registryValueName = "Verify Multifactor Authentication in ClipRenew"
$registryValueData = 0  # DWORD value of 0
$sid = New-Object System.Security.Principal.SecurityIdentifier("S-1-5-4")  # Interactive group SID

# Check if the registry key already exists
if (-not (Test-Path -Path $registryPath)) {
    # If the key doesn't exist, create it and set the DWORD value
    New-Item -Path $registryPath -Force | Out-Null
    Set-ItemProperty -Path $registryPath -Name $registryValueName -Value $registryValueData -Type DWORD
    Write-Output "Registry key created and DWORD value added."
} else {
    Write-Output "Registry key already exists. No changes made."
}

# Add read permissions for SID (S-1-5-4, interactive users) to the registry key with inheritance
$acl = Get-Acl -Path $registryPath
$ruleSID = New-Object System.Security.AccessControl.RegistryAccessRule($sid, "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
$acl.AddAccessRule($ruleSID)
Set-Acl -Path $registryPath -AclObject $acl
Write-Output "Added 'Interactive' group and SID ($sid) with read permissions (with inheritance) to the registry key."

# Start the scheduled task
Get-ScheduledTask -TaskName 'LicenseAcquisition' | Start-ScheduledTask
Write-Output "Scheduled task 'LicenseAcquisition' started."



[Microsoft Graph] – Restreindre la portée de l’Application Permission Mail.Send

Lorsque l’on délègue la permission Mail.Send avec le type Application Permission, cela permet à l’application d’envoyer des mails avec n’importe quelle boite aux lettres du Tenant.

Nous allons ici voir comment restreindre cette portée à une ou plusieurs boites aux lettres.

Creation d’un mail enabled security group

 Nous allons dans un premier temps créer un ‘Mail Enabled Security Group‘ depuis le portail Exchange Online ou via Powershell.

Donnons lui un nom et une description.

Assignons lui un propriétaire.

Ce dernier aura pour membre la ou les boites aux lettres depuis lesquelles nous autoriserons l’envoie de Mail.

Donnons lui une adresse de messagerie

Et enfin on valide.

La création de la Policy via une petite ligne Powershell

Via Powershell nous allons créer un Policy afin de restreindre l’envoie de mail à notre App pour le groupe créé précédement.

 

# Connect to Exchange Online
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline

# Create App Policy
New-ApplicationAccessPolicy -AccessRight RestrictAccess -AppId "0bb96e35-dced-4569-aaec-1531a17157ad" -PolicyScopeGroupId RestrictToSalesOnly@monadressesmail.com -Description "Restrict this app's access to members of security group RestrictToSalesOnly."

 

Vérification

Une petite ligne Powershell pour vérifier que la policy fonctionne.

Test-ApplicationAccessPolicy -Identity RandomUser@monadressmail.com -AppId "0bb96e35-dced-4569-aaec-1531a17157ad"

Donc ici on peut vérifier que cela ne fonctionne pas pour l’utilisateur random, mais si on essaie avec l’adresse autorisée

Test-ApplicationAccessPolicy -Identity SalesTeam@monadressmail.com -AppId "0bb96e35-dced-4569-aaec-1531a17157ad"