#SysAdmin #NetAdmin

Exchange – Filtrage sur les adresses des destinataires

E

Pour des questions de sécurité, de filtrage, et de ressource, il faut rejeter les emails entrant à destination d’adresses qui n’existent pas. La manière la plus simple est de le faire au niveau de l’en-tête SMTP RCPT TO qui permet de couper court la communication s’il s’avère qu’elle est à destination d’un utilisateur inconnu. L’autre avantage c’est qu’il n’y aura pas de NDR envoyé par votre serveur, mais ce sera un DSN interprété par le serveur qui envoie l’email.

Exchange dispose d’un agent qui permet de faire ce filtrage, mais il n’est pas actif par défaut. Si vous utilisez une passerelle anti-spam qui fait aussi la vérification des destinataires, sans cet agent d’actif, votre serveur Exchange pourra lui renvoyer un code comme quoi l’utilisateur existe alors que ce n’est pas le cas.

Installation de l’agent

  1. Ouvrir la console Exchange Management Shell
  2. Vérifier si l’agent “Recipient Filter Agent” est déjà installé :
Get-TransportAgent
  1. S’il n’est pas listé :
& $env:ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1
  1. Activer l’agent “Recipient Filter Agent” et désactiver les autres agents:
Enable-TransportAgent "Recipient Filter Agent"
Disable-TransportAgent "Content Filter Agent"
Disable-TransportAgent "Protocol Analysis Agent"
Disable-TransportAgent "Sender Filter Agent"
Disable-TransportAgent "Sender Id Agent"

Fonctionnalité du carnet d’adresse

Avant d’activer la vérification des adresses des destinataires, il faut s’assurer que le carnet d’adresse est bien utilisé pour le(s) domaine(s) accepté(s) :

Get-AcceptedDomain | Format-List Name,AddressBookEnabled

Par défaut il devrait l’être, mais si ce n’est pas le cas :

Set-AcceptedDomain domain.tld -AddressBookEnabled $true

Activer le filtrage

Maintenant que l’agent est installé et que l’on a vérifié l’utilisation du carnet d’adresse, il faut activer le filtrage des adresses des destinataires :

Set-RecipientFilterConfig -RecipientValidationEnabled $true

On redémarre les services pour que la modification soit prise en compte et appliquée :

Restart-Service MSExchangeTransport

Optionnel

Vérifier que vous avez les bonnes permissions sur le connecteur de réception :

Get-ReceiveConnector | Where-Object "Bindings" -match "2525" | Select-Object PermissionGroups

Ce qui devrait retourner la valeur suivante:

AnonymousUsers, ExchangeUsers, ExchangeServers, ExchangeLegacyServers

Si ce n’est pas le cas:

Get-ReceiveConnector | Where-Object "Bindings" -match "2525" | Set-ReceiveConnector -PermissionGroups 'AnonymousUsers, ExchangeUsers, ExchangeServers, ExchangeLegacyServers'

Conclusion

Le serveur Exchange va maintenant pouvoir filtrer les adresses de destinataire lors de la réception d’email, ainsi les destinataires inconnus seront automatiquement rejetés et comme cela se passe directement au niveau SMTP le trafic est réduit.

S’il y a une passerelle anti-spam avant le serveur Exchange, il faut bien penser à mettre à jour la configuration parce que la communication ne doit plus se faire sur le port 25 mais bien 2525 pour que la vérification des adresses soit bien prise en compte.

Par exemple avec Proxmox Mail Gateway il faut faire la modification dans : Configuration > Mail Proxy > Transports

par Nathan
#SysAdmin #NetAdmin