Archive

Articles taggués ‘postfix’

Ajout du support TLS pour Postfix

22/01/2009

Si vous souhaitez permettre à vos utilisateurs de se connecter de manière sécurisée à votre serveur SMTP afin que les informations tranitant (mails et login/mot de passe) ne circulent pas en clair sur tout le réseau, vous pouvez activer une couche TLS directement dans Postfix.

Vous pouvez donc acheter un certificat auprès de l’autorité de certification de votre choix ou l’auto-générer si cette solution vous convient.

Dans le fichier /etc/postfix/main.cf, ajoutez les lignes suivantes:

smtpd_use_tls = yes
smtpd_tls_cert_file = /path/to/server.crt
smtpd_tls_key_file = /path/to/server.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Vous pouvez ensuite redémarrer Postfix et activer le support TLS dans votre client mail.

Note: SSL a été renommé TLS suite au rachat du brevet de Netscape par l’IETF en 2001.

Courrier électronique , ,

Accepter les connexions SMTP sur un port supplémentaire

01/01/2009

Certains FAI bloquent le port 25 en sortie de leur réseau, ce choix étant justifié par deux raisons précises:

  • vous obliger à utiliser leur serveur SMTP;
  • luter contre les machines zombies. Une machine zombie est une machine sur laquelle a été installé à l’insu de son utilisateur un logiciel généralement inoffensif pour la machine en elle-même, mais qui s’en sert pour envoyer du spam, lancer des scans, du flood, …

Si vous souhaitez utiliser le serveur SMTP d’un serveur précis, cela est alors impossible puisqu’il vous est impossible de le contacter sur le port 25. Pour les utilisateurs nomades, qui se connectent sur différents réseaux au gré de leur déplacements, le même problème survient, puisqu’ils ne connaissent pas le serveur SMTP local; et même s’ils le connaissent, c’est un paramètre à modifier à chaque fois, ce qui devient vite handicapant pour gérer efficacement son courrier.

Une solution à ce double problème est d’ouvrir un second port sur votre serveur SMTP.

Pour postfix, puisque c’est un des objets de ce blog, cela se fait facilement (comme toute manipulation sous Postfix ;-) ) en éditant le fichier /etc/postfix/master.cf.

Il suffit de rajouter une ligne de la forme

5025      inet  n       -       -       -       -       smtpd
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

où 5025 représente le numéro du port que nous allons ouvrir. Il vous est loisible de rajouter les directives que vous souhaitez à la fin de la ligne (par exemple pour faire appel à un filtre de contenu).

Nous indiquons à Postfix de n’accepter sur ce port que les personnes s’authentifiant en SASL. En effet, si les spammeurs découvrent que votre serveur accepte les connexions sur un autre port sans filtrage, je crois que vous croulerez vite sous le spam !

Vous pouvez rajouter autant de lignes similaires que vous le souhaitez, en modifiant le numéro du port à la valeur désirée. N’en ouvrez tout de même pas des millions, ça ne sert à rien. Les ports au dessus de 1024 ne sont généralements pas filtrés par les FAI et autres réseaux d’entreprise, un seul devrait donc suffire …

Il faut évidement redémarrer Postfix après cette manipulation.

Courrier électronique , , ,

Postfix: mails en double lors de la livraison vers une boîte avec copie vers une autre

29/12/2008

Voici un problème couramment rencontré sur un serveur de courrier équipé d’un logicel antispam ou anti-virus. Une boîte mail a un transfert automatique (via un alias ou un bcc) du courrier vers une autre boîte. Le courrier se trouve en double dans la boîte en copie.

La cause de ce problème est en réalité assez simple. Un mail arrive de l’extérieur, il est injecté dans postfix. Postfix regarde alors dans la table des alias ou des BCC et voit que l’adresse destinataire intègre une deuxième destination, le mail est donc dupliqué vers la deuxième destination. Les deux mails sont ensuite passé au filtre antispam ou antivirus, puis réinjectés dans postfix, qui reprend le même processus : le destinataire intègre une deuxième destination et le mail est à nouveau dupliqué. Trois copies du mail orginal existent alors: celle vers l’adresse de base, celui vers la deuxième destination, dupliqué avant le filtre de contenu, et enfin, celui vers la deuxième destination dupliqué après le filtre de contenu. Deplus, votre filtre a été appelé deux fois, le mail ayant été dupliqué avant son appel.

Mais, rassurez-vous, il existe une solution à ce problème. Il est en effet possible de dire à postfix de ne pas traduire les alias. Pour ce faire, éditer le fichier /etc/postfix/master.cf, et à la ligne smtpd, qui contient -o content_filter=nomdufiltre (c’est généralement la première ligne), rajouter -o receive_override_options=no_address_mappings. Ne pas oublier de redémarrer postfix pour prendre en compte la nouvelle configuration.

Le comportement sera alors normal lors de la réception d’un mail: il est passé au content_filter, et seulement après sa réinjection, les alias sont interprétés.

Courrier électronique , , ,