Authentification SMTP avec Postfix avec support TLS

Cette méthode va vous permettre de sécuriser votre serveur en utilisant TLS pour l’authentification des utilisateurs mais aussi de crypter les données qui transitent ex (Mot de passe) lors de l’authentification.

Je ne rentrerais pas dans les détails de la configuration de postfix, car il existe une très bonne documentation dessus ici .

Ceci est à implémenter dans votre main.cf

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/mailer.pem ====> Chemin de votre certificat 
smtpd_tls_key_file = /etc/ssl/private/mailer.pem ====> Chemin pour votre clé privée 
smtpd_use_tls = yes ====> Utilisation du support TLS
smtpd_tls_auth_only = yes ====> On accepte uniquement les utilisateurs qui utilisent TLS
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
smtpd_sasl_type = dovecot ====> Si vous utilisez dovecot
smtpd_sasl_path = private/authsmtpd_sasl_auth_enable = yes ====> Activation de l'authentification du client. 
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

Votre configuration postfix est maintenant prête , mais nous n’avons pas encore crée notre certificat . Pour cela on lance :

openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/mailer.pem  -keyout /etc/ssl/private/mailer.pem

Voila Voila il vous suffit de faire un restart de postfix et de configurer votre MUA en consequence. Un petit test et mêmes 2 ,  simple c’est de ne pas activer le support TLS de votre MUA afin de vérifier que l’utilisateur est bien rejeté . Puis de ne pas activer l’authentification dans votre logiciel de mail .
Exemple de ce que vous pouvez avoir dans vos logs :

NOQUEUE: reject: RCPT from unknown[192.168.1.xxx]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]_domaine.com> to=<[email protected]> proto=ESMTP helo=[192.168.1.xxx]

La j’ai été jeté comme un porc alors que je voulais faire du relai sans mettre authentifié eh voila le résultat. (On constate que le serveur n’accepte mêmes pas de relayer les messages de mon réseau local ) tout le monde doit être authentifiés. Si vous avez des serveurs dans votre réseau local qui sont susceptibles de send des emails :

mynetwork = 192.168.xxx.xxx/24

Related posts

Leave a Comment