administration syst eme - limsi · administration syst eme thierry hamon bureau h202 - institut...
TRANSCRIPT
Administration Systeme
Thierry Hamon
Bureau H202 - Institut GalileeTel. : 33 1.48.38.35.53
Bureau 150 – LIM&BIO – EA 3969Universite Paris 13 - UFR Leonard de Vinci
74, rue Marcel Cachin, F-93017 Bobigny cedexTel. : 33 1.48.38.73.07, Fax. : 33 1.48.38.73.55
http://www-limbio.smbh.univ-paris13.fr/membres/hamon/ADSYS-20112012
ADSYS
1/166
Services orientes utilisateur
Cinquieme partie
Services orientes utilisateur
Configuration/installationd’une station de travail
Intégration dans unréseau informatique
Services orientésutilisateurs
d’une station de travailConfiguration réseau
Configuration/installationd’un réseau informatique
Services orientésadminstration réseau
Sécurité
! PowerCOL12345678 1236 2550801210010
Ether 10/100
��
1 0
������Switching Hub
Ethernet Switch
2/166
Services orientes utilisateur
Services orientes utilisateur
Connexion distante
Transfert de donnees
World Wide Web
Systeme de fichiers distribue
Courrier electronique
Services d’impression
Sauvegarde et restauration des donnees
3/166
Telnel
Service d’acces distant : telnet
Ouverture de sessions UNIX sur une machine distanteContrairement a rlogin, le login et le mot de passe del’utilisateur sont toujours necessaires
Plus generalement :Application permettant a l’administrateur de jouer le role declient sur une machine pour un service donne (deboggaged’un service)
telnet lipn 110
Trying 10.10.0.9...
Connected to lipn.lipn.univ-paris13.fr.
Escape character is ’^]’.
+OK POP3 lipn v2000.70rh server ready
4/166
Ftp
Service d’acces distant : ftp (1)
File Transfert Protocol
Destine aux transferts de fichiersRFC 959 et 2228Utilisation de 2 ports de communication :
20 : Port de donnees
21 : Port de controle
Nombre limite de commandes sur une machine distanteDifferentes implementations : wuftpd, proftpdService assure par un demon (in.ftpd) lance a travers l’inetdExistence de nombreux problemes de securite (depassements depile) : donc eviter (ou restreindre) les connexions par ftp sur lesmachines
5/166
Ftp
Service d’acces distant : ftp (2)
Fichiers de configuration
/etc/ftpaccess : Fichier de configuration principalDefinition de classes d’utilisateursAutorisation d’acces par classe
class local, guest anonymous *.ig-edu.univ-paris13.fr
limit local 20 SaSU|Any 1900-0800 /etc/ftpmsg
/etc/ftpusers : Liste des utilisateurs interdits de connexion
ftp
root
uucp
news
6/166
Ftp
Service d’acces distant : ftp (2)
Fichiers de configuration
/etc/ftphosts : Liste des machines autorisees a se connecter
allow *.ig-edu.univ-paris13.fr
deny * *
7/166
Web
Web (1)
World Wide Web : systeme hypertexte et multimedia cree pardes chercheurs du CERN
Aboutissement en 1989
Developpement du navigateur Mosaic par la NCSA en 1993
Systeme d’informations distribuees heterogene :
Federer les serveurs d’informationAcces gratuit aux serveurs InternetFaciliter la communication : Diffusion de l’information demaniere repartieRendre l’information transparente au moyen d’un logiciel
8/166
Web
Web (2)
Contraintes :
Installation et organisation d’un serveur, et mise a jour
Necessite un reseau efficace : temps de reponse tres court
Le site : un repertoire sur un disque dans lequel va lire le serveur−→ A administrer avec beaucoup d’attention du point de vue de lasecurite : la partie la plus visible du reseau
9/166
Web
Elements de base du Web
Documents hypertextes et multimedia bases sur le langageHTML
Systeme d’adressage : URL
Protocole de communication : HTTP
Reseau Internet
10/166
Web
Notion d’URL
Uniform Resource Locator
Adresse d’un document WebRFC 1738Elargissement de la notion de pointeur : plus limite a un acces localSyntaxe indiquant de maniere non ambigue ou il se trouve :protocole:partie dependante du protocole
Protocoles : http, ftp, file, telnet, mailto, news, gopher,wais, nfsExemple :http://user:passwd@host:port/url-pathname[#label|parmlist]
11/166
Web
Protocole HTTP
HyperTexte Transmission Protocole
Protocole d’echange entre les serveurs WebDeux versions : HTTP1.0 et HTTP1.1Suit le modele/client serveur :
1 Le client demande un document
2 Le serveur envoie le document
En general : ecoute sur le port 80
12/166
Web
Dialogue Client/Serveur
1 Etablissement de la connexion entre le client et le serveur
2 Envoi du document (ou refus) par le serveur
3 Fermeture de la connexionLa connexion est etablie uniquement pour l’echange desinformations
4 Traitement du document par le client
13/166
Web
Logiciels
Serveur : un demon httpdLe plus repandu : Apache(Une demi-douzaine dans le domaine public)serveur http V3.0 du CERN
Client :
NetscapeInternet ExplorerOpera, Lynx, Mozilla (le plus utilise), etc.(telnet)
14/166
Web
Apache (1)
Developpe a partir de la version 1.3 du serveur du NCSAUn standard en matiere de serveur WebSuit le protocole HTTP1.1www.apache.org
15/166
Web
Apache (2)
2 modes de lancement :
Standalone : lancement au demarrage du systeme
/www/sbin/httpd -f /www/etc/httpd.conf
Sous controle de l’inetd :Ajout de la ligne suivante dans l’inetd.conf :
http stream tcp nowait root /www/sbin/httpd httpd -f /www/etc/httpd.conf
Le fichier /etc/services doit contenir la ligne suivante :
http 80/tcp
16/166
Web
Configuration d’Apache (1)
Un fichier de configuration : httpd.confPlusieurs sections :
Caracteristiques generales du serveur :
type d’execution : standaloneport d’ecoute : 80repertoire racine du site : /export/home/WEB/webmastenom des fichiers de journalisation : logs/error log,logs/access log
nom du serveur : www-galileeinformations sur les connexions
17/166
Web
Configuration de Apache (2)
Definition des services autorises : directive Directory
Controle de connexion
<Directory "/export/home/WEB/webmaste/documents">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/export/home/WEB/webmaste/documents/private">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from 192.168.0.
</Directory>
18/166
Web
Configuration de Apache (3)
Ressources accessibles sur le systeme :
Emplacement des fichiers accessibles sur les serveurs :DocumentRoot /export/home/Web/webmaste/documents
Fichier accede par defaut :DirectoryIndex index.html index.htm welcome.html
welcome.htm
Alias : Alias /icons/
/export/home/Web/webmaste/icons
Serveurs virtuels : directive VirtualHost
Permet la maintenance de plusieurs sites sur un meme serveur
19/166
NFS
Systeme de fichiers distribue NFS (1)
Service d’acces transparent a des donneees distantesFonctionnement au-dessus des couches UDP/IP (et TCP/IP pourla version 3) : couche TI-RPC, independante de la couche transportService reseau independant du materielNFS version 2 : RFC 1094Base sur l’architecture ONC+Adopte par tous les constructeurs car SUN a rendu ses sourcespubliques
20/166
NFS
Systeme de fichiers distribue NFS (2)
Implementation de type client/serveur
Client : acces aux donnees distantes
Serveur : exportation des donnees se trouvant physiquementsur la machine
Securite avec NFS : voir la derniere partie du cours
21/166
NFS
Protocole NFS
Protocole sans etat (pour le serveur) : toutes les operations sontmemorisees par le client
Chaque requete NFS doit etre accompagnee de l’ensemble desdonnees necessaires a son execution
Pas de memorisation des operations successives effectuees parle serveurMemorisation de l’operation d’ouverture du fichier par le clientet non le serveur
22/166
NFS
RPC (1)
Fonctionnement de NFS : utilisation de RPC (Remote ProcedureProtocol)Equivalent a un appel d’une fonction locale executee sur une autremachineCodification des representations internes des donnees avec XDR(eXternal Data Representation)
Abstraction des representations internes des mots memoires(big-endian, little endian)Pas d’implementation de mecanisme de securite
23/166
NFS
RPC (2)
Mecanisme utilisant des sockets : connexion par des portsdetermines par la procedure RPC.Necessite le lancement du demon portmapper (rcpbind (SVR4),rpc.portmap, portmap) qui :
Ajoute un couple (port, procedure) dans ces tables internes del’appelant
Etablit la connexion avec l’appele
Lancement du portmapper au demarrage : /etc/rc.d/rc.inet2,/etc/init.d/portmap, /etc/init.d/rpc
24/166
NFS
Fonctionnement de NFS
Gestion des blocs d’entree-sortie par des threads du noyauProtocole robuste et simple : Pas de necessite d’un reamorcage dela machine en cas d’arret du serveur−→ Nouveau systeme de fichiers : nfsUn client NFS peut etre serveur NFS
25/166
NFS
Precautions d’utilisation de NFS
Fonctionnement parfait du reseau Internet : taux de collisionnormal
Administration des fichiers /etc/passwd et /etc/group del’ensemble des machines par une meme autorite (controle d’accespar UID et GID et non par nom de login)−→ Utilisation d’annuaire type NIS recommandee
26/166
NFS
Droits des fichiers exportes par NFS
Droits des fichiers de l’utilisateur declare sur le serveur
Une exception : le super-utilisateur (uid = 0)Sans option d’exportation specifique, le root est considere commeanonymous
Il ne possede quasiment aucun droit sur la machine cliente
27/166
NFS
Types de montage
Montage soft : si les operations RPC echouent, la requete NFSechoue egalementEn pratique, pour les acces en lecture seulement
Montage hard : retransmission de la requete jusqu’a execution (casdes disques lents)En pratique, les acces en lecture/ecriture avec l’optionsupplementaire intr d’interruption de la requete par le clavier oudes signauxIl existe toutefois de nombreux problemes avec NFS (disque degrande capacite, securite, etc.)
28/166
NFS
Partage de fichiers par NFS
Demande de montage
Envoi d’un descripteur de fichier
Réception d’un descripteur de fichier
Client NFS
(Référence et validationdes ressources à exporter)
Accord(prise en compte des permissions)
Envoi des opérationssur le descripteur
Réalisation desopérations
Serveur NFS
29/166
NFS
Version 3 de NFS (1)
A partir de Solaris 2.5Compatibilite avec la version 2Ameliorations de la version 3 :
Utilisation prioritaire de la couche TCPMeilleure fiabilite du protocole sur les WAN ou le MANTravail en mode connecte
Exportation des ACLs (proposes par Solaris 2.5)
30/166
NFS
Version 3 de NFS (2)
Ecriture asynchrone (achevement de la requete avantl’ecriture sur disque par le serveur)Version 2 : requete d’ecriture bloqueeCependant, confirmation du traitement de la requete sinouvelle iteration
Ajout de requetes et de reponses dans le protocole pourameliorer le temps d’execution des commandes d’acces disque
Taille maximale des donnees manipulees : 8 Ko
Taille des fichiers et positionnement du dernier octet lu : 64octets
Positionnement avec l’option vers de la commande mount, ou parle client ou le serveur lors du montage
31/166
NFS
Installation et transaction par NFSServeur NFS
Demande de montagemount serveur:/usr/local
Référence des ressources à partager
Validation des ressources à exporter
Modificationmountd Envoi
d’un descripteur de fichier/etc/mnttab
Kernel
nfsd Transaction à l’aidedu descripteur de fichier
Client NFS
/etc/dfs/dfstab/etc/xtab/var/lib/nfs/xtab
vi /etc/dfs/dfstab
exportfs −ashareall
vi /etc/exports
/etc/mtab
32/166
NFS
Client NFS (1)
Operations :
Acces aux donnees distantes : montage des repertoirespartages par le serveur NFS
Envoi des requetes au server NFS pour la lecture/ecriture desfichiers
Mise a jour des informations concernant les fichiers ouverts
Memorise les requetes d’ecriture sur les fichiers
Utilisation d’un cache pour limiter le trafic reseau lors d’accesen lecture seule a des fichiers montes par NFS
33/166
NFS
Client NFS (2)
Mise en place du gestionnaire de fichiers du client dans latable de montage de son noyau
Utilisation du gestionnaire de fichiers lors de l’envoi derequetes par le client
Possiblite de monter les systemes de fichiers de plusieurs serveursNFS
34/166
NFS
Lancement du client NFS
Realisation de la configuration client avec deux demons
lockd : gestion du verrouillage des fichier NFS
statd : envoi
au demon lockd / rpc.lockd de l’informationde demarrage du serveurau demon statd / rpc.statd du serveur del’information de demarrage du client
Procedure d’installation du client NFS : Appel du fichier/etc/rc.d/rc.nfsd ou /etc/init.d/nfs.client start
35/166
NFS
Configuration du client NFS (1)
/etc/vfstab (Solaris), /etc/fstab (Linux) :Liste des ressources locales et distantes a monter au demarrageLinux :
/dev/hda11 /mnt/home2 ext2 defaults 1 1
/dev/hda10 /mnt/home ext2 defaults 1 1
nantes:/export/users /export/users nfs defaults
Solaris :
/dev/dsk/c0t3d0s4 /dev/rdsk/c0t3d0s4 /usr/openwin ufs 2 yes -
swap - /tmp tmpfs - yes -
/dev/dsk/c0t1d0s6 /dev/rdsk/c0t1d0s6 /disk2 ufs 2 yes -
nantes:/export/users - /export/users nfs - yes rw,soft,bg,retry=10,actimeo=0
36/166
NFS
Configuration du client NFS (2)
/etc/mnttab (Solaris), /etc/mtab (Linux) :Listes des ressources effectivement montees par le systemeLinux :
nantes:/export/users /export/users nfs rw,addr=10.10.0.13 0 0
Solaris :
/dev/dsk/c0t3d0s6 /opt ufs suid,rw,largefiles,dev=80001e 1016047377
/dev/dsk/c0t3d0s4 /usr/openwin ufs suid,rw,largefiles,dev=80001c 1016047377
swap /tmp tmpfs dev=1 1016047377
nantes:/export/users /export/users nfs rw,soft,bg,retry=10,actimeo=0,dev=2b00003 1016047407
bourbaki:/export/users2 /export/users2 nfs rw,soft,bg,retry=10,actimeo=0,dev=2b00004 1016047407
37/166
NFS
Commandes sur le client NFS (1)
Montage des systemes de fichiers :
mountall / mount -a : montage statique
# Solaris
mountall -F nfs
mount -a -F nfs
# Linux
mount -a -t nfs
Mise a jour du fichier /etc/mnttab
mount : montage dynamique
# Solaris
mount -F nfs nantes:/usr/local /usr/local
# Linux
mount -t nfs nantes:/usr/local /usr/local
38/166
NFS
Commandes sur le client NFS (2)
Demontage d’un systeme de fichiers : umount
umount /usr/local
Demontage de tous les systemes de fichiers : umountall / umount
-a
# Solaris
umountall -F nfs
# Linux
umount -a -t nfs
39/166
NFS
Serveur NFS
Partage des repertoires : les rendre accessibles de manieretransparente pour les applications lancees sur les clients
Reponse aux requetes NFS : lecture ou ecriture des attributset du contenu des fichiers
Pas de conservation des informations relatives aux fichiersouverts
Possibilite de servir les clients d’autres serveurs NFS
40/166
NFS
Lancement du serveur NFS
Operations :
Consultation du fichier /etc/dfs/dfstab (liste desrepertoires a partager)
Partage des repertoires de la liste et actualisation de la listedes repertoires partages
Lancement du demon nfsd et du demon de montage desrepertoires partages mountd / rpc.mountd
Lors d’une requete de montage, mountd envoie un pointeursur le repertoire demande
Scripts de lancement du serveur NFS au demarrage :/etc/init.d/nfs.server start (Solaris) ou/etc/rc.d/rc.nfsd
41/166
NFS
Configuration du serveur NFS (1)Fichiers de configuration : /etc/dfs/dfstab ou /etc/exports
Solaris :
# share -F nfs -o rw=engineering -d "home dirs" /export/home2
share -F nfs -o rw=nantespainleve,root=nantes:painleve /export/users3
share -F nfs -o rw=nantespainleve,root=nantes:painleve /export/local
Linux :
# exports for nantes
# 1- softs, read-only
/export/local 10.10.0.0/255.255.0.0(ro)
# 2- comptes utilisateurs, rw
/export/home 10.10.0.0/255.255.0.0(rw,no_auth_nlm)
42/166
NFS
Configuration du serveur NFS (2)
/etc/dfs/sharetab ou /var/lib/nfs/xtab
/export/local 10.10.0.56(ro,async,wdelay,hide,secure,root_squash,no_all_squash,
subtree_check,secure_locks,mapping=identity,anonuid=-2,anongid=-2)
/export/home
10.10.0.56(rw,async,wdelay,hide,secure,root_squash,no_all_squash,
subtree_check,insecure_locks,mapping=identity,anonuid=-2,anongid=-2)
/export/home
10.10.0.9(rw,async,wdelay,hide,secure,root_squash,no_all_squash,
subtree_check,insecure_locks,mapping=identity,anonuid=-2,anongid=-2)
/export/home
10.10.0.72(rw,async,wdelay,hide,secure,root_squash,no_all_squash,
subtree_check,insecure_locks,mapping=identity,anonuid=-2,anongid=-2)
/etc/dfs/fstypes (Solaris) : liste des services assurant lepartage de ressources (configure automatiquement)
43/166
NFS
Commandes sur le serveur NFS (1)
Partage de repertoires :
shareall / exportfs -a : methode statique
share / exportfs : methode dynamique
# Solaris
share -F nfs -o
rw=nantespainleve,root=nantes:bourbaki /export/local
# Linux
exportfs -o root_squash,rw,no_auth_nlm /var/mail
Mise a jour des fichiers : /etc/dfs/sharetab ou/var/lib/nfs/xtab
44/166
NFS
Commandes sur le serveur NFS (2)
Arret du partage de repertoires :
unshare -F nfs / exportfs -ua : pour tous les repertoirespartages
unshare / exportfs -u : pour un repertoire
# Solaris
unshare /var/mail
# Linux
exportfs -u /var/mail
45/166
NFS
Statistiques de fonctionnement (1)
nfsstat :
# sur un serveur
Server rpc stats:
calls badcalls badauth badclnt xdrcall
9714696 28 28 0 0
Server nfs v3:
null getattr setattr lookup access readlink
63 0% 8220208 84% 27939 0% 196628 2% 190951 1% 1652 0%
read write create mkdir symlink mknod
783423 8% 220412 2% 9118 0% 801 0% 309 0% 0 0%
remove rmdir rename link readdir readdirplus
7492 0% 301 0% 848 0% 893 0% 18439 0% 23226 0%
fsstat fsinfo pathconf commit
3066 0% 78 0% 704 0% 8145 0%
46/166
NFS
Statistiques de fonctionnement (2)
nfsstat :
# sur un client
Client rpc stats:
calls retrans authrefrsh
1029988 2123 0
Client nfs v3:
null getattr setattr lookup access readlink
0 0% 298 0% 45648 6% 136948 20% 401 0% 153 0%
read write create mkdir symlink mknod
3733 0% 421568 63% 20658 3% 1874 0% 44 0% 0 0%
remove rmdir rename link readdir readdirplus
2670 0% 319 0% 45 0% 21 0% 4485 0% 0 0%
fsstat fsinfo pathconf commit
18 0% 18 0% 0 0% 24947 3%
47/166
NFS
Automontage (1)
Objectif : remedier au probleme de l’effondrement d’un client(necessite de remonter le systeme de fichiers a la main)Proposition d’un systeme de montage dynamiqueTemporisation du montage : demontage du systeme de fichiers s’iln’est pas accede pendant 5 minutes (valeur par defaut)Systeme de fichier automonte : autofs
48/166
NFS
Automontage (2)
L’automontage ne concerne que les clientsL’automontage n’apporte rien de plus par rapport au montagepermanent en cas de probleme (blocage de l’application effectuantles lectures/ecritures)Utilisation des automontages : comptes utilisateurs par exemple
49/166
automontage
Configuration d’un client d’automontage (1)
(Quelques differences suivant les systemes)
Demon automonteur automount / /usr/sbin/automount :interception des requetes NFSaction identique au server NFS
Table maıtre : /etc/auto master / /etc/auto.master
Liste des fichiers contenant les informations relatives auxfichiers automontes
# Master map for automounter
#
+auto_master
/net -hosts -nosuid,nobrowse
/home auto_home -nobrowse
/xfn -xfn
/- auto_direct
50/166
automontage
Configuration d’un client d’automontage (2)
Tables directes ou indirectes :Informations disponible pour chaque entree :
cle (point de montage du repertoire distant)Option de montageLocalisation du systeme de fichiers a monter
/export/home/user1 - painleve:/export/home/user1
/export/home/user2 - pythagore:/export/home/user2
/export/home2/user3 - nantes:/export/user3
/export/home3/user4 - nantes:/export/user4
/export/home5/user5 - painleve:/export/user5
51/166
automontage
Configuration d’un client d’automontage (3)
Tables directes ou indirectes (suite) :
Tables directes : la cle est un chemin absoluDans la table maıtre, l’information est marquee par /-Tables indirectes : la cle est un chemin relatif a un point demontageDans la table, le premier champ correspond au point demontage
Possibilite d’exploiter les tables NIS et NIS+Solaris propose une table supplementaire /etc/auto home
didie a l’automontage des comptes utilisateurs
52/166
Messagerie
Courrier electronique (1)
Variante de l’echange de fichiers en machines UNIX−→ Un des plus vieux services InternetEvolution des methodes implementant le courrier electronique aucours du temps :
UUCP : une des plus ancienne methode de courrierelectronique entre machines UNIX.−→ Encore utilise sur les machines dont la connexion estrestreinte
BITNET : issue du reseau BITNET (reliant les mainframesIBM)
53/166
Messagerie
Courrier electronique (2)
X400 : courrier electronique aux normes ISO
DECNET : protocole propose par DEC
SMTP : protocole utilise sur la plupart des machines modernesImplemente sous forme d’une application reseau : sendmailDerives : ESMTPService reseau sur le port 25 (smtp)
Limitation de la taille des messages
54/166
Messagerie
Composition du systeme de messagerie (1)
Réseau distant
MTA
Emissiond’un courrier
MDA
Boite aux lettresConsultationdu courrier
MUA
facteur localTransmission au
Envoi d’un courrierà un utilisateurdu réseau local
à un utilisateurdu réseau distant
Envoi d’un courrier
Distribution du courrier
55/166
Messagerie
Composition du systeme de messagerie (2)
Definition des composantes :
MTA : Mail Transfert Agent”Centre de tri postal”Recuperation des courriers venant du reseau ou des machineslocalesDecision sur l’acheminement du courrier en fonction del’adresse
MDA : Mail Delivery Agent”Facteur” du reseau localRecuperation des courriers envoyes par le MTA pouracheminement aux utilisateurs locaux
56/166
Messagerie
Composition du systeme de messagerie (3)
Boıte aux lettres :Fichier propre a chaque utilisateurLe MDA y copie le courrierAjout d’une ligne en debut de courrier commencant par From(sans : et different de From:)
MUA : Mail User AgentLogiciel permettant de consulter et d’envoyer du courrier
57/166
Messagerie
Composition du systeme de messagerie (4)
Machine relais : machine permettant le routage d’un messagedont elle n’est pas l’emettriceRoutage du message :
Plus lent qu’en directMoins soumis aux aleas de l’acheminementGros probleme : peut etre utilise pour l’envoi de spamIl faut donc limiter le relais aux machines du reseau
Mail exchanger : machine destinataire du messageCachee derriere le ”domaine postal”
58/166
Messagerie
Le protocole SMTP (1)
Simple Mail Transfer Protocol
RFC 821Utilisation de TCP/IP (mode connecte), port 25Envoi du courrier directement au destinataire du messageUtilisation de commandes (textuelles) pour dialoguer avec leserveur
Possibilite de dialoguer a l’aide de telnet :
telnet webmail.ig-edu.univ-paris13.fr 25
59/166
Messagerie
Le protocole SMTP (2)
Toute commande est validee par la chaıne de caractere CR/LF
Chaque commande du client est suivi d’une reponse du serveur
Reponse du serveur :
numero
descriptif
60/166
Messagerie
Deroulement d’une session (1)1 Ouverture de la session SMTP
(client) Envoi de la commande : HELO nom dudomaine<CRLF>(serveur) Envoi de la chaıne : 250 adresse du serveur demessagerieNB : (depuis avril 2001 – RFC 2821) Remplacement de lacommande HELO par la commande EHLO
2 (client) Envoi de la commande : MAIL FROM: adresse de
l’expediteur<CRLF>
(serveur) Envoi de la chaıne : 250 OK (si la commande estacceptee)
3 (client) Envoi de la commande : RCPT TO: adresse du
destinataire<CRLF>
(serveur) Envoi de la chaıne : 250 OK (si la commande estacceptee)
61/166
Messagerie
Deroulement d’une session (2)1 (client) Envoi de la commande : DATA<CRLF>
Annonce du debut du corps du message(serveur) Envoi de la chaıne 354 End data with
<CR><LF>.<CR><LF> (si la commande est acceptee)Corps du message : ensemble de ligne dont la derniere setermine par un point.Possibilite d’ajouter les entetes :
DateSubjectCcBccFrom
(serveur) Envoi de la chaıne : 250 OK (si la commande estacceptee)
62/166
Messagerie
SMTP et codage des caracteres
Tous les caracteres doivent etre codes en ASCII (sur 7 bits)8 `eme bits explicitement mis a 0Envoi de caracteres accentues : utilisation d’algorithme de codageintegrant les specifications MIME
base64 pour les fichiers attaches (texte, image, son)24 bits decoupes en 4 caracteres ASCIIJeu de caracteres : alphabet de 6 bits
quoted-printable pour les caracteres speciaux contenus dans lecorps du messageCaractere non US-ASCII remplace par une sequence =XY(XY est le code hexadecimal du caractere)=⇒Indiquer l’alphabet utilise
63/166
Messagerie
Recapitulatif
HELO (desormais EHLO) : Identification a l’aide de l’adresse IP oudu nom de domaine de l’expediteurExemple : EHLO 192.168.60.56
MAIL FROM: : Identification de l’adresse de l’expediteurExemple : MAIL FROM: [email protected]
RCPT TO: : Identification de l’adresse du destinataireExemple : RCPT TO: [email protected]
DATA : Corps du messageExemple : DATA message
QUIT : Sortie du serveur SMTPExemple : QUIT
HELP : Liste des commandes SMTP supportees par le serveur
Exemple : HELP
64/166
Messagerie
Limitations de SMTP (1)
messages sur 7 bits (tronques explicitement a 7 bits)
nom d’utilisateur < 64 caracteres
nom de domaine < 64 caracteres
nombre de destinataires < 100
lignes < 1000 caracteres
Certaines versions recentes moins restrictives (pas de troncation du8 `eme bit (mais pas conforme a la RFC 821
65/166
Messagerie
Limitations de SMTP (2)
SMTP : protocole ferme sans possibilite d’evolutionDeux approches complementaires (depuis 1992) :
MIME (Multipurpose Internet Mail Extensions)Possibilte d’echange de messages avec des caracteres codessur 8bits et des donnees binaires, sur un canal SMTPconforme a la RFC 821
ESMTP (Extended SMTP)Extension de SMTP permettant des evolutions, tout engardant la compatibilite
66/166
Messagerie
Protocole ESMTP (1)
Extended Simple Mail Transport Protocol
Ajout d’extensions au protocole SMTPRFC 1425Mecanisme ouvert permettant des ajouts futursAjouts actuels :
Declaration de la taille des messages (RFC 1427)Possibilite de limiter la taille des messages acceptes par leserveurSMTP : destruction du message sans indication qu’il s’agitd’un probleme de tailleSolution a l’envoi de message trop grand : fragmentation ettransmission a l’aide du mecanisme MIME(message/partial)
67/166
Messagerie
Protocole ESMTP (2)
Transport sur 8 bits (RFC 1426)
Envoi de message 8 bits sans utilisation d’un encodage(base64 ou quote-printable)
Introduction du dialogue ESMTP avec EHLO (RFC 1651)
Si l’une des deux partie ne reconnait pas le protocole ESMTP,passage a SMTPSi reconnaissance d’ESMTP par le serveur, envoi de la liste desextensions supporteeLe client peut les utiliser
68/166
Messagerie
Extensions
Extension ETRN : ajout de commandes au protocole
Egalement ajout des parametres optionnels au messageExemple :8BITMIME ajout d’un parametre a la commande MAIL(annonce de message contenant des caracteres accentues)
69/166
Messagerie
Generation du message
Visualisation de l’echange avec le MTA : mail -v
Enveloppe : analysee et manipulee par les differents ”centresde tri” (MTA)Contient
l’adresse du destinataire et de l’expediteurl’adresse de chaque machine ayant relaye le message (assureun retour en cas de probleme avec l’adresse finale)
En-tete : l’adresse de l’expediteur et du destinataire
Corps : texte du message
70/166
Messagerie
Exemple de message (1a)
mailx -v [email protected]
Subject: Test SE-2
Test pour cours d’administration systeme
.
Cc:
[email protected]... Connecting to lipn.lipn.univ-paris13.fr.
via esmtp...
220 lipn.univ-paris13.fr ESMTP
>>> EHLO omaha.lipn.univ-paris13.fr
250-lipn.univ-paris13.fr
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-XVERP
250 8BITMIME
>>> MAIL From:<[email protected]> SIZE=100
250 Ok
71/166
Messagerie
Exemple de message (1b)
>>> RCPT To:<[email protected]>
250 Ok
>>> DATA
354 End data with <CR><LF>.<CR><LF>
>>> .
250 Ok: queued as 7AD524FD9A
[email protected]... Sent (Ok: queued as 7AD524FD9A)
Closing connection to lipn.lipn.univ-paris13.fr.
>>> QUIT
221 Bye
72/166
Messagerie
Exemple de message (2)
X-From-Line: [email protected] Thu Mar 21 09:36:23 2002
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: from omaha.lipn.univ-paris13.fr (omaha [10.10.0.26])
by lipn.univ-paris13.fr (Postfix) with ESMTP id 7AD524FD9A
for <[email protected]>; Thu, 21 Mar 2002 09:36:23 +0100 (CET)
Received: (from th@localhost)
by omaha.lipn.univ-paris13.fr (8.11.4/8.11.4) id g2L8ZYG00515
for [email protected]; Thu, 21 Mar 2002 09:35:34 +0100
Date: Thu, 21 Mar 2002 09:35:34 +0100
From: Thierry Hamon <[email protected]>
X-Gnus-Mail-Source: file:/var/spool/mail/ht
Message-Id: <[email protected]>
Subject: Test SE-2
Lines: 2
Xref: omaha mail.private:26959
X-Gnus-Article-Number: 26959 Thu Mar 21 09:37:38 2002
Test pour cours d’administration systeme
73/166
Messagerie
Exemple de message (3a)
mailx -v [email protected]
Subject: Test SE-2
Test pour cours d’administration systeme
.
Cc:
[email protected]... Connecting to bourbaki.ig-edu.univ-paris13.fr. via esmtp...
220 bourbaki.ig-edu.univ-paris13.fr ESMTP Sendmail 8.12.1/8.12.1; Thu, 21 Mar 2002 09:39:33 +0100 (MET)
>>> EHLO omaha.lipn.univ-paris13.fr
250-bourbaki.ig-edu.univ-paris13.fr Hello fwlipn.univ-paris13.fr [192.33.182.70], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
74/166
Messagerie
Exemple de message (3b)
>>> MAIL From:<[email protected]> SIZE=94
250 2.1.0 <[email protected]>... Sender ok
>>> RCPT To:<[email protected]>
250 2.1.5 <[email protected]>... Recipient ok
>>> DATA
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 g2L8dXob013779 Message accepted for delivery
[email protected]... Sent (g2L8dXob013779 Message accepted for delivery)
Closing connection to bourbaki.ig-edu.univ-paris13.fr.
>>> QUIT
221 2.0.0 bourbaki.ig-edu.univ-paris13.fr closing connection
75/166
Messagerie
Exemple de message (4a)
X-From-Line: [email protected] Thu Mar 21 09:40:10 2002
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: from bourbaki.ig-edu.univ-paris13.fr (bourbaki.ig-edu.univ-paris13.fr [194.254.167.3])
by lipn.univ-paris13.fr (Postfix) with ESMTP id CB5484FDA0
for <[email protected]>; Thu, 21 Mar 2002 09:40:09 +0100 (CET)
Received: from omaha.lipn.univ-paris13.fr (fwlipn.univ-paris13.fr [192.33.182.70])
by bourbaki.ig-edu.univ-paris13.fr (8.12.1/8.12.1) with ESMTP id g2L8dXob013779
for <[email protected]>; Thu, 21 Mar 2002 09:39:33 +0100 (MET)
Received: (from th@localhost)
by omaha.lipn.univ-paris13.fr (8.11.4/8.11.4) id g2L8dEN00519
for [email protected]; Thu, 21 Mar 2002 09:39:14 +0100
Date: Thu, 21 Mar 2002 09:39:14 +0100
From: Thierry Hamon <[email protected]>
X-Gnus-Mail-Source: file:/var/spool/mail/ht
Message-Id: <[email protected]>
Subject: Test SE-2
Lines: 2
76/166
Messagerie
Exemple de message (4b)
Xref: omaha mail.private:26960
X-Gnus-Article-Number: 26960 Thu Mar 21 09:40:12 2002
Test pour cours d’administration systeme
77/166
Messagerie
Description d’un echange de courrier
mail −d
sendmail
Réseau distant
smtp 25/tcp mail
MTA
MDA
/etc/mailrc$HOME/.mailrc
MUABoite aux lettres
cat /etc/service
procmail
/etc/mail/sendmail.cf
mailxnetscape...
procmailcat /etc/mail/sendmail.cf
mail −d
78/166
Messagerie
Format des adresses electroniques (1)
Differents types d’adresses possibles :
Adresse Internet globale : RFC [email protected]
hamon (thierry.hamon)@ig-edu.univ-paris13.fr
<Thierry Hamon> [email protected]
etc.
Adresse litterale : utilisation d’une adresse numerique plutotqu’un nom de domaineUtilisation des crochetsthierry.hamon@[192.33.182.24]
79/166
Messagerie
Format des adresses electroniques
Adresse Internet avec routage explicite :@info.uqam.ca,@ig-edu.univ-paris13.fr:[email protected]
RFC 1123 : ne pas les utiliser, mais les reconnaıtre et lesaccepter
etc.
80/166
Messagerie
Interaction Messagerie et DNS
SMTP : dependance vis a vis du DNS (comme tout protocoleutilisant des noms de sites)DNS : existance d’une fonctionnalite speciale pour le courrierelectroniqueInformation de type MX (pour Mail eXchanger) comme resourcerecords (RR)Objectif du champ de type MX du site S : indiquer aux sitesexterieurs la machine a laquelle envoyer le courrier destine au site SExemple :bourbaki.ig-edu.univ-paris13.fr. IN MX 10 mail.ig-edu.univ-paris13.fr.
Tout courrier adresse a bourbaki doit etre en realite envoye amail.ig-edu.univ-paris13.fr
81/166
Messagerie
Utilisation du champ MX
Routage d’un message pour un site n’ayant pas deconnectivite Internetintranet.galilee.fr. IN MX 10 mail.ig-edu.univ-paris13.fr.
Reception des courriers adresses a un domaineig-edu.univ-paris13.fr. IN MX 10 mail.ig-edu.univ-paris13.fr.
Permet les adresses du type user@domaine
Centralisation de la distribution du courriersercal.ig-edu.univ-paris13.fr. IN MX 10 mail.ig-edu.univ-paris13.fr.
Re-routage des courriers en cas de probleme
jussieu.fr IN MX 10 shiva.jussieu.fr
jussieu.fr IN MX 20 soleil.uvsq.fr
82/166
Messagerie
Traitements lies au champ MX (1)Utilisation de priorite dans le choix du MXRegles :
s’il n’existe pas de regles specifiques de routage :utilisation des MX
s’il n’existe pas de MX :envoi du courrier directement a la machine en utilisantl’adresse IP(rejet du message en cas d’absence d’adresse IP)
Si la machine apparaıt dans la liste des MX :Retrait des MX de poids egaux et superieurs (moinsprioritaires)
83/166
Messagerie
Traitements lies au champ MX (2)
Essai sur les MX d’ordre de priorite decroissanteEn cas d’echecs, conservation du message et essai de nouvelenvoi a intervalle regulier
Si la machine est le MX prefere et qu’il n’existe pas de regleslocales, le message est rejete
NB : certains routeurs modifient ces traitements...
84/166
Messagerie
Aliases
Redefinition le routage du courrier local
Nom complet d’utilisateur
thierry.hamon: hamon
Utilisateur virtuel
hamon: [email protected]
ProgrammeListe de diffusion
enseignants: hamon, fouquere
Liste de diffusion geree par un utilisateur
liste : :include:/home/Enseignants/hamon/liste
Pas de nom non local
85/166
Messagerie
Reverse Aliases
modification du champ From a l’envoi d’un message
Nom d’utilisateur hamon: thierry.hamon
86/166
Messagerie
le fichier .forward
Fichier gere par l’utilisateur
Effectue le re-routage des messages qui lui sont adresses
IMPORTANT : droits d’acces au fichier : 600
Meme syntaxe que les aliases
Consulte apres les aliases
87/166
Messagerie
Agent de transfert du courrier
Plusieurs agents disponibles :
smail
mmdf (systeme SCO)
IMS (NT)
Exchange (NT)
Eudora Worldmail server (NT)
sendmail (AIX, OSF1, ULTRIX, HP-UX, IRIX, SunOs,Solaris, Linux, etc.)
postfix
88/166
Messagerie
Sendmail (1)
Disponibilite ”grand public”Configuration complexe (sendmail.cf) : utilisation du Kit JussieuPrise en compte des .forward
Possibilite d’utilisation d’alias :
hamon −→ thierry.hamon
Application de nombreuses regles de reecriture :
Determination des regles de routage en fonction dudestinataire (local, meme domaine, domaine different)
Mise en conformite avec la RFC 822
89/166
Messagerie
Sendmail (2)Visualisation de l’etat d’acheminement du courrier (au niveau de lamachine local) : mailq
/var/spool/mqueue (4 requests)
----Q-ID---- --Size-- -----Q-Time----- ------------Sender/Recipient------------
g2LFGRC01219 58 Thu Mar 21 16:16 ht
(Postmaster warning: Thierry Hamon <[email protected]..)
Thierry Hamon <[email protected]
g2LFeTK01294* 290 Thu Mar 21 16:40 hamon
8BITMIME
g2LFePv01291* 631 Thu Mar 21 16:40 hamon
8BITMIME
g1P93e415270 1320 Mon Feb 25 10:03 ht
8BITMIME (Deferred: No such file or directory)
"Charles Dupond" [email protected]
90/166
Messagerie
Postfix (1)
Serveur de messagerie (MTA) concu par Wietse VenemaRemplacement de Sendmail, comme un concurrent de Qmaillogiciel libre (IBM public licence)http://www.postfix.org/
Compatibilite avec Sendmail et facilite d’administration : Prise encompte de
/etc/aliases
NIS
.forward
/var/spool/mail
91/166
Messagerie
Postfix (2)
Compose d’outils dedie a une tache specifique :
Reception d’un message distant
Distribution d’un message distant
Distribution d’un message localement
Changement/re-ecriture d’une adresse
Securite : outils concus pour fonctionner avec des privileges reduitsFiltrage des spamsGestion de domaines virtuels
92/166
Messagerie
Installation de postfix
Programme serveur (portail vers les outils dedies a une tache) :/usr/sbin/postfix
Lancement par /usr/sbin/postfix deusr/libexec/postfix/master (lancement de demons lorsquecela est necessaires)Lancement du demon de gestion de la file d’attente :/usr/libexec/postfix/qmgr (execution en permanence)Creation d’un utilisateur et d’un groupe postfix
93/166
Messagerie
Configuration de postfix (1)
Fichier de configuration : /etc/postfix/main.cfAliases transformes au format DBMFiles d’attente multiples (dans /var/spool/postfix : maildrop,incoming, active, deferred
94/166
Messagerie
Configuration de postfix (2a)
Configuration simple :
# INFORMATIONS SUR LES REPERTOIRES LOCAUX
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
# POSSESSION DES FILES D’ATTENTE ET DES PROCESSUS
mail_owner = postfix
# NOMS DE LA MACHINE ET DU DOMAINE
myhostname = mail.ig-edu.univ-paris13.fr
# POUR L’ENVOI DU COURRIER
myorigin = $myhostname
# MODE DE TRANSPORT
default_transport = smtp
95/166
Messagerie
Configuration de postfix (2b)
Configuration simple :
# GESTION DES ALIAS
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
# DELIVRANCE DU COURRIER
mailbox_command = /usr/bin/procmail
(...)
96/166
Messagerie
Configuration de postfix (3a)Affichage de la configuration courante : postconf
# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
default_destination_concurrency_limit = 10
default_transport = smtp
defer_transports = smtp
local_destination_concurrency_limit = 2
mail_owner = postfix
mailbox_command = /usr/bin/procmail
myhostname = mail.ig-edu.univ-paris13.fr
myorigin = $myhostname
97/166
Messagerie
Configuration de postfix (3b)
program_directory = /usr/libexec/postfix
queue_directory = /var/spool/postfix
relayhost = [smtp.mon.fai]
sender_canonical_maps = hash:/etc/postfix/canonical
98/166
Messagerie
Agent de distribution du courrier
Copie du message transmis par le MTA, dans la boıte aux lettresMDA constructeurs :
Mauvais fonctionnement dans un reseau homogene
Nombreuses incompatibilites dans un reseau heterogene
Utiliser plutot les outils du domaine public :
procmail
sendmail
99/166
Messagerie
Outils de consultation du courrier
Choix du MUA en fonction de la configuration de la consultationdu mail sur le reseau :
Consultation du repertoire /var/mail monte par NFS sur lastation de travail : mail, mailx, pine, mailtool
Utilisation d’un protocole : POP, IMAP, etc.
100/166
Messagerie
Schema de configuration d’un site
Serveur POP/IMAP
MUA
Serveur SMTP
/var/mail
des messagesEnvoi
des messagesRécupération
101/166
Messagerie
Utilisations du MUA
(Cas d’un ordinateur personnel)
Envoi de message :Etablissement d’une connexion par le port smtp entre le MUAet le demon sendmail s’executant sur une machine distanteMachine ou s’execute le demon sendmail : relais pourl’ordinateur personnel
Reception de message :Etablissement d’une connexion avec le demon poppers’executant sur une machine distante
102/166
Messagerie
Consultation du mail : Protocoles et services (1)
Demon popper : service reseau dont le client est le MUA
Sous controle du demon inetd ou non
Acces en lecture/ecriture au repertoire /var/mail
POP (pop3) : Post Office Protocole
IMAP : Internet Message Access Protocol
103/166
Messagerie
Protocole POP
Post Office Protocol (RFC 1725)
Recuperation du courrier sur un serveur distant, dans une boıteaux lettres localeDeux versions principales : POP2 (port 109) et POP3 (port 110)Dialogue a l’aide de commandes textuellesChaque commande doit se terminer par CR/LFCommande (client) : mot-cle suivi d’argumentsreponse du serveur : numero suivi d’un texte descriptif
104/166
Messagerie
Recapitulatif (POP2)
Commande DescriptionHELLO Identification a l’aide de l’adresse IP de l’ordinateur expediteurFOLDER Nom de la boıte a consulterREAD Numero du message a lireRETRIEVE Numero du message a recupererSAVE Numero du message a sauvegarderDELETE Numero du message a supprimerQUIT Sortie du serveur POP2
105/166
Messagerie
Protocole POP3
Possibilite de dialoguer a l’aide de telnet
telnet webmail.ig-edu.univ-paris13.fr 110
Gestion d’une authentification par nom d’utilisateur et mot depassePas de securite : les mots de passe circulent de maniere non chiffres(RFC1939) Possibilite de chiffrer les mots de passe avecl’algorithme MD5Blocage de la boıte aux lettres lors de la consultation=⇒ pas de consultation simultanee possible
106/166
Messagerie
Exemple (1)
belfast:ht:~:[13:33:10]>telnet webmail.ig-edu.univ-paris13.fr 110
Trying 194.254.167.3...
Connected to webmail.ig-edu.univ-paris13.fr.
Escape character is ’^]’.
+OK POP3 webmail.ig-edu.univ-paris13.fr v2002.81mdk server ready
STAT
-ERR Unknown AUTHORIZATION state command
^]
telnet> Connection closed.
107/166
Messagerie
Exemple (2)
belfast:ht:~:[13:38:16]>telnet webmail.ig-edu.univ-paris13.fr 110
Trying 194.254.167.3...
Connected to webmail.ig-edu.univ-paris13.fr.
Escape character is ’^]’.
+OK POP3 webmail.ig-edu.univ-paris13.fr v2002.81mdk server ready
USER hamon
+OK User name accepted, password please
PASS abcdefgh
+OK Mailbox open, 21 messages
STAT
+OK 21 706859
TOP 1 7
+OK Top of message follows
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
108/166
Messagerie
Exemple (2)
Received: from localhost (localhost.localdomain [127.0.0.1])
by bourbaki.ig-edu.univ-paris13.fr (Postfix) with ESMTP id 775663BF42
for <[email protected]>; Tue, 9 Mar 2004 14:15:02 +0100 (CET)
Received: from lipn.univ-paris13.fr (lipn.univ-paris13.fr [194.254.163.24])
by webmail.ig-edu.univ-paris13.fr (IMP) with HTTP
for <dupont@localhost>; Tue, 9 Mar 2004 14:15:02 +0100
Message-ID: <[email protected]>
Date: Tue, 9 Mar 2004 14:15:02 +0100
From: [email protected]
To: Thierry Hamon <[email protected]>
Subject: dhcpd.conf
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="-MOQ1078838102cbf9a73e38e0eee783a2892cf47bea46"
User-Agent: Internet Messaging Program (IMP) 3.2.2
Status: O
This message is in MIME format.
109/166
Messagerie
Exemple (2)
---MOQ1078838102cbf9a73e38e0eee783a2892cf47bea46
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
bonjour,
.
QUIT
+OK Sayonara
Connection closed by foreign host.
110/166
Messagerie
Recapitulatif (POP3)
USER identifiantUtiliser pour l’authentification.identifiant : nom de l’utilisateur, c’est-a-dire une chaıne decaracteres identifiant l’utilisateur sur le serveur.La commande USER doit preceder la commande PASS.
PASS mot de passeIndication du mot de passe de l’utilisateur dont le nom a etespecifie lors d’une commande USER prealable.
STAT : Information sur les messages contenus sur le serveur
RETR : Numero du message a recuperer
DELE : Numero du message a supprimer
LIST [msg] : Numero du message a afficher
NOOP : Permet de garder les connexion ouverte en casd’inactivite
111/166
Messagerie
Recapitulatif (POP3)
TOP <messageID> <n> :Affichage de n lignes du message, dont le numero est donneen argumentReponse positive du serveur :
envoi des en-tetes du messageune ligne viergeles n premieres lignes du message.
112/166
Messagerie
Recapitulatif (POP3)
UIDL [msg] :Demande de renvoi d’une ligne contenant des informations surle message eventuellement donne en argumentLa ligne contient une chaıne de caracteres permettantd’identifier de facon unique le message sur le serveur,independamment de la session. On l’appelle listingd’identificateur uniqueL’argument optionnel est un numero correspondant a unmessage existant sur le serveur POP, c’est-a-dire un messagenon efface.
113/166
Messagerie
Recapitulatif (POP3)
QUIT : demande de sortie du serveur POP3
Suppression de tous les messages marques comme effacesEnvoie de l’etat de cette action
114/166
Messagerie
Protocole IMAP (1)
Internet Message Access Protocol
Alternative a POP3Plus recent que POPRFC 1730, 1731, 1732, 1733Les courriers restent sur le serveur :Tri et rapatriment a la demande de l’utilisateur, puis remise enplace a la fin de la session
115/166
Messagerie
Protocole IMAP (2)
Fonctionnalites supplementaires :
Gestion de plusieurs acces simultanes
Gestion de plusieurs boıtes aux lettres
Gestion de sous-repertoire sur le serveur
Recherche de messages par critere
Retrait du courrier selon plus de criteres
116/166
Messagerie
Problemes lies a la securite (1)
Pertes de messages
par l’agent de transport ( le MTA )par l’utilisateurpar un incident materiel
Solutions : Tracabilite du message :
Extension DSN informe l’expediteur sur ce qui est arrive aumessageChaque relais indique si le message est envoye correctement ounon au relais suivant
117/166
Messagerie
Problemes lies a la securite (1)
Ecoute des messagesSolution : Utilisation du Chiffrement entre les serveurs (PGP)
Falsification des messagesSolution : Limitation possible du nombre de relais par SMTP
118/166
Messagerie
Gestion du SPAM
annecdote : terme provenant d’une marque americaine d’alimentsbon marche de mauvaise qualite, ou issu d’un sketch des MontyPythonDescription : Courrier non sollicite envoye a plusieurs personnes(prospectus des boites aux lettres)Comment : Recuperation des adresses via les News, les listes dediffusion, les pages Web (analyse des champs mailto)
Apparu avec l’explosion du nombre d’utilisateur de l’Internet(solutions apparues en 1997)Commerce florissant : vente de fichiers d’utilisateursCertaines societes ont pignons sur rue (Cyberpromo)Nuisance a combattre et couteuse
119/166
Messagerie
Probleme & solutions
Probleme : Reconnaıtre l’auteur d’un SPAM
Adresse abuse
Filtrage au niveau personnel
Filtrage au niveau d’un site
120/166
Messagerie
Probleme : Reconnaissancede l’auteur d’un SPAM
Connaıtre l’auteur d’un spam est difficile
Avec SMTP, il est facile de se faire passer pour quelqu’un d’autre
Utilisation de relais : route du message difficile
Le champ From: n’indique pas forcement l’expediteur (messageforge)
Necessite une bonne maıtrise de la lecture des champs Received
121/166
Messagerie
Adresse abuse
Adresse obligatoire Postmaster@domaine pour tout site abritantune messagerie SMTP
Autre convention repandue : adresse abuse@domaine, utilisee poursignaler les plaintes
Tout site peut devenir la source d’un spam : reconnaissance etacceptation de cette adresse (gage de bonne volonte)
122/166
Messagerie
Filtrage au niveau personnel
Utilisation d’outil procmailMise en place d’un jeu de filtres adapteRejeter :
tout courrier suspect dans une boıte aux lettres qui n’est paslue aussi souvent que la boıte aux lettres normale
tout courrier contenant certains mots cles
Autres methodes :
Mecanisme de liste noire personnelle (rejet des courriers dedomaines connus)
Mecanisme de score (destruction de tout courrier contenantcertain mot souvent utilise par les spammeurs)
123/166
Messagerie
Exemple de procmail
# reconnaissance de cas particuliers
:0:
* ^From.*@.*\.univ-paris13.fr
$DEFAULT
# tout ce qui vient de .net ou de .com est jete
# dans l’antichambre de la poubelle
:0:
* ^Subject.*@.*[Vv].?[1Iıi].?[Aa@].?[Gg].?[Rr].?[Aa@]
Mail/spam
124/166
Messagerie
Filtrage au niveau d’un site (1)
Liste noire des spammeurs connus :obsolescence rapidenecessite des mises a jour frequente ou l’utilisation de listescentralisees :
RBL – Realtime Blackhole Lists (constitution d(unearborescence DNS composee d’adresses IP de domainesspammeurs)SpamAssassin
Apprentissage des caracteristiques des spams
SpamAssassin (spamassassin.apache.org)dSpam (http://dspam.nuclearelephant.com/)
125/166
Messagerie
Filtrage au niveau d’un site (2)
Interdire le relayageEvite ainsi l’inscription d’un site innocent sur liste noire
Refuser les adresses invalides ([email protected])
Refuser les adresses IP d’expediteurs non valides (machinesnon declarees sur un DNS)Solution radicale genante pour des sites honnetes mais malconfigures
126/166
Messagerie
Tester la messagerie
Possibilite d’envoi d’un courrier local ?mail -v hamon(-v : mode verbose)
telnet localhost smtp
Reponse type : 220 mail.ig-edu.univ-paris13.fr ....
Verification qu’un site distant peut vous atteindre
Verification des regles de reecriture pour l’envoi
127/166
Service d’impression
Service d’impressions (1)
Configuration dependant etroitement du systemeDeux types d’imprimantes :
Imprimante avec une carte reseau
Imprimante sur le port parallele d’une machine (le serveurd’impression)
Nom de l’imprimante :
Peut-etre different du nom de l’imprimante reseau
14 caracteres sous Solaris
128/166
Service d’impression
Service d’impressions (2)
Deux possibilites :
Administration d’un service central (Solaris)Gestion a travers le service de nom
Chaque machine possede son client (Linux avec cups, rlpr)Communication directe de la machine avec la carte
129/166
Service d’impression
Architecture du systeme d’impressions (1)
Modele Client/Serveur :
Serveur : reception des requetes d’impressions provenantd’autres systemesStockage dans une zone temporaire sur un systeme de fichierslocalEnvoi des taches d’impression a une imprimante reseau ou uneimprimante locale
Service d’impressions :
un serveur (lpq)des filtres
Fichiers de configuration : /etc/print.conf, /etc/lp/printers(Solaris), printcap (Linux)
130/166
Service d’impression
Architecture du systeme d’impressions (2)
request id is F205−102 (1 file (s) )
Sélection d’imprimante
Script d’interface
Filtrage
lp fichier1.txt
lpsched
/var/spool/lp/requests
Envoi de la requete
lpschedInitialisation de l’imprimante
131/166
Service d’impression
Lancement et arret du service d’impressions
Demarrage du scheduler : /usr/lib/lp/lpsched (Solaris)/usr/sbin/lpd (BSD)Au demarrage de la machine :/etc/init.d/lp start (Solaris)Dans /etc/rc.d/rc.inet2
Arret : /usr/lib/lp/lpsut (Solaris)A l’arret de la machine :/etc/init.d/lp stop (Solaris)
Fichiers journal : /var/lp/logs/lpsched/var/lp/logs/requests
132/166
Service d’impression
Caracteristiques du service d’impressions (1)
File d’attente : /var/spool/lp/...
Filtres : Programmes utilises par le service d’impressionsConversion du contenu de la requete dans un format acceptepar l’imprimante (PCL, Postscript, etc.)Pris en compte du MagicNumberInstallation : lpfilter (Solaris), definition dans le fichier/etc/printcap (Linux)
Verification des etats des travaux d’impression : lpstat
Definition de la destination par defaut : lpadminmais aussi controle de l’acces
133/166
Service d’impression
Caracteristiques du service d’impressions (2)
Annulation d’une impression : cancel
Deplacement de requetes : lpmoveD’une imprimante vers une autre
Definition de priorite : lpusers
Lancement des programmes s’interfacant avec lesimprimantes :Initialisation de l’imprimante avant l’envoi de la premiererequeteSolaris :
/usr/lib/lp/model/standard
/usr/lib/lp/model/netstandard
134/166
Service d’impression
Caracteristiques du service d’impressions (3)
Avertissement aupres de l’administrateur des problemesd’impressionEmission de messages d’erreur
Coordination et repartition du travail d’impression
135/166
Service d’impression
Le serveur d’impression CUPS (1)
Common Unix Printing System
Service d’impression portable sous UNIX
Gestion des travaux et file d’impression : Internet Printing Protocol(”IPP”)Protocoles egalement supportes (fonctionnalites reduites) :
Line Printer Daemon (”LPD”)
Server Message Block (”SMB”)
AppSocket (a.k.a. JetDirect)
136/166
Service d’impression
Le serveur d’impression CUPS (2)
Utilisation des commandes System V et BSD (lp et lpr)
Gestion par interface Web
Pilotes d’impression postscript (PostScript Printer Description(”PPD”)) et de fichiers images
Mecanisme de quota et de comptabilite (accounting)
Possibilite de cryptage
137/166
Service d’impression
Internet Printing Protocol (IPP)
Extension de HTTP 1.1Alternative au standard d’impression POSIXSupport pour les services d’impression distantIPP 1.1
Diffusion large chez les industriels
Objectif : solution standard pour l’impression reseau
Propose :
Systeme d’impression complet pour les UNIX
Extensions compatibles pour les nouvelles imprimantes,protocoles, etc.
138/166
Service d’impression
CUPS : Schema general (1)
Ordonnancement centralise des processus d’impression(client/serveur)Aiguillage des
travaux d’impression
commandes d’administration des processus
informations sur le statut des impressions aux programmeslocaux et distants
informations vers les utilisateurs
139/166
Service d’impression
CUPS : Schema general (2)
Fichiers de configuration
CommandesBerkeley(lpr)/System V(lp)
(API CUPS)Programmes
Ordonnanceur
Filtres d’impression
Modules d’impression(vers les périphériques)
140/166
Service d’impression
Composants du gestionnaire CUPS (1)
Ordonnanceur : serveur Web (HTTP 1.1)Manipulation des requetes HTTP :
Gestion des requetes IPPMise a disposition de la documentationAffichage des statuts d’impressionAdministration des imprimantes sur le reseau
Roles principaux :
1 Application des filtres sur les travaux d’impression2 Aiguillage des travaux d’impression sur le peripherique
approprie
141/166
Service d’impression
Composants du gestionnaire CUPS (2)
Fichiers de configuration :
serveur HTTP : (voir Apache) egalement controle d’acces
definition des classes et des imprimantesListe des files d’impression et des classes d’imrpimantesdisponible
Classes d’imprimante : ensemble d’imprimante
Tache d’impression envoyee a une classe : dirigee vers lapremiere imprimante de la classe disponible
142/166
Service d’impression
Composants du gestionnaire CUPS (3)
types MIME et regles de conversion :
Types MIME acceptes (text/plain, application/postscript, etc.)
Application des filtres appropries sur le fichier a imprimer(conversion dans un format imprimable)
Regles en fonction du type du fichier a imprimer (detectionautomatique – regles magic)
143/166
Service d’impression
Composants du gestionnaire CUPS (4)
Utilises pour determiner
le champ Content-Type (HTTP - requetes GET et HEAD)le type du fichier (IPP - requetes Print-Job et Send-File si leformat du document est application/octet-stream)
Description des imprimantes postscript (PPD)Description des possibilites de chaque imprimante (un fichierPPD par imprimante)
Fichier PPD pour imprimante non-Postscript : definition defiltres supplementaires.
144/166
Service d’impression
Composants du gestionnaire CUPS (5)
API CUPS :
Fonctions specifiques de CUPS pour
le placement en file d’impression
la recuperation des informations sur les imprimantes
l’acces aux ressources via HTTP et IPP
la manipulation des fichiers PPD
145/166
Service d’impression
Composants du gestionnaire CUPS (6)
Commandes Berkeley/System V : lp et lpr
lpstat et lpc gerent les impressions reseaux
Commandes d’administration System V : gestion desimprimantes et des classes
Commandes d’administration Berkeley : mode � read-only �
(verification du statut des files d’impression et del’ordonnanceur
146/166
Service d’impression
Composants du gestionnaire CUPS (7)
Filtres d’impression :
Filtre classique UNIX (lecture/ecriture sur les entrees/sortiesstandard)
Gestion de nombreux formats y compris l’impression d’imageet la gestion des imprimantes non Postscript
Modules d’impression (backend)) :
Modules de gestion des peripheriques d’impression (egalementa travers SAMBA)
147/166
Service d’impression
Configuration et administration de CUPS (1)Interface Web accessible qu’en local :http://localhost:631/admin/
148/166
Service d’impression
Configuration et administration de CUPS (2)
Fichier de configuration (type Apache) : /etc/cups/cupsd.conf
Demarrage du serveur :
/etc/init.d/cups restart
Ajout d’imprimante en ligne de commande
/usr/sbin/lpadmin -p Imprimante -E -v Peripherique
-m Fichier_PPD
/usr/sbin/lpadmin -p LaserJet1 -E -v socket://192.168.0.10
-m laserjet.ppd
149/166
Service d’impression
Configuration et administration de CUPS (3)Gestion des imprimantes :
/usr/sbin/lpadmin -p printer options
/usr/sbin/lpadmin -p LaserJet1 -c class Classe1Imprimante
/usr/sbin/lpadmin -p LaserJet1 -L "I mprimante LaserJet 1"
(creation de la classe Classe1Imprimante si elle n’existe pas)
Suppression :
/usr/sbin/lpadmin -x LaserJet1
/usr/sbin/lpadmin -p LaserJet1
-r class Classe1Imprimante
150/166
Service d’impression
Configuration et administration de CUPS (4)
Arret et demarrage des imprimantes :
/usr/bin/enable printer
/usr/bin/disable printer
Acceptation et rejet de travaux d’impression :
/usr/sbin/accept printer ENTER
/usr/sbin/reject printer ENTER
151/166
Service d’impression
Configuration et administration de CUPS (5)
Configuration des clients :
1 lpadmin -p Imprimante -E
-v ipp://serveur/printers/imprimante
lpadmin -p LaserJet1 -E
-v ipp://192.168.0.10/printers/LaserJet1
Operation deconseillee
2 Fichier de configuration client : /etc/cups/client.confIndiquer : ServerName 192.168.0.10
egalement configuration automatique (delai de 30 secondes)
152/166
Service d’impression
Journaux de bord
Definition dans le fichier de configuration /etc/cups/cupsd.conf
Configuration similaire a Apache :
/var/log/cups/access_log
/var/log/cups/error_log
Possiblite de gerer les logs a travers syslogd
153/166
Samba
Samba (1)
Samba : service de partage de ressources sous UNIX pour lesmachines sous WindowsDebut en 1991 (Andrew Tridgell, Australie)Machines Unix visibles dans le voisinage reseauArchitecture client/serveur
154/166
Samba
Samba (2)
Serveur Samba : serveur de fichiers et de services classiques
Partage de fichiers et de repertoires
Partage d’imprimantes
Prise en compte des comptes utilisateurs
Gestion des permissions d’acces
Execution de scripts de connexion
Emulation sous UNIX d’un serveur LanManager (Microsoft, 1987,oringine : IBM, 1985).Protocole de communication : smb
155/166
Samba
Principe de fonctionnement
Ressources (systemes de fichiersn imprimantes, etc.) offertespar un serveur a des clients Windows
Connexion : utilisation d’un compte cree par rootAuthentification par mot de passe
Serveur Samba(Linux)
Client WindowsRéponses SMB
Requêtes SMB
156/166
Samba
Le serveur
smbd : gestion du service
nmbd : resolution des noms NetBios
157/166
Samba
Les clients
Necessite les protocoles NetBios, et TCP/IP (NetBEUI pas utile)Protocole SMB : base sur NetBiosSMB : Server Message BlockOn parle aussi de Common Internet File System (CIFS)
Applications
SMB
NetBIOS
TCP/IP NetBEUIIPX/SPX
PPP, 802x
Token Ring, Ethernet
158/166
Samba
Connexion
Identifiee par
Nom d’utilisateurnom de la machinedateheure de debut et de finServices utilises
Information stockee dans un fichier de logGeneralement, un fichier de log par station cliente
Securite : niveau utilisateur
159/166
Samba
Configuration du serveur Samba
Fichier de configuration : /etc/smb.conf ou/etc/samba/smb.conf
Trois sections :
[global] : definition des parametre generaux sur le serveur
[homes] : definition du partage de repertoires personnels
[printers] : definition des imprimantes partagees par leserveur
=⇒ Possibilite d’ajouter des sections personnalisees
160/166
Samba
Parametres de configuration (1)
Groupe de travail : workgroup (Workgroup par defaut sousWindows)
Nom du serveur Samba Linux (apparaissant dans le voisinagereseau) : server string
Cryptage de mot de passe : encrypt passwords (Yes/No)
Fichier de log : log file = /var/log/samba/log.%m
Taille du fichier de log : max log size = 50
Parametres de connexion : socket options = TCP NODELAY
(amelioration des performances du reseau)
Activation ou non de la resolution de noms NetBios :dns proxy = No
161/166
Samba
Parametres de configuration (2)
Autres parametres :
Autorisation de connexion pour certaines machines : Hostsallow =
Liste des imprimantes : printcap name = /etc/printcap
Chargement des imprimantes definies sur les systemes : loadprinters = yes
(Evite la configuration individuelle des imprimantes dans lesmb.conf)
Possibilite d’utiliser un serveur Windows NT comme domaineprimaire
162/166
Samba
Partage des repertoires
Nom du repertoire visible dans le voisinage reseau :[nom du repertoire]
Commentaire : comment = repertoire samba partage
Chemin du repertoire sur le serveur Samba (Linux) :path=/export/home/users/
Activation en lecture seulement : read only = no
Option d’autorisation de parcours du repertoire :browseable = no
Option d’autorisation d’ecriture dans le repertoire :writable = yes
163/166
Samba
Exemple de configuration (1)
Fichier smb.conf
# configuration generale
[global]l
workgroup = DonneesEtudiants
server string = SERCAL Samba server
encrypt passwords = Yes
log file = /var/log/samba/log.%m
max log size = 50
socket options = TCP\_NODELAY
dns proxy = No
164/166
Samba
Exemple de configuration (2)
#Repertoires
[homes]
path=/export/home/users
comment = Repertoires des Etudiants
read only = No
browseable = Yes
[Logiciels]
comment = Repertoires des logiciels partages sur le reseau
path = /export/home/Logiciels
read only = Yes
browseable = Yes
Lancement du service : Execution au demarrage du script/etc/init.d/samba
165/166
Samba
Configuration du client Windows
Ajout des protocoles TCP/IP et NetBiosActivation de NetBios avec TCP/IP (Voisinagereseau/Proprietes TCP/IP, onglet NetBios)
Affectation d’une IP dans le meme groupe que le serveurSamba
Ouverture du voisinage reseau : visaualisation de la machineserveur Samba
double clic sur l’icone de la machine
mot de passeLogin : le nom de la machine WindowsChoix du login possible sur Windows NT
Test egalement possible avec un client Linux :smbclient serveur samba
166/166