Administration Réseau Linux - MAIL Server

Administration Réseau Linux - MAIL Server

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 1 BERNIER François –http://astronomie-astrophotographie.fr Installation d’un serveur MAIL sous Ubuntu Server 12.10

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 2 BERNIER François –http://astronomie-astrophotographie.fr Table des matières Installation d’un serveur MAIL sous Ubuntu Server 12.10 ___ 1
1 - Fonctionnement du courrier électronique ___ 4
Description de l'architecture de fonctionnement ___ 4
Mail Transfert Agent ou MTA ___ 5
Serveur du protocole entrant ___ 5
Mail Delivery Agent ou MDA ___ 6
Mail User Agent ou MUA ___ 6
2 – Mise en Œuvre Topologie et versions utilisées ___ 8
3 ‐ Installation et configuration des différents logiciels ___ 11
3 - 1 - Installation d’OpenLDAP ___ 11
3 - 2 Installation De Courier-Imap ___ 15
3 - 3 Configuration de LDAP ___ 16
3 - 4 Installation et configuration de Postfix ___ 26
3 - 5 Paramétrage de Courier ___ 31
3 - 6 Envoi d’un mail depuis la ligne de commande pour activer ___ 35
l’utilisateur1 ___ 35
4 -Test avec Squirrelmail ___ 36
Sources

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 3 BERNIER François –http://astronomie-astrophotographie.fr Le courrier électronique, aussi simple soit-il à utiliser, repose sur un fonctionnement plus compliqué que celui du web. Pour la plupart des utilisateurs son fonctionnement est transparent, ce qui signifie qu'il n'est pas nécessaire de comprendre comment le courrier électronique fonctionne pour pouvoir l'utiliser. Néanmoins, la courte introduction ci-dessous permet d'en comprendre le principe et donne les moyens à un utilisateur de savoir comment configurer au mieux son client de messagerie ou de saisir les mécanismes fondamentaux du spam.

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 4 BERNIER François –http://astronomie-astrophotographie.fr 1 - Fonctionnement du courrier électronique Un système de messagerie électronique est l'ensemble des éléments contribuant à transmettre un courriel( courrier électronique : message transmis via un réseau informatique) de l'émetteur au récepteur. Il y a quatre éléments fondamentaux. Ce sont: - le Mail Transfert Agent ou MTA - le serveur du protocole entrant - le Mail Delivery Agent ou MDA - le Mail User Agent ou MUA Description de l'architecture de fonctionnement Les différents éléments du système de messagerie sont agencés selon une architecture logique, pour en assurer le fonctionnement.

Nous représentons cette architecture par le schéma suivant: Ce schéma présente le transfert d'un courriel d'un expéditeur à un destinataire.

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 5 BERNIER François –http://astronomie-astrophotographie.fr 1 - L'expéditeur communique son courriel via le MUA. 2 - Le MUA transmet ce courriel au MTA (la plupart des MUA intègre des clients SMTP). 3 et 4- Le MTA du système de l'émetteur établit un canal de transmission avec le MTA du système du destinataire, par émissions successives de requêtes bidirectionnelles. 5 - Une fois le canal établit, le courriel est transmis d'un système à un autre par les MTA.

6 - Dans le système du destinataire, Le MTA transmet le courrier reçu au serveur IMAP ou POP3. 7, 8 et 9 - Le MDA récupère le courriel du serveur IMAP / POP 3, et le met à disposition du MDA. 10 - Le MDA dépose le courriel dans la boîte aux lettres du destinataire qui pourra le consulter à tout moment, sur authentification.

Mail Transfert Agent ou MTA C'est un agent qui permet d'acheminer le courriel d'un serveur à un autre. Le MTA de l'émetteur route le mail sur le MTA du récepteur. Il implémente un protocole sortant. Notons que les protocoles sortants permettent de gérer la transmission du courrier entre les systèmes de messagerie. Le protocole sortant généralement utilisé est le Simple Mail Transfert Protocol ou SMTP . SMTP peut être traduit comme protocole simple de transfert de courriel. Il est de la famille des protocoles basés sur TCP/IP. Il utilise généralement le port 25. Le mécanisme de fonctionnement de SMTP est qu'il commence d'abord par vérifier l'existence de l'expéditeur et du ou des destinataire (s), indiqués dans l'entête du message, puis il transmet le contenu.

La transmission s'effectue sur un canal de communication établi entre l'émetteur et le destinataire par émission bidirectionnelle de requêtes basées sur des commandes.

Il existe plusieurs serveurs MTA qui implémentent SMTP. Parmi les plus connus, il y a Postfix, Exim, Qmail et Sendmail. Serveur du protocole entrant Les protocoles entrants permettent la réception et la distribution du courriel. Les plus généralement utilisés sont : Post Office Protocol version 3 (POP3) et Internet Message Access Protocol (IMAP), qui sont tous deux basées sur TCP/IP . Dans son fonctionnement, POP3 va récupérer le courriel sur un serveur de messagerie. IMAP est une version améliorée de POP3 qui intègre les opérations suivantes:  la gestion de plusieurs accès simultanés  la gestion de plusieurs boîtes aux lettres  la synchronisation des courriels entre le serveur et le client (les courriels ne sont pas effacés sur le serveur de messagerie comme le fait POP3 )  le tri du courrier selon des critères.

Il existe une version sécurisée d’IMAP : IMAPS qui intègre le protocole SSL (Secure Socket Layer). Dans le système de messagerie, il est nécessaire d'avoir un serveur qui implémente un protocole entrant.

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 6 BERNIER François –http://astronomie-astrophotographie.fr Mail Delivery Agent ou MDA Il s'agit d'un agent qui est en charge de la gestion des boîtes aux lettres. Il est chargé de livrer le courriel dans la boîte à messages du destinataire. Pour cela, il est souvent considéré comme le point final d'un système de messagerie. Dans le MDA , on peut filtrer les courriels; et même supprimer les spams par des anti-spams (comme spamassassin) et contrôler les virus par des antivirus.

Il existe plusieurs serveurs MDA, les plus courants sont procmail, maildrop ,courier et cyrus.

Mail User Agent ou MUA Le MUA est un logiciel client de messagerie qui fournit un environnement pour la gestion du courriel (envoi, saisie, réception, suppression, etc.). Il est très proche du MDA. Tout comme les autres agents, il existe également plusieurs MUA . Un MUA avec une interface Web, est appelé Webmail. Choix des serveurs Utilisés Pour notre serveur de messagerie, nous utiliserons les logiciels suivants : COMPOSANTS SERVEURS MTA (Mail Transfert Agent) Postfix Serveur IMAP (Serveur du protocole entrant) Courier-imap MDA (Mail Delivery Agent) Courier-imap MUA (Mail User Agent) Squirrelmail (Webmail) ANNUAIRE UTILISATEUR LDAP et PHPLdapadmin

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 7 BERNIER François –http://astronomie-astrophotographie.fr Le schéma de principe est le suivant : - LDAP est le logiciel permettant de gérer les utilisateurs et les groupes pour des clients systèmes (droits utilisateurs systèmes dans un domaine AD) ou pour des logiciels. Dans cette doc, nous nous intéresserons à la deuxième possibilité. LDAP nous servira de base de données pour gérer les utilisateurs.

Courier est un logiciel permettant de proposer le service IMAP pour la livraison des mails aux utilisateurs de la base de données. -Postfix, quant à lui, est un logiciel permettant de proposer le service SMTP pour l’envoi des mails par les utilisateurs de la base de données.

Squirrelmail permet de fournir aux utilisateurs une interface WEB conviviale pour gérer leur messagerie.  Il sera possible, par la suite de paramétrer des clients de messagerie locaux pour les comptes créés dans LDAP

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 8 BERNIER François –http://astronomie-astrophotographie.fr 2 – Mise en Œuvre Topologie et versions utilisées L’installation sera effectuée sous Ubuntu Server 12.10 La version du serveur Apache sera la 2.2 devra être préalablement installée sur le serveur # aptitude install apache2 Prés requis  Un DNS fonctionnel dans lequel est déclaré le serveur qui héberge LDAP-Postfix-CourierSquirrelmail.

Il faut également que l’enregistrement du champ MX pointe vers le serveur LDAP (le champ MX permet de relayer les mails dans le domaine) ! Il faudra donc modifier le fichier de zone et de zone inverse du serveur DNS.

Administration Réseau Linux - MAIL Server

Administration Réseau Linux – MAIL Server 9 BERNIER François –http://astronomie-astrophotographie.fr Pour plus d’informations vous pouvez consulter mon guide d’installation du serveur Bind9. Penser à adapter les fichiers de configuration à votre propre infrastructure !!! Dans le cas suivant, le même serveur héberge le DNS, le WWW et le SMTP Fichier de zone : Fichier de zone inverse : Penser à incrémenter le n° de serial dans les 2 fichiers de zone !!! Redémarrer le Serveur Bind9 # Sudo service bind9 restart

Administration Réseau Linux - MAIL Server
  • Administration Réseau Linux – MAIL Server 10 BERNIER François –http://astronomie-astrophotographie.fr
  • Editer le fichier /etc/hosts pour déclarer la correspondance @IP-Serveur/nom FQDN  Faire pointer le fichier resolv.conf sur le DNS dans lequel est déclaré le serveur MAIL

Administration Réseau Linux – MAIL Server 11 BERNIER François –http://astronomie-astrophotographie.fr 3 ‐ Installation et configuration des différents logiciels 3 - 1 - Installation d’OpenLDAP # apt-get install slapd ldap-utils phpldapadmin  Cette ligne de commande installe LDAP, Phpldapadmin ainsi que toutes les dépendances (librairies et logiciels) nécessaires au fonctionnement des logiciels précités. Pendant l’installation, le mot de passe de l’administrateur sera demandé. Noter ce mot de passe pour la suite.

Paramétrage de LDAP Configuration de base # dpkg-reconfigure slapd  La commande dpkg-reconfigure permet de (re)configurer grâce à un assistant CLI (Command Line Assistant is a Graphical User Interface GUI) le paquet indiqué (si un assistant de configuration est disponible...) Il suffit de répondre aux questions posées par le système :

Administration Réseau Linux – MAIL Server 12 BERNIER François –http://astronomie-astrophotographie.fr

Administration Réseau Linux – MAIL Server 13 BERNIER François –http://astronomie-astrophotographie.fr

Administration Réseau Linux – MAIL Server 14 BERNIER François –http://astronomie-astrophotographie.fr

Administration Réseau Linux – MAIL Server 15 BERNIER François –http://astronomie-astrophotographie.fr Ensuite il faut installer courier afin de pouvoir importer le schéma de celui-ci dans LDAP.

La configuration de courier se fera par la suite mais le fait de l’installer est obligatoire pour récupérer le schéma que l’on va intégrer à LDAP. 3 - 2 Installation De Courier-Imap # apt-get install courier-base courier-authdaemon courierimap courier-authlib-ldap courier-pop courier-ldap fam LDAP utilise les modules de Courier pour l’authentification des utilisateurs de la messagerie. Il est donc impératif de ne pas sauter cette étape car sinon il sera impossible d’aller plus avant. Ne pas créer les répertoires nécessaires à l’administration web...

Administration Réseau Linux – MAIL Server 16 BERNIER François –http://astronomie-astrophotographie.fr 3 - 3 Configuration de LDAP Les fichiers de configuration de LDAP sont tous dans le répertoire /etc/ldap/. La partie configuration de LDAP devrait se faire normalement sans trop de soucis, les choses sérieuses commencent avec l’interfaçage de Postfix/Courier avec LDAP ! Importation du schéma de courier dans LDAP Nous allons maintenant intégrer le schéma de courier dans LDAP : # zcat /usr/share/doc/courier-authlib-ldap/authldap.schema.gz > /etc/ldap/schema/authldap.schema La commande zcat (comme gunzip ou tar) permet de décompresser l’archive « authldap.schema.gz » au format gz.

Ensuite nous faisons une redirection de la sortie standard dans le fichier « authldap.schema » Manque de chance, le schéma est « buggué . On corrige rapidement avec la commande suivante : # sed -i 's@$ mailhost / etc/ldap/schema/authldap.schema La commande sed –i est utilisée pour effectuer des changements dans des fichiers textes de manière récursive. Ici, la chaîne de caractère sera remplacée par < > c’est-à-dire rien !

On peut ensuite générer la configuration des schémas LDAP. La configuration d’OpenLDAP se fait directement dans l’annuaire dans l’arbre spécial . Voici la démarche pour intégrer un nouveau schéma : # cat > /etc/ldap/slapd.conf

Administration Réseau Linux – MAIL Server 17 BERNIER François –http://astronomie-astrophotographie.fr Avec cette commande, nous allons rediriger la sortie standard (indicateur > après cat) jusqu’à l’indicateur

Administration Réseau Linux – MAIL Server 18 BERNIER François –http://astronomie-astrophotographie.fr Génération des mots de passes cryptés pour l’administrateur LDAP et pour le premier utilisateur du serveur de messagerie.

slappasswd -s -h {SSHA} |base64 Il est conseillé de créer des mots de passes différents pour l’administrateur et pour les utilisateurs. Cette étape est très importante pour la suite car à la création de chaque utilisateur, il faudra « hasher » son mot de passe.

Le hashage de mot de passe est l'une des pratiques de sécurité les plus basiques qui doit être effectuée. Sans cela, chaque mot de passe stocké peut être volé si le support de stockage (typiquement une base de données) est compromis. Ce mot de passe peut alors être immédiatement utilisé pour accéder frauduleusement non seulement à votre application mais aussi sur d'autres applications si l'utilisateur utilise le même mot de passe ailleurs. En appliquant un hashage sur le mot de passe avant de le stocker, vous rendez la tâche d'un attaquant très difficile pour connaitre le mot de passe original, et vous avez toujours la possibilité de comparer le mot de passe hashé à une chaîne reçue.

Il est important de noter que le hashage ne fait que protéger les mots de passe dans la base, pas leur éventuelle interception alors qu'ils sont envoyés à l'application par l'utilisateur, via du code malicieux injecté dans l'application, par exemple.

Création de l’arborescence du domaine. LDAP utilise des fichiers textes avec l’extension *.ldif pour intégrer les branches du schéma de l’organisation. Il faut essayer de se figurer un organigramme représentant les différentes tables nécessaires au fonctionnement d’un serveur de messagerie. Ces fichiers sont à créer dans le répertoire /etc/ldap Définition du domaine racine de l’organisation : Nous allons créer un fichier *.ldif dans lequel nous allons définir la racine de l’organisation dans LDAP. Une fois que la configuration de l’arborescence de LDAP effectuée, il est recommandé de ne pas garder de copie de ces fichiers (*.ldif) dans un répertoire présent sur le serveur.

Administration Réseau Linux – MAIL Server 19 BERNIER François –http://astronomie-astrophotographie.fr Il vaut mieux utiliser un client SSH pour faire un backup de la configuration de LDAP . Enfin donnez un nom parlant au fichiers afin de les retrouver (org.ldif) , (admin.ldif)... ! Pour rappel : Penser à adapter les fichiers de configuration à votre propre infrastructure !!! dn:,dc=ghost,dc=fr ##si vous avez un ou des sous domaine ,vous devez ajouter un ou des champs dc # # objectClass: top objectClass: dcObject objectClass: organization dc: ##si vous avez un ou des sous domaine ce champ doit être renseigné,sinon supprimer la ligne ## o: ghost.fr dn : indique le nom du domaine en indiquant tous les sous domaines composant le domaine FQDN.

Dans une adresse internet, du type www.google.fr les séparateurs des sous domaines sont des points. Ici, les séparateurs sont et chaque sous domaine doit être séparé par une virgule. Attention, les fichiers *.ldif sont sensibles à la casse, aux espaces avant et après les chaînes de caractères et aux sauts de lignes !

Les champs dc=..., sont valables pour tous les fichiers de configuration. Il faudra donc à chaque fois déclarer tous les sous domaines si vous en avez : EX : si groupe5.info-msj.net alors  dc=groupe5,dc=info-msj,dc=net

Administration Réseau Linux – MAIL Server 20 BERNIER François –http://astronomie-astrophotographie.fr Intégration de l’utilisateur Administrateur (de LDAP) à l’organisation. dn: cn=admin,dc=ghost,dc=fr objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword: {SSHA} e1NTSEF9U0FLN0MrbHFJaGU5dndOVWVqbGo5NEx4d2svTUpEQUYK Ici, nous définissons le nom canonique de l’Administrateur de LDAP (champ ) on peut décider de nommer l’administrateur comme on le veut.

Notez que le mot de passe est « hashé » (voir slappasswd plus haut) et que l’on indique le type de hash (ici {SSHA} ). L’utilisateur créé ici, est utilisé par Courier et Postfix pour lier (bind en anglais) ces services avec LDAP. Utiliser le code « hasché » généré plus haut avec slappasswd Définition d’une organisation virtuelle ayant une messagerie. dn: o=maboite, dc=ghost,dc=fr objectClass: CourierDomainAlias objectClass: organization objectClass: top o: maboite virtualdomain: ghost.fr virtualdomainuser: ghost.fr/

Administration Réseau Linux – MAIL Server 21 BERNIER François –http://astronomie-astrophotographie.fr Nous indiquons ici à LDAP la correspondance avec le schéma de Courier.

Courier est utilisé pour l’authentification des utilisateurs dans la base de données de LDAP. Définition de la base de données users. Nous allons créer une unité organisationnelle pour gérer les utilisateurs. Voir ici : http://fr.wikipedia.org/wiki/Active_Directory#Unit.C3.A9_organisationnelle dn: ou=users,o=maboite,dc=ghost,dc=fr objectClass: organizationalUnit objectClass: top ou: users Cette unité organisationnelle sera utilisée comme groupe qui appliquera les mêmes droits à tous les utilisateurs qui dépendent d’elle.

Définition de la base de données aliases. dn: ou=aliases,o=maboite,dc=ghost,dc=fr objectClass: organizationalUnit objectClass: top ou: aliases

Administration Réseau Linux – MAIL Server 22 BERNIER François –http://astronomie-astrophotographie.fr La base de donnée aliases est aussi une Unité Organisationnelle (). Création du premier utilisateur du service de messagerie. Créer d’abord un mot de passe pour cet utilisateur : # slappasswd -s -h {SSHA} |base64 Et utiliser le codec crypté à la ligne user password Ce fichier constitue le modèle que l’on va réutiliser à chaque création d’utilisateur du service de messagerie.

Il est donc primordial de bien comprendre comment la syntaxe de ce fichier fonctionne ! dn: cn=francois.bernier,ou=users,o=maboite,dc=ghost,dc=fr objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: CourierMailAccount objectClass: top cn: francois.bernier gidNumber: 0 givenName: francois homeDirectory: /home/vmail/ mail: francois.bernier@ghost.fr mailbox: ghost.fr/ francois.bernier / sn: bernier uid: francois.bernier

Administration Réseau Linux – MAIL Server 23 BERNIER François –http://astronomie-astrophotographie.fr uidNumber: 0 quota: 500 userPassword: {SSHA} e1NTSEF9U0FLN0MrbHFJaGU5dndOVWVqbGo5NEx4d2svTUpEQUYK Importation des fichiers *.ldif précédemment créés dans ldap avec la commande ldapadd : Voici comment s’organise la syntaxe de cette commande : # ldapadd –cxD "cn=admin,dc=ghost,dc=fr" –W –f /chemin_absolu_du_fichier_ldif_à_intégrer Attention, le mot de passe demandé est le mot de passe de l’administrateur de la base de données et pas celui de l’utilisateur que l’on veut ajouter !

Vous devez exécuter cette commande pour chacun des fichiers que vous avez générés précédemment.

Administration Réseau Linux – MAIL Server 24 BERNIER François –http://astronomie-astrophotographie.fr Paramétrage de Phpldapadmin Nous utiliserons Phpldapadmin (interface web d’administration de LDAP) pour vérifier que la configuration rentrée précédemment est correcte. Pour ce faire, il suffit d’éditer le fichier /etc/phpldapadmin/config.php comme suit : Chercher la ligne : $servers->setValue('server','base',array('dc=example,dc=com)); Et la modifier ainsi : $servers->setValue('server','base',array('dc=ghost,dc=fr')); Chercher la ligne : $servers->setValue('login','bind_id','cn=Manager, dc=example,dc=com’); Et la modifier ainsi : $servers->setValue('login','bind_id','cn=admin,dc=ghost,dc=fr'); - - Nous allons maintenant créer un lien symbolique entre le répertoire d’installation du site phpldapadmin et le répertoire par défaut d’Apache2 : # ln -s /usr/share/phpldapadmin/ /var/www/ldap Une fois ces modifications effectuées, nous pourrons nous « logguer » dans phpldapadmin en tapant dans votre navigateur web : http://@IP_du_serveur_LDAP/phpldapadmin EX : http://172.25.205.250/ phpldapadmin En cliquant sur connexion, vous devriez obtenir l’interface de connexion de phpldapadmin avec l’utilisateur admin pré-rempli !

Administration Réseau Linux – MAIL Server 25 BERNIER François –http://astronomie-astrophotographie.fr On s’authentifie avec le mot de passe administrateur créé précédemment. Si l’arborescence déployée du domaine ressemble à ceci, la configuration se présente bien.

Administration Réseau Linux – MAIL Server 26 BERNIER François –http://astronomie-astrophotographie.fr 3 - 4 Installation et configuration de Postfix Installation et configuration de Postfix Installation # apt-get install postfix postfix-ldap postfix-pcre Pendant l’exécution de cette commande, il y aura un nouvel assistant de configuration.

Voici les réponses à apporter aux questions posées : 1. Site internet 2. 3. root@localhost 4. hostname.domaine.TLD 5. hostname.domaine.TLD, hostname, localhost.domaine.TLD, localhost 6. non (Executer # dpkg-reconfigure postfix si la configuration a mal été saisie). Ne sont définies ici que les options de base de Postfix, les autres options sont à définir dans le fichier /etc/postfix/main.cf Création de l’utilisateur système utilisé par Postfix pour gérer les utilisateurs du service de messagerie.

Avant d'aller plus loin, nous devons créer l'utilisateur, le groupe et le répertoire qui seront utilisés par Postfix pour manipuler les messages. # groupadd -g 5000 vmail # useradd -u 5000 -g 5000 -d /home/vmail -s /bin/false -m vmail Bien entendu, cet utilisateur ne doit en aucun cas avoir la possibilité d’accéder à un shell ! En cas de piratage du service postfix, les dégâts seraient considérables. Après avoir créé l’utilisateur, nous allons créer les répertoires nécessaires aux utilisateurs de la messagerie.

Administration Réseau Linux – MAIL Server 27 BERNIER François –http://astronomie-astrophotographie.fr # mkdir –p /home/vmail/domaine/ # cd /home/vmail/domaine/ # maildirmake utilisateur1 # maildirmake -f Sent utilisateur1 # maildirmake -f Queue utilisateur1 # maildirmake -f junkmail utilisateur1r # maildirmake -f virus utilisateur1 # maildirmake -f Drafts utilisateur1 # maildirmake -f Trash utilisateur1 Nous allons maintenant donner les droits d’écriture à « courier » : # chown –R vmail:vmail /home/vmail Configuration du service SMTP Les configurations à effectuer sont à faire dans : /etc/postfix/main.cf.

Il est conseillé de faire un backup du fichier original avant de se lancer dans la config ! Voici un exemple commenté de ce fichier : See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Administration Réseau Linux – MAIL Server 28 BERNIER François –http://astronomie-astrophotographie.fr # Config générale du serveur SMTP myhostname = hostname.domaine.TLD alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = hostname.domaine.TLD, hostname, localhost.domaine.TLD, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 @IPréseau/24 mailbox_command = procmail -a "$EXTENSION" home_mailbox = Maildir/ mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all luser_relay = #la directive suivante correspond à la liste des domaines pris en charge.

virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf # le répertoire /home/vmail stockera les boites mail des utilisateurs virtual_mailbox_base = /home/vmail #la directive suivante correspond à a liste des utilisateurs déclarés virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf virtual_minimum_uid = 100 virtual_gid_maps = static:5000 virtual_uid_maps = static:5000 #la directive suivante correspondà a liste des alias (redirections). virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf unknown_local_recipient_reject_code = 450 Pour rappel : Penser à adapter les fichiers de configuration à votre propre infrastructure !!!

Administration Réseau Linux – MAIL Server 29 BERNIER François –http://astronomie-astrophotographie.fr Il nous faut ensuite créer les 3 fichiers ldap-domains.cf, ldap-accounts.cf, ldap-aliases.cf : Copier les commandes suivantes sur votre terminal : # cat > /etc/postfix/ldap-domains.cf /etc/postfix/ldap-accounts.cf /etc/postfix/ldap-aliases.cf

Administration Réseau Linux – MAIL Server 30 BERNIER François –http://astronomie-astrophotographie.fr  Il faudra bien entendu modifier les fichiers pour qu’ils soient en correspondance avec votre réseau ! Enfin nous allons modifier la fin du fichier master.cf : # cat >> /etc/postfix/master.cf

Administration Réseau Linux – MAIL Server 31 BERNIER François –http://astronomie-astrophotographie.fr 3 - 5 Paramétrage de Courier Maintenant il ne nous reste plus qu’à paramétrer correctement Courier pour qu’il prenne en charge l’authentification avec LDAP. Le répertoire de configuration de courier est : /etc/courier Il faut tout d’abord indiquer à courier qu’il doit communiquer avec LDAP. Pour ce faire, nous allons modifier le fichier /etc/courier/authdaemonrc.

Remplacer la ligne : authmodulelist="authpam" Par : authmodulelist="authldap" Voici à présent la partie la plus sensible de la configuration de courier, le paramétrage général du serveur IMAP.

Pour ce faire, nous allons modifier le fichier : /etc/courier/authldaprc. Attention, ce fichier est sensible à la casse, aux espaces... Voici mon fichier : # indiquer le nom FQDN du serveur LDAP LDAP_URI ldap://ldap.groupe5.info-msj.net #indique à courier la version de LDAP LDAP_PROTOCOL_VERSION 3 ##NAME: LDAP_BASEDN:0 # # la base du nom de domaine avec une syntaxe à la LDAP LDAP_BASEDN dc=groupe5, dc=info-msj, dc=net ##NAME: LDAP_BINDDN:0 # information nécessaires à l’authentification de courier via LDAP # You may or may not need to specify the following. Because you've got # a password here, authldaprc should not be world-readable!!! LDAP_BINDDN cn=admin, dc=groupe5, dc=info-msj, dc=net LDAP_BINDPW * * LDAP_TIMEOUT 5 ##NAME: LDAP_MAIL:0 # indique le champ mail de LDAP # Here's the field on which we query LDAP_MAIL mail # The following default domain will be appended, if not explicitly specified.

le domaine FQDN géré par LDAP

Administration Réseau Linux – MAIL Server 32 BERNIER François –http://astronomie-astrophotographie.fr # LDAP_DOMAIN example.com LDAP_DOMAIN groupe5.info-msj.net ##NAME: LDAP_GLOB_IDS:0 # The following two variables can be used to set everybody's uid and gid. # This is convenient if your LDAP specifies a bunch of virtual mail accounts # The values can be usernames or userids: # utilisateur/groupe système de courier LDAP_GLOB_UID vmail LDAP_GLOB_GID vmail ##NAME: LDAP_HOMEDIR:0 # le champ qui indique à LDAP où sont stockés les repertoires utilisateurs # We will retrieve the following attributes # # The HOMEDIR attribute MUST exist, and we MUST be able to chdir to it LDAP_HOMEDIR homeDirectory # The MAILDIR attribute is OPTIONAL, and specifies the location of the # mail directory.

If not specified, ./Maildir will be used # Voici le champs qui indique à LDAP le repertoire des utilisateurs LDAP_MAILDIR mailbox ##NAME: LDAP_DEFAULTDELIVERY:0 # # Courier mail server only: optional attribute specifies custom mail delivery # instructions for this account (if defined) -- essentially overrides # DEFAULTDELIVERY from ${sysconfdir}/courierd LDAP_DEFAULTDELIVERY defaultDelivery # FULLNAME is optional, specifies the user's full name # indique la syntaxe de l’indicateur qui precise à LDAP le nom canonique de # l’utilisateur qui aura le droit d’établir le lien entre LDAP et courier LDAP_FULLNAME cn ##NAME: LDAP_PW:0 # # CLEARPW is the clear text password.

CRYPT is the crypted password. # ONE OF THESE TWO ATTRIBUTES IS REQUIRED. If CLEARPW is provided, and # libhmac.a is available, CRAM authentication will be possible! #LDAP_CLEARPW clearPassword LDAP_CRYPTPW userPassword ##NAME: LDAP_ENUMERATE_FILTER:0 # # {EXPERIMENTAL} # Optional custom filter used when enumerating accounts for authenumerate, # in order to compile a list of accounts for shared folders. If present, # this filter will be used instead of LDAP_FILTER.

Administration Réseau Linux – MAIL Server 33 BERNIER François –http://astronomie-astrophotographie.fr # # LDAP_ENUMERATE_FILTER (&(objectClass=CourierMailAccount)(!(disableshared=1))) ##NAME: LDAP_DEREF:0 # # Determines how aliases are handled during a search. This option is available # only with OpenLDAP 2.0 # # LDAP_DEREF can be one of the following values: # never, searching, finding, always. If not specified, aliases are # never dereferenced. LDAP_DEREF never ##NAME: LDAP_TLS:0 # # Set LDAP_TLS to 1 to use the Start TLS extension (RFC 2830). This is # when the server accepts a normal LDAP connection on port 389 which # the client then requests 'upgrading' to TLS, and is equivalent to the # -ZZ flag to ldapsearch.

If you are using an ldaps:// URI then do not # set this option.

For additional LDAP-related options, see the authdaemonrc config file. LDAP_TLS 0 ##NAME: LDAP_EMAILMAP:0 # Pour rappel : Penser à adapter les fichiers de configuration à votre propre infrastructure !!! Les éléments à modifier dans ce fichier sont en Rouge De préférence faites un copier-coller de ce fichier pour éviter les erreurs de syntaxe. Une fois la configuration de Courier-authdaemon terminée, n'oubliez pas de le redémarrer. # /etc/init.d/courier-authdaemon restart

Administration Réseau Linux – MAIL Server 34 BERNIER François –http://astronomie-astrophotographie.fr Pour tester la configuration de Courier exécutez la commande suivante : # authtest utilisateur1@domaine.TLD Votre premier utilisateur créé Qui devrait vous renvoyer les données du compte utilisateur Modification du mot de passé de l’utilisateur1 dans phpldapadmin Il y a un bug avec la création du mot de passe des utilisateurs dans LDAP.

Pour y remédier, nous allons modifier le passwd de l’utilisateur1 dans phpldapadmin : Dans l’interface de gestion de LDAP sélectionner l’utilisateur1 (cn=utilisateur1) puis valeurs par défaut. Dans le champ mot de passe, retaper le mot de passe puis valider les changements tout en bas de la fenêtre.

Administration Réseau Linux – MAIL Server 35 BERNIER François –http://astronomie-astrophotographie.fr 3 - 6 Envoi d’un mail depuis la ligne de commande pour activer l’utilisateur1. Taper la commande suivante pour envoyer un mail : # mail –s test utilisateur1@domaine.TLD 1. Taper ici le corps du message puis entrée une fois fini. Exemple : BLABLA 2. Taper un point puis entrée pour indiquer la fin du texte. 3. Dans le champ CCI indiquer une @mail si vous voulez envoyer le mail en copie ou taper entrée.

Ou bien la commande suivante : # echo testing | mail –s test utilisateur1@domaine.TLD Nous avons envoyé un mail à l’utilisateur1.

Le sujet du mail est test, le corps du texte BLABLA et nous pouvons choisir ou non de l’envoyer en copie à un autre utilisateur. Après envoi du mail faisons un petit tour dans les fichiers de logs pour vérifier que tout a correctement fonctionné : # cat /var/log/mail.log Mar 18 22:09:36 Ubuntu-SERVER-64 postfix/pickup[4675]: 0305AE41E7: uid=0 from= Mar 18 22:09:36 Ubuntu-SERVER-64 postfix/cleanup[5107]: 0305AE41E7: message-id= Mar 18 22:09:36 Ubuntu-SERVER-64 postfix/qmgr[4674]: 0305AE41E7: from=, size=376, nrcpt=1 (queue active) Mar 18 22:09:36 Ubuntu-SERVER-64 postfix/virtual[5109]: 0305AE41E7: to=, relay=virtual, delay=0.1, delays=0.09/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir) Message bien envoyé au destinataire

Administration Réseau Linux – MAIL Server 36 BERNIER François –http://astronomie-astrophotographie.fr 4 -Test avec Squirrelmail Créer un lien symbolique pour squirrelmail dans /var/www # ln -s /usr/share/squirrelmail/ /var/www/webmail Dans un navigateur web taper l’adresse IP ou le nom du serveur MAIL suivie de /webmail pour accéder au client de messagerie par l’interface web de Squirrelmail. http://172.25.205.250/webmail/ http://ubuntu-server-64@ghost.fr/webmail/ Vous arrivez sur la page d’identification de Squirrelmail

Administration Réseau Linux – MAIL Server 37 BERNIER François –http://astronomie-astrophotographie.fr Vous n’avez plus qu’à vous « logger » sur le compte utilisateur auquel vous avez envoyé un email Le message de test envoyé est bien présent dans les messages reçus.

Administration Réseau Linux – MAIL Server 38 BERNIER François –http://astronomie-astrophotographie.fr Sources : http://www.linuxtopia.org/online_books//network_administration_guides/ldap_ administration/appendi x-common-errors_Common_causes_of_LDAP_errors.html http://www.php.net/manual/fr/function.ldap-bind.php http://php.net/manual/fr/faq.passwords.php http://www.trstech.net/alain/ldap-dns.pdf http://cesar.com.univ-mrs.fr/IMG/pdf/formation_ldap_hybride.pdf http://www.jopa.fr/index.php/2009/07/28/alias-forward-postfix-openldap/ http://www.commentcamarche.net/contents/courrier-electronique/ http://j2c.org/informatique/linux/postfix.php http://www.postfix.org/postmap.1.html http://articles.mongueurs.net/magazines/linuxmag65.html http://www.bizeul.net/?2005/05/27/7-serveur-de-messagerie-multi-domaines-av ec-postfix-openldapet-courier http://www.tariel.eu/spip.php?article13 http://www.tariel.eu/spip.php?article14 http://doc.ubuntu-fr.org/serveur_mail_avec_postfix_et_courier-imap_bis

Vous pouvez aussi lire