Postfix

Sécuriser Postfix

Restrictions sur la commande ehlo

La commande ehlo permet de s’annoncer au serveur avec un nom de domaine. Les spammeurs utilisent souvent des noms inexistants ou encore des adresses IP sans reverse DNS valide.

1. Obliger la commande ehlo lors des échanges

1.1. Configuration

  • Pour effectuer un contrôle de la commande ehlo, il faut ajouter la ligne suivante à la fin du fichier /etc/postfix/main.cf :

smtpd_helo_required = yes

  • Avant la ligne :

smtpd_client_restrictions =
__check_client_access hash:/etc/postfix/bl_reverse

  • Un redémarrage du serveur est nécessaire pour la prise en compte des nouveaux paramètres :

root@alice.lan: # service postfix restart

1.2. Tester la restriction

  • Pour tester la configuration, on va émuler une tentative d’envoie d’un courriel sans s’annoncer avec la commande ehlo :

root@alice.lan: > telnet 10.0.0.44 587
Trying 10.0.0.44…
Connected to 10.0.0.44.
Escape character is ‘^]’.
220 alice.lan ESMTP Postfix
mail from:<alice@mail.glx>
503 5.5.1 Error: send HELO/EHLO first

  • C’est après validation de la commande mail from que le serveur met fin à l’échange avec pour motif qu’il exige que le client commence d’abord par s’annoncer avec la commande ehlo.

2. Vérifier le nom d’hôte présenté

2.1. Configuration

  • Editer le fichier de configuration /etc/postfix/main.cf, puis ajouter les lignes :

smtpd_helo_restrictions =
__reject_unknown_helo_hostname

  • Juste après la ligne :

smtpd_helo_required = yes

  • Un redémarrage du serveur est nécessaire pour la prise en compte des nouveaux paramètres :

root@alice.lan: # service postfix restart

2.2. Test de la configuration

  • Cette fois-ci, on va émuler une tentative d’envoie d’un courriel en renseignant un nom de domaine fictif dans la commande ehlo :

root@alice.lan: > telnet 10.0.0.44 587
Trying 10.0.0.44…
Connected to 10.0.0.44.
Escape character is ‘^]’.
220 alice.lan ESMTP Postfix
ehlo quoi.tld
250-alice.lan
250-PIPELINING
250-SIZE 5120000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<root@mail.glx>
250 2.1.0 Ok
rcpt to:<alice@mail.glx>
450 4.7.1 <quoi.tld>: Helo command rejected: Host not found

  • C’est après validation de la commande rcpt to que le serveur met fin à l’échange avec pour motif qu’il ne parvient pas à résoudre le nom de domaine indiqué dans la commande ehlo.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *