Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Les Réseaux Informatiques
Serveurs Web Serveurs de courrier Questions sur les cours précédents ? Boukli HACENE Sofiane
2
Serveurs de courrier Assure le transfert de messages électroniques ( ) Deux grandes parties : Transfert de données entre serveurs SMTP Transfert de données d’un serveur à un utilisateur POP IMAP NFS
3
Le protocole SMTP Simple Mail Transfer Protocol
Basé sur couche transport Fiable Ordonné TCP principalement RFC 821 donne d’autres alternatives S’appuie sur les informations DNS Mail eXchange (MX) record Champ optionnel Indique l’IP du serveur SMTP d’un domaine DNS
4
Le protocole SMTP (2) 4 types de nœuds SMTP :
« Originator » : la machine émettant le message « Delivery » : la machine recevant le message « Relay » : hôte intermédiaire ne modifie pas le message « Gateway » : hôte intermédiaire peut modifier le message Le rôle d’une machine change Selon l’émetteur du message Selon le récepteur du message
5
Le protocole SMTP (3) Connexion TCP, port 25 Une transaction :
Echange de Commandes / Réponses Commandes : ASCII / NVT Par le client uniquement 3/4 lettres + arguments Réponses : Par le serveur uniquement Code à 3 chiffres + arguments / message
6
Codes de réponse (1) XYZ + paramètres / message
RFC 2821, section 4.2 (pp40-46) X = Nature du message 1 : OK, pour le moment 2 : OK 3 : OK, continue 4 : Impossible pour le moment 5 : Impossible RFC 2881, Pages PP 33 36 de l’impression
7
Codes de réponse (2) XYZ + paramètres / message Y = élément en cause
0 : Syntaxe 1 : Information 2 : Connexion réseau 3,4 : Non précisé 5 : Système de mail Z = description fine
8
Protocole SMTP (4) Protocole simple Avec des extensions Facultatives
Gérées par l’IANA Registre des extension intéressantes 1 numéro & 1 mot-clé par extension + Non standard Mot-clé commençant par un X Accord entre le client et le serveur
9
Structure d’un courrier
Enveloppe Destinataire Source Options éventuelles Message ASCII / NVT Entête Emetteur Destinataires(s) Sujet Route suivie par le message Options Texte brut, sans formatage
10
Gestion du multimédia Comment gérer Encodage MIME
Les accents, la mise en forme ? Les images, les sons ? Encodage MIME Multipurpose Internet Mail Extensions RFC 1847, 2045, 2047, 2633 Avantages Plusieurs parties De types différents (texte, image, sons, …) Non limité à 7 bits par caractère Encodé sur 7 bits par caractère Inconvénient Volumineux
11
Déroulement d’un transfert
Client ouvre la connexion TCP Serveur envoie message de bienvenue 220 bla bla bla <CRLF> C: EHLO + identification du client <CRLF> S: 250-bla bla bla <CRLF> 250-extension 1 <CRLF> … 250 extension n <CRLF> Échange de commandes/réponses C: QUIT <CRLF> S: 221 bla bla bla <CRLF> Le serveur ferme la connexion
12
Transactions SMTP (1) Envoi d’un courrier :
C: MAIL + options <CRLF> S: 250 OK <CRLF> C: RCPT + options <CRLF> C: DATA <CRLF> S: 354 bla bla bla <CRLF> C: message sur plusieurs lignes C: . <CRLF>
13
Transactions SMTP (2) Vérification d’une adresse
C: VRFY nom <CRLF> S: 250 prénom nom <CRLF> Ou alors, si ambiguïté S: 553- bla bla bla <CRLF> 553- possibilitié 1 <CRLF> 553- possibilitié 2 <CRLF> … 553 possibilité n <CRLF>
14
Transactions SMTP (3) Résolution de listes
C: EXPN nom de liste <CRLF> S: 250- prénom1 nom1 <CRLF> 250-prénom2 nom2 <CRLF> … 250 prénom n nom n <CRLF> Ou erreurs 550 Access Denied 550 Mailbox name not authorized Bien d’autres commandes (RFC2881, section 4)
15
Envoi de courrier SMTP IMAP POP
16
Le protocole POP (1) Post Office Protocol RFC 1939, 1957, 2449 (POP3)
Protocole d’accès au courrier Connexion au serveur Y a t’il du courrier ? Lire le courrier n°47 Supprimer le courrier 47 Fin de connexion POP2 : RFC 937 POP1 : RFC 918
17
Le Protocole POP (2) Connexion TCP, port 110
Dialogue par commande / réponse ASCII / NVT 2 types de réponses : +OK bla bla bla <CRLF> -ERR bla bla bla <CRLF> Très peu de commandes reconnues
18
Les commandes POP3 USER nom PASS mot de passe STAT LIST [n°] RETR n°
DELE n° RST QUIT
19
Accès IMAP Concurrent de POP3 Les mails restent sur le serveur
Avantages Les mails sont disponibles partout Ils sont classés sur le serveur Inconvénient Réseau obligatoire pour toute opération
20
Accès NFS Chaque client « monte » son dossier de courrier.
accès direct aux fichiers du serveur Avantages : Très rapide Très sûr (pas de mot de passe transmis) Inconvénient : Accès NFS + NIS obligatoire
21
Les serveurs Web Met à disposition des pages stockées localement
Accès universel : Toute machine Tout système d’exploitation Toutes langues Service UDP / TCP Port 80
22
Les serveurs Web (2) Protocole de base : Nature des pages Web HTTP
Hyper Text Transfer Protocol RFC 1945 Nature des pages Web HTML, XML, … Images, sons, … Encodage MIME
23
Le protocole HTTP Basé sur Commandes / Réponses Commandes :
ASCII / NVT <méthode> <chemin> <version> [<option>: <valeur] <ligne_vide> Peu nombreuses GET, HEAD POST, PUT
24
Le protocole HTTP (2) Réponses du serveur :
<version> <code XYZ> bla bla bla Content-Type: <type MIME> [<option>: <valeur>] <le document demandé> Codes : 2xx : Succès 3xx : Redirection 4xx : Erreur client 5xx : Erreur serveur
25
Évolutions de HTTP Version 1.1 RFC ????? Informations supplémentaires
permet un cache plus efficace permet un contenu dynamique Choix de la langue Choix d’un format d’images … Hôtes virtuels simule des machines différentes
26
Fonctions du serveur Répondre aux requêtes HTTP Envoyer des documents
Exécuter des programmes CGI ASP JSP SSI Négociation de contenu (HTTP1.1) …
27
La sécurité (1) Attention au choix des racines
Racine Web Point de départ du site Web Racine utilisateur Point de départ des pages personnelles Racine CGI, … Point de départ des modules exécutables Tout fichier contenu dans ces arbres est accessible ! Limiter les dossiers accessibles au minimum nécessaire au site.
28
La sécurité (2) Attention aux modules résidents CGI, ASP, JSP, …
Possibilité de trous de sécurité Évaluer soigneusement les risques Accorder les droits minimaux
29
Exemple de CGI (1) Script Finger, en perl
Login Informations complètes Listing : #!/usr/local/bin/perl require "cgi-lib.pl"; print "Content-Type: text/plain \n\n"; if (&ReadParse) {system(“finger $in{addr}“);} Permet l’utilisation de toute commande UNIX avec les droits du serveur !
30
Exemple de CGI (2) Listing de finger.pl #!/usr/local/bin/perl require "cgi-lib.pl"; print "Content-Type: text/plain \n\n"; if (&ReadParse) {system(“finger $in{addr}“);} POST /cgi-bin/finger.pl HTTP/1.0 Content-type: application/x-www-form-urlencoded Content-length: 30 addr=pierre ; cat /etc/passwd $in{addr} est remplacé par pierre ; cat /etc/passwd
31
Exemple de CGI (3) Exécution de finger.pl?addr=pierre; cat /etc/passwd
#!/usr/local/bin/perl require "cgi-lib.pl"; print "Content-Type: text/plain \n\n"; if (&ReadParse) {system(“finger pierre ; cat /etc/passwd“);} Exécution de deux commandes UNIX : finger pierre commande normale cat /etc/passwd commande pirate
32
La sécurité (2) Attention aux modules résidents
CGI, ASP, JSP, … Possibilité de trous de sécurité Évaluer soigneusement les risques Accorder les droits minimaux Ne JAMAIS lancer le serveur comme processus ADMINISTRATEUR.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.