Beruflich Dokumente
Kultur Dokumente
1
BERNIER Franois AFPA Formation TSGERI 2012-2013
................................................................................... 11
3 - 2 Installation De Courier-Imap
................................................................................... 15
3 - 3 Configuration de LDAP.............................................................................................................. 16
3 - 4 Installation et configuration de Postfix
................................................................... 26
........................................................................................... 36
Sources
2
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.
3
BERNIER Franois AFPA Formation TSGERI 2012-2013
4
BERNIER Franois AFPA Formation TSGERI 2012-2013
5
BERNIER Franois AFPA Formation TSGERI 2012-2013
SERVEURS
Postfix
Courier-imap
Courier-imap
Squirrelmail (Webmail)
ANNUAIRE UTILISATEUR
LDAP et PHPLdapadmin
6
BERNIER Franois AFPA Formation TSGERI 2012-2013
- 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
7
BERNIER Franois AFPA Formation TSGERI 2012-2013
8
BERNIER Franois AFPA Formation TSGERI 2012-2013
9
BERNIER Franois AFPA Formation TSGERI 2012-2013
Faire pointer le fichier resolv.conf sur le DNS dans lequel est dclar le serveur MAIL
10
BERNIER Franois AFPA Formation TSGERI 2012-2013
11
BERNIER Franois AFPA Formation TSGERI 2012-2013
12
BERNIER Franois AFPA Formation TSGERI 2012-2013
13
BERNIER Franois AFPA Formation TSGERI 2012-2013
14
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
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
15
BERNIER Franois AFPA Formation TSGERI 2012-2013
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 <$ mailhost> 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 <cn=config>.
Voici la dmarche pour intgrer un nouveau schma :
# cat > /etc/ldap/slapd.conf << EOF
include
/etc/ldap/schema/core.schema
include
/etc/ldap/schema/cosine.schema
include
/etc/ldap/schema/nis.schema
include
/etc/ldap/schema/inetorgperson.schema
include
/etc/ldap/schema/authldap.schema
EOF
16
BERNIER Franois AFPA Formation TSGERI 2012-2013
Avec cette commande, nous allons rediriger la sortie standard (indicateur > aprs cat) jusqu
lindicateur << EOF (End Of File) dans le fichier slapd.conf
# rm -R /etc/ldap/slapd.d/cn\=config/cn\=schema/*
# slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d/
ATTENTION : si vous rencontrez un code erreur du type :
5144ef9e /etc/ldap/slapd.conf: line 1: <include> extra cruft after
<file>.
slaptest: bad configuration directory!
Vrifier la syntaxe dans le fichier slapd.conf et remplacer les espaces par une tabulation
Puis relancer la ligne de commande :
# slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d/
Dans lordre :
on cr un fichier contenant les schmas quon veut intgrer
on efface la configuration par dfaut de LDAP
on utilise slaptest pour recrer la configuration avec le nouveau schma
on remet les droits dans le bon sens
et on redmarre pour tre sr que la configuration soit bien prise en compte (ce qui est
normalement facultatif, dans la mesure o les changements sont pris en compte chaud par LDAP
lorsquon excute <slaptest>).
17
BERNIER Franois AFPA Formation TSGERI 2012-2013
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.
18
BERNIER Franois AFPA Formation TSGERI 2012-2013
Pour rappel : Penser adapter les fichiers de configuration votre propre infrastructure !!!
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 <dc=> 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
19
BERNIER Franois AFPA Formation TSGERI 2012-2013
Ici, nous dfinissons le nom canonique de lAdministrateur de LDAP (champ <cn=admin>) 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/
20
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.
21
BERNIER Franois AFPA Formation TSGERI 2012-2013
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
22
BERNIER Franois AFPA Formation TSGERI 2012-2013
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.
23
BERNIER Franois AFPA Formation TSGERI 2012-2013
En cliquant sur connexion, vous devriez obtenir linterface de connexion de phpldapadmin avec
lutilisateur admin pr-rempli !
24
BERNIER Franois AFPA Formation TSGERI 2012-2013
25
BERNIER Franois AFPA Formation TSGERI 2012-2013
Site internet
root@localhost
hostname.domaine.TLD
hostname.domaine.TLD, hostname, localhost.domaine.TLD, localhost
non
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.
26
BERNIER Franois AFPA Formation TSGERI 2012-2013
27
BERNIER Franois AFPA Formation TSGERI 2012-2013
Pour rappel : Penser adapter les fichiers de configuration votre propre infrastructure !!!
28
BERNIER Franois AFPA Formation TSGERI 2012-2013
29
BERNIER Franois AFPA Formation TSGERI 2012-2013
Pour vrifier que Postfix communique bien avec le serveur OpenLDAP, utilisez l'utilitaire
postmap.
# postmap -q utilisateurmessagerie@domaine.TLD
ldap:/etc/postfix/ldap-accounts.cf
Devrait faire un rcapitulatif de tous les paramtres lis lutilisateur de messagerie cr
prcdemment !
# service postfix restart
Relance le service postfix et prend en compte les modifications. Par la suite on prfrera la
commande
# postfix reload
Car elle ninterrompt pas le service SMTP ! , puis ensuite excuter :
# service postfix stop
# newaliases
# service postfix start
30
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"
##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
LDAP_BINDPW
LDAP_TIMEOUT
##NAME: LDAP_MAIL:0
# indique le champ mail de LDAP
# Here's the field on which we query
LDAP_MAIL
31
BERNIER Franois AFPA Formation TSGERI 2012-2013
homeDirectory
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
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
LDAP_CRYPTPW
clearPassword
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.
32
BERNIER Franois AFPA Formation TSGERI 2012-2013
##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
##NAME: LDAP_EMAILMAP:0
#
Pour rappel : Penser adapter les fichiers de configuration votre propre infrastructure !!!
Les lments modifier dans ce fichier sont en Rouge
# /etc/init.d/courier-authdaemon restart
33
BERNIER Franois AFPA Formation TSGERI 2012-2013
34
BERNIER Franois AFPA Formation TSGERI 2012-2013
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=<root@Ubuntu-SERVER-64.ghost.fr>
Mar 18 22:09:36 Ubuntu-SERVER-64 postfix/cleanup[5107]: 0305AE41E7:
message-id=<20130318210936.0305AE41E7@Ubuntu-SERVER-64.ghost.fr>
Mar 18 22:09:36 Ubuntu-SERVER-64 postfix/qmgr[4674]: 0305AE41E7:
from=<root@Ubuntu-SERVER-64.ghost.fr>, size=376, nrcpt=1 (queue active)
Mar 18 22:09:36 Ubuntu-SERVER-64 postfix/virtual[5109]: 0305AE41E7:
to=<francois.bernier@ghost.fr>, relay=virtual, delay=0.1,
delays=0.09/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
35
BERNIER Franois AFPA Formation TSGERI 2012-2013
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/
36
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.
37
BERNIER Franois AFPA Formation TSGERI 2012-2013
38
BERNIER Franois AFPA Formation TSGERI 2012-2013