La fonctionnalité "SMTP tar pit" du serveur Microsoft Windows Server 2003 et le SPAM
Date : 16 Juin 2005
Ce mois-ci, Microsoft a publié un "avis" de sécurité (84851) ne traitant pas de vulnérabilités de sécurité, mais soulignant certaines limites du protocole SMTP. A ce sujet, Microsoft rappelle que la fonctionnalité "TarPit" du serveur Windows 2003 peut être utilisée pour contrer les attaques visant ce protocole.
Principe de la fonctionnalité "Tar pit"
Il s'agit de lutter contre le trafic indésirable engendré par les pourriels (SPAM), et les différents types d'attaques liés à leur diffusion. L'idée est de ralentir ce trafic en allongeant volontairement le délai des réponses aux requêtes SMTP. La problématique étant alors de ne pas pénaliser le trafic légitime, en identifiant le trafic illégitime.
Rappel rapide du fonctionnement du protocole SMTP
Pour envoyer un e-mail vers un serveur de messagerie, un client doit effectuer les opérations suivantes :
- Connexion SMTP (message HELLO)
- Envoi de l'identifiant de l'émetteur (message MAIL FROM)
- Envoi de l'identifiant du destinataire (message RCPT TO)
- Envoi du corps de l'e-mail (message DATA)
Le serveur envoie une réponse à chacun de ces messages. S'il accepte tous ces messages, mais ne peut livrer l'e-mail, il doit renvoyer un rapport de non livraison ("no-delivery report" ou NDR) à l'émetteur.
Solution de Microsoft pour réduire le SPAM
1 - La fonctionnalité "Tar pit"
La fonctionnalité "Tar pit" a été implémentée dans le service SMTP des serveurs Windows 2003 SP1, en allongeant volontairement le délai des réponses d'erreur (code 5XX) aux requêtes SMTP.
2 - Le filtrage de destinataire ("recipient filtering")
Microsoft a ajouté cette fonctionnalité à son serveur "Exchange 2003". Il s'agit de définir des adresses e-mails invalides (principe de "black list") ou exclusivement valides (principe de "white list") et de rejeter les destinataires invalides lors de la réception du message " RCPT TO".
Avantages de cette solution : Elle permet d'éviter de perdre du temps avec les messages adressés à un ou plusieurs destinataires invalides car :
- ils sont rejetés très tôt dans la communication SMTP (avant le transfert du corps du message),
- il n'y a pas de rapport NDR à émettre pour ces messages.
Nota : Cette dernière caractéristique évite également les attaques de type "NDR flood", dans lesquelles un attaquant émet de nombreux messages, qu'il sait non délivrables, avec l'adresse d'une victime dans le message "MAIL FROM", dans le but d'inonder celle-ci de messages NDR.
Inconvénient de cette solution : Un serveur ayant cette fonction activée indique rapidement si une adresse est valide ou non. Il facilite ainsi les attaques consistant à récolter des adresses e-mail en envoyant des messages vers de nombreuses adresses aléatoires afin de vérifier si elles sont valides.
3 - Utilisation conjointe des fonctionnalités "recipient filtering" et "Tar pit"
Un bon compromis, sur les serveurs Windows 2003 utilisant "Exchange 2003", consiste à utiliser le filtrage sur le destinataire avec la fonctionnalité "Tar pit". L'objectif étant de ralentir les communications relatives à des tentatives d'envoi d'e-mails vers des destinataires invalides. Cette technique permet :
- d'alléger le traitement du trafic indésirable,
- d'éviter d'être utilisé comme un vecteur d'attaque de type "NDR flood",
- de ralentir les attaques de récolte d'adresses e-mail valides.
Remarques sur la fonctionnalité "Tar pit" :
- elle n'est pas active par défaut sur les serveurs Windows 2003,
- son utilisation dans un autre contexte que celui présenté dans cet article (utilisation conjointe avec la fonctionnalité "recipient filtering" des serveurs "Exchange 2003") doit être analysée avec soin afin de ne pas pénaliser le trafic SMTP légitime.
- elle ne concerne pas les sessions SMTP authentifiées, seules les sessions anonymes sont concernées.
Pour plus d'information :
- Avis de sécurité 842851 de Microsoft : http://www.microsoft.com/technet/security/advisory/842851.mspx
- Article de Microsoft sur la fonctionnalité "Tar pit" : http://support.microsoft.com/default.aspx?scid=kb;en-us;842851