• Aucun résultat trouvé

Protocoles DNS - LDAP – P2P

N/A
N/A
Protected

Academic year: 2022

Partager "Protocoles DNS - LDAP – P2P"

Copied!
106
0
0

Texte intégral

(1)

www.supinfo.com

Copyright © SUPINFO. All rights reserved

DNS - LDAP – P2P

(2)

Votre formateur…

Titre : Professeur certifié d’Informatique et Gestion

Distinctions & expérience : Ancien chef des travaux . Enseignant de l’éducation nationale et de l’école supérieur d’informatique.

Formation : Diplôme d’ingénieur maître - Université Bordeaux I.

Contact :

Campus-Booster ID: 50566

[email protected] François HORTOLLAND

(3)

Définitions et exemples

(4)

Plan de la partie

 DNS

 Annuaires LDAP

 Peer to peer

Voici les chapitres que nous allons aborder:

(5)

 L’Internet est constitué de réseaux (dizaines de milliers)

 Les réseaux sont constitués de sous-réseaux

 Les sous-réseaux sont constitués de machines,

 La technologie de base (TCP/IP) permet l’accès aux machines par leur adresse IP,

 Il est pratiquement devenu impossible aux humains de connaître les adresses (IP) des machines auxquelles ils veulent accéder.

DNS

Le besoin

(6)

Le système DNS permet d’identifier une machine par un (des) nom(s) représentatif(s) de la machine et du (des) réseau(x) sur le(les)quel(s) elle se trouve ;

exemple :

www.centralweb.fr identifie la machine www sur le réseau centralweb.fr

Le système est mis en œuvre par une base de données distribuée au niveau mondial

Les noms sont gérés par un organisme mondial : l’interNIC et les organismes délégués : RIPE, NIC France, NIC Angleterre, etc.

DNS

Le besoin

(7)

Playe

 basé sur le modèle client / serveur

 le logiciel client interroge un serveur de nom; typiquement :

 l’utilisateur associe un nom de domaine à une application

; exemple :

telnet m1.centralweb.fr

 l’application cliente requiert la traduction du nom de domaine auprés d’un serveur de nom (DNS) : cette opération s’appelle la résolution de nom

 le serveur de nom interroge d’autres serveurs de nom jusqu’à ce que l’association nom de domaine / adresse IP soit trouvée

DNS

Principe

(8)

 le serveur de nom retourne l’adresse IP au logiciel client : 193.148.37.201

 le logiciel client contacte le serveur (telnetd) comme si l’utilisateur avait spécifié une adresse IP : telnet

193.148.37.201

DNS

Principe

(9)

Playe

client Telnet

$ telnet m1.centralweb.fr

serveur DNS

serveur DNS

serveur DNS

DNS

Demande de résolution

m1.centralwebfr ????

Réponse 193.148.37.201

serveur Telnetd

193.148.37.201

DNS

Principe : illustration

(10)

Chaque unité de donnée dans la base DNS est indexée par un nom

Les noms constituent un chemin dans un arbre inversé appelé l’espace Nom de domaine

Organisation similaire à un système de gestion de fichiers

• Chaque noeud est identifié par un nom

L’espace Nom de domaine

DNS

(11)

Playe

Un nom de domaine est la séquence de labels depuis le noeud de l’arbre correspondant jusqu’à la racine

M1.centralweb.fr fr

centralweb .

m1

Deux noeuds fils ne peuvent avoir le même nom ==>

unicité d’un nom de domaine au niveau mondial Les noms de domaine

DNS

(12)

Un domaine est un sous-arbre de l’espace nom de domaine

Domaine complet Domaine fr

Domaine centralweb fr

inria centralweb

m1 noeud m1.centralweb.fr

Des noeuds peuvent avoir les mêmes noms dans des

domaines différents : Le domaine

DNS

(13)

Playe

 Un domaine est un sous-arbre de l’espace Nom de domaine

 Un domaine est constitué de noms de domaine et d’ autres domaines

 Un domaine intérieur à un autre domaine est appelé un sous domaine

 Exemple : le domaine fr comprend le noeud fr et tous les noeuds contenus dans tous les sous-domaines de fr

Concepts, résumé et extension

DNS

(14)

 Un nom de domaine est un index dans la base DNS; exemple :

m1.centralweb.fr pointe vers une adresse IP

centralweb.fr pointe vers des informations de routage de mail et éventuellement des informations de sous-domaines

fr pointe vers des informations structurelles de sous-domaines

 Les machines sont reliées entre elles dans un même domaine logiquement et non par adressage. Exemple : 10 machines d’un même domaine appartiennent à 10 réseaux différents et Concepts, résumé et extension

DNS

(15)

Playe

 Le premier niveau de l’espace DNS fait exception à la règle :

 7 domaines racines prédéfinis :

 com : organisations commerciales ; ibm.com

 edu : organisations concernant l’éducation ; mit.edu

 gov : organisations gouvernementales ; nsf.gov

 mil : organisations militaires ; army.mil

 net : organisations réseau Internet ; worldnet.net

 org : organisations non commerciales ; eff.org

 int : organisations internationales ; nato.int

 arpa : domaine réservé à la résolution de nom inversée

 organisations nationales : fr, uk, de, it, us, au, ca, se, etc.

Domaines racine

DNS

(16)

 Le système DNS impose peu de règles de nommage :

 noms < 63 caractères

 majuscules et minuscules non significatives

 pas de signification imposée pour les labels Domaines racine

DNS

(17)

Playe

 Nouveaux domaines racine en cours de normalisation:

 firm, store, web, arts, rec, info, nom

 Certaines organisations nationales peuvent être gérées administrativement par un consortium : RIPE

 Les divisions en sous-domaines existent dans certains pays et pas dans d’autres :

 edu.au, com.au, etc.

 co.uk, ac.uk, etc.

 ca.ab, ca.on, ca.gb

 pas de division du .fr Domaines racine

DNS

(18)

vers le plus significatif

A l’inverse de l’adressage IP la partie la plus significative si situe à gauche de la syntaxe :

sun2.ethernet1.centralweb.fr 193.148.37.201

vers le plus significatif

sun2. ethernet1. centralweb.fr

domaine français (.fr)

domaine de l’organisation CentralWeb sous-domaine CentralWeb

Lecture des noms de domaine

DNS

(19)

Playe

Le système DNS est entièrement distribué au niveau planétaire

; Le mécanisme sous-jacent est la délégation de domaine

A tout domaine est associé une responsabilité administrative

Une organisation responsable d’un domaine peut

découper le domaine en sous-domaines

déléguer les sous-domaines à d’autres organisations :

qui deviennent à leur tour responsables du (des) sous- domaine(s) qui leurs sont délégué(s)

peuvent, à leur tour, déléguer des sous-domaines des sous-domaines qu’elles gèrent

Délégation

DNS

(20)

 Le domaine parent contient alors seulement un pointeur vers le sous-domaine délégué; exemple :

 centralweb.fr est délégué à l’organisation CentralWeb

 La société CentralWeb gère donc les données propres à ce domaine.

centralweb.fr (en théorie seulement) pourrait être géré par l’organisation responsable du domaine .fr (NIC France) qui gèrerait alors les données de centralweb.fr

Délégation

DNS

(21)

F. Playe

Les logiciels qui gèrent les données de l’espace nom de domaine sont appelés des serveurs de nom (name servers)

Les serveurs de nom enregistrent les données propres à une partie de l’espace nom de domaine dans une zone.

Le serveur de nom à autorité administrative sur cette zone.

Un serveur de nom peut avoir autorité sur plusieurs zone.

Une zone contient les informations d’un domaine sauf celles qui sont déléguées.

fr bc ab

c a

on q

b domaine

zone

Les serveurs de noms

DNS

(22)

 Serveur de nom primaire : maintient la base de données de la zone dont il a l’autorité administrative

 Serveur de nom secondaire : obtient les données de la

zone via un autre serveur de nom qui a également l’autorité administrative

 interroge périodiquement le serveur de nom primaire et met à jour les données

 Il y a un serveur primaire et généralement plusieurs secondaires

 La redondance permet la défaillance éventuelle du primaire et du (des) secondaire(s)

 Un serveur de nom peut être primaire pour une (des)

DNS

Types de serveurs de nom

(23)

Playe

 Les «resolvers» sont les processus clients qui contactent les serveurs de nom

 Fonctionnement :

 contacte un name serveur (dont l’ (les) adresse(s) est (sont) configurées sur la machine exécutant ce resolver)

 interprète les réponses

 retourne l’information au logiciel appelant

 gestion de cache (dépend de la mise en œuvre) Resolver

DNS

(24)

 Le serveur de nom interroge également d’autres serveurs de nom, lorsqu’il n’a pas autorité sur la zone requise

(fonctionnement itératif ou récursif)

 Si le serveur de nom est en dehors du domaine requis, il peut être amené à contacter un serveur racine ( ne pas confondre avec un domaine racine)

Resolver

DNS

(25)

F. Playe

Les serveurs racine connaissent les serveurs de nom ayant autorité sur tous les domaines racine

Les serveurs racine connaissent au moins les serveurs de noms pouvant résoudre le premier niveau (.com, .edu, .fr, etc.)

Pierre angulaire du système DNS : si les serveurs racine sont inoperationnels ==> plus de communication sur l’Internet

==> multiplicité des serveurs racines

actuellement jusqu’à 14 éparpillés sur la planète

chaque serveur racine reçoit environ 100000 requêtes / heure

Exemple de résolution : m1.centralweb.fr à partir de ....edu

resolver

Ns ....edu

ROOT

NS fr NS centralweb

NS

m1.centralweb.fr m1.centralweb.fr m1.centralweb.fr

m1.centralweb.fr

.fr NS centralweb.fr NS 193.48.184.201

193.148.37.201

Serveurs racine

DNS

(26)

DNS

(27)

Playe

 Consiste a obtenir le nom de domaine à partir de l’adresse IP

 pour faciliter la compréhension des humains

 pour des raisons de sécurité

 Plus délicate que nom -> IP car le système DNS est organisé pour la résolution de nom ==> recherche exhaustive ???

DNS

Resolution inverse

(28)

 Solution : utiliser les adresses comme des noms :

 le domaine in-addr.arpa

 les noms des noeuds correspondent aux octets de l’adresse IP en ordre inverse

 le domaine in-addr.arpa a 256 sous-domaines,

 chacun de ces sous-domaines a 256 sous-domaines,

 chacun de ces sous-domaines a, à son tour, 256 sous-domaines,

 le 4ème niveau correspond à un NS connaissant le nom de domaine associé à cette adresse IP

Exemple du DNS

Resolution inverse

(29)

Playe

.

arpa in-addr

0 193 255

255

0 148

255

0 37

255

0 201

m1.centralweb.fr

DNS

Resolution inverse

(30)

 le nom de domaine associé à la résolution inverse est noté selon l’adresse IP inversée :

 car la résolution d’un nom de domaine se fait de droite à gauche

 exemple : 210.37.148.193.in-addr.arpa

DNS

Resolution inverse

(31)

Playe

résolution :

in-addr.arpa -> A.ROOT-SERVER.NET

193.in-addr.arpa -> NS.RIPE.NET

148. 193.in-addr.arpa -> NS.RIPE.NET

37.148. 193.in-addr.arpa -> first.tvt.fr

Organismes gérant les classes

Classe A et B -> internic US.

Classe C

192 : internic

193, 194, 195 RIPE avec délégations nationales

DNS

Resolution inverse

(32)

 Les données d’un serveur DNS sont enregistrées dans une base identifiée par les noms de domaine correspondants;

exemple :

 db. centralweb.fr, centralweb.fr.dns

 db.193.148.37, 193.148.37.dns

 db.127.0.0, 127.0.0.dns

 db.cache, cache.dns

DNS

Enregistrements d’un serveur de nom

(33)

Playe

 Types d’enregistrements

 SOA: décrit l’autorité administrative,

 NS : liste de serveurs de nom pour ce domaine

 A : correspondance nom -> adresse

 PTR : correspondance adresse -> nom

 CNAME : alias

 TXT : texte

 HINFO : description machine

DNS

Enregistrements d’un serveur de nom

(34)

SOA = Start of Authority

Spécifie que ce serveur de nom a autorité sur le domaine

;

; Database file centralweb.fr.dns for centralweb.fr zone.

;

@ IN SOA ns.centralweb.fr.

fplaye.centralweb.fr. ( 64 ; serial number

3600 ; refresh 600 ; retry 86400 ; expire

3600 ) ; minimum TTL

DNS

Enregistrement : SOA

(35)

Playe

 spécifie les serveurs de nom ayant autorité sur ce domaine

;

; Zone NS records

;

centralweb.fr IN NS ns.

@ IN NS 194.172.2.2

@ IN NS ntserver.

DNS

Enregistrement : NS

(36)

hub3_ouest IN A 193.148.20.16 hub5_ouest IN A 193.148.20.17 intranet IN A 193.148.80.2 ism IN A 193.148.20.15 labo-reseau IN A 193.148.80.3 MODEM1 IN A 193.148.80.4 MODEM2 IN A 193.148.80.5 NETBUILDER_SUN IN A 193.148.20.1 next IN A 193.48.184.3 Ntserv IN A 193.148.60.2 ROUTEUR_MDT IN A 193.48.184.250 sunserv IN A 193.148.20.2 sunstation1 IN A 193.148.20.3

canonical names

A pour ipV4 AAAA ipV6

DNS

Enregistrements : Adresses

(37)

Playe

ftp IN CNAME intranet gopher IN CNAME intranet mail IN CNAME intranet www IN CNAME intranet

aliases of canonical names

DNS

Enregistrements : Alias

(38)

10.20.148.193.in-addr IN PTR sunstation8.centralweb.fr.

11.20.148.193.in-addr IN PTR sunstation9.centralweb.fr.

12.20.148.193.in-addr IN PTR sunstation10.centralweb.fr.

13.20.148.193.in-addr IN PTR ultra1.centralweb.fr.

14.20.148.193.in-addr IN PTR suntx1.centralweb.fr.

2.20.148.193.in-addr IN PTR sunserv.centralweb.fr.

3.20.148.193.in-addr IN PTR sunstation1.centralweb.fr.

4.20.148.193.in-addr IN PTR sunstation2.centralweb.fr.

2.80.148.193.in-addr IN PTR intranet.centralweb.fr.

3.80.148.193.in-addr IN PTR labo-reseau.centralweb.fr.

4.80.148.193.in-addr IN PTR MODEM1.centralweb.fr.

5.80.148.193.in-addr IN PTR MODEM2.centralweb.fr.

Canonical names

DNS

Enregistrements : PTR

(39)

Playe

 MX = Mail eXchanger

 Permet l’adressage Email sur la base du nom de domaine plutot que sur l’adresse du (des) serveur(s) de mail :

[email protected] plutot que [email protected]

 permet à l’émetteur d’ignorer la machine serveur de mail

 permet le deplacement du serveur de mail vers une autre machine

 permet la gestion de plusieurs serveurs de mail avec priorité dans l’ordre de consultation des serveurs

DNS

Enregistrements : MX

(40)

 L’enregistrement MX est consulté par les mailers (SMTP client)

 Tient compte des priorités; exemple

 centralweb.fr IN MX 8 sun1.centralweb.fr

 centralweb.fr IN MX 99 next.centralweb.fr

DNS

Enregistrements : MX

(41)

F. Playe

Cache file:

. IN NS A.ROOT-SERVERS.NET.

A.ROOT-SERVERS.NET. IN A 198.41.0.4 . IN NS B.ROOT-SERVERS.NET.

B.ROOT-SERVERS.NET. IN A 128.9.0.107 . IN NS C.ROOT-SERVERS.NET.

C.ROOT-SERVERS.NET. IN A 192.33.4.12 . IN NS D.ROOT-SERVERS.NET.

D.ROOT-SERVERS.NET. IN A 128.8.10.90 . IN NS E.ROOT-SERVERS.NET.

E.ROOT-SERVERS.NET. IN A 192.203.230.10 . IN NS F.ROOT-SERVERS.NET.

F.ROOT-SERVERS.NET. IN A 39.13.229.241 . IN NS G.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET. IN A 192.112.36.4 . IN NS H.ROOT-SERVERS.NET.

H.ROOT-SERVERS.NET. IN A 128.63.2.53 . IN NS I.ROOT-SERVERS.NET.

I.ROOT-SERVERS.NET. IN A 192.36.148.17

DNS

Données cachée : les serveurs racines

(42)

Une machine peut gérer plusieurs domaines (zones) sur un même serveur DNS; lorsque ces domaines sont associés à des adresses faisant déjà partie d’un autre domaine, ils sont dits virtuels.

exemple

DNS 193.148.37.2

domaine centralweb.fr

domaine dummy.fr

domaine bidon.fr

DNS

Domaines virtuels

(43)

Playe

 Utiliser un serveur de nom

 machine elle-même serveur de nom : 127.0.0.1

 machine non serveur de nom : spécfier un ou plusieurs serveur de nom : adresses IP

obligatoirement. éventuellement son domaine.

 sous UNIX : fichier /etc/resolv

 sous NT, W95 : administration TCP/IP

DNS

Utilisation du système DNS

(44)

 Administrer un serveur de nom

 plateformes UNIX, NT

 mémoire importante : mini 16/32 MB pour le service.

 impératif : ne pas swapper

 opérationnelle 24/24

 laisser passer le port 53 sur UDP et TCP

 Debugging : Nslookup

DNS

Utilisation du système DNS

(45)

 Exemples d'annuaires électroniques

 DNS

 /etc/passwd

 whois

 whois++

 NIS

 PH

 X.500

Annuaires LDAP

(46)

Qualité d'un bon annuaire

 Qualité des informations : sources fiables, mise à jour rapides

 Informations protégées

 Accessible par les applications

 Gestion en partie automatisée

 Rapide en lecture

 Fiable et disponible

Annuaires LDAP

(47)

Historique X500

 Projet ISO à vocation d'annuaire global et distribué

 racine d'un annuaire à réserver

 modèle de donnés objet

 ne s'appuie par sur TCP/IP

 Première version en 1988, grosse révision en 1993

 Pas d'essor : lourd, complexe...

Annuaires LDAP

(48)

Historique LDAP

 LDAP à l'origine un frontal à x500 sur TCP/IP

 Lightweight DAP

Directory Access Protocol de X.500

 Version 3 à ce jour

 v1 : RFC 1487 « X.500 Lightweight Directory Access Protocol. », juillet 1993

 v2 : RFC 1777, « Lightweight Directory Access Protocol. », mars 1995

 v3 : RFC 2251-2256, déc. 1997 ; RFC 2228-2830,

Annuaires LDAP

(49)

Serveur historique

 « standalone LDAP » en 1995 à l'université de Michigan

 Aura pour héritiers :

 OpenLDAP

 Serveur Netscape (?)

Annuaires LDAP

(50)

 LDAP définit

Un format et un protocole de communication

 Un modèle de données

 Un modèle de nommage

 Un modèle fonctionnel

 LDAP définit presque...

 Un modèle de sécurité

 Un modèle de réplication

Annuaires LDAP

(51)

 Données transportées en utilisant

 ASN.1

 BER (LBER)

 Protocole de communication client-serveur

 Une connexion permet de faire passer plusieurs requêtes

 Protocole de communication serveur-serveur

 « refferal » : renvoi sur un autre annuaire

Annuaires LDAP

(52)

 LDAP définit

 Un format et un protocole de communication

Un modèle de données

 Un modèle de nommage

 Un modèle fonctionnel

 LDAP définit presque...

 Un modèle de sécurité

 Un modèle de réplication

Annuaires LDAP

(53)

 Dans l'annuaire, des entrées

 Le modèle de données vise à définir la nature des entrées que l'on va trouver dans l'annuaire

 Les entrées :

 sont des objets

 appartiennent à des classes

 on les nomme : Directory Service Entry (DSE)

Annuaires LDAP

(54)

 Une classe

 est constituées d'attributs

obligatoires ou optionnels

 est typée

structurelle, auxiliaire ou abstraite

 s'inscrit dans un arbre d'héritage de classes

 LDAP définit des classes d'après X.500

 On peut en fabriquer de nouvelles !

Annuaires LDAP

(55)

Arbre d'héritage des classes des RFC 2256 et 2798

top

alias

country

locality

organization

organizationalUnit

person

organizationalPerson

inetOrgPerson

residentialPerson

organizational role

groupOfName

...

Annuaires LDAP

(56)

 Exemple de classe

 inetorgPerson

( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson'

SUP organizationalPerson STRUCTURAL

MAY (

audio $ businessCategory $ carLicense $ departmentNumber $

displayName $ employeeNumber $ employeeType $ givenName $

homePhone $ homePostalAddress $ initials $ jpegPhoto

$ labeledURI $ mail $ manager $ mobile $ o $ pager $ photo $ roomNumber $ secretary $ uid $

userCertificate $

x500uniqueIdentifier $ preferredLanguage $ userSMIMECertificate $ userPKCS12

Annuaires LDAP

(57)

Type d'attribut

 Pour définir un type d'attribut, il nous faut :

 décider s'il est mono ou multi-valué

 lui donner une syntaxe prédéfinie

 le munir de règles de comparaison

 éventuellement le faire hériter d'un autre type d'attribut

 Deux familles d'attributs

 attributs utilisateurs

 attributs opérationnels

Annuaires LDAP

(58)

Exemple

 attributetype ( 1.3.6.1.4.1.12274.1.1.1.5 NAME 'aglnDate'

DESC 'Date AGALAN format YYYYMMDDHHMMSSZ ou YYYYMMDDZ'

EQUALITY generalizedTimeMatch

ORDERING generalizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )

 attributetype ( 1.3.6.1.4.1.12274.1.1.1.6 NAME 'aglnAdmissionDate'

DESC 'Date de declaration de l entree' SUP aglnDate

Annuaires LDAP

(59)

OID

 Tous ces objets (classes attributs, syntaxes...) sont identifiés de façon unique par un OID (« Object

Identifier ») géré par l'IANA

 On peut réserver un numéro dans une branche particulière

 http://www.iana.org/assignments/enterprise-numbers

 Exemple

1.3.6.1.4.1.7140

INPG, Institut National Polytechnique de Grenoble

Annuaires LDAP

(60)

Schéma

 L'ensemble de ces objets constituent le schéma que connaît le serveur :

Classes

Types d'attribut

Syntaxes

etc.

Annuaires LDAP

(61)

Annuaires LDAP

Exemple d'entrée

uid=neigeb,ou=people,ou=inpg,dc=agalan,dc=org objectClass: top

objectClass: person

objectClass: organizationalPerson objectClass: inetOrgPerson

objectClass: aglnPerson objectClass: shadowAccount objectClass: posixAccount givenName: Blanche

sn: Neige

aglnPatronymicName: Neige cn: Blanche Neige

aglnSearchCommonName: Blanche.Neige aglnDateOfBirth: 193712210000Z

ou: INPG

aglnOrganizationUid: harp-002 employeeType: P

aglnAdmissionDate: 200211150000Z aglnExpiryDate: 200212310000Z aglnPersonStatus: OFFI

aglnAuthenticationDate: 200211150000Z userPassword:: ...

aglnPassword: ...

aglnMailStatus: normal uid: neigeb

homeDirectory: neigeb uidNumber: 270838 gidNumber: 270838

mail: [email protected]

(62)

 LDAP définit

 Un format et un protocole de communication

 Un modèle de données

Un modèle de nommage

 Un modèle fonctionnel

 LDAP définit presque...

 Un modèle de sécurité

 Un modèle de réplication

Annuaires LDAP

(63)

Modèle de nommage

 Ranger les entrées dans une structure hiérarchique

 Directory Information Tree (DIT)

 Les nommer de façon distincte

 RDN

 DN

Annuaires LDAP

(64)

Directory Information Tree

Dc=agalan,dc=org

Ou=

upmf

Ou=

machines Ou=

connecteurs

Uid=

kassovim Uid=

tautoua cn=

hmg-1A Ou=

people Ou=

groups Ou=

inpg Ou=

ujf

esisar-3A-cn=

Ou=

...

 Présence d'un suffixe

(« Base DN »)

 Les nœuds sont des objets

Annuaires LDAP

(65)

RDN & DN

 RDN (Relative Distinguished Name)

[email protected], uid=tautoua, etc.

 Attention : la valeur de l'attribut utilisé au RDN et le RDN lui-même ne sont pas synchronisés

 DN (Distinguished Name)

 RDN + chemin dans l'arborescence en remontant

 attribut du RDN à choisir pour que tout DN soit unique (Penser aux déplacements éventuels dans le DIT !)

 uid=tautoua,ou=people,ou=inpg,dc=agalan,dc=org

Annuaires LDAP

(66)

Deux objets particuliers

 objet « alias »

 pointeur sur une autre entrée (DN)

 objet « referral »

 pointe sur un autre serveur (URL LDAP)

Annuaires LDAP

(67)

 LDAP définit

 Un format et un protocole de communication

 Un modèle de données

 Un modèle de nommage

Un modèle fonctionnel

 LDAP définit presque...

 Un modèle de sécurité

 Un modèle de réplication

Annuaires LDAP

(68)

Modèle fonctionnel

 Définit les opérations que l'on peut effectuer sur l'annuaire :

 Connexion au serveur

 Déconnexion du serveur

 Recherche d'entrées

 Modification d'une entrée

 Abandon des opérations en cours

 « Extended Operations »

 « Control extensions »

Annuaires LDAP

(69)

Opérations

 Connexion au serveur (« bind »)

 Paramètres de connexion :

Version de LDAP demandé (v2, v3)

DN sous lequel on veut se connecter

Type d'authentification

 Déconnexion du serveur (« unbind »)

Annuaires LDAP

(70)

Opérations

Recherche d'entrées

Paramètres de recherche

base object (DN)

scope

derefAliases

sizeLimit

timeLimit

typesOnly

filter

Annuaires LDAP

(71)

« Scope » de recherche

Dc=agalan,dc=org

Ou=

upmf

Ou=

machines Ou=

connecteurs

Uid=

kassovim Uid=

tautoua cn=

hmg-1A Ou=

people Ou=

groups Ou=

inpg Ou=

ujf

cn=

esisar-3A- TP-GÉlec-02

Ou=

...

Scope = base

Annuaires LDAP

(72)

« Scope » de recherche

Scope = onelevel

Dc=agalan,dc=org

Ou=

upmf

Ou=

machines Ou=

connecteurs

Uid=

kassovim Uid=

tautoua cn=

hmg-1A Ou=

people Ou=

groups Ou=

inpg Ou=

ujf

cn=

esisar-3A- Ou=

...

Annuaires LDAP

(73)

« Scope » de recherche

Scope = sub

Dc=agalan,dc=org

Ou=

upmf

Ou=

machines Ou=

connecteurs

Uid=

kassovim Uid=

tautoua cn=

hmg-1A Ou=

people Ou=

groups Ou=

inpg Ou=

ujf

cn=

esisar-3A- TP-GÉlec-02

Ou=

...

Annuaires LDAP

(74)

Filtres de recherche

 Type de recherche d'entrées :

 égalité, sous-chaîne, approximation, plus grand/petit ou égal, présence...

 Opérateurs de combinaison des filtres

 &, |, !

 Exemple

(&(sn=Neige)(mail=*grenet*))

 Ne pas oublier de positionner des index !

Annuaires LDAP

(75)

Opérations

Recherche particulière : informations sur le serveur

filtre « (objectClass=*) », DN null

Informations récupérées :

namingContexts

subschemaSubentry

altServer

supportedExtension

supportedControl

supportedSASLMechanisms

supportedLDAPVersion

Annuaires LDAP

(76)

Opérations

Modification d'une entrée

Paramètres de la modification

Object à modifier (DN)

Liste d'opérations sur les attributs

• type d'opération

• ajout

• suppression

• remplacement

• type d'attribut

Annuaires LDAP

(77)

Opérations

 Ajout d'une entrée

 Paramètres de l'ajout :

DN souhaité pour l'entrée

Liste d'attributs et de leurs valeurs

 Suppression d'une entrée

 Seul paramètre : le DN de l'entrée à supprimer

 Ne supprime que les feuilles du DIT

Annuaires LDAP

(78)

Opérations

 Modification du DN d'une entrée

 Déplacement de l'entrée dans le DIT

 N'est pas faite pour le déplacement entre serveurs

 Comparaison

 Paramètres de la comparaison :

 Entrée à comparer (DN)

 Liste d'atributs avec leurs valeurs

 OK si les attributs sont de valeurs comparables

Annuaires LDAP

(79)

Opérations

 Abandon

 Il s'agit d'abandonner les opérations en cours

 « Extended Operations »

 Permettent des opérations prévues ou non dans les RFC

 Chaque opération doit être enregistrée sous un OID

 Exemple :

TLS avec opération « start TLS »

Annuaires LDAP

(80)

 LDAP définit

 Un format et un protocole de communication

 Un modèle de données

 Un modèle de nommage

 Un modèle fonctionnel

 LDAP définit presque...

Un modèle de sécurité

 Un modèle de réplication

Annuaires LDAP

(81)

Modèle de sécurité

 Authentification & chiffrement des transactions

 Authentification lors de la connexion au serveur

 Types de connexion

 Anonyme

 rootDN (mode administrateur)

 DN + mot de passe en clair

 Mot de passe ou certificats (clefs asymétriques) sur SSL/TLS

• via opération étendues

 Mécanisme externe via SASL

Annuaires LDAP

(82)

ACL

 ACL pas définies par le protocole

 Peut différer d'un serveur à l'autre

 Forme générale (finesse attribut) :

<access directive> ::= access to <what>

[by <who> <access> <control>]+

 RFC 2820 « Access Control Requirements for LDAP. », mai 2000

 statut INFORMATIONAL seulement

Annuaires LDAP

(83)

 Exemples simples :

 access to * by * read

 access to * by self write

by anonymous auth by * read

by * read

Annuaires LDAP

(84)

 LDAP définit

 Un format et un protocole de communication

 Un modèle de données

 Un modèle de nommage

 Un modèle fonctionnel

 LDAP définit presque...

 Un modèle de sécurité

Un modèle de réplication

Annuaires LDAP

(85)

Modèle de réplication

 Pas de standard...

 Groupe de travail IETF LDUP

 Pour répliquer l'annuaire entier ou une branche du DIT seulement

 Réplication au fil de l'eau ou non

 Selon serveurs, réplication

 single master

 multiple master

 cascading replication

Annuaires LDAP

(86)

LDIF

LDAP Data Interchange Format (RFC2849)

Représentation ASCII & Base64 des entrées

Mode import

#comment

dn: <distinguished name>

attribute type:<attribute value ASCII>

attribute type::<attribute value BASE64>

Mode modification

dn: <DN>

changetype identifier (opération sur l'entrée)

change operation identifier (opération sur attributs) list of attributes

-change operation identifier

Annuaires LDAP

(87)

LDIF : exemple

# Bjorn's Entry

dn: cn=Bjorn J Jensen, dc=example, dc=com cn: Bjorn J Jensen

cn: Bjorn Jensen

objectClass: person sn: Jensen

# Base64 encoded JPEG photo jpegPhoto:: /

9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD

A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdAS FxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESE hgVG

Annuaires LDAP

(88)

# Modify an entry: add an additional value to the postaladdress

# attribute, completely delete the description attribute,

# replace the telephonenumber attribute with two values,

# and delete a specific value from the facsimiletelephonenumber

# attribute

#dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com changetype: modify

add: postaladdress

postaladdress: 123 Anystreet $ Sunnyvale, CA $ 94086 -delete: description

-

replace: telephonenumber

telephonenumber: +1 408 555 1234 telephonenumber: +1 408 555 5678 -

delete: facsimiletelephonenumber

facsimiletelephonenumber: +1 408 555 9876

Annuaires LDAP

LDIF : exemple

(89)

Serveurs

 eDirectory

 iPlanet

 OpenLDAP

 ...

Annuaires LDAP

(90)

Avec tout ces éléments...

 Quels choix effectuer ?

 Quel schéma ?

Utiliser les classes existantes comme bases pour en créer de nouvelles

 Quel DIT ?

Le plus plat possible selon RFC 1617

 ...

 Garder à l'esprit que les choix techniques ne résolvent pas

Annuaires LDAP

(91)

Quatre architectures I) Client/Serveur

Peer to peer

1. Requête au serveur

2. Envoi du fichier

musical de la part

du serveur

(92)

II) Modèle hybride centralisé (à la Napster)

Peer to peer

1.Connexion au serveur  envoie de la base de

registre

2.Envoi d’une requête au serveur

3.Réponse sous forme de liste de clients possédant le fichier

4.Requête et

téléchargement du fichier depuis un client

Tour

2 1

1 1

1

3

4

4 ? C

B

A

D

(93)

III) Modèle hybride décentralisé (à la eDonkey)

Peer to peer

1. Connexion au serveur pour envoyer de la base de registre 2. a) Nouveau serveur

b) Validation

c) Mise à jour des clients

3. Connexion au nouveau serveur 4. Requête au nouveau serveur et

sa réponse

5. Téléchargement

4a4b 2b 5

B D

A C

1 3

1

Tour

X

Tour

Y 3

1 1

2a

5

2c 2c

2b

2c

(94)

Le voisinage

Peer to peer

Connexion entre serveurs Connexion à un serveur

Client Serveur

« Zone autour d’une  machine (client ou  serveur) dont la distance 

informatique est la plus  petite possible »

Exemple ci-contre:

- Trois voisinages autour d’un serveur

(95)

IV) Modèle Peer-to-Peer pur (Gnutella)

Peer to peer

1. Envoi de requête sous forme de broadcast

2. Réponse en remontant le long du chemin

3. Téléchargement

1 2

1

2

3

3

?

?

OK

OK

E C

B

A D

1 ?

(96)

Peer to peer

Définition d’une clique

« Une clique est un ensemble d’ordinateurs

connectés directement entre eux ne

nécessitant aucun serveur »

Exemple ci-contre:

Une clique parfaite à huit

(97)

Peer to peer

!

Nouveau concept: super-peer

!

Exemple: Morpheus

(98)

Peer to peer

Avantages Inconvénients

a) Hybride centralisé

b) Hybride décentralisé

c) Peer-to-Peer pur

Index centralisé Utilisateurs inscrits

Un point d’entrée Obsolescence Index centralisé Sous-réseau touché

Obsolescence Toujours un point

d’entrée

Scalabilité remise en question…

Recherches inarrêtables

« Justice safe »

Recherches lentes

(99)

Peer to peer

Quelques acteurs majeurs a) Gnutella (4. File-Sharing)

TTL=7-1

TTL=6-1

TTL=5-1

Jusqu'à TTL = 0

Naissance: mars 2000

Mort: car jugé sans intérêt

But: échanger des recettes de cuisine

Re-naissance: par « reverse engineering » Nouveau but: TOUT échanger

Nouveau statut: devient un protocole Architecture: P2P pur utilisant un TTL

(100)

Peer to peer

Avantages, inconvénients et répercussions

 Impossible à arrêter juridiquement

 Glissement de la problématique

 Nouvelles « victimes »

 Problèmes de sécurité

Stopper ?

 « Eteindre » Internet

 Bloquer le protocole ?

 Virus envers les applications Gnutella ?

(101)

But: monter un communauté de petit appareils sans forme de

planification, d’installation ou d’intervention humaine

Particularités: Mobilité totale

(changement de voisinage aisé), portabilité, sécurité.

Trois protocoles: dicovery, join-in et lookup

Peer to peer

b) Jini (3.1 Devices as Peers)

(102)

Peer to peer

c) Entropia (1. Distributed Computation)

Idée: utiliser le temps de calcul inutilisé des PCs (95%)

Principe: fractionnement du travail en sous-travaux distribués par un serveur aux clients qui en font la demande

Argument de vente: plein retour sur investissements en infrastructures IT

Projets: de type humanitaires, mais cachent ceux commerciaux

Pas un problème nouveau: cf. architectures parallèles et massivement parallèles

Justification P2P: perte du contrôle du périmètre de travail

(103)

Pause-réflexion

Avez-vous des questions ?

(104)

Services Services DNS DNS

LDAP LDAP P2P P2P

Résumé du module

Protocoles

Protocoles

(105)

Vous avez suivi avec succès le module de cours n°5 - annexes

Protocoles et services

(106)

Fin

Références

Documents relatifs

Les serveurs racine connaissent au moins les serveurs de noms pouvant résoudre le premier niveau (.com, .edu, .ma, etc.).. Si les serveurs racine sont inoperationnels plus

) Les machines sont reliées entre elles dans un même domaine logiquement et non par adressage. Exemple : 10 machines d’un même domaine appartiennent à 10 réseaux différents

Ainsi, pour tromper un serveur de nom, on peut envoyer une requˆete qui contient une r´eponse : la r´eponse sera alors mise dans la m´emoire cache du DNS, ce qui induira le serveur

Comme EGP, BGP échangent des informations entre systèmes autonomes mais BGP peut fournir plus d’informations pour chaque route et peut utiliser ces informations

Nous allons essayer maintenant de faire une résolution de DNS pour savoir si notre serveur fonctionne, faite un clique droit sur le nom du serveur à gauche comme ci-dessous,

Il faudra seulement rajouter une route vers le

All other file paths (working dir, logfile, roothints, and key files) can be specified in several ways: as an absolute path relative to the new root, as a relative path to the

Normalement, si vous avez fait l'installation avec apt, un script de démarrage aura été placé dans /etc/init.d et vous pourrez facilement relancer tinydns comme d'habitude sous