administration débian serveur installation mail serveur bernier francois

Upload: gakou05

Post on 06-Jan-2016

67 views

Category:

Documents


0 download

DESCRIPTION

How to built your own server mail

TRANSCRIPT

  • AdministrationRseauLinuxMAILServer

    1 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Installation dun serveur MAIL sous Ubuntu Server 12.10

  • AdministrationRseauLinuxMAILServer

    2 BERNIER Franois AFPA Formation TSGERI 2012-2013

    TabledesmatiresInstallation dun serveur MAIL sous Ubuntu Server 12.10 ................................................................... 11 - Fonctionnement du courrier lectronique .................................................................................... 4Description de l'architecture de fonctionnement ................................................................................... 4Mail Transfert Agent ou MTA ............................................................................................................... 5Serveur du protocole entrant .................................................................................................................. 5Mail Delivery Agent ou MDA ............................................................................................................... 6Mail User Agent ou MUA ..................................................................................................................... 62MiseenuvreTopologieetversionsutilises ..................................................................... 83Installationetconfigurationdesdiffrentslogiciels .......................................................... 11

    3 - 1 - Installation dOpenLDAP ................................................................................... 11

    3 - 2 Installation De Courier-Imap ................................................................................... 153 - 3 Configuration de LDAP .............................................................................................................. 16

    3 - 4 Installation et configuration de Postfix ................................................................... 263 - 5 Paramtrage de Courier ............................................................................................................... 313 - 6 Envoi dun mail depuis la ligne de commande pour activer ....................................................... 35lutilisateur1. ........................................................................................................................................ 35

    4 -Test avec Squirrelmail ........................................................................................... 36Sources

  • AdministrationRseauLinuxMAILServer

    3 BERNIER Franois AFPA Formation TSGERI 2012-2013

    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 ncessaire de comprendre comment le courrier lectronique fonctionne pour pouvoir l'utiliser. Nanmoins, 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 mcanismes fondamentaux du spam.

  • AdministrationRseauLinuxMAILServer

    4 BERNIER Franois AFPA Formation TSGERI 2012-2013

    1 - Fonctionnement du courrier lectronique Un systme de messagerie lectronique est l'ensemble des lments contribuant transmettre un courriel( courrier lectronique : message transmis via un rseau informatique) de l'metteur au rcepteur. Il y a quatre lments 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 diffrents lments du systme de messagerie sont agencs selon une architecture logique, pour en assurer le fonctionnement. Nous reprsentons cette architecture par le schma suivant:

    Ce schma prsente le transfert d'un courriel d'un expditeur un destinataire.

  • AdministrationRseauLinuxMAILServer

    5 BERNIER Franois AFPA Formation TSGERI 2012-2013

    1 - L'expditeur communique son courriel via le MUA. 2 - Le MUA transmet ce courriel au MTA (la plupart des MUA intgre des clients SMTP). 3 et 4- Le MTA du systme de l'metteur tablit un canal de transmission avec le MTA du systme du destinataire, par missions successives de requtes bidirectionnelles. 5 - Une fois le canal tablit, le courriel est transmis d'un systme un autre par les MTA. 6 - Dans le systme du destinataire, Le MTA transmet le courrier reu au serveur IMAP ou POP3. 7, 8 et 9 - Le MDA rcupre le courriel du serveur IMAP / POP 3, et le met disposition du MDA. 10 - Le MDA dpose le courriel dans la bote 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 rcepteur. Il implmente un protocole sortant. Notons que les protocoles sortants permettent de grer la transmission du courrier entre les systmes de messagerie. Le protocole sortant gnralement 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 bass sur TCP/IP. Il utilise gnralement le port 25. Le mcanisme de fonctionnement de SMTP est qu'il commence d'abord par vrifier l'existence de l'expditeur et du ou des destinataire (s), indiqus dans l'entte 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 requtes bases sur des commandes. Il existe plusieurs serveurs MTA qui implmentent SMTP. Parmi les plus connus, il y a Postfix, Exim, Qmail et Sendmail.

    Serveur du protocole entrant Les protocoles entrants permettent la rception et la distribution du courriel. Les plus gnralement utiliss sont : Post Office Protocol version 3 (POP3) et Internet Message Access Protocol (IMAP), qui sont tous deux bases sur TCP/IP . Dans son fonctionnement, POP3 va rcuprer le courriel sur un serveur de messagerie. IMAP est une version amliore de POP3 qui intgre les oprations suivantes: la gestion de plusieurs accs simultans la gestion de plusieurs botes aux lettres la synchronisation des courriels entre le serveur et le client (les courriels ne sont pas effacs sur le serveur de messagerie comme le fait POP3 ) le tri du courrier selon des critres. Il existe une version scurise dIMAP : IMAPS qui intgre le protocole SSL (Secure Socket Layer). Dans le systme de messagerie, il est ncessaire d'avoir un serveur qui implmente un protocole entrant.

  • AdministrationRseauLinuxMAILServer

    6 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Mail Delivery Agent ou MDA Il s'agit d'un agent qui est en charge de la gestion des botes aux lettres. Il est charg de livrer le courriel dans la bote messages du destinataire. Pour cela, il est souvent considr comme le point final d'un systme de messagerie. Dans le MDA , on peut filtrer les courriels; et mme supprimer les spams par des anti-spams (comme spamassassin) et contrler 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, rception, suppression, etc.). Il est trs 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 Utiliss 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

  • AdministrationRseauLinuxMAILServer

    7 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Le schma de principe est le suivant :

    - LDAP est le logiciel permettant de grer les utilisateurs et les groupes pour des clients systmes (droits utilisateurs systmes dans un domaine AD) ou pour des logiciels. Dans cette doc, nous nous intresserons la deuxime possibilit. LDAP nous servira de base de donnes pour grer les utilisateurs. - Courier est un logiciel permettant de proposer le service IMAP pour la livraison des mails aux utilisateurs de la base de donnes. -Postfix, quant lui, est un logiciel permettant de proposer le service SMTP pour lenvoi des mails par les utilisateurs de la base de donnes. - Squirrelmail permet de fournir aux utilisateurs une interface WEB conviviale pour grer leur messagerie. Il sera possible, par la suite de paramtrer des clients de messagerie locaux pour les comptes crs dans LDAP

  • AdministrationRseauLinuxMAILServer

    8 BERNIER Franois AFPA Formation TSGERI 2012-2013

    2MiseenuvreTopologieetversionsutilises

    Linstallation sera effectue sous Ubuntu Server 12.10

    La version du serveur Apache sera la 2.2 devra tre pralablement installe sur le serveur

    # aptitude install apache2 Prs requis

    Un DNS fonctionnel dans lequel est dclar le serveur qui hberge LDAP-Postfix-Courier-Squirrelmail.

    Il faut galement que lenregistrement 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.

  • AdministrationRseauLinuxMAILServer

    9 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Pour plus dinformations vous pouvez consulter mon guide dinstallation du serveur Bind9.

    Penser adapter les fichiers de configuration votre propre infrastructure !!! Dans le cas suivant, le mme serveur hberge le DNS, le WWW et le SMTP Fichier de zone :

    Fichier de zone inverse :

    Penser incrmenter le n de serial dans les 2 fichiers de zone !!! Redmarrer le Serveur Bind9

    # Sudo service bind9 restart

  • AdministrationRseauLinuxMAILServer

    10 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Editer le fichier /etc/hosts pour dclarer la correspondance @IP-Serveur/nom FQDN

    Faire pointer le fichier resolv.conf sur le DNS dans lequel est dclar le serveur MAIL

  • AdministrationRseauLinuxMAILServer

    11 BERNIER Franois AFPA Formation TSGERI 2012-2013

    3Installationetconfigurationdesdiffrentslogiciels

    3 - 1 - Installation dOpenLDAP # apt-get install slapd ldap-utils phpldapadmin Cette ligne de commande installe LDAP, Phpldapadmin ainsi que toutes les dpendances (librairies et logiciels) ncessaires au fonctionnement des logiciels prcits.

    Pendant linstallation, le mot de passe de ladministrateur sera demand. Noter ce mot de passe pour la suite. Paramtrage de LDAP Configuration de base # dpkg-reconfigure slapd La commande dpkg-reconfigure permet de (re)configurer grce 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 rpondre aux questions poses par le systme :

  • AdministrationRseauLinuxMAILServer

    12 BERNIER Franois AFPA Formation TSGERI 2012-2013

  • AdministrationRseauLinuxMAILServer

    13 BERNIER Franois AFPA Formation TSGERI 2012-2013

  • AdministrationRseauLinuxMAILServer

    14 BERNIER Franois AFPA Formation TSGERI 2012-2013

  • AdministrationRseauLinuxMAILServer

    15 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Ensuite il faut installer courier afin de pouvoir importer le schma de celui-ci dans LDAP. La configuration de courier se fera par la suite mais le fait de linstaller est obligatoire pour rcuprer le schma que lon va intgrer LDAP.

    3 - 2 Installation De Courier-Imap # apt-get install courier-base courier-authdaemon courier-imap courier-authlib-ldap courier-pop courier-ldap fam

    LDAP utilise les modules de Courier pour lauthentification des utilisateurs de la messagerie. Il est donc impratif de ne pas sauter cette tape car sinon il sera impossible daller plus avant.

    Ne pas crer les rpertoires ncessaires ladministration web

  • AdministrationRseauLinuxMAILServer

    16 BERNIER Franois AFPA Formation TSGERI 2012-2013

    3 - 3 Configuration de LDAP

    Les fichiers de configuration de LDAP sont tous dans le rpertoire /etc/ldap/. La partie configuration de LDAP devrait se faire normalement sans trop de soucis, les choses srieuses commencent avec linterfaage de Postfix/Courier avec LDAP !

    Importation du schma de courier dans LDAP

    Nous allons maintenant intgrer le schma 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 dcompresser larchive authldap.schema.gz au format gz. Ensuite nous faisons une redirection de la sortie standard dans le fichier authldap.schema

    Manque de chance, le schma est buggu ... On corrige rapidement avec la commande suivante :

    # sed -i 's@$ mailhost@ @' /etc/ldap/schema/authldap.schema

    La commande sed i est utilise pour effectuer des changements dans des fichiers textes de manire rcursive. Ici, la chane de caractre sera remplace par < > cest--dire rien !

    On peut ensuite gnrer la configuration des schmas LDAP. La configuration dOpenLDAP se fait directement dans lannuaire dans larbre spcial .

    Voici la dmarche pour intgrer un nouveau schma :

    # cat > /etc/ldap/slapd.conf

  • AdministrationRseauLinuxMAILServer

    17 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Avec cette commande, nous allons rediriger la sortie standard (indicateur > aprs cat) jusqu lindicateur

  • AdministrationRseauLinuxMAILServer

    18 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Gnration des mots de passes crypts pour ladministrateur LDAP et pour le premier utilisateur du serveur de messagerie.

    # slappasswd -s -h {SSHA} |base64

    Il est conseill de crer des mots de passes diffrents pour ladministrateur et pour les utilisateurs. Cette tape est trs importante pour la suite car la cration de chaque utilisateur, il faudra hasher son mot de passe.

    Le hashage de mot de passe est l'une des pratiques de scurit les plus basiques qui doit tre effectue. Sans cela, chaque mot de

    passe stock peut tre vol si le support de stockage (typiquement une base de donnes) est compromis. Ce mot de passe peut alors tre immdiatement utilis pour accder frauduleusement non seulement

    votre application mais aussi sur d'autres applications si l'utilisateur utilise le mme mot de passe ailleurs.

    En appliquant un hashage sur le mot de passe avant de le stocker, vous rendez la tche d'un attaquant trs difficile pour connaitre le mot de passe original, et vous avez toujours la possibilit de

    comparer le mot de passe hash une chane reue. Il est important de noter que le hashage ne fait que protger les mots de passe dans la base, pas leur ventuelle interception alors qu'ils sont envoys l'application par l'utilisateur, via du code

    malicieux inject dans l'application, par exemple.

    Cration de larborescence du domaine.

    LDAP utilise des fichiers textes avec lextension *.ldif pour intgrer les branches du schma de lorganisation. Il faut essayer de se figurer un organigramme reprsentant les diffrentes tables ncessaires au fonctionnement dun serveur de messagerie.

    Ces fichiers sont crer dans le rpertoire /etc/ldap

    Dfinition du domaine racine de lorganisation :

    Nous allons crer un fichier *.ldif dans lequel nous allons dfinir la racine de lorganisation dans LDAP. Une fois que la configuration de larborescence de LDAP effectue, il est recommand de ne pas garder de copie de ces fichiers (*.ldif) dans un rpertoire prsent sur le serveur.

  • AdministrationRseauLinuxMAILServer

    19 BERNIER Franois AFPA Formation TSGERI 2012-2013

    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 sparateurs des sous domaines sont des points. Ici, les sparateurs sont et chaque sous domaine doit tre spar par une virgule. Attention, les fichiers *.ldif sont sensibles la casse, aux espaces avant et aprs les chanes de caractres et aux sauts de lignes !

    Les champs dc=, sont valables pour tous les fichiers de configuration. Il faudra donc chaque fois dclarer tous les sous domaines si vous en avez :

    EX : si groupe5.info-msj.net alors dc=groupe5,dc=info-msj,dc=net

  • AdministrationRseauLinuxMAILServer

    20 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Intgration de lutilisateur Administrateur (de LDAP) lorganisation.

    dn: cn=admin,dc=ghost,dc=fr

    objectClass: simpleSecurityObject

    objectClass: organizationalRole

    cn: admin

    description: LDAP administrator

    userPassword: {SSHA} e1NTSEF9U0FLN0MrbHFJaGU5dndOVWVqbGo5NEx4d2svTUpEQUYK

    Ici, nous dfinissons le nom canonique de lAdministrateur de LDAP (champ ) on peut dcider de nommer ladministrateur comme on le veut.

    Notez que le mot de passe est hash (voir slappasswd plus haut) et que lon indique le type de hash (ici {SSHA} ). Lutilisateur cr ici, est utilis par Courier et Postfix pour lier (bind en anglais) ces services avec LDAP.

    Utiliser le code hasch gnr plus haut avec slappasswd

    Dfinition dune 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/

  • AdministrationRseauLinuxMAILServer

    21 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Nous indiquons ici LDAP la correspondance avec le schma de Courier. Courier est utilis pour lauthentification des utilisateurs dans la base de donnes de LDAP.

    Dfinition de la base de donnes users.

    Nous allons crer une unit organisationnelle pour grer 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 utilise comme groupe qui appliquera les mmes droits tous les utilisateurs qui dpendent delle.

    Dfinition de la base de donnes aliases.

    dn: ou=aliases,o=maboite,dc=ghost,dc=fr

    objectClass: organizationalUnit

    objectClass: top

    ou: aliases

  • AdministrationRseauLinuxMAILServer

    22 BERNIER Franois AFPA Formation TSGERI 2012-2013

    La base de donne aliases est aussi une Unit Organisationnelle ().

    Cration du premier utilisateur du service de messagerie.

    Crer dabord 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 modle que lon va rutiliser chaque cration dutilisateur 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: [email protected]

    mailbox: ghost.fr/ francois.bernier /

    sn: bernier

    uid: francois.bernier

  • AdministrationRseauLinuxMAILServer

    23 BERNIER Franois AFPA Formation TSGERI 2012-2013

    uidNumber: 0

    quota: 500

    userPassword: {SSHA} e1NTSEF9U0FLN0MrbHFJaGU5dndOVWVqbGo5NEx4d2svTUpEQUYK

    Importation des fichiers *.ldif prcdemment crs dans ldap avec la commande ldapadd :

    Voici comment sorganise la syntaxe de cette commande :

    # ldapadd cxD "cn=admin,dc=ghost,dc=fr" W f /chemin_absolu_du_fichier_ldif__intgrer

    Attention, le mot de passe demand est le mot de passe de ladministrateur de la base de donnes et pas celui de lutilisateur que lon veut ajouter !

    Vous devez excuter cette commande pour chacun des fichiers que vous avez gnrs prcdemment.

  • AdministrationRseauLinuxMAILServer

    24 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Paramtrage de Phpldapadmin

    Nous utiliserons Phpldapadmin (interface web dadministration de LDAP) pour vrifier que la configuration rentre prcdemment est correcte. Pour ce faire, il suffit dditer 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 crer un lien symbolique entre le rpertoire dinstallation du site phpldapadmin et le rpertoire par dfaut dApache2 :

    # ln -s /usr/share/phpldapadmin/ /var/www/ldap

    Une fois ces modifications effectues, 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 linterface de connexion de phpldapadmin avec lutilisateur admin pr-rempli !

  • AdministrationRseauLinuxMAILServer

    25 BERNIER Franois AFPA Formation TSGERI 2012-2013

    On sauthentifie avec le mot de passe administrateur cr prcdemment.

    Si larborescence dploye du domaine ressemble ceci, la configuration se prsente bien.

  • AdministrationRseauLinuxMAILServer

    26 BERNIER Franois AFPA Formation TSGERI 2012-2013

    3 - 4 Installation et configuration de Postfix Installation et configuration de Postfix

    Installation

    # apt-get install postfix postfix-ldap postfix-pcre

    Pendant lexcution de cette commande, il y aura un nouvel assistant de configuration. Voici les rponses apporter aux questions poses : 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 dfinies ici que les options de base de Postfix, les autres options sont dfinir dans le fichier /etc/postfix/main.cf

    Cration de lutilisateur systme utilis par Postfix pour grer les utilisateurs du service de messagerie.

    Avant d'aller plus loin, nous devons crer l'utilisateur, le groupe et le rpertoire qui seront utiliss 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 daccder un shell ! En cas de piratage du service postfix, les dgts seraient considrables.

    Aprs avoir cr lutilisateur, nous allons crer les rpertoires ncessaires aux utilisateurs de la messagerie.

  • AdministrationRseauLinuxMAILServer

    27 BERNIER Franois AFPA Formation TSGERI 2012-2013

    # 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 dcriture 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

  • AdministrationRseauLinuxMAILServer

    28 BERNIER Franois AFPA Formation TSGERI 2012-2013

    # Config gnrale 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 @IPrseau/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 rpertoire /home/vmail stockera les boites mail des utilisateurs virtual_mailbox_base = /home/vmail #la directive suivante correspond a liste des utilisateurs dclars 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 !!!

  • AdministrationRseauLinuxMAILServer

    29 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Il nous faut ensuite crer 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

  • AdministrationRseauLinuxMAILServer

    30 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Il faudra bien entendu modifier les fichiers pour quils soient en correspondance avec votre rseau !

    Enfin nous allons modifier la fin du fichier master.cf :

    # cat >> /etc/postfix/master.cf

  • AdministrationRseauLinuxMAILServer

    31 BERNIER Franois AFPA Formation TSGERI 2012-2013

    3 - 5 Paramtrage de Courier Maintenant il ne nous reste plus qu paramtrer correctement Courier pour quil prenne en charge lauthentification avec LDAP. Le rpertoire de configuration de courier est : /etc/courier

    Il faut tout dabord indiquer courier quil doit communiquer avec LDAP. Pour ce faire, nous allons modifier le fichier /etc/courier/authdaemonrc.

    Remplacer la ligne :

    authmodulelist="authpam" Par :

    authmodulelist="authldap"

    Voici prsent la partie la plus sensible de la configuration de courier, le paramtrage gnral 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 ncessaires lauthentification 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 gr par LDAP

  • AdministrationRseauLinuxMAILServer

    32 BERNIER Franois AFPA Formation TSGERI 2012-2013

    # 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 systme de courier LDAP_GLOB_UID vmail LDAP_GLOB_GID vmail ##NAME: LDAP_HOMEDIR:0 # le champ qui indique LDAP o sont stocks 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 lindicateur qui precise LDAP le nom canonique de # lutilisateur qui aura le droit dtablir 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.

  • AdministrationRseauLinuxMAILServer

    33 BERNIER Franois AFPA Formation TSGERI 2012-2013

    # # 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 lments modifier dans ce fichier sont en Rouge

    De prfrence faites un copier-coller de ce fichier pour viter les erreurs de syntaxe. Une fois la configuration de Courier-authdaemon termine, n'oubliez pas de le redmarrer.

    # /etc/init.d/courier-authdaemon restart

  • AdministrationRseauLinuxMAILServer

    34 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Pour tester la configuration de Courier excutez la commande suivante :

    # authtest [email protected] Votre premier utilisateur cr Qui devrait vous renvoyer les donnes du compte utilisateur

    Modification du mot de pass de lutilisateur1 dans phpldapadmin

    Il y a un bug avec la cration du mot de passe des utilisateurs dans LDAP.

    Pour y remdier, nous allons modifier le passwd de lutilisateur1 dans phpldapadmin :

    Dans linterface de gestion de LDAP slectionner lutilisateur1 (cn=utilisateur1) puis valeurs par dfaut. Dans le champ mot de passe, retaper le mot de passe puis valider les changements tout en bas de la fentre.

  • AdministrationRseauLinuxMAILServer

    35 BERNIER Franois AFPA Formation TSGERI 2012-2013

    3 - 6 Envoi dun mail depuis la ligne de commande pour activer

    lutilisateur1. Taper la commande suivante pour envoyer un mail :

    # mail s test [email protected]

    1. Taper ici le corps du message puis entre une fois fini. Exemple : BLABLA 2. Taper un point puis entre pour indiquer la fin du texte. 3. Dans le champ CCI indiquer une @mail si vous voulez envoyer le mail en copie ou taper

    entre. Ou bien la commande suivante : # echo testing | mail s test [email protected] Nous avons envoy un mail lutilisateur1. Le sujet du mail est test, le corps du texte BLABLA et nous pouvons choisir ou non de lenvoyer en copie un autre utilisateur.

    Aprs envoi du mail faisons un petit tour dans les fichiers de logs pour vrifier 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

  • AdministrationRseauLinuxMAILServer

    36 BERNIER Franois AFPA Formation TSGERI 2012-2013

    4 -Test avec Squirrelmail Crer un lien symbolique pour squirrelmail dans /var/www

    # ln -s /usr/share/squirrelmail/ /var/www/webmail

    Dans un navigateur web taper ladresse IP ou le nom du serveur MAIL suivie de /webmail pour accder au client de messagerie par linterface web de Squirrelmail.

    http://172.25.205.250/webmail/

    http://[email protected]/webmail/

    Vous arrivez sur la page didentification de Squirrelmail

  • AdministrationRseauLinuxMAILServer

    37 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Vous navez plus qu vous logger sur le compte utilisateur auquel vous avez envoy un email

    Le message de test envoy est bien prsent dans les messages reus.

  • AdministrationRseauLinuxMAILServer

    38 BERNIER Franois AFPA Formation TSGERI 2012-2013

    Sources :

    http://www.linuxtopia.org/online_books//network_administration_guides/ldap_administration/appendix-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-avec-postfix-openldap-et-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