1/161 Administration Système Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny cedex Tél. : 33 1.48.38.73.07, Fax. : 33 1.48.38.73.55 thierry.hamon@univ-paris13.fr http://www-limbio.smbh.univ-paris13.fr/membres/hamon/ ADSYS
2/161 Switching Hub Ethernet Switch Ether 10/100 12345678 100 101236 125080 1 0 Quatrième partie Services orientés administration Configuration/installation d une station de travail COL! Power Intégration dans un réseau informatique Configuration/installation d un réseau informatique Configuration réseau d une station de travail Services orientés utilisateurs Sécurité Services orientés adminstration réseau
3/161 Services orientés administration Serveur de nom du domaine : DNS Annaires : NIS, NIS+, LDAP Autres services : DHCP, Serveur de temps (NTP)
4/161 Annuaires Problème de l administration système : assurer la consistance des fichiers de base du système Solution : centraliser les informations Utiliser une structure client/serveur Serveur : centralise les informations Client : ne possède aucune donnée localement (ou un minimum) et demande les informations au serveur Utilisation de services (non exclusifs) tels que DNS, NIS, NIS+
5/161 Serveur de nom (DNS) (1) DNS Domain Name Serveur ou BIND Berkeley Internet Domain Gestion de machines nommées dans un espace de nom (domaine, zone) (FQDN Fully Qualified Domain Name) Et résolution des adresses IP RFC 1032, 133, 1034, 1035 Implémenté sur quasiment toutes les plates-formes
6/161 Serveur de nom (DNS) (2) DNS Structure hiérarchique permettant une grande souplesse d administration Zone : ensemble de machines clientes de cette zone serveurs de cette zone, clients d une autre zone Principe de référence identique à celui d UNIX
7/161 Extrait de la hiérarchie DNS..edu.com.fr univ paris13 loria jussieu iutv ig edu biomath painleve nantes armen glénant
8/161 Service DNS (1) DNS Correspondance entre les adresses IP et le nom des machines d une zone Le serveur DNS possède tous les renseigenements sur la zone peut faire autorité (serveur primaire) délègue l autorité sur les zones de niveau inférieur
9/161 Service DNS (2) DNS Organisation hiérarchique suivant deux critères : Par secteur d activité (uniquement aux Etat-Unis) : nom de domaine sur 3 lettres Par pays : 2 lettres Domaines particuliers. : la racine de l arbre toplevels domains : domaine juste sous la racine Domaines de plus haut niveau dans chaque pays du monde, les prestataires de connexion, les universités (cf. norme ISO 3166)
10/161 Types de serveurs DNS (1) DNS serveur primaire : Contient la liste des correspondances entre les adresses IP et les noms de machines Les mises à jour doivent être effectuées sur le primaire serveur secondaire : Contient une copie de la base du serveur primaire Mise à jour automatique assurée par le serveur primaire Evite la surcharge du serveur primaire
11/161 Types de serveurs DNS (2) DNS serveur cache : Stocke en mémoire principale une partie de la liste Les serveurs primaires et secondaires sont des serveurs caches autres serveurs : forwarding server, stealth server
12/161 Installation d un serveur DNS Lancement du service : démon named Fichier de configuration : /etc/named.conf Informations : Type de serveur (primaire ou secondaire) Répertoire de travail où sont stockés les fichiers (correspondances IP/Nom, ) Nom du fichier contenant les 7 zones racines pour le serveur primaire, nom du fichier contenant la zone primaire et la zone primaire inverse
13/161 Fichier de configuration (1) DNS options { directory "/var/named"; forward first; forwarders { 194.254.164.6; 192.33.182.2; }; }; zone "." IN { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "pz/127.0.0"; notify no; allow-update { none; }; };
14/161 Fichier de configuration (2) DNS zone "ig-edu.univ-paris13.fr" { type master; notify no; file "pz/ig-edu.univ-paris13.fr"; }; zone "0.168.192.in-addr.arpa" { type master; notify no; file "pz/192.168.0"; };
15/161 Fichier de la zone racine DNS A reconstruire régulièrement avec la commande dig. 6D IN NS M.ROOT-SERVERS.NET.. 6D IN NS I.ROOT-SERVERS.NET.. 6D IN NS E.ROOT-SERVERS.NET.. 6D IN NS D.ROOT-SERVERS.NET.. 6D IN NS A.ROOT-SERVERS.NET.. 6D IN NS H.ROOT-SERVERS.NET.. 6D IN NS C.ROOT-SERVERS.NET.. 6D IN NS G.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90 A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53 C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4
16/161 Zone primaire (1) DNS Correspondance entre nom et adresse IP Définition : adresses en notation décimal (A) alias (CNAME) informations (HINFO) nom du DNS pour le domaine indiqué (NS) centre de tri de la messagerie MX etc.
17/161 Zone primaire (2) DNS $TTL 3D @ IN SOA ns.ig-edu.univ-paris13.fr. hostmaster.ig-edu.univ-paris13.fr. ( 199802151 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds ; NS ns ; Inet Address of name server MX 10 mail.ig-edu.univ-paris13.fr. ; Primary Mail Exchanger ; $ORIGIN ig-edu.univ-paris13.fr. localhost A 127.0.0.1 ns A 192.168.0.1 dns1.ig-edu.univ-paris13.fr. A 192.168.0.1
18/161 Zone primaire inverse DNS Correspondance inverse : entre adresse IP et nom $TTL 3D @ IN SOA ns.ig-edu.univ-paris13.fr. hostmaster.ig-edu.univ-paris13.fr. ( 199802151 ; Serial, todays date + todays serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.ig-edu.univ-paris13.fr. $ORIGIN 0.168.192.in-addr.arpa. 1 PTR ns.ig-edu.univ-paris13.fr.
19/161 Installation d un client (1) DNS Recherche de l association adresse IP / nom de machine sur un DNS Appelé aussi solveur (resolver) Fichier de configuration /etc/resolv.conf : Nom du domaine Mot-clé : domain
20/161 Installation d un client (2) DNS Liste ordonnée des serveurs DNS à interroger ; Mot-clé : nameserver Exemple : domain ig-edu.univ-paris13.fr nameserver 194.254.167.2 nameserver 194.254.167.10 Informations sur la manière d effectuer la résolution : /etc/host.conf order hosts, bind multi on
21/161 Interrogation d un DNS (1) DNS Commandes nslookup ou dig (Linux) Commandes avec nslookup : Affichage des informations sur une machine : nom de la machine Exemple : >nantes.ig-edu.univ-paris13.fr Default Server: ns.ig-edu.univ-paris13.fr Address: 192.168.0.1 Name: nantes.ig-edu.univ-paris13.fr Address: 194.254.167.1
22/161 Interrogation d un DNS (2) DNS définition du serveur DNS : server Exemple : server f0f.univparis13.fr définition du type de requêtes : set q=type de requête Recherche d un DNS sur un domaine : set q=ns puis domaine Exemple : set q=any puis ig-edu.univ-paris13.fr. Recherche d une information quelconque sur le DNS : set q=any Affichez les informations sur des machines d enseignement telles que nantes.
23/161 Fichier /etc/nsswitch.conf (1) DNS Définition de l ordre de résolution des services par les serveurs de nom Services : Définition des utilisateurs : passwd et shadow Définition des groupes : group Correspondance IP/Nom de machine Alias utilisateur pour la messagerie Autres données : services, networks, procotoles, rpc, etc.
24/161 Fichier /etc/nsswitch.conf (2) DNS Serveurs de nom : DNS (dns) NIS (nis) NIS+ (nisplus) Fichiers locaux (files) Bases locales db etc.
Fichier /etc/nsswitch.conf (3) Exemple standard : passwd: shadow: group: files nis nisplus files nis nisplus files nis nisplus DNS hosts: files nis dns nisplus bootparams: nisplus [NOTFOUND=return] files 25/161 #services: #networks: #protocols: #rpc: #ethers: #netmasks: ethers: netmasks: nisplus [NOTFOUND=return] files nisplus [NOTFOUND=return] files nisplus [NOTFOUND=return] files nisplus [NOTFOUND=return] files nisplus [NOTFOUND=return] files nisplus [NOTFOUND=return] files files files
26/161 NIS NIS Network Information Service Appelé à l origine Yellow Page (YP) Nom des commandes NIS : généralement préfixé par yp. Service d administration centralisée des principales bases de données système (passwd, gropup, hosts, networks, etc.) Implémentation par SUN dans les années 80 Portabilité de NIS : disponible sur PC, VMS et sur la plupart des systèmes UNIX
27/161 Fonctionnalités de NIS NIS Déploiement sur un réseau local Autour d un machine centrale : NIS Master Server Clients : Référence aux informations présentes sur un domaine NIS Initialisation en broadcast Limitations : Absence de hiérarchie Impossibilité de communiquer entre deux domaines NIS
28/161 Domaine NIS (1) NIS Organisation des machines autour d un domaine NIS Pas de hiérarchie possible Impossibilité de relier deux domaines NIS Nom : quelconque, pouvant être différent (souvent) du nom du domaine Défini dans le fichier defaultdomain ou dans des variables des fichiers de configuration rc* Exemple : Nom de domaine : ig-edu.univ-paris13.fr Nom du domaine NIS : enseignement.galilee
29/161 Domaine NIS (2) NIS Principes et règles de bases : Coexistance de plusieurs domaines portant des noms différents sur un réseau local Nom de domaine : définition du groupe de machines (groupe d information) auquel on veut se rattacher Appartenance d une machine à un seul domaine NIS Visualisation du nom de domaine NIS avec la commande domainname Un seul serveur maître NIS par domaine NIS Amélioration des performances sur un domaine NIS : le serveur maître NIS s appuie sur des serveurs esclaves NIS
30/161 Domaine NIS (3) NIS Serveur NIS Client NIS Client NIS Serveur Esclave NIS
31/161 Machines sur un réseau NIS NIS 3 types de machines sur un domaine NIS : Serveur maître NIS (NIS Master Server) Serveur esclave NIS (NIS Slave Server) Client NIS
32/161 Serveur maître NIS NIS Gestion des informations disponibles sur le domaine Utilisation des données locales (passwd, group, rpc, hosts, etc.) Transformation au format dbm (base de données indexée) utilisable par le démon serveur ypserv Fichier de configuration : ypserv.conf Tables : NIS Maps Gestion des tables (création, modification) uniquement par le serveur maître NIS
33/161 Tables NIS NIS Fichiers générés à partir des fichiers locaux Founit les informations gérées par NIS Format : base de données binaires (dbm) Deux champs : clé indexée et informations correspondantes (option et ressources) Fichier généré à partir de n importe quel fichier ASCII avec la commande makedbm Accélération des recherches en générant plusieurs fichiers de données en fonction de clés différentes
34/161 Organisation des tables NIS NIS Exemple : hosts hosts.byname : clé : nom de la machine donnée : adresse IP hosts.byadress : clé : adresse IP donnée : nom de la machine
35/161 Opérations sur le serveur maître NIS Création de la base NIS initiale à partir des fichiers source (locaux) Envoi d informations aux clients à l aide du démon ypserv Mise à jour des tables sur les serveurs esclaves avec yppush Transfert des tables avec le démon ypxfrd Modification de la table passwd avec le démon yppasswdd lors du changement de mot de passe de l utilisateur (passwd ou yppasswd, suivant les systèmes)
36/161 Serveur esclave NIS (1) NIS Résoudre le problème de la défaillance du serveur maître NIS Conseil : installation d un ou deux serveurs NIS esclaves par domaine Fonctionnalités du serveur esclave : Possession d une copie de la base du serveur maître envoi d informations aux clients avec le démon ypserv (rôle identique à celui sur le serveur maître) Aucune fonctionnalité de création ou de modification des tables NIS Possibilité de basculer un serveur esclave en serveur maître
37/161 Serveur esclave NIS (2) NIS Synchronisation des esclaves : Mise à jour des tables NIS par le serveur maître Envoi par le serveur maître avec yppush : synchronisation des données sur l ensemble du domaine Cas d un esclave arrêté lors de la synchronisation : demande d envoi des tables par le serveur maître lors du redémarrage yppush : transfert de l intégralité des tables Engendre une surchage temporaire du réseau Exemple : pour un réseau de 1000 utilisateurs, le changement d un mot de passe engendre la circulation de la table passwd contenant 1000 entrées
38/161 Client NIS NIS Envoi de requêtes vers les serveurs maîtres ou esclaves Tentative de connexion au serveur le plus proche (NIS binding) Liaison effectuée par broadcast Fonctionnalités : Exploitation des services de nom (/etc/nsswitch.conf) Dialogue avec les serveurs avec ypbind Fichier de configuration : /etc/yp.conf Identification du groupe de machines (Domaine NIS) auquel il appartient
39/161 Informations gérées par NIS NIS Gestion sous NIS de toute information ASCII Les tables NIS correspondent aux besoins de commandes et d appels systèmes Fichiers/Tables : passwd, group, hosts, aliases, services, rpc, protocols, netgroup, tables d automontage Stockage des tables dans le répertoire /var/yp En général, les fichiers ASCII sont différenciés des fichiers locaux, dans /etc/nis ou /etc/yp
40/161 Opérations sur les tables NIS NIS Génération des tables NIS A l aide d un Makefile dans /var/yp Lecture des fichiers ASCII se trouvant dans /etc/nis et transformation au format dbm (puis Propagation des tables aux serveurs esclaves avec yppush) Modification des tables NIS Sur le serveur maître Modification d un fichier source (dans /etc/nis) Mise à jour dans le répertoire /var/yp avec le fichier make
41/161 Commandes d information NIS NIS ypwitch : Indication du nom du serveur auquel est rattaché le client ypwhich -m : Indication du nom du serveur maître du domaine ypcat nom de la table : Affiche le contenu de la table ypcat -k nom de la table : Affiche le contenu de la table en fonction de sa clé ypcat -k ypservers : Affiche la liste de servers NIS du domaine ypmatch motif nom de la table : Effectue la recherche d une entrée dans une table (à préférer à grep)
42/161 Installation du NIS NIS 1 Modification du fichier /var/yp/makefile Définition des variables et des tables à exporter 2 Déclaration du serveur maître NIS La machine locale est considérée, par défaut, comme le serveur maître NIS /usr/lib/yp/ypinit -m (Installation des tables à exporter format DBM)
43/161 Exemple de création d une table NIS (1) NIS Table de correspondance IP Nom de machine Copie du fichier /etc/hosts Suppression des lignes inutiles Ajout des déclarations des autres machines du réseau 192.168.60.50 painleve 192.168.60.64 bourbaki 192.168.60.11 F205-1 192.168.60.12 F205-2 192.168.60.13 F205-3 (...)
44/161 Exemple de création d une table NIS (2) NIS Déplacement dans le répertoire /var/yp Mise à jour de la table avec make Mise à jour des fichiers : hosts.byname : hosts.byadress : Diffusion de la table NIS sur les serveurs esclaves
45/161 Visualisation d une table NIS NIS ypcat < Nomdelatable > Exemple : 192.168.60.50 painleve 192.168.60.64 bourbaki 192.168.60.11 F205-1 192.168.60.12 F205-2 192.168.60.13 F205-3 (...)
46/161 Exemple de modification d une table NIS NIS Ajout d un utilisateur : 1 Création d une entrée dans le fichier /etc/nis/passwd sur le serveur maître NIS 2 Déplacement dans le répertoire /var/yp 3 Mise à jour de la table avec make 4 Diffusion de la table NIS sur les serveurs esclaves
47/161 Mise en place d un domaine NIS NIS Tâche importante nécessitant une planification : Définition du nom de domaine Sélection des tables diffusées sur le domaine Mise en place du serveur maître Mise en place des serveurs esclaves Mise en place des clients
48/161 Mise en place d un serveur maître NIS (1) NIS 1 Identification du nom du domaine (domainname, defaultdomain) 2 Définition des serveurs esclaves NIS 3 Démarrage des processus liés au serveur (portmapper, /usr/sbin/ypserv, /usr/sbin/yppasswdd, /usr/sbin/rpc.yppasswdd) 4 Initialisation de la machine comme client NIS 5 Modification des fichiers de configuration du démarrage de la machine (/etc/init.d/, /etc/rc.inet2) 6 Définition de l ordre de recherche dans les services de nom (/etc/nsswitch.conf)
49/161 Mise en place d un serveur maître NIS (2) NIS Extrait du fichier nsswitch.conf passwd: shadow: group: hosts: files nis files nis files nis files nis dns
50/161 Mise en place d un serveur esclave NIS NIS 1 Identification du nom du domaine (domainname, defaultdomain) 2 Démarrage des processus liés au serveur (portmapper) 3 Initialisation de la machine comme client NIS 4 Initialisation de la machine comme serveur esclave (/usr/sbin/ypserv) 5 Modification des fichiers de configuration du démarrage de la machine (/etc/init.d/, /etc/rc.inet2 6 Définition de l ordre de recherche dans les services de nom (/etc/nsswitch.conf)
51/161 Mise en place d un client NIS (1) NIS Identification du nom du domaine (domainname, defaultdomain) Définition du type de recherche du serveur maître ou esclave (fichier /etc/yp.conf) Trois possibilités : domain domainnis-galilee server serveurnis # domain domainnis-galilee broadcast # ypserver serveurnis
52/161 Mise en place d un client NIS (1) (2) NIS Démarrage des processus liés au client (portmapper, ypbind) Initialisation de la machine comme client NIS Modification des fichiers de configuration du démarrage de la machine (/etc/init.d/, /etc/rc.inet2 Définition de l ordre de recherche dans les services de nom (/etc/nsswitch.conf)
53/161 Sécurité sous NIS NIS Connaissance du nom du serveur : suffisant pour être client NIS L interrogation d un serveur NIS ne suppose aucune action de la part du serveur Faille importante dans la sécurité Solution : Utilisation du fichier /var/yp/securenets # netmask netadress 255.255.255.0 192.168.0.0 Insuffisant si la machine possède une adresse IP du réseau Autre solution : NIS+
54/161 LDAP : introduction LDAP Lightweight Directory Access Protocol Protocole d annuaire sur TCP/IP Historique : A l origine, passerelle d accès aux annuaires X500 Adaptation du protocole DAP à TCP/IP Depuis 1995, annuaire natif grâce à une équipe de l Université du Michigan (logiciel U-M LDAP) Formart de type dbm Caractéristiques : Stockage d une grande quantité de données mais de faible volume Accès en lecture très rapide grâce au modèle hiérarchique
55/161 Concepts de LDAP (1) LDAP Annuaire standard et extensible fournissant : protocole (accès à l informations dans l annuaire) modèle d information (définition du type de données contenues dans l annuaire) modèle de nommage (définition de l organisation et du référencement de l information) modèle fonctionnel (définition de l accès à l information)
56/161 Concepts de LDAP (2) LDAP modèle de sécurité (définition de la protection des données et des accès) Mécanisme d authentification pour le client modèle de duplication (définition de la répartition de la base entre les serveurs) APIs (développement d applications clientes) LDIF (format d échange des données) Reprise du modèle X500 (service annuaire mondial comme le DNS) Mais espace de nommage local
57/161 Le protocole LDAP (1) LDAP Définition de la communication client-serveur Commandes fournies : connexion et déconnexion recherche, comparaison, création, modification et effacement des entrées Protections des transactions et de l accès aux données : Mécanismes de chiffrement (SSL ou TLS) Mécanismes d authentification (SASL) Mécanismes de règles d accès (ACL Access Control List)
58/161 Le protocole LDAP (2) LDAP Communication client-serveur : Normalisation par l IETF (version 3 de LDAP), RFC 2251 Egalement : protocole de communication serveur-serveur pour l échange et la synchronisation des contenus (replication service) la création de liens entre annuaires (referral service) Communication normalisée sous le nom LDAP Duplication Protocol (LDUP) Dialogue LDAP au format de codage Basic Encoding Rule (DER), et non l ASCII = Sécurisation de l accès aux informations stockés dans la base
59/161 Le protocole LDAP (2) LDAP Possibilité d avoir une seule connexion pour passer plusieurs requêtes Possibilité d extensions sans modification de la norme LDAP extended operations : ajout d opération en plus des 9 opérations de base LDAP control : Ajout de paramètres associés à un opération, modification du comportement Simple Authentification and Security Layer : couche supplémentaire Utilisation de méthodes d authentification externes
60/161 Une arborescence d information (DIT) (1) LDAP Directory Information Tree Représentation des informations gérées sous LDAP dans une arborescence : DIT Entrées : branche DSE (Directory Service Entry) correspond à un objet abstrait ou réel (utilisateur, paramètres, etc.) constituée de couples clés/valeurs (attributs)
61/161 Une arborescence d information (DIT) (2) LDAP (C) FR (O) univ paris13 jussieu (OU) iutv lipn ig edu ccr biomath (...) (CN) 180345930 th hamon 101098123
62/161 Modèle de nommage (1) LDAP Structuration des données dans une arborescence hiérarchique : Directory Information Tree Chaque nœud correspond à une entrée de l annuaire : Directory Service Entry Sommet de l arbre : racine ou suffixe Schéma : ensemble des définitions relatives aux objets gérés par le serveur LDAP. Description des classes, les types d attibuts et la syntaxe Entrées : objets abstraits ou concrets (personne, imprimante) Attribut : champs contenant des valeurs Entrée spéciale : root directory specific entry (rootdse), description de l arbre et du contenu
63/161 Modèle de nommage (2) LDAP Possibilité de contrôle des attributs d une entrée à l aide de l attribut spécial objectclass attributs normaux : accessibles aux utilisateurs (givenname) attributs opérationnels : utilisés par le serveur pour l administration des données (modifytimestamp)
64/161 Modèle d information LDAP Basé sur des entrées : collection d attributs désignée par un nom unique : Distinguish Name (DN RFC2253) Chemin absolu de l entrée depuis le sommet de la hiérarchie (similaire à la hiérarchie UNIX) Exemple : uid=dupond,ou=etudiant,dc=institutgalilee,dc=fr Relative Distinguished Name : uid=dupond Schéma : ensemble des définitions d objets et d attributs gérés par un serveur LDAP
65/161 Les attributs (1) LDAP Entrée de l annuaire : suite de couple type d attributs valeur d attributs Exemple : type : cn (common name), valeur : Pierre Dupond type : mail, valeur : pierre.dupond@home.com type : jpegphoto, valeur : une photo au format JPEG
66/161 Les attributs (2) LDAP Définis par : identificateur Object Identificateur (OID) Indication si mono ou multi-valué Syntaxe et règle de comparaison Indicateur d usage Format ou limite de taille de valeur associée
67/161 Les attributs (3) LDAP Syntaxe : Type de données associées Type de comparaison des valeurs lors de la recherche Possibilité de hiérarchisation des attributs (standard X500), héritage de caractéristiques
68/161 Les classes d objets (1) LDAP Modélisation d objets réels ou abstraits à l aide d une liste d attributs optionnels ou obligatoires Définies par : identificateur OID Attributs obligatoires Attributs optionnels type (structurel, auxiliaire ou abstraits)
69/161 Les classes d objets (2) LDAP Type d une classe : Structurel : description d objets basiques de l annaire : personne, groupe, unité organisationnelles Une entrée appartient à au moins une classe d objet structurelle Auxiliaire : objets autorisant l ajout d informations complémentaires à des objets structurels mailrecipient ajoute des attributs concernant la messagerie d une personne. Idem pour labeleduriobject, pour les infos Web. Abstrait : objets basique de LDAP, top ou alias
70/161 Les classes d objets (3) LDAP Organisation dans une hiérarchie dont le sommet est l objet top Héritage des attributs du père Enrichissement d un objet par création d un objet fils avec ajout d attribut supplémentaire Appartenance d une entrée à un nombre non limité de classes d objets Attributs obligatoires : union des attributs obligatoires de chaque classe
71/161 Les classes d objets (4) LDAP Exemple, objet inetorgperson : objectclass: top objectclass: person objectclass: organizationalperson objectclass: inetorgperson
72/161 Les classes d objets (5) LDAP Attributs : commonname, surname description, seealso, telephonenumber, userpassword (objet person) ; organizationunitname, title, postaladdress... (objet organizationalperson) ; mail, labeleduri, uid, photo,... (objet inetorgperson
73/161 Modèle fonctionnel LDAP Définition des opérations d interrogation et de mise à jour des répertoires : Ajout d une entrée Suppression d une entrée Modification d une entrée Modification du nom d une entrée Recherche sur une partie de l annuaire à l aide de filtres
74/161 Modèle de sécurité LDAP Protection des données Plusieurs niveaux authentification pour la connexion à un service modèle de contrôle des données chiffrement des transactions (client/serveur, serveur/serveur)
75/161 Authentification (1) LDAP LDAP : protocole avec connexion ouverture de session : identification et mot de passe (optionel dans la version 3) Plusieurs types d authentification : Anonymous authentification : accès sans authentification Accès à des données sans restriction Root DN authentification : accès administrateur (tous les droits) Mot de passe en clair sur le réseau Kerberos V4
76/161 Authentification (2) LDAP Mot de passe + SSL (LDAPS) ou TLS Session chiffrée Certificats SSL : échange de certificats SSL (clefs publiques/privées) Simple Authentification and Security Layer (SASL) authentification externe (version 3) RFC 2222
77/161 Contrôle d accès aux données Attribution à un utilisateur identifié de droits d accès aux données (lecture, écriture, recherche et comparaison) Droits définis par l administrateur : ACLs ACLs placés : au niveau des entrées au sommet de l arbre sur un sous-arbre Application : utilisateur et groupe en fonction des adresses IP, des noms de domaine des clients ou les jours et heures Placement et portée dépendant du logiciel LDAP
78/161 Les ACLs LDAP Expression générique : <quoi> <qui> <comment> <quoi> : point d entrée de l annuaire sur lequel la règle <qui> : utilisateur, groupe ou machine sur lequel s appliquent ces droits (également tout le monde) <comment> : opérations autorisées/refusées Read Write Search Compare Selfwrite Add Delete Exemple (openldap) : access to * by self write by * read
79/161 Chiffrement des transactions LDAP Chiffrement LDAP versionx 3 : utilisation de SSL et TLS (starttls extended operation) Egalement pour l authentification par certificat Envoi de preuve d identité par le client au serveur, et réciproquement
80/161 Le modèle de duplication (1) LDAP (replication service) Définition de la copie d un annuaire sur plusieurs serveurs Objectif : pallier une panne de serveurs une coupure du réseau surcharge du service
81/161 Le modèle de duplication (2) LDAP Permet : garantie de la qualité de service (temps de réponse et sûreté de fonctionnement) amélioration des performances (placement des serveurs près des clients) répartition de la charge de travail entre plusieurs serveurs (load balancing) gestion locale des entrées et diffuser sur plusieurs sites
82/161 Le modèle de duplication (3) LDAP Duplication : arborescence entière sous-arbre partie des entrées et leurs attributs (spcification grâce à un filtre)
83/161 Le modèle de duplication (4) LDAP Synchronisation : mise à jour totale mise à jour incrémentale En temps réel ou à heure fixe
84/161 Le modèle de duplication (5) LDAP Stratégie de duplication : single-master replication : un serveur en lecture/écriture (master), les serveur répliques en lecture seulement multiple-master replication : plusieurs serveurs en lecture/écriture nécessite une synchronisation cascading replication : duplication en cascade
85/161 Le modèle de duplication (6) LDAP Contraintes : les serveurs doivent posséder le même schéma de données les règles d accès aux données dupliquées doivent être dupliquées La duplication doit être prévue au moment de la conception du DIT
86/161 Le format LDIF (1) LDAP LDAP Data Interchange Format Représentation des données LDAP au format texte standard Accès lisible aux données Deux objectifs : Importer/exporter la base Modifier les données
87/161 Le format LDIF (2) LDAP Syntaxe : nom d attribut suivi de la valeur (uid: dupond) premier attribut d une entrée : le DN (dn: uid=dupond,ou=etudiant,dc=institutgalilee,dc=fr Format : ASCII Données binaires codées en base 64 Jeu de caractères Unicode Transformation Format-8 (UTF-8)
88/161 Le format LDIF (3) LDAP Forme générale : dn: <distinguished name objectclassclass: <object class objectclassclass: <object class... <attribute type: <attribute value <attribute type: <attribute value..
89/161 Déploiement de LDAP LDAP Définir : la nature des données stockées la manière de récupérer les données l utilisation des données la gestion des données Mise en place d un annuaire LDAP : plusieurs phases de conception En général : mise en place ou du remplacement d un annuaire Élargir le service à d autres types d applications? Évaluer toutes les applications possibles, actuelles ou futures, d un annuaire LDAP
90/161 Informations nécessaires (1) LDAP Inventaire des applications, des données et leurs caractéristiques : format taille nombre d occurrence droits d accès dynamiques ou statiques partagées ou spécifiques à une application Mais aussi définir comment les récupérer et les maintenir à jour
91/161 Informations nécessaires (2) LDAP La plupart des données sont issues : d autres annuaires ou bases systèmes : Unix NIS, DNS, NT domain controler, etc Bases de données de l organisation : base du personnel, Apogée (université), etc. fichiers textes ou feuilles de calcul d utilisateurs bases propres à des applications : fichier htpasswd d Apache, carnet d adresses, etc.
92/161 Informations nécessaires (3) LDAP Définition des schémas : Choix des classes d objets et types d attributs à utiliser en fonction des données retenues Utilisation possible de schémas standards ou fournis avec les serveurs
93/161 Informations nécessaires (4) LDAP Conseils : Éviter de modifier le schéma existant : risque de rendre l annuaire inutilisable par les applications clientes ou les autres serveurs Préférer l ajout d une classe d objet et l exploitation du mécanisme d héritage d attributs des classes objets Documenter le schéma pour en faciliter la maintenance et l évolution Éviter de désactiver l option de la vérification de schéma (schema checking)