Recent Changes - Search:

Accueil

OpenSSL

SyncML

Apache Portable Runtime

Libxml2

Net-snmp

CUrl

Boost

Perl

ZLib

Samba

VPN

Serveurs de messagerie

edit

Postfix/Sasl-tls

Il est possible d'ouvrir son relais de messagerie aux utilisateurs externes du réseau, bien que Postfix intègre une mécanique de filtrage des clients (smtpd_recipient_restrictions) qui est inutilisable pour des utilisateurs nomades car basée sur les adresses IP, c'est pourquoi, pour ouvrir son relais aux utilisateurs externes, il est nécessaire d'activer deux plugins supplémentaires : - le SASL qui ajoute une fonctionnalité d'identification - le TLS qui garanti un chiffrement des données perdant leur transport. Ces deux fonctionnalités, correctement paramétrées, permettent d'ouvrir son relais de messagerie sans crainte.

Postfix-SASL

Le Simple Authentication and Security Layer est une méthode (RFC2222) permettant aux développeurs d'applications de ne pas avoir a implémenter les fonctionnalités d'identifications mais de ce reposer sur un service externe dédié à cela. Le serveur de messagerie Cyrus de l'université Carnegie Mellon fournit un service SASL interconnectable avec Postfix, voici comment le configurer.

1. Compilation du service Cyrus-sasl

./configure --enable-krb4=no --enable-plain
make
make install
ln -s /usr/local/lib/sasl2 /usr/lib

2. Compilation de postfix (activation de l'authentification par SASL)

make makefiles CCARGS="-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl" AUXLIBS="-L/usr/local/lib -lsasl2"
make
make install

3. Configuration de postfix

dans /etc/postfix/main.cf, modifier smtpd_recipient_restrictions et ajouter en début de liste permit_sasl_authenticated
ajouter à la fin du fichier smtpd_sasl_auth_enable=yes

4. Redémarrer postfix

postfix stop;postfix start

Si postfix n'est pas compilé avec les bonnes options, voici l'erreur dans maillog
Oct 3 17:05:54 proxy postfix/smtpd[26217]: warning: smtpd_sasl_auth_enable is true, but SASL support is not compiled in

5. Configurer le service SASL

créer le fichier /usr/local/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
saslauthd_version: 2
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

6. Démarrer le service SASL

mkdir /var/spool/saslauthd
mkdir -p /var/state/saslauthd
/usr/local/sbin/saslauthd -a getpwent -m /var/state/saslauthd
Vérification de son fonctionnement.
Dans /var/log/authlog, présence du message Oct 3 17:45:48 proxy saslauthd[27359]: ipc_init : listening on socket: /var/state/saslauthd/mux
et netstat -an |grep sasl retourne
0xd6bbda14 stream 0 0 0xd7212288 0x0 0x0 0x0 /var/state/saslauthd/mux

Le service SASL est actif et à l'écoute sur la socket unix /var/state/saslauthd/mux, dans le cas contraire à la connexion d'un client, le service postfix s'arrête avec ces messages :
Oct 3 17:28:54 proxy postfix/smtpd[20155]: warning: xsasl_cyrus_server_get_mechanism_list: no applicable SASL mechanisms
Oct 3 17:28:54 proxy postfix/smtpd[20155]: fatal: no SASL authentication mechanisms
Oct 3 17:29:56 proxy postfix/master[23336]: warning: process /usr/libexec/postfix/smtpd pid 8781 exit status 1

Test d'identification

Génération de la chaîne d'identification
$ echo -n '\0user\0mdp' | openssl enc -base64 -e
AHVzZXIAbWRw
$ telnet <adresse> 25
S:220 mail.domain.com ESMTP Postfix
C:ehlo test
250-mail.domain.com
S:250-SIZE 10240000
S:250-AUTH PLAIN CRAM-MD5
S:250-ENHANCEDSTATUSCODES
S:250-8BITMIME
S:250 DSN
C:AUTH PLAIN AHVzZXIAbWRw
S:535 5.7.8 Error: authentication failed: authentication failure
C:AUTH PLAIN Z29vZGlkZWEgOy0p
S:235 2.7.0 Authentication successful


Le serveur SMTP acceptera maintenant de relayer les messages des clients extérieurs identifiés. Cette configuration a l'énorme inconvénient de faire transiter le mot de passe en clair sur le réseau et pour éviter cela, le plus simple est l'activation des communications TLS.

Edit - History - Print - Recent Changes - Search
Page last modified on October 03, 2009, at 06:24 PM