Thierry Hamon
Bureau H202 - Institut Galil´ee T´el. : 33 1.48.38.35.53 Bureau 150 – LIM&BIO – EA 3969 Universit´e Paris 13 - UFR L´eonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny cedex T´el. : 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
Quatri` eme partie
Services orient´es administration
Configuration/installation d’une station de travail
Intégration dans un réseau informatique
Configuration/installation d’un réseau informatique
Sécurité Services orientés adminstration réseau Services orientés
utilisateurs d’une station de travailConfiguration réseau
! PowerCOL12345678 1236 2550801001012 Ether 10/100
1 0
Switching Hub
Ethernet Switch
Services orient´ es administration
Serveur de nom du domaine : DNS Annaires : NIS, NIS+, LDAP
Autres services : DHCP, Serveur de temps (NTP)
Annuaires
Probl`eme de l’administration syst`eme : assurer la consistance des fichiers de base du syst`eme
Solution : centraliser les informations Utiliser une structure client/serveur
Serveur : centralise les informations
Client : ne poss`ede aucune donn´ee localement (ou un minimum) et demande les informations au serveur Utilisation de services (non exclusifs) tels que DNS, NIS, NIS+
Serveur de nom (DNS) (1)
Domain Name Serveur ouBIND – Berkeley Internet Domain
Gestion de machines nomm´ees dans un espace de nom (domaine, zone)
(FQDN –Fully Qualified Domain Name) Et r´esolution des adresses IP
RFC 1032, 133, 1034, 1035
Impl´ement´e sur quasiment toutes les plates-formes
Serveur de nom (DNS) (2)
Structure hi´erarchique 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´ef´erence identique `a celui d’UNIX
Extrait de la hi´ erarchie
.edu
.
.com .fr
painleve
ig−edu iutv
nantes
loria jussieu biomath armen glénant univ−paris13
Service DNS (1)
Correspondance entre les adresses IP et le nom des machines d’une zone
Le serveur DNS
poss`ede tous les renseigenements sur la zone peut faire autorit´e (serveur primaire)
d´el`egue l’autorit´e sur les zones de niveau inf´erieur
Service DNS (2)
Organisation hi´erarchique suivant deux crit`eres :
Par secteur d’activit´e (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´es (cf. norme ISO 3166)
Types de serveurs DNS (1)
serveur primaire :
Contient la liste des correspondances entre les adresses IP et les noms de machines
Les mises `a jour doivent ˆetre effectu´ees sur le primaire serveur secondaire :
Contient une copie de la base du serveur primaire Mise `a jour automatique assur´ee par le serveur primaire Evite la surcharge du serveur primaire
Types de serveurs DNS (2)
serveur cache :
Stocke en m´emoire principale une partie de la liste
Les serveurs primaires et secondaires sont des serveurs caches autres serveurs : forwarding server,stealth server
Installation d’un serveur
Lancement du service : d´emon named Fichier de configuration :/etc/named.conf Informations :
Type de serveur (primaire ou secondaire) R´epertoire de travail o`u sont stock´es 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
Fichier de configuration (1)
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; };
};
Fichier de configuration (2)
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";
};
Fichier de la zone racine
A reconstruire r´eguli`erement 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
Zone primaire (1)
Correspondance entre nom et adresse IP D´efinition :
adresses en notation d´ecimal (A) alias (CNAME)
informations (HINFO)
nom du DNS pour le domaine indiqu´e (NS) centre de tri de la messagerieMX
etc.
Zone primaire (2)
$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
Zone primaire inverse
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.
Installation d’un client (1)
Recherche de l’association adresse IP / nom de machine sur un DNS
Appel´e aussi solveur (resolver)
Fichier de configuration/etc/resolv.conf: Nom du domaine
Mot-cl´e : domain
Installation d’un client (2)
Liste ordonn´ee des serveurs DNS `a interroger ; Mot-cl´e : nameserver
Exemple :
domain ig-edu.univ-paris13.fr nameserver 194.254.167.2 nameserver 194.254.167.10
Informations sur la mani`ere d’effectuer la r´esolution : /etc/host.conf
order hosts, bind multi on
Interrogation d’un DNS (1)
Commandesnslookupoudig(Linux) Commandes avecnslookup :
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
Interrogation d’un DNS (2)
d´efinition du serveur DNS :server Exemple : server f0f.univparis13.fr
d´efinition du type de requˆetes :set q=type de requˆete Recherche d’un DNS sur un domaine :set q=nspuisdomaine Exemple :set q=any puisig-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.
Fichier /etc/nsswitch.conf (1)
D´efinition de l’ordre de r´esolution des services par les serveurs de nom
Services :
D´efinition des utilisateurs :passwdet shadow D´efinition des groupes :group
Correspondance IP/Nom de machine Alias utilisateur pour la messagerie
Autres donn´ees :services,networks,procotoles,rpc, etc.
Fichier /etc/nsswitch.conf (2)
Serveurs de nom : DNS (dns) LDAP (ldap) NIS (nis) NIS+ (nisplus) Fichiers locaux (files) Bases locales db etc.
Fichier /etc/nsswitch.conf (3)
Exemple standard :
passwd: files ldap shadow: files ldap group: files ldap hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files ethers: files
netmasks: files networks: files protocols: files
rpc: files
services: files netgroup: nisplus publickey: nisplus
25/169
NIS
Network Information Service Appel´e `a l’origineYellow Page (YP)
Nom des commandes NIS : g´en´eralement pr´efix´e par yp.
Service d’administration centralis´ee des principales bases de donn´ees syst`eme (passwd,gropup,hosts,networks, etc.) Impl´ementation par SUN dans les ann´ees 80
Portabilit´e de NIS : disponible sur PC, VMS et sur la plupart des syst`emes UNIX
Fonctionnalit´ es de NIS
D´eploiement sur un r´eseau local
Autour d’un machine centrale :NIS Master Server Clients :
R´ef´erence aux informations pr´esentes sur un domaine NIS Initialisation en broadcast
Limitations :
Absence de hi´erarchie
Impossibilit´e de communiquer entre deux domaines NIS
Domaine NIS (1)
Organisation des machines autour d’un domaine NIS (espace de nom)
Pas de hi´erarchie possible
Impossibilit´e de relier deux domaines NIS
Nom : quelconque, pouvant ˆetre diff´erent (souvent) du nom du domaine
D´efini dans le fichier defaultdomainou dans des variables des fichiers de configurationrc*
Exemple :
Nom de domaine :ig-edu.univ-paris13.fr Nom du domaine NIS : enseignement.galilee
Domaine NIS (2)
Client NIS
Serveur Esclave NIS Client NIS
Serveur NIS
Machines sur un r´ eseau NIS
3 types de machines sur un domaine NIS : Serveur maˆıtre NIS (NIS Master Server)
Gestion des informations disponibles sur le domaine Serveur esclave NIS (NIS Slave Server)
Possession d’une copie de la base du serveur maˆıtre Remplacement en cas de d´efaillance du serveur maˆıtre NIS R´epartition de la charge sur le r´eseau
Client NIS
Exploitation des services de nom (/etc/nsswitch.conf) Dialogue avec les serveurs (maˆıtre ou esclave)
Informations g´ er´ ees par NIS
Utilisateurs (passwd) Groupes (group)
R´esolution de nom (hosts) etc.
(aliases,services,rpc,protocols,netgroup, tables d’automontage)
LDAP : introduction
Lightweight Directory Access Protocol Protocole d’annuaire sur TCP/IP
Historique :
A l’origine, passerelle d’acc`es aux annuaires X500 Adaptation du protocole DAP `a TCP/IP
Depuis 1995, annuaire natif grˆace `a une ´equipe de l’Universit´e du Michigan (logiciel U-M LDAP)
Formart de type dbm Caract´eristiques :
Stockage d’une grande quantit´e de donn´ees mais de faible volume
Acc`es en lecture tr`es rapide grˆace au mod`ele hi´erarchique
Concepts de LDAP (1)
Annuaire standard et extensible fournissant :
protocole (acc`es `a l’informations dans l’annuaire) mod`ele d’information (d´efinition du type de donn´ees contenues dans l’annuaire)
mod`ele de nommage (d´efinition de l’organisation et du r´ef´erencement de l’information)
mod`ele fonctionnel (d´efinition de l’acc`es `a l’information)
Concepts de LDAP (2)
mod`ele de s´ecurit´e (d´efinition de la protection des donn´ees et des acc`es)
M´ecanisme d’authentification pour le client
mod`ele de duplication (d´efinition de la r´epartition de la base entre les serveurs)
APIs (d´eveloppement d’applications clientes) LDIF (format d’´echange des donn´ees)
Reprise du mod`ele X500 (service annuaire mondial comme le DNS) Mais espace de nommage local
Le protocole LDAP (1)
D´efinition de la communication client-serveur Commandes fournies :
connexion et d´econnexion
recherche, comparaison, cr´eation, modification et effacement des entr´ees
Protections des transactions et de l’acc`es aux donn´ees : M´ecanismes de chiffrement (SSL ou TLS)
M´ecanismes d’authentification (SASL)
M´ecanismes de r`egles d’acc`es (ACL – Access Control List)
Le protocole LDAP (2)
Communication client-serveur : Normalisation par l’IETF (version 3 de LDAP), RFC 2251
Egalement : protocole de communication serveur-serveur pour l’´echange et la synchronisation des contenus (replication service)
la cr´eation de liens entre annuaires (referral service) Communication normalis´ee sous le nom LDAP Duplication Protocol (LDUP)
Dialogue LDAP au format de codage Basic Encoding Rule (DER), et non l’ASCII
=⇒S´ecurisation de l’acc`es aux informations stock´es dans la base
Le protocole LDAP (2)
Possibilit´e d’avoir une seule connexion pour passer plusieurs requˆetes
Possibilit´e d’extensions sans modification de la norme LDAP extended operations : ajout d’op´eration en plus des 9 op´erations de base
LDAP control: Ajout de param`etres associ´es `a un op´eration, modification du comportement
Simple Authentification and Security Layer: couche suppl´ementaire
Utilisation de m´ethodes d’authentification externes
Une arborescence d’information (DIT) (1)
Directory Information Tree
Repr´esentation des informations g´er´ees sous LDAP dans une arborescence : DIT
Entr´ees : branche
DSE (Directory Service Entry)
correspond `a un objet abstrait ou r´eel (utilisateur, param`etres, etc.)
constitu´ee de couples cl´es/valeurs (attributs)
Une arborescence d’information (DIT) (2)
biomath
univ−paris13 jussieu
FR
ccr
th hamon 101098123
iutv lipn ig−edu
180345930 (CN)
(...) (OU) (C) (O)
Mod` ele de nommage (1)
Structuration des donn´ees dans une arborescence hi´erarchique : Directory Information Tree
Chaque nœud correspond `a une entr´ee de l’annuaire : Directory Service Entry
Sommet de l’arbre : racine ou suffixe
Sch´ema : ensemble des d´efinitions relatives aux objets g´er´es par le serveur LDAP. Description des classes, les types d’attibuts et la syntaxe
Entr´ees : objets abstraits ou concrets (personne, imprimante) Attribut : champs contenant des valeurs
Entr´ee sp´eciale :root directory specific entry (rootDSE), description de l’arbre et du contenu
Mod` ele de nommage (2)
Possibilit´e de contrˆole des attributs d’une entr´ee `a l’aide de l’attribut sp´ecial objectClass
attributs normaux : accessibles aux utilisateurs (givenname) attributs op´erationnels : utilis´es par le serveur pour
l’administration des donn´ees (modifytimestamp)
Mod` ele d’information
Bas´e sur desentr´ees : collection d’attributs
d´esign´ee par un nom unique : Distinguish Name (DN – RFC2253)
Chemin absolu de l’entr´ee depuis le sommet de la hi´erarchie (similaire `a la hi´erarchie UNIX)
Exemple :
uid=dupond,ou=etudiant,dc=InstitutGalilee,dc=fr Relative Distinguished Name :uid=dupond
Sch´ema : ensemble des d´efinitions d’objets et d’attributs g´er´es par un serveur LDAP
Les attributs (1)
Entr´ee de l’annuaire : suite de couple type d’attributs – valeur d’attributs
Exemple :
type :cn (common name), valeur :Pierre Dupond type :mail, valeur :[email protected] type :jpegPhoto, valeur : une photo au format JPEG
Les attributs (2)
D´efinis par : identificateur
Object Identificateur (OID) Indication si mono ou multi-valu´e Syntaxe et r`egle de comparaison Indicateur d’usage
Format ou limite de taille de valeur associ´ee
Les attributs (3)
Syntaxe :
Type de donn´ees associ´ees
Type de comparaison des valeurs lors de la recherche Possibilit´e de hi´erarchisation des attributs (standard X500), h´eritage de caract´eristiques
Les classes d’objets (1)
Mod´elisation d’objets r´eels ou abstraits `a l’aide d’une liste d’attributs optionnels ou obligatoires
D´efinies par : identificateur OID
Attributs obligatoires Attributs optionnels
type (structurel, auxiliaire ou abstraits)
Les classes d’objets (2)
Type d’une classe :
Structurel : description d’objets basiques de l’annaire : personne, groupe, unit´e organisationnelles
Une entr´ee appartient `a au moins une classe d’objet structurelle
Auxiliaire : objets autorisant l’ajout d’informations compl´ementaires `a 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 oualias
Les classes d’objets (3)
Organisation dans une hi´erarchie dont le sommet est l’objet top H´eritage des attributs du p`ere
Enrichissement d’un objet par cr´eation d’un objet fils avec ajout d’attribut suppl´ementaire
Appartenance d’une entr´ee `a un nombre non limit´e de classes d’objets
Attributs obligatoires : union des attributs obligatoires de chaque classe
Les classes d’objets (4)
Exemple, objetinetOrgPerson : objectClass : top objectClass : person
objectClass : organizationalPerson objectClass : inetOrgPerson
Les classes d’objets (5)
Attributs :
commonName,surname description,seeAlso, telephoneNumber,userPassword (objetperson) ; organizationUnitName,title,postalAddress ... (objet organizationalPerson) ;
mail,labeledURI,uid,photo, ... (objetinetOrgPerson
Mod` ele fonctionnel
D´efinition des op´erations d’interrogation et de mise `a jour des r´epertoires :
Ajout d’une entr´ee Suppression d’une entr´ee Modification d’une entr´ee
Modification du nom d’une entr´ee
Recherche sur une partie de l’annuaire `a l’aide de filtres
Mod` ele de s´ ecurit´ e
Protection des donn´ees Plusieurs niveaux
authentification pour la connexion `a un service mod`ele de contrˆole des donn´ees
chiffrement des transactions (client/serveur, serveur/serveur)
Authentification (1)
LDAP : protocole avec connexion
ouverture de session : identification et mot de passe (optionel dans la version 3)
Plusieurs types d’authentification :
Anonymous authentification : acc`es sans authentification Acc`es `a des donn´ees sans restriction
Root DN authentification : acc`es administrateur (tous les droits)
Mot de passe en clair sur le r´eseau Kerberos V4
Authentification (2)
Mot de passe + SSL (LDAPS) ou TLS Session chiffr´ee
Certificats SSL :
´
echange de certificats SSL (clefs publiques/priv´ees) Simple Authentification and Security Layer (SASL) authentification externe (version 3)
RFC 2222
Contrˆ ole d’acc` es aux donn´ ees
Attribution `a un utilisateur identifi´e de droits d’acc`es aux donn´ees (lecture, ´ecriture, recherche et comparaison)
Droits d´efinis par l’administrateur : ACLs ACLs plac´es :
au niveau des entr´ees 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´ee d´ependant du logiciel
Les ACLs
Expression g´en´erique : <quoi> <qui> <comment>
<quoi>: point d’entr´ee de l’annuaire sur lequel la r`egle
<qui> : utilisateur, groupe ou machine sur lequel s’appliquent ces droits
(´egalementtout le monde)
<comment> : op´erations autoris´ees/refus´ees
Read Write Search Compare Selfwrite Add Delete Exemple (openldap) :
access to * by self write by * read
Chiffrement des transactions
Chiffrement LDAP versionx 3 : utilisation de SSL et TLS (startTLS extended operation)
Egalement pour l’authentification par certificat Envoi de preuve d’identit´e par le client au serveur, et r´eciproquement
Le mod` ele de duplication (1)
(replication service)
D´efinition de la copie d’un annuaire sur plusieurs serveurs Objectif : pallier
une panne de serveurs une coupure du r´eseau surcharge du service
Le mod` ele de duplication (2)
Permet :
garantie de la qualit´e de service (temps de r´eponse et sˆuret´e de fonctionnement)
am´elioration des performances (placement des serveurs pr`es des clients)
r´epartition de la charge de travail entre plusieurs serveurs (load balancing)
gestion locale des entr´ees et diffuser sur plusieurs sites
Le mod` ele de duplication (3)
Duplication :
arborescence enti`ere sous-arbre
partie des entr´ees et leurs attributs (spcification grˆace `a un filtre)
Le mod` ele de duplication (4)
Synchronisation : mise `a jour totale mise `a jour incr´ementale En temps r´eel ou `a heure fixe
Le mod` ele de duplication (5)
Strat´egie de duplication :
single-master replication : un serveur en lecture/´ecriture (master), les serveur r´epliques en lecture seulement multiple-master replication : plusieurs serveurs en lecture/´ecriture
n´ecessite une synchronisation
cascading replication : duplication en cascade
Le mod` ele de duplication (6)
Contraintes :
les serveurs doivent poss´eder le mˆeme sch´ema de donn´ees les r`egles d’acc`es aux donn´ees dupliqu´ees doivent ˆetre dupliqu´ees
La duplication doit ˆetre pr´evue au moment de la conception du DIT
Le format LDIF (1)
LDAP Data Interchange Format
Repr´esentation des donn´ees LDAP au format texte standard Acc`es lisible aux donn´ees
Deux objectifs :
Importer/exporter la base Modifier les donn´ees
Le format LDIF (2)
Syntaxe :
nom d’attribut suivi de la valeur (uid: dupond) premier attribut d’une entr´ee : le DN (dn:
uid=dupond,ou=etudiant,dc=InstitutGalilee,dc=fr Format : ASCII
Donn´ees binaires cod´ees en base 64
Jeu de caract`eres Unicode Transformation Format-8 (UTF-8)
Le format LDIF (3)
Forme g´en´erale :
dn: <distinguished name
objectClassClass: <object class objectClassClass: <object class ...
<attribute type: <attribute value
<attribute type: <attribute value ..
D´ eploiement de LDAP
D´efinir :
la nature des donn´ees stock´ees la mani`ere de r´ecup´erer les donn´ees l’utilisation des donn´ees
la gestion des donn´ees
Mise en place d’un annuaire LDAP : plusieurs phases de conception En g´en´eral : mise en place ou du remplacement d’un annuaire
Elargir le service `´ a d’autres types d’applications ?
Evaluer toutes les applications possibles, actuelles ou futures,´ d’un annuaire LDAP
Informations n´ ecessaires (1)
Inventaire des applications, des donn´ees et leurs caract´eristiques : format
taille
nombre d’occurrence droits d’acc`es
dynamiques ou statiques
partag´ees ou sp´ecifiques `a une application
Mais aussi d´efinir comment les r´ecup´erer et les maintenir `a jour
Informations n´ ecessaires (2)
La plupart des donn´ees sont issues :
d’autres annuaires ou bases syst`emes : Unix NIS, DNS, NT domain controler, etc
Bases de donn´ees de l’organisation : base du personnel, Apog´ee (universit´e), etc.
fichiers textes ou feuilles de calcul d’utilisateurs
bases propres `a des applications : fichier htpasswd d’Apache, carnet d’adresses, etc.
Informations n´ ecessaires (3)
D´efinition des sch´emas :
Choix des classes d’objets et types d’attributs `a utiliser en fonction des donn´ees retenues
Utilisation possible de sch´emas standards ou fournis avec les serveurs
Informations n´ ecessaires (4)
Conseils :
Eviter de modifier le sch´´ ema existant : risque de rendre l’annuaire inutilisable par les applications clientes ou les autres serveurs
Pr´ef´erer l’ajout d’une classe d’objet et l’exploitation du m´ecanisme d’h´eritage d’attributs des classes objets Documenter le sch´ema pour en faciliter la maintenance et l’´evolution
Eviter de d´´ esactiver l’option de la v´erification de sch´ema (schema checking)
Conception du mod` ele de nommage
D´efinition de l’organisation, l’acc`es et le nommage des entr´ees de l’annuaire
Plusieurs param`etres `a prendre en compte : nombre d’entr´ees pr´evu et son ´evolution
nature des entr´ees actuelles et futures (type d’objet) Choix de la centralisation ou de la distribution ds donn´ees Administration centrale ou d´el´egu´ee partiellement
Duplication
liste des applications utilisant l’annuaire (identification de leurs contraintes)
Attribut de nommage des entr´ees (garantie d’unicit´e)
Choix du suffixe
suffixe = identifiant de l’annuaire
Choisir de pr´ef´erence un suffixe unique au monde Pas de standard
Pas d’organisme de contrˆole d’attribution des suffixes : Pas de garantie d’unicit´e
Exemple de suffixe :
utilisation de l’attribut organisation(or) : o=Universit´e Paris13, c=fr
utilisation de l’attribut Domain Component (dc) (RFC 2377) – conseill´ee
dc=univ-paris13, dc=fr
Nommage des entr´ ees
Choix du RDN (Relative Distinguished Name) Contraintes :
garantir l’unicit´e
´
eviter les changements de DN (Distinguished Name) donner une information pertinente
prise en compte des clients
Recommendations de lETF : Identification des utilisateurs par leur email
Exemple :
dn = cn=thierry hamon,ou=ig-edu,dc=univ-paris13,dc=fr dn = uid=hamon,ou=ig-edu,dc=univ-paris13,dc=fr
dn = [email protected],ou=ig-edu, dc=univ-paris13,dc=fr
Gestion des donn´ ees
D´efinition des administrateurs des donn´ees en fonction des attributs
Plusieurs cat´egories :
administrateurs de l’annuaire (contrˆole d’acc`es...) les fournisseurs de donn´ees (service du personnel...) utilisateurs finaux (photo, t´el´ephone...)
applications (pr´ef´erences...) services d’annuaire
D´ecrire la m´ethode et la fr´equence de mise `a jour Evaluer la qualit´e des donn´ees et les incidences sur les
performances du serveur (notamment pour les donn´ees utilisateurs)
LDAP et la s´ ecurit´ e (1)
S´ecurit´e `a prendre en compte lors de la conception
Possibilit´e de configurer le serveur en lecture seulement ou en lecture/´ecriture
D´efinir pour chaque attribut :
niveau de confidentialit´e (num´ero de s´ecurit´e sociale, adresse mail)
les utilisateurs ou les applications ayant le droit d’y acc´eder en lecture (tout le monde, cer tains utilisateurs, uniquement les administrateurs...)
en ´ecriture (utilisateur, manager, administrateur)
LDAP et la s´ ecurit´ e (2)
M´ecanismes de s´ecurit´e classiques : authentification
signatures ´electroniques chiffrement
filtrage r´eseau
r`egles d’acc`es (ACLs LDAP) aux donn´ees audit des journaux
Mise en place de LDAP from scratch
Environnement g´en´eral
Fichiers de configuration :
Fichier de configuration serveur : /etc/ldap/slapd.conf V´erification de la syntaxe : commandeslapd -t
Sch´emas pr´ed´efinis :/etc/shema ou /usr/share/openldap/schema/
R´ef´erencement des d´efinitions normalis´ees (ordre de d´efinition, r`egles d’h´eritage, etc.)
Fichier de configuration client :/etc/ldap/lapd.conf Services :
D´emon :slapd
Script de d´emarrage :/etc/init.d/slapd
Mise en place de LDAP from scratch
Configuration du serveur -slapd.conf Include /usr/share/openldap/schema/cosine.schema include /usr/share/openldap/schema/corba.schema
include /usr/share/openldap/schema/inetorgperson.schema include /usr/share/openldap/schema/java.schema
include /usr/share/openldap/schema/krb5-kdc.schema include /usr/share/openldap/schema/kerberosobject.schema include /usr/share/openldap/schema/misc.schema
include /usr/share/openldap/schema/nis.schema include /usr/share/openldap/schema/openldap.schema include /usr/share/openldap/schema/autofs.schema include /usr/share/openldap/schema/samba.schema include /usr/share/openldap/schema/kolab.schema
# Inclusion des sch´emas utilisateurs include /etc/openldap/schema/local.schema
Mise en place de LDAP from scratch
Configuration du serveur -slapd.conf
# D´efinition des ACLs
include /etc/openldap/slapd.access.conf pidfile /var/run/ldap/slapd.pid
argsfile /var/run/ldap/slapd.args modulepath /usr/lib/openldap
# Support de TLS, il faut cr´eer un certificat dans /etc/ssl/openldap/ldap.pem
# et d´ecommenter les lignes ci-dessous
#TLSCertificateFile /etc/ssl/openldap/ldap.pem
#TLSCertificateKeyFile /etc/ssl/openldap/ldap.pem
#TLSCACertificateFile /etc/ssl/openldap/ldap.pem
# Journalisation
Mise en place de LDAP from scratch
Configuration du serveur -slapd.conf
###########################################################
# database definitions
###########################################################
database bdb
suffix "dc=foo,dc=org"
rootdn "cn=Manager,dc=foo,dc=org"
# Mot de passe d’acc`es `a la racine de l’arbre.
rootpw secret
# rootpw {crypt}ijFYNcSNctBYg
# Emplacement de la base de la base de donn´ees
# The database directory MUST exist prior to running slapd AND
# should only be accessable by the slapd/tools. Mode 700 recommended.
Mise en place de LDAP from scratch
Configuration du serveur -slapd.conf
# Cr´eation des index sur la base
index objectClass,uid,uidNumber,gidNumber eq index cn,mail,surname,givenname eq,subinitial
# Contr^ole d’acc`es aux donn´ees
# Basic ACL (deprecated in favour of ACLs in /etc/openldap/slapd.access.conf) access to attr=userPassword
by self write by anonymous auth
by dn="cn=Manager,dc=foo,dc=org" write by * none
access to *
by dn="cn=manager,dc=foo,dc=org" write by * read
Mise en place de LDAP from scratch
Configuration du serveur
D´emarrage et v´erification
# /etc/init.d/slapd start Starting OpenLDAP: slapd.
# ps aux | grep slapd
root 17433 0.1 1.6 7780 2144 ? S 12:54 0:00 /usr/sbin/slapd root 17434 0.0 1.6 7780 2144 ? S 12:54 0:00 /usr/sbin/slapd root 17435 0.0 1.6 7780 2144 ? S 12:54 0:00 /usr/sbin/slapd root 17437 0.0 0.5 1716 716 pts/3 R 12:54 0:00 grep slapd
# netstat -natup | grep LISTEN
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 17433/slapd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 290/sshd
Mise en place de LDAP from scratch
Configuration du serveur
Fichiers de logs :/var/log/ldap.log Par defaut, mode local ”LOCAL4” de syslog local4.debug /var/log/ldap.log
Mise en place de LDAP from scratch
Exemple de fichierbase.ldif :
dn: dc=univ-paris13, dc=fr objectClass: dcObject objectClass: organization dc: univ-paris13
o: univ-paris13
description: Universite Paris 13 street: avenue JB Clement postalCode: 93430
postalAddress: Villetaneuse l: Villetaneuse
st: Ile de France
Mise en place de LDAP from scratch
dn: ou=adsys, dc=univ-paris13, dc=fr objectClass: top
objectClass: organizationalUnit ou: adsys
description: TP Adsys
telephoneNumber: 01 49 40 35 53 dn: cn=admin, dc=univ-paris13, dc=fr objectClass: top
objectClass: person userPassword: secret cn: admin
sn: Administrateur
Mise en place de LDAP from scratch
Remplissage de la base
Cr´eation de l’annuaire : slapadd < base.ldif
NB : deux commandes pour le remplissage de l’annuaire : Avec ce fichier ldif ou ces fichiers, vous pouvez appeler la commande slapdadd ou ldapadd pour remplir l’annuaire.
ldapadd : le serveur LDAP doit ˆetre soit actif ldapadd -h localhost -x -f base.ldif
slapadd: ajout d’entr´ees vers une base ldap slapadd -l people.ldif
V´erification (apr`es red´emarrage du serveur) : slapcat
Mise en place de LDAP from scratch
Remplissage de la base
Ajout d’utilisateurs : fichierPersonnes.ldif
dn: uid=thierry,ou=adsys, dc=univ-paris13,dc=fr givenName: Thierry
sn: Thierry
loginShell:/bin/bash uidNumber: 6167 gidNumber: 502 objectClass: top objectClass: person
objectClass: organizationalPerson objectClass: inetorgperson objectClass: posixAccount objectClass: shadowAccount uid: thierry
cn: Thierry Hamon
homeDirectory: /home/thierry shadowLastChange: -1
shadowMin: -1
Mise en place de LDAP from scratch
Remplissage de la base
shadowWarning: 7 shadowInactive: -1 shadowExpire: -1 shadowFlag: 0 gecos: Thierry Hamon
userPassword: {CRYPT}aEcP8IVwcI6VQ
Mise en place de LDAP from scratch
Remplissage de la base
Ajout d’utilisateurs : fichierPersonnes.ldif slapadd < Personnes.ldif
Ajout d’un groupe : fichiergroup.ldif
dn: ou=groups,dc=univ-paris13,dc=fr objectClass: top
objectClass: organizationalUnit ou: groups
dn: cn=Users, ou=groups, dc=univ-paris13, dc=fr objectClass: top
objectClass: posixGroup cn: Users
gidNumber: 502 memberUId: thierry
slapadd < group.ldif
Manipulation de la base LDAP
Stockage de la base LDAP dans le r´epertoire/var/lib/ldap Modification de la base : commande ldapadd,ldapmodify
$ ldapadd -x -D "cn=manager,dc=foo,dc=org" -w secret -f leFICHIER.ldif
$ ldapadd -x -D "cn=manager, dc=foo, dc=org" -W -f le_FICHIER_ldiff
# puis mot de passe
Manipulation de la base LDAP
Interrogation de la base : commandeldapsearch
ldapsearch -x -h localhost -b ’dc=foo, dc=org’ ’objectclass=person’ sn cn
NB : Ces commandes n´ecessitent de pr´eciser les param`etres machine et base `a chaque fois.
Modification du fichier ldap.confpour ´eviter ¸ca :
BASE dc=foo, dc=org HOST 127.0.0.1
Commande ´equivalente `a la pr´ec´edente :
ldapsearch -x ’objectclass=person’ sn cn Exemple d’utilisation de la commande ldapsearch :
ldapsearch -x ’objectclass=*’ # On veut tous les objets
ldapsearch -x ’objectclass=person’ sn cn # On r´ecup`ere les cn et sn
Mise en place de LDAP from scratch
Configuration du client
3 composants :
libnss ldap : librairie g´erant la r´esolution de nom client LDAP
module d’authentification (PAM) Fichier/etc/libnss-ldap.conf
# Your LDAP server. Must be resolvable without using LDAP.
# Multiple hosts may be specified, each separated by a
# space. How long nss_ldap takes to failover depends on
# whether your LDAP client library supports configurable
# network or connect timeouts (see bind_timelimit).
host 192.168.1.5
# The distinguished name of the search base.
base dc=foo,dc=org
# Unix Domain Sockets to connect to a local LDAP Server.
Mise en place de LDAP from scratch
Configuration du client
Fichier/etc/ldap/ldap.conf host 192.168.1.5
base dc=foo,dc=org uri ldap://192.168.1.5
Fichier/etc/pam ldap.conf host 192.168.1.5
base dc=foo,dc=org uri ldap://192.168.1.5
Mise en place de LDAP from scratch
Configuration du client
Configuration densswitch.conf:
passwd: files ldap
group: files ldap
shadow: files ldap
Mise en place de LDAP from scratch
Configuration du client
Exemple de test de configuration : getent passwd
getent passwd gtay getent group Users
Mise en place de LDAP from scratch
Configuration du client
Configuration de PAM (Pluggable Authentication Modules) : Fichier /etc/pam.d/common-account
account sufficient pam_unix.so account sufficient pam_ldap.so
# (facultatif) cr´eation d’un r´epertoire home lors de la premi`ere
# connexion
session required pam_mkhomedir.so umask=0022skel=/etc/skel/ silent
Fichier /etc/pam.d/common-auth
auth sufficient pam_unix.so nullok_secure auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so
Mise en place de LDAP from scratch
Configuration du client
Fichier /etc/pam.d/common-password
password sufficient pam_unix.so nullok obscure min=4 max=8 md5 password sufficient pam_ldap.so
fichier /etc/pam.d/common-session session sufficient pam_unix.so session sufficient pam_ldap.so
NB : Variation de configuration suivant les syst`emes
Logiciels LDAP
Serveurs
Slapd
University of Michigan Openldap
Distributed Directory Server (Innosoft) Netscape Directory Server
Directory Services (Sun Microsystems) DSSeries LDAP Directory (IBM)
Serveurs acceptant des requˆetes au format LDAP : NetWare Directory Services (NDS) 3.0 (Novell) Active Directory (AD) (Microsoft)
Lotus Domino
Logiciels LDAP
Clients
Client avec acc`es natif
Navigateur Web utilisant URLs LDAP Netscape Communicator
Microsoft Outlook *
Serveurs Netscape SuiteSpot (leur serveur mail, news, web...) PADL software
Client aveec acc`es via une passerelle : LDAP versX. 500 et X. 500 vers LDAP HTTP vers LDAP (web500gw)
WHOIS++ vers LDAP FINGER vers LDAP PH vers LDAP
API LDAP
U-M LDAP SDK – C (UMICH, OpenLDAP)
Innosoft LDAP Client SDK (ILC-SDK) – C (InnoSoft) Netscape Directory SDK – Java, C (Netscape)
PerLDAP Modules – Perl (Netscape) Net- LDAPapi – PERL (GNU)
Java Naming and Directory Interface (JUNI) – Java (SUN) Active Directory Service Interface (ADSI) – COM (Microsoft)
DHCP
Dynamic Host Configuration Protocol
(Protocole de configuration dynamique de machines) Distribution de param`etres de configuration r´eseau (notamment adresse IP) par un serveur
Obtention par une machine cliente de ces param`etres aupr`es du serveur pour un temps donn´e (bail)
Compatibilit´e ascendante avec BOOTP Voir RFC 2131 (anciennement RFC 1531 Architecture logicielle :
serveur : d´emon /usr/sbin/dhcpd client : processus /sbin/dhcpcd
Protocole DHCP (1)
Requˆetes :
DHCPDISCOVER (Localisatoin des serveurs DHCP disponibles)
DHCPOFFER (r´eponse du serveur `a un paquet DHCPDISCOVER – contient les premiers param`etres)
DHCPREQUEST (requˆete quelconque du client – par exemple prolongement du bail)
DHCPACK (r´eponse du serveur – contient des param`etres et l’adresse IP du client)
DHCPNAK (r´eponse du serveur – annonce au client de la fin de son bail ou d’une mauvaise configuration r´eseau)
DHCPDECLINE (Annonce par le client au serveur que
Protocole DHCP
DHCPRELEASE (Lib´eration de l’adresse IP par le cleint) DHCPINFORM (Demande des param`etres locaux le client – il poss`ede d´ej`a son adresse IP)
Messages dans/var/log/messages
Jun 16 15:03:04 dns-dhcp dhcpd: DHCPREQUEST for 192.168.60.73 from 00:e0:81:27:29:db via eth0 Jun 16 15:03:04 dns-dhcp dhcpd: DHCPACK on 192.168.60.73 to 00:e0:81:27:29:db via eth0 Jun 16 15:03:15 dns-dhcp dhcpd: DHCPREQUEST for 192.168.60.35 from 00:04:75:d5:7e:a3 via eth0 Jun 16 15:03:15 dns-dhcp dhcpd: DHCPACK on 192.168.60.35 to 00:04:75:d5:7e:a3 via eth0 Jun 16 15:03:16 dns-dhcp dhcpd: DHCPREQUEST for 192.168.60.69 from 00:e0:81:27:1b:52 via eth0 Jun 16 15:03:16 dns-dhcp dhcpd: DHCPACK on 192.168.60.69 to 00:e0:81:27:1b:52 via eth0 Jun 16 15:03:28 dns-dhcp dhcpd: DHCPREQUEST for 192.168.60.72 from 00:e0:81:27:29:dc via eth0
Serveur DHCP
Configuration du noyau avec le Multicast Adresse IP fixe
Fichier de configuration :/etc/dhcpd.conf default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.10;
option domain-name "etudiants.univ-paris13.fr";
use-host-decl-names on;
ddns-update-style ad-hoc;
Serveur DHCP
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.20 192.168.0.250;
}
#subnet 192.168.60.0 netmask 255.255.255.0 { }
# Exemple d’attribution dynamique host dyn150.etudiant.univ-paris13.fr {
hardware ethernet 00:01:02:bd:e2:73;
}
# Exemple d’attribution statique
host F204-1.etudiant.univ-paris13.fr { hardware ethernet 03:14:00:e9:c9:1e;
fixed-address 192.168.0.21;
}
Lancement du d´emon dhcpddans le script de d´emarrage
Client DHCP
Fichier de configuration/etc/dhcpc/dhcpcd.exe
Configuration de la machine en tant que client DHCP dans le fichier/etc/sysconfig/network-scripts/ifcfg-eth0 (Linux/Mandrake)
Lancement de/sbin/dhcpcdau d´emarrage dans le script /etc/init.d/network
Services de synchronisation horaire
Notion de temps et d’heure importante pour les syst`emes informatiques :
horodage de fichiers (make)
corr´elation de messages de ”logs” de plusieurs syst`emes Oblit´eration des courriers
Gestion des caches DNS Probl`emes :
Remise `a l’heure r´eguli`ere des oscillateurs `a quartz (d´erive de temps)
Sur un r´eseau, heure diff´erente entre diverses ´equipement pouvant acc´eder aux mˆemes fichiers
R´eception de fichiers avant les avoir ´emis !
NIS+ : utilisation de l’horaire pour l’authentification
Protocoles de synchronisation horaire
1 Time Protocol :
2 Network Time Protocol (NTP)
3 Simple Network Time Protocol (SNTP) : RFC2030 Version simplifi´ee de NTP
Time Protocol
1983 RFC868
Syst`eme simple d’interrogation pour obtenir le temps d’un serveur Utilisation du port 37 (UDP ou TCP)
Envoi par les serveurs d’un paquet contenant le temps en secondes
´ecoul´e depuis le premier janvier 1900 `a 0H.
Utilisation par le d´emon Unix timed Mais :
faible r´esolution
absence de sp´ecification de m´ecanismes de compensation de d´elais de transit
Network Time Protocol (NTP) (1)
David L. Mills, Universit´e du Delaware Synchronisation de l’heure avec un serveur en ligne Protocole beaucoup plus sophistiqu´e
Synchronisation permanente avec plusieurs serveurs Redondances multiples pour assurer une synchronisation permanente et fiable
NTP version 3 : RFC 1305 Impl´ementation client/serveur
Network Time Protocol (NTP) (2)
Utilisation de serveurs g´eographiquement proches Correction des d´elais de
transmission
d´erive des horloges locales
Repr´esentation du temps NTP sur 64 : r´esolution th´eorique de 232ps
D´ebordement pr´evu en 2036
Fonctionnalit´ es
D´efinition dans NTP :
Algorithmes de filtrage et de s´election Mod`eles d’impl´ementation
Permet :
D´etermination par les clients NTP de la meilleure source de synchronisation
Elimination des sources suspectes´
Correction les temps de transit dans le r´eseau.
Impl´ementation de r´ef´erence : le d´emon Unixxntpd Egalement sous Linux :ntpd
Oragnisation des serveurs de temps
Structure pyramidale
Synchronisation des serveurs NTP grˆace aux r´ef´erences de temps directement raccord´es
Référence
Strate 1 Strate 2
Strate n
Strates de serveurs de temps (1)
R´epartition suivant plusieurs niveaux (strate) R´epartition de la charge des serveurs
Strate 1 : les plus pr´ecis et les plus rares Accessible qu’`a des serveurs de strate 2 Synchronise les serveur de la strate 2 Liste des serveurs de temps (strate 1) :
http://www.eecis.udel.edu/~mills/ntp/clock1a.html
Strates de serveurs de temps (1)
Strate 2 :
Certains serveurs librement accessibles Liste des serveurs de temps (strate 2) :
http://www.eecis.udel.edu/~mills/ntp/clock2a.html http://www.cru.fr/NTP/serveurs_francais.html http://ntp.isc.org/bin/view/Servers/
StratumTwoTimeServers
Modes de fonctionnement (1)
Mode serveur simple : R´eponse aux requˆetes de ses clients Mode sym´etrique actif : Demande de synchronisation par d’autres serveurs et r´eciproquement
Mode sym´etrique passif : idem mais `a l’initiative des autres serveurs
Modes de fonctionnement (2)
Mode broadcast : destin´e aux r´eseaux locaux
Diffusion d’informations horaires destin´ees `a des clients pouvant ˆetre :
passifs
d´ecouvrant les serveurs avec lesquels ils vont se synchroniser Mode client : envoie des requˆetes `a un ou plusieurs serveurs
R´ ef´ erences de temps
D´eriv´ee ds horloges atomiques
Horloges pilot´ees par des signaux radio ´emis par des ´emetteurs sp´ecialis´es comme DCF77 en Allemagne
Horloges pilot´ees par des ´emetteurs de radio-diffusion publiques transmettant, en plus de leur programme, des informations horaires comme l’´emetteur TDF d’Allouis diffusant France-Inter
Syst`emes de positionnement comme le Loran C ou, mieux, le GPS (excellentes sources de r´ef´erence)
Simple Network Time Protocol (SNTP)
RFC2030
Version simplifi´ee de NTP Pas de m´ecanismes de s´election
Destin´ee `a des utilisations pour lesquel une pr´ecision de l’ordre de la seconde est suffisante
Synchronisation possible d’un client SNTP sur un serveur NTP.
Mise en oeuvre de serveur SNTP possible mais synchronisation directe sur une r´ef´erence temporelle.
Configuration de NTP (1)
Synchronisation et changement de l’heure imm´ediatement : ntpdate
Fichier de configuration :/etc/conf.d/ntp-client Indication du serveur `a contacter :
NTPCLIENT_OPTS="-b ntp.tuxfamily.net"
ou des serveurs :
NTPCLIENT_OPTS="-b ntp.tuxfamily.net ntp.univ-lyon1.fr ntp.via.ecp.fr"
Configuration de NTP (2)
Utilisation du d´emon ntpd Fichiers de configuration :
/etc/ntp.conf: d´etermination des sources de synchronisation et son mode d’ex´ecution
/etc/ntp/ntpservers: liste des serveurs de temps
/etc/ntp/step-tickers: serveur utilis´e lors du d´emarrage de ntpd
Interrogation du serveurntpd : ntpq
# ntpq -c pe
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) LOCAL(0) 10 l 24 64 377 0.000 0.000 0.004
*lptfpc46.obspm. 195.220.94.163 2 u 24 128 377 3.027 1.672 0.580
Configuration de NTP (3)
# ntpq -c rv
status=0664 leap_none, sync_ntp, 6 events, event_peer/strat_chg, version="ntpd [email protected] Thu Sep 30 15:06:18 CEST 2004 (1)", processor="i686", system="Linux/2.6.8.1-12mdksmp", leap=00, stratum=3, precision=-18, rootdelay=21.277, rootdispersion=51.409, peer=47565, refid=145.238.110.68,
reftime=c5e574f7.a5a75cd0 Fri, Mar 18 2005 16:40:39.647, poll=7, clock=c5e575b4.9b430f49 Fri, Mar 18 2005 16:43:48.606, state=4, offset=1.672, frequency=163.707, jitter=1.630, stability=1.086
(ntpdcinterrogation du serveur sur son ´etat courant)
Configuration de NTP (4)
Statistiques :ntpstat :
synchronised to NTP server (145.238.110.68) at stratum 3 time correct to within 58 ms
polling server every 64 s
Route des diff´erents serveurs NTP :ntptrace
localhost: stratum 4, offset 0.0019529, synch distance 0.144135 server2ozo.com: stratum 2, offset 0.0124263, synch distance 0.115784
usndh.edu: stratum 1, offset 0.0019298, synch distance 0.011993, refid ’WWVB’
D´ eploiement d’un serveur de temps
un site doit mettre en place des serveurs secondaires synchronis´es sur des serveurs de strate 1 ou 2 suivant son importance (cf ci-dessus)
attention a la redondance : chaque client et chaque serveur secondaire doit acc´eder `a plusieurs serveurs en ´evitant les points de passage communs
Distribution d’un serveur de temps valide lors de l’assignation d’adresse IP par un serveur DHCP
Annexes
NIS
Network Information Service Appel´e `a l’origineYellow Page (YP)
Nom des commandes NIS : g´en´eralement pr´efix´e par yp.
Service d’administration centralis´ee des principales bases de donn´ees syst`eme (passwd,gropup,hosts,networks, etc.) Impl´ementation par SUN dans les ann´ees 80
Portabilit´e de NIS : disponible sur PC, VMS et sur la plupart des syst`emes UNIX
Fonctionnalit´ es de NIS
D´eploiement sur un r´eseau local
Autour d’un machine centrale :NIS Master Server Clients :
R´ef´erence aux informations pr´esentes sur un domaine NIS Initialisation en broadcast
Limitations :
Absence de hi´erarchie
Impossibilit´e de communiquer entre deux domaines NIS
Domaine NIS (1)
Organisation des machines autour d’un domaine NIS Pas de hi´erarchie possible
Impossibilit´e de relier deux domaines NIS
Nom : quelconque, pouvant ˆetre diff´erent (souvent) du nom du domaine
D´efini dans le fichier defaultdomainou dans des variables des fichiers de configurationrc*
Exemple :
Nom de domaine :ig-edu.univ-paris13.fr Nom du domaine NIS : enseignement.galilee
Domaine NIS (2)
Principes et r`egles de bases :
Coexistance de plusieurs domaines portant des noms diff´erents sur un r´eseau local
Nom de domaine : d´efinition du groupe de machines (groupe d’information) auquel on veut se rattacher
Appartenance d’une machine `a un seul domaine NIS Visualisation du nom de domaine NIS avec la commande domainname
Un seul serveur maˆıtre NIS par domaine NIS
Am´elioration des performances sur un domaine NIS : le serveur maˆıtre NIS s’appuie sur des serveurs esclaves NIS
Domaine NIS (3)
Client NIS
Serveur Esclave NIS Client NIS
Serveur NIS
Machines sur un r´ eseau NIS
3 types de machines sur un domaine NIS : Serveur maˆıtre NIS (NIS Master Server) Serveur esclave NIS (NIS Slave Server) Client NIS
Serveur maˆıtre NIS
Gestion des informations disponibles sur le domaine
Utilisation des donn´ees locales (passwd,group,rpc,hosts, etc.) Transformation au formatdbm(base de donn´ees index´ee)
utilisable par le d´emon serveur ypserv Fichier de configuration :ypserv.conf Tables :NIS Maps
Gestion des tables (cr´eation, modification) uniquement par le serveur maˆıtre NIS
Tables NIS
Fichiers g´en´er´es `a partir des fichiers locaux Founit les informations g´er´ees par NIS Format :
base de donn´ees binaires (dbm)
Deux champs : cl´e index´ee et informations correspondantes (option et ressources)
Fichier g´en´er´e `a partir de n’importe quel fichier ASCII avec la commandemakedbm
Acc´el´eration des recherches en g´en´erant plusieurs fichiers de donn´ees en fonction de cl´es diff´erentes
Organisation des tables NIS
Exemple : hosts hosts.byname :
cl´e : nom de la machine donn´ee : adresse IP hosts.byadress :
cl´e : adresse IP
donn´ee : nom de la machine
Op´ erations sur le serveur maˆıtre
Cr´eation de la base NIS initiale `a partir des fichiers source (locaux)
Envoi d’informations aux clients `a l’aide du d´emonypserv Mise `a jour des tables sur les serveurs esclaves avec yppush Transfert des tables avec le d´emon ypxfrd
Modification de la table passwdavec le d´emon yppasswdd lors du changement de mot de passe de l’utilisateur (passwd ouyppasswd, suivant les syst`emes)
Serveur esclave NIS (1)
R´esoudre le probl`eme de la d´efaillance du serveur maˆıtre NIS Conseil : installation d’un ou deux serveurs NIS esclaves par domaine
Fonctionnalit´es du serveur esclave :
Possession d’une copie de la base du serveur maˆıtre
envoi d’informations aux clients avec le d´emonypserv(rˆole identique `a celui sur le serveur maˆıtre)
Aucune fonctionnalit´e de cr´eation ou de modification des tables NIS
Possibilit´e de basculer un serveur esclave en serveur maˆıtre