Administration Débian Serveur Installation Mail Serveur Bernier Francois
Post on 06-Jan-2016
64 Views
Preview:
DESCRIPTION
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: francois.bernier@ghost.fr
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 utilisateur1@domaine.TLD 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 utilisateur1@domaine.TLD
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 utilisateur1@domaine.TLD 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://ubuntu-server-64@ghost.fr/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
top related