• Aucun résultat trouvé

Administration Système

N/A
N/A
Protected

Academic year: 2022

Partager "Administration Système"

Copied!
161
0
0

Texte intégral

(1)

Administration Syst` eme

Thierry Hamon

Bureau H202 - Institut Galil´ee 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 el. : 33 1.48.38.73.07, Fax. : 33 1.48.38.73.55

[email protected]

http://www-limbio.smbh.univ-paris13.fr/membres/hamon/

ADSYS

(2)

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

(3)

Services orient´ es administration

Serveur de nom du domaine : DNS Annaires : NIS, NIS+, LDAP

Autres services : DHCP, Serveur de temps (NTP)

(4)

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+

(5)

Serveur de nom (DNS) (1)

DNS

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

(6)

Serveur de nom (DNS) (2)

DNS

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

(7)

Extrait de la hi´ erarchie

DNS

.edu

.

.com .fr

painleve

ig−edu iutv

nantes

loria jussieu biomath armen glénant univ−paris13

(8)

Service DNS (1)

DNS

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

(9)

Service DNS (2)

DNS

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)

(10)

Types de serveurs DNS (1)

DNS

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

(11)

Types de serveurs DNS (2)

DNS

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

(12)

Installation d’un serveur

DNS

Lancement du service : d´emon named Fichier de configuration : /etc/named.conf Informations :

Type de serveur (primaire ou secondaire) 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

(13)

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)

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)

Fichier de la zone racine

DNS

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

(16)

Zone primaire (1)

DNS

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.

(17)

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)

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)

Installation d’un client (1)

DNS

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

(20)

Installation d’un client (2)

DNS

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

(21)

Interrogation d’un DNS (1)

DNS

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

(22)

Interrogation d’un DNS (2)

DNS

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.

(23)

Fichier /etc/nsswitch.conf (1)

DNS

D´efinition de l’ordre de r´esolution des services par les serveurs de nom

Services :

D´efinition des utilisateurs : passwdetshadow D´efinition des groupes : group

Correspondance IP/Nom de machine Alias utilisateur pour la messagerie

Autres donn´ees : services,networks,procotoles,rpc, etc.

(24)

Fichier /etc/nsswitch.conf (2)

DNS

Serveurs de nom : DNS (dns) NIS (nis) NIS+ (nisplus) Fichiers locaux (files) Bases locales db etc.

(25)

Fichier /etc/nsswitch.conf (3)

DNS

Exemple standard :

passwd: files nis nisplus shadow: files nis nisplus group: files nis nisplus hosts: files nis dns nisplus

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/161

(26)

NIS

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

(27)

Fonctionnalit´ es de NIS

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

(28)

Domaine NIS (1)

NIS

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

(29)

Domaine NIS (2)

NIS

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

(30)

Domaine NIS (3)

NIS

Client NIS

Serveur Esclave NIS Client NIS

Serveur NIS

(31)

Machines sur un r´ eseau 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)

Serveur maˆıtre NIS

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

(33)

Tables NIS

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

(34)

Organisation des tables NIS

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

(35)

Op´ erations sur le serveur maˆıtre

NIS

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)

(36)

Serveur esclave NIS (1)

NIS

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

(37)

Serveur esclave NIS (2)

NIS

Synchronisation des esclaves :

Mise `a jour des tables NIS par le serveur maˆıtre

Envoi par le serveur maˆıtre avec yppush: synchronisation des donn´ees sur l’ensemble du domaine

Cas d’un esclave arrˆet´e lors de la synchronisation : demande d’envoi des tables par le serveur maˆıtre lors du red´emarrage yppush: transfert de l’int´egralit´e des tables

Engendre une surchage temporaire du r´eseau

Exemple : pour un r´eseau de 1000 utilisateurs, le changement d’un mot de passe engendre la circulation de la table passwd contenant 1000 entr´ees

(38)

Client NIS

NIS

Envoi de requˆetes vers les serveurs maˆıtres ou esclaves

Tentative de connexion au serveur le plus proche (NIS binding) Liaison effectu´ee par broadcast

Fonctionnalit´es :

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)

Informations g´ er´ ees par NIS

NIS

Gestion sous NIS de toute information ASCII

Les tables NIS correspondent aux besoins de commandes et d’appels syst`emes

Fichiers/Tables :

passwd,group,hosts,aliases,services,rpc,protocols, netgroup, tables d’automontage

Stockage des tables dans le r´epertoire/var/yp

En g´en´eral, les fichiers ASCII sont diff´erenci´es des fichiers locaux, dans/etc/nisou/etc/yp

(40)

Op´ erations sur les tables NIS

NIS

G´en´eration des tables NIS

A l’aide d’unMakefile dans/var/yp

Lecture des fichiers ASCII se trouvant dans /etc/niset 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 `a jour dans le r´epertoire/var/yp avec le fichier make

(41)

Commandes d’information NIS

NIS

ypwitch : Indication du nom du serveur auquel est rattach´e 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 -knom de la table : Affiche le contenu de la table en fonction de sa cl´e

ypcat -k ypservers: Affiche la liste de servers NIS du domaine

ypmatch motif nom de la table : Effectue la recherche d’une entr´ee dans une table (`a pr´ef´erer `agrep)

(42)

Installation du NIS

NIS

1 Modification du fichier /var/yp/Makefile D´efinition des variables et des tables `a exporter

2 D´eclaration du serveur maˆıtre NIS

La machine locale est consid´er´ee, par d´efaut, comme le serveur maˆıtre NIS

/usr/lib/yp/ypinit -m

(Installation des tables `a exporter – format DBM)

(43)

Exemple de cr´ eation 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´eclarations des autres machines du r´eseau 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)

Exemple de cr´ eation d’une table NIS (2)

NIS

D´eplacement dans le r´epertoire/var/yp Mise `a jour de la table avec make Mise `a jour des fichiers :

hosts.byname: hosts.byadress:

Diffusion de la table NIS sur les serveurs esclaves

(45)

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)

Exemple de modification d’une table NIS

NIS

Ajout d’un utilisateur :

1 Cr´eation d’une entr´ee dans le fichier /etc/nis/passwd sur le serveur maˆıtre NIS

2 D´eplacement dans le r´epertoire/var/yp

3 Mise `a jour de la table avec make

4 Diffusion de la table NIS sur les serveurs esclaves

(47)

Mise en place d’un domaine NIS

NIS

Tˆache importante n´ecessitant une planification : D´efinition du nom de domaine

S´election des tables diffus´ees sur le domaine Mise en place du serveur maˆıtre

Mise en place des serveurs esclaves Mise en place des clients

(48)

Mise en place d’un serveur maˆıtre NIS (1)

NIS 1 Identification du nom du domaine (domainname,

defaultdomain)

2 D´efinition des serveurs esclaves NIS

3 D´emarrage des processus li´es 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´emarrage de la machine (/etc/init.d/,/etc/rc.inet2)

6 D´efinition de l’ordre de recherche dans les services de nom (/etc/nsswitch.conf)

(49)

Mise en place d’un serveur maˆıtre NIS (2)

NIS

Extrait du fichiernsswitch.conf

passwd: files nis shadow: files nis group: files nis hosts: files nis dns

(50)

Mise en place d’un serveur esclave NIS

NIS 1 Identification du nom du domaine (domainname,

defaultdomain)

2 D´emarrage des processus li´es 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´emarrage de la machine (/etc/init.d/,/etc/rc.inet2

6 D´efinition de l’ordre de recherche dans les services de nom (/etc/nsswitch.conf)

(51)

Mise en place d’un client NIS (1)

NIS

Identification du nom du domaine (domainname, defaultdomain)

D´efinition du type de recherche du serveur maˆıtre ou esclave (fichier /etc/yp.conf)

Trois possibilit´es :

domain domainnis-galilee server serveurNIS

#

domain domainnis-galilee broadcast

#

ypserver serveurNIS

(52)

Mise en place d’un client NIS (1) (2)

NIS

D´emarrage des processus li´es au client (portmapper,ypbind) Initialisation de la machine comme client NIS

Modification des fichiers de configuration du d´emarrage de la machine (/etc/init.d/,/etc/rc.inet2

D´efinition de l’ordre de recherche dans les services de nom (/etc/nsswitch.conf)

(53)

S´ ecurit´ e sous NIS

NIS

Connaissance du nom du serveur : suffisant pour ˆetre client NIS L’interrogation d’un serveur NIS ne suppose aucune action de la part du serveur

Faille importante dans la s´ecurit´e

Solution : Utilisation du fichier/var/yp/securenets

# netmask netadress

255.255.255.0 192.168.0.0

Insuffisant si la machine poss`ede une adresse IP du r´eseau Autre solution : NIS+

(54)

LDAP : introduction

LDAP

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

(55)

Concepts de LDAP (1)

LDAP

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)

(56)

Concepts de LDAP (2)

LDAP

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

(57)

Le protocole LDAP (1)

LDAP

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)

(58)

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’´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

(59)

Le protocole LDAP (2)

LDAP

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

(60)

Une arborescence d’information (DIT) (1)

LDAP

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)

(61)

Une arborescence d’information (DIT) (2)

LDAP

biomath

univ−paris13 jussieu

FR

ccr

th hamon 101098123

iutv lipn ig−edu

180345930 (CN)

(...) (OU) (C) (O)

(62)

Mod` ele de nommage (1)

LDAP

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),

(63)

Mod` ele de nommage (2)

LDAP

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)

(64)

Mod` ele d’information

LDAP

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

(65)

Les attributs (1)

LDAP

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

(66)

Les attributs (2)

LDAP

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

(67)

Les attributs (3)

LDAP

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

(68)

Les classes d’objets (1)

LDAP

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)

(69)

Les classes d’objets (2)

LDAP

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 pourlabeledURIObject, pour les infos Web.

Abstrait : objets basique de LDAP, topou alias

(70)

Les classes d’objets (3)

LDAP

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

(71)

Les classes d’objets (4)

LDAP

Exemple, objetinetOrgPerson : objectClass: top objectClass: person

objectClass: organizationalPerson objectClass: inetOrgPerson

(72)

Les classes d’objets (5)

LDAP

Attributs :

commonName,surname description,seeAlso, telephoneNumber,userPassword (objetperson) ; organizationUnitName,title,postalAddress ... (objet organizationalPerson) ;

mail,labeledURI,uid,photo, ... (objet inetOrgPerson

(73)

Mod` ele fonctionnel

LDAP

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

(74)

Mod` ele de s´ ecurit´ e

LDAP

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)

(75)

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`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

(76)

Authentification (2)

LDAP

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

(77)

Contrˆ ole d’acc` es aux donn´ ees

LDAP

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

(78)

Les ACLs

LDAP

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

(79)

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´e par le client au serveur, et r´eciproquement

(80)

Le mod` ele de duplication (1)

LDAP

(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

(81)

Le mod` ele de duplication (2)

LDAP

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

(82)

Le mod` ele de duplication (3)

LDAP

Duplication :

arborescence enti`ere sous-arbre

partie des entr´ees et leurs attributs (spcification grˆace `a un filtre)

(83)

Le mod` ele de duplication (4)

LDAP

Synchronisation : mise `a jour totale mise `a jour incr´ementale En temps r´eel ou `a heure fixe

(84)

Le mod` ele de duplication (5)

LDAP

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

(85)

Le mod` ele de duplication (6)

LDAP

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

(86)

Le format LDIF (1)

LDAP

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

(87)

Le format LDIF (2)

LDAP

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)

(88)

Le format LDIF (3)

LDAP

Forme g´en´erale :

dn: <distinguished name

objectClassClass: <object class objectClassClass: <object class ...

<attribute type: <attribute value

<attribute type: <attribute value ..

(89)

D´ eploiement de LDAP

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

(90)

Informations n´ ecessaires (1)

LDAP

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

(91)

Informations n´ ecessaires (2)

LDAP

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.

(92)

Informations n´ ecessaires (3)

LDAP

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

(93)

Informations n´ ecessaires (4)

LDAP

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)

(94)

Conception du mod` ele de nommage

LDAP

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)

(95)

Choix du suffixe

LDAP

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

(96)

Nommage des entr´ ees

LDAP

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

(97)

Gestion des donn´ ees

LDAP

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)

(98)

LDAP et la s´ ecurit´ e (1)

LDAP

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)

(99)

LDAP et la s´ ecurit´ e (2)

LDAP

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

(100)

Mise en place de LDAP from scratch

LDAP

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

(101)

Mise en place de LDAP from scratch

LDAP

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

(102)

Mise en place de LDAP from scratch

LDAP

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

(103)

Mise en place de LDAP from scratch

LDAP

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.

directory /var/lib/ldap

(104)

Mise en place de LDAP from scratch

LDAP

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

(105)

Mise en place de LDAP from scratch

LDAP

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

(106)

Mise en place de LDAP from scratch

LDAP

Configuration du serveur

Fichiers de logs : /var/log/ldap.log Par defaut, mode local ”LOCAL4” de syslog local4.debug /var/log/ldap.log

(107)

Mise en place de LDAP from scratch

LDAP

Exemple de fichierbase.ldif :

dn: dc=foo, dc=org objectClass: organization dc: foo

o: foo

telephoneNumber: 05 05 05 05 05 street: cours du General de Gaulle postalCode: 87000

postalAddress: Limoges l: Limoges

st: Haute-Vienne

dn: cn=manager, dc=foo, dc=org objectClass: top

objectClass: person userPassword: secret cn: admin

(108)

Mise en place de LDAP from scratch

LDAP

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) :

(109)

Mise en place de LDAP from scratch

LDAP

Remplissage de la base

Ajout d’utilisateurs : fichierPersonnes.ldif

dn: uid=gtay,ou=People, dc=foo,dc=org givenName: Gary

sn: Tay

loginShell:/bin/bash uidNumber: 6167 gidNumber: 102 objectClass: top objectClass: person

objectClass: organizationalPerson objectClass: inetorgperson objectClass: posixAccount objectClass: shadowAccount uid: gtay

cn: Gary Tay

homeDirectory: /home/gtay shadowLastChange: -1 shadowMin: -1 shadowMax: 99999 shadowWarning: 7

(110)

Mise en place de LDAP from scratch

LDAP

Remplissage de la base dn: uid=tuser,ou=People, dc=foo,dc=org

givenName: Test sn: User

loginShell: /bin/bash uidNumber: 99999 gidNumber: 102 objectClass: top objectClass: person

objectClass: organizationalPerson objectClass: inetorgperson objectClass: posixAccount objectClass: shadowAccount uid: tuser

cn: Test User

homeDirectory: /home/tuser shadowLastChange: -1 shadowMin: -1

(111)

Mise en place de LDAP from scratch

LDAP

Remplissage de la base

Ajout d’utilisateurs : fichierPersonnes.ldif slapadd < Personnes.ldif

Ajout d’un groupe : fichiergroup.ldif dn: cn=Users,ou=group,dc=foo,dc=org cn: Users

gidNumber: 102 objectClass: top

objectClass: posixGroup memberUId: tuser

slapadd < group.ldif

(112)

Manipulation de la base LDAP

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

(113)

Manipulation de la base LDAP

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

(114)

Mise en place de LDAP from scratch

LDAP

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

(115)

Mise en place de LDAP from scratch

LDAP

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

(116)

Mise en place de LDAP from scratch

LDAP

Configuration du client

Configuration densswitch.conf:

passwd: files ldap

group: files ldap

shadow: files ldap

(117)

Mise en place de LDAP from scratch

LDAP

Configuration du client

Exemple de test de configuration : getent passwd

getent passwd gtay getent group Users

(118)

Mise en place de LDAP from scratch

LDAP

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

(119)

Mise en place de LDAP from scratch

LDAP

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

(120)

Logiciels LDAP

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)

(121)

Logiciels LDAP

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

(122)

API LDAP

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)

(123)

DHCP

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

(124)

Protocole DHCP (1)

DHCP

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)

(125)

Protocole DHCP

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

(126)

Serveur DHCP

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;

(127)

Serveur DHCP

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

(128)

Client DHCP

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

(129)

Services de synchronisation horaire

NTP

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 !

(130)

Protocoles de synchronisation horaire

NTP

1 Time Protocol :

2 Network Time Protocol (NTP)

3 Simple Network Time Protocol (SNTP) : RFC2030 Version simplifi´ee de NTP

(131)

Time Protocol

NTP

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

(132)

Network Time Protocol (NTP) (1)

NTP

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

(133)

Network Time Protocol (NTP) (2)

NTP

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

(134)

Fonctionnalit´ es

NTP

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 :

Références

Documents relatifs

[r]

La troisième égalité permet d'établir un cas particulier du théorème de la progression arithmétique de Dirichlet : il existe une innité de nombres premiers de la forme 4m +

Consulter le support The Linux NIS(YP)/NYS/NIS+ HOWTO 8 la documentation fournie avec le paquet ainsi que les fichiers contenus dans le répertoire contenant les données du

Maintenant vous devez modifier votre fichier /etc/nsswitch.conf pour les lignes hosts, group et passwd (uniqument les maps exportés) pour prendre en compte d'abord

Lorsqu’un client recherche l’adresse IP d’un il doit consulter son fichier hosts.. Si NIS fonctionne le client interrogera NIS avant de consulter le

b) En déduire que f possède un zéro autre

sur station2: Créez 3 utilisateurs: test1 (mot de passe passtest1, même uid que test1 sur serveur1), test (mot de passe test, même uid que test2 sur serveur1), test2 (mot de

On se sert de cette propriété pour montrer que tout automorphisme de Sn avec n non égal à 6 est intérieur: on montre que tout automorphisme qui envoie une transposition sur