Il modello Informativo

Slides:



Advertisements
Presentazioni simili
UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Advertisements

Introduzione al linguaggio C++
Introduzione al DTD Mario Arrigoni Neri.
DBMS (DataBase Management System)
Estendere i linguaggi: i tipi di dato astratti
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
PHP.
Installazione di Active Directory
Amministrazione di una rete con Active Directory.
Amministrazione di una rete con Active Directory
Active Directory.
SQL Structured Query Language
Interfaccia del file system
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
Posta elettronica ( ) chiocciola" comunemente letta at Identificativo dellutente Identificativo del computer centrale sul quale risiede.
Access: Query semplici
Fogli elettronici - Spreadsheet
389 Directory Server Dael Maselli.
TCP_Wrapper Le richieste per un determinato servizio (ad. es. telnet, ftp, rsh, etc.) vengono soddisfatte soltanto se lindirizzo IP del richiedente rientra.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Basi di dati Claudia Raibulet
4 Tipi di dati & variabili
Gruppo Directory Services Rapporto dell'attivita' svolta - Marzo 2000.
MODELLO LOGICO DEI DATI
Il Sistema Operativo: il File System
Realizzato da Roberto Savino
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
Creare pagine web Xhtlm. Struttura di una pagina.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Configurazione di una rete Windows
In cammino verso l'identità unica ESSENZA DEL DIRITTO SONO quindi POSSO Use Case Università di Modena e Reggio Emilia Maria Laura Mantovani.
INFN-AAI Directory Service LDAP Dael Maselli (Slides by Fulvio Ricciardi) Tutorial INFN-AAI Plus Dicembre 2010.
Architettura dei Servizi di Directory Università Cattolica del Sacro Cuore - Sede di Brescia - Facoltà di Scienze Matematiche Fisiche e Naturali Corso.
PSYCINFO.
Directory Directory cos’e’? Directory qual’e’ il suo scopo?
Introduzione a Javascript
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
IV D Mercurio DB Lezione 2
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
INFN-AAI Protoserv Dael Maselli Tutorial INFN-AAI Plus Dicembre 2010.
MySQL Database Management System
I FILE I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo I File sono l’ unità base di informazione nell’interazione.
Fedora Directory Server Dael Maselli Workshop AAI - 30 Maggio LNF.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Universita` degli studi di Perugia Corso di Laurea in Matematica Attribute Certificate Valentina Hamam Rosa Leccisotti.
Fedora Directory Server Dael Maselli. Funzionalita’ principali Replica Multi-Master fino a 4 nodi Connessione e autenticazione sicura (SSLv3, TLSv1 e.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Attivita' tecniche Test effettuati su Fedora Directory Server: SSL/TLS Autenticazione con Backend PAM Autenticazione Ticket Kerberos Replica Master-Slave.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Approfondimenti SQL.
INFN-AAI Protoserv Dael Maselli Tutorial INFN-AAI Plus Marzo 2012.
Active Directory. Cos’è Active Directory (AD)  Un “directory service”  Un contenitore di oggetti  Un insieme di servizi di accesso  Un “namespace”
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
04/06/2016Francesco Serafini INDICO Corso Nazionale Novembre 2007.
Architettura di INFN-AAI Plus Enrico M. V. Fasanelli Tutorial INFN-AAI Plus CNAF Marzo 2012.
INFN-AAI Autenticazione e Autorizzazione Dael Maselli Tutorial INFN-AAI Plus Marzo 2012.
Tutorial INFN-AAI Liv.2 Server LDAP
INFN-AAI Directory Service LDAP
Transcript della presentazione:

Il modello Informativo LDAP organizza i dati secondo il modello gerarchico, cioè una entry (o nodo) oltre agli attributi che la caratterizzano, può avere anche delle entry figlie Ogni entry, fatta eccezione per il nodo radice, ha uno ed un solo nodo padre L’insieme di tutte le entry organizzate gerarchicamente rappresentano il DIT (Directory Information Tree) Ogni entry figlia di uno stesso nodo ha un attributo RDN (Relative Distinguished Name) che la individua univocamente fra tutte le entry aventi in comune lo stesso padre Ogni entry all’interno di un DIT è identificabile univocamente dal DN (Distinguished Name) ottenuto concatenando gli RDN dei nodi compresi nel percorso per arrivare alla radice.

Esempio di DIT RDN: c=IT o=INFN,c=IT RDN: o=INFN l=Lecce RDN: l=Lecce RDN: ou=Tecnici ou=Ammin ou=Ricercatori ou=Tecnici ou=Comm.Calcolo ou=People ou=Hosts l=Roma1 RDN: ou=People uid=mrossi RDN: uid=mrossi Il Distinguished Name dell’utente con username mrossi è: DN: uid=mrossi,ou=People,ou=Tecnici,l=Lecce,o=INFN,c=IT

Il formato LDIF (LDAP Data Interchange Format) Il formato LDIF è un formato testuale che permette la visualizzazione e l’aggiornamento delle entry di una directory LDAP Viene spesso utilizzato quando si devono inserire o modificare un numero elevato di entry e ciò risulterebbe troppo ripetitivo e noioso usando un’interfaccia grafica (es. Migration Tools di PADL) Si può fare il dump in LDIF di un’intera Directory da utilizzare come backup oppure per la migrazione verso implementazioni diverse di server LDAP Il formato LDIF viene spesso utilizzato anche per aggiornare i server di replica in maniera incrementale

Struttura di una entry in formato LDIF dn: <distinguished name> <Attribute Type>: <value> ……… Una entry LDIF è costituita dal Distiguished Name seguita da un elenco di attributi Attributi multipli vanno specificati su righe distinte ……

Esempio di una entry di /etc/passwd convertita in formato LDIF NIS: mrossi:x:501:501:Mario Rossi:/home/mrossi:/bin/bash LDIF: dn: uid=mrossi,ou=People,L=Lecce,o=INFN,c=IT uid: mrossi cn: Mario Rossi objectClass: top objectClass: account objectClass: posixAccount userPassword: {crypt}x loginShell: /bin/bash uidNumber: 501 gidNumber: 501 homeDirectory: /home/mrossi gecos: Mario Rossi

SCHEMA LDAP Lo schema di una directory stabilisce le regole che una entry deve rispettare Stabilisce quali sono gli attributi necessari (MUST) e quali quelli opzionali (MAY) attraverso le objectclass Stabilisce il tipo di dato che un attributo può contenere (stringa, intero, …) Stabilisce quali sono le regole di confronto tra gli attributi e i parametri di ricerca

Le ObjectClass Le objectclass sono le classi che servono ad istanziare le entry in una directory LDAP e ne caratterizzano il tipo (Utente, host, stampante, …) Una objectclass può discendere da un’altra classe e quindi ereditarne gli attributi Le objectclass si distinguono in: Abstract da cui si possono solo derivare altre classi, ma da cui non è possibile istanziare direttamente una entry Structural da cui si possono istanziare direttamente le entry Auxiliary da cui non si possono derivare direttamente delle entry se non affiancandole alle classi structural. Servono a qualificare meglio le classi strutturali aggiungendo altri attributi

Esempio di classe abstract objectClasses: ( 2.5.6.0 NAME 'top' DESC 'Standard LDAP objectclass' ABSTRACT MUST objectClass X-ORIGIN 'RFC 2256' ) (Estratto dallo schema 00core.ldif del Fedora DS) La classe top è la classe da cui derivano tutte le altre classi Contiene il solo attributo necessario objectClass Non è possibile istanziare direttamente una entry dalla class top

Esempi di classi structural objectClasses: ( 2.5.6.6 NAME 'person' DESC 'Standard LDAP objectclass' SUP top MUST ( sn $ cn ) MAY ( description $ seeAlso $ telephoneNumber $ userPassword ) X-ORIGIN 'RFC 2256' ) objectClasses: ( 2.5.6.7 NAME 'organizationalPerson' DESC 'Standard LDAP objectclass' SUP person MAY ( destinationIndicator $ facsimileTelephoneNumber $ internationaliSDNNumber $ l $ ou $ physicalDeliveryOfficeName $ postOfficeBox $ postalAddress $ postalCode $ preferredDeliveryMethod $ registeredAddress $ st $ street $ teletexTerminalIdentifier $ telexNumber $ title $ x121Address ) X-ORIGIN 'RFC 2256' ) objectClasses: ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' DESC 'Internet extended organizational person objectclass' SUP organizationalPerson MAY ( audio $ businessCategory $ carLicense $ departmentNumber $ displayName $ employeeType $ employeeNumber $ givenName $ homePhone $ homePostalAddress $ initials $ jpegPhoto $ labeledURI $ manager $ mobile $ pager $ photo $ preferredLanguage $ mail $ o $ roomNumber $ secretary $ uid $ x500uniqueIdentifier $ userCertificate $ userSMimeCertificate $ userPKCS12 ) X-ORIGIN 'RFC 2798' ) (Estratti dallo schema 00core.ldif del Fedora DS)

Esempio di classe AUXILIARY objectClasses: ( 1.3.6.1.1.1.2.0 NAME 'posixAccount' DESC 'Standard LDAP objectclass' SUP top AUXILIARY MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ description ) X-ORIGIN 'RFC 2307' ) (Estratti dallo schema 10rfc2307.ldif del Fedora DS) Nota: La classe posixAccount fa parte dello schema NIS (rfc 2307) che permette la migrazione di tutte le mappe NIS in una directory LDAP. Altre classi dello schema NIS sono: posixGroup, shadowAccount, ipService, ipHost, nisNetgroup, ieee802Device, bootableDevice

Esempio di istanza delle Object Class precedenti # mrossi, People, Lecce, INFN, IT dn: uid=mrossi,ou=People,l=Lecce,o=INFN,c=IT uid: mrossi cn: Mario Rossi givenName: Mario sn: Rossi mail: mrossi@le.infn.it mail: Mario.Rossi@le.infn.it objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount loginShell: /bin/bash uidNumber: 503 gidNumber: 503 homeDirectory: /home/mrossi gecos: Mario Rossi

Il modello dei nomi Il modello dei nomi definisce come ogni entry viene identificata e collocata all’interno del DIT L’identificazione di una entry è delegata al Distiguished Name (DN) che è un nome univoco in tutta la directory Un Relative Distinguished Name (RDN) è una coppia <AttributeName> = <Value> appartenente alla entry Identifica una entry localmente, cioè fra quelle appertenti allo stesso livello Deve essere scelta in maniera che sia unica fra tutte le entry che hanno lo stesso padre Il Distiguished Name di una entry si ottiene come sequenza degli RDN separati da virgole che appartengono al percorso che porta alla radice Esempio: DN: cn=pluto.le.infn.it,ou=Hosts,l=Lecce,o=INFN,c=IT

Sintassi dei Distinguished Name Esistono due forme: a stringa e ad URL I confini della directory non sono evidenti (referral e chaining) Gli RDN hanno 2 forme A singolo valore type=value Multivalore type=value+type=value I valori possono essere racchiusi tra doppi apici (“) permettendo ai caratteri speciali di non essere interpretati I caratteri speciali possono essere preceduti dal backslash (\) in maniera da non essere interpretati Gli spazi che non fanno parte (centrale) di un valore sono ignorati I caratteri in UTF-8 posso essere ottenuti con i loro codice esadecimali preceduti dal backslash

Alcuni esempi di DN a stringa uid=mrossi, ou=People, ou=Tecnici, l=Lecce, o=INFN, c=IT cn=Mario Rossi+ou=Tecnici, ou=People, l=Lecce, o=INFN, c=IT cn=Mario Rossi,ou=People,ou=Ospiti\, Studenti,l=Lecce,o=INFN, c=IT cn=Linea1\0DLinea2,o=prova

Formato degli URL Il protocollo LDAP prevede che una entry o insieme di entry possano essere ottenute mediante URL Il formato di un URL LDAP e del tipo: ldap[s]://host:port/baseDN/[?attributes[?scope?filter]] dove: host e port indicano il server a cui rivolgere la query baseDN è il distinguished name in formato stringa attributes è un elenco di attributi separati da virgole scope può assumere i valori base, one, sub filter indica i criteri di ricerca Esempio ldap://ds.infn.it/o=INFN,c=IT?uid,cn?sub?(mail=Mario.Rossi@le.infn.it)

Il modello funzionale Il modello funzionale, cioè i tipi di operazioni che si possono effettuare all’interno di una directory LDAP, comprende 3 categorie: L’autenticazione (bind, unbind e abandon), con cui ci si fa riconoscere dal server LDAP e in base alla quale viene assegnata un’identità con cui effettuare le successive operazioni. Le query (Search e Compare) che permettono di fare la ricerca di una o più entry all’interno della directory che soddisfano determinati criteri Le operazioni di update (Add, Delete, Modify e ModifyRDN) permettono di aggiungere, cancellare e modificare le entry all’interno della directory.

Le Query Sono le operazioni più frequenti che si effettuano su di una directory e per le quali i server LDAP sono ottimizzati Permettono la ricerca su tutta o su di una porzione (sotto albero o branch) della directory (base e scope) La ricerca può avvenire attraversando automaticamente più server LDAP su cui è partizionata la directory (Referral e Chaining) in maniera trasparente per il client Si può specificare una lista di attributi da leggere Le query non fanno differenza tra operazioni di Read e di Listing I criteri di ricerca (filters) possono essere combinati tra loro con operazioni logiche (and, or e not)

Il parametro Base delle query Rappresenda il DN del nodo di partenza da cui iniziare la ricerca Esempi ldapsearch –x –b “l=Lecce,o=INFN,c=IT” Restituisce tutte le entry appartenenti alla directory ldapsearch –x –b “ou=People,ou=Tecnici,l=Lecce,o=INFN,c=IT” Restituisce le entry di tutti i Tecnici ldapsearch –x –b “cn=schema” Restituisce lo schema della directory (objectClasses,attributeTypes e matchingRules)

Il parametro Scope delle Query Lo scope rappresenta la profondità con cui deve avvenire la ricerca e può essere: base (baseObject) in cui la ricerca avviene unicamente sulla entry individuata dal Distinguished Name fornito come base one (singleLevel) in cui vengono prese in considerazione solo le entry direttamente discendenti dalla entry individuata dal Distinguished Name fornito come base. La entry base non è esaminata. sub (wholeSubtree) la ricerca avviene nell’intero sotto albero che per radice la entry individuata dal base. Questo è il comportamento di default. Esempi: ldapsearch –x –b “ou=People,ou=Tecnici,l=Lecce,o=INFN,c=IT” –s one ldap://ds.infn.it/l=Lecce,o=INFN,c=IT?street?base

Filtri di ricerca Operator Descrizione Esempio = >= <= =* ~= I filtri di ricerca sono espressi nella forma infissa <attribute> <operator> <value> dove l’operatore <operator> assume uno dei seguenti significati: Operator Descrizione Esempio = Restituisce le entry che hanno un attributo con valore uguale a quello specificato. Il vallore può essere specificato usando il carattere Jolly * (cn=Mario Rossi) (mail=*@*.infn.it) >= Restituisce le entry con valore dell’attributo maggiore o uguale a quello specificato (uidNumber>=500) (cn>=Mario Rossi) <= Restituisce le entry con valore dell’attributo minore o uguale a quello specificato =* Restituisce le entry che hanno un valore impostato per l’attributo specificato (userCertificate=*) (objectClass=*) ~= Restituisce le entry che hanno l’attributo che è approsimativamente uguale al valore. In genere si tratta di assonanza fonetica (cn~=Cristoforo Colombo) Fa il match anche di Crisoforo Colombo

Filtri combinati I filtri combinati possono essere ottenuti combinando i filtri semplici mediante gli operatori booleani & (and), | (or) e ! (not) Si utilizza la notazione prefissa del tipo: (&(filter1)(filter2)...(filterN)) (|(filter1)(filter2)...(filterN)) (!(filter)) Esempi: ldapsearch –x –b “o=INFN,c=IT” ‘(&(sn=Rossi)(givenName=Mario))’ mobile mail ldapsearch –x –b “o=INFN,c=IT” ‘(!(mail=*))’

Alias Dereferencing Un alias è una entry che punta ad un’altra entry all’interno del DIT Esempio: dn: uid=mrossi,ou=CommCalcolo,o=INFN,c=IT uid: mrossi objectClass: alias objectClass: extensibleObject aliasedObjectName: uid=mrossi,ou=People,ou=Tecnici,l=Lecce,o=INFN,c=IT Le possibili opzioni di dereferensing sono: never (opzione di default) always (il dereferenziamento avviene sempre) search (solo in ricerca) find (utilizzato solo per localizzare il base point della ricerca)

Limiti sulle query Problema Alcune query potrebbero risultare molto lunghe sia in termini di risultato (numero di entry) che di tempo necessario all’elaborazione Tali tempi non sono prevedibili a priori soprattutto se la directory è distribuita geograficamente Soluzione Il client può specificare un parametro per limitare il numero massimo di entry contenute nel risultato (ldapsearch –z numentries) Il client può limitare anche il tempo massimo dopo il quale il server annulla la ricerca (ldapsearch –l seconds) Il server può restringere ulteriormente tali limiti

Referral Se un server non è in grado di soddisfare una richiesta perché non è autoritario per la parte di DIT che contiene i dati richiesti, può restituire un referral, cioè un riferimento ad un nodo di un DIT ospitato su di un altro server Un referral si implementa praticamente con una entry contenente un URL LDAP che punta ad un altro server (o più server) Esempio di referral: dn: l=Lecce,o=INFN,c=IT l: Lecce objectclass: referral objectclass: extensibleObject ref: ldap://ds.le.infn.it/l=Lecce,o=INFN,c=IT ref: ldap://ds-1.le.infn.it/l=Lecce,o=INFN,c=IT

Differenza tra Chaining e Referral Oltre che con i referral si può distribuire geograficamente il DIT mediante il chaining di server LDAP Il chaining consiste nell’istruire un server ad interrogare un altro server quando si accorge di non poter soddisfare una query perché deve attraversare una parte di DIT della quale non è autoritario Il chaining non è standardizzato, ma dipende dall’implementazione del server LDAP e non è detto che sia implementato (Fedora DS lo implementa) Differenza tra Chaining e Referral Con il chaining il client non si accorge che i dati sono dislocati su di un server diverso da quello che ha contattato Quando un client riceve un referral, se istruito per farlo, deve fare lui stesso il bind verso il nuovo server LDAP

Operazione di Compare Controlla l’esistenza di un attributo all’interno di una entry e lo confronta con un valore Il risultato dell’operazione può essere TRUE, FALSE, UNDEFINED Esempio: ldapcompare -x “uid=mrossi,ou=People,l=Lecce,o=INFN,c=IT” “mail:mario.rossi@le.infn.it”

Operazioni di UPDATE Permettono la modifica delle entry che costituiscono la Directory Sono possibili 4 operazioni di update: add delete modify Modify DN Vengono inviate dal client al server mediante LDIF Varie implementazioni di server LDAP utilizzano queste operazioni anche per le operazioni di replica incrementale tra Master e Slave

Esempi di add e modify ldapadd -x -D"cn=directory manager" -w dmanager –h ds.le.infn.it < ldata.ldif ldapmodify -x -D"cn=directory manager" -w dmanager -h xen-gw.le.infn.it dn: uid=mrossi,ou=people,l=Lecce,o=INFN,c=IT replace: homeDirectory homeDirectory: /afs/le.infn.it/user/m/mrossi2 - add: title title: Ingegnere delete: mobile modifying entry "uid=mrossi,ou=people,l=Lecce,o=INFN,c=IT"

Esempi di delete e modify DN Modifica del Relative Distinguished Name ldapmodrdn -x -D"cn=directory manager" -w dmanager –h ds-6.example.com uid=mrossi,ou=People,L=Lecce,o=INFN,c=IT uid=marior Eliminazione di una entry foglia ldapdelete -x -D"cn=directory manager" -w dmanager -h ds-6.example.com uid=marior,ou=People,L=Lecce,o=INFN,c=IT

Tipi di autenticazione No authentication Consente l’accesso anonimo ai dati. L’accesso avviene senza dichiarare le credenziali Per default, la maggior parte delle implementazioni di LDAP consente l’accesso a tutto il DIT mediante l’accesso anonimo. L’amministratore dovrà pertanto proteggere con le opportune informazioni di autorizzazione le parti sensibile del DIT Basic Authentication Il client specifica un Distiguished Name ed una password che vengono mandati in chiaro al server Il server confronta la password con quella presente nella entry con il DN specificato e in caso di esito positivo fornisce l’accesso Non è prevista alcuna criptazione dei messaggi successivi

Simple and Security Authentication Protocol Con LDAP v3 è stata introdotta la possibilità di autenticare e criptare le comunicazioni tra client e server mediante SASL SASL può negoziare diversi tipi di autenticazione tra cui GSS-API Tramite GSS-API il client e il server possono negoziare l’autenticazione Kerberos 5 Il modo con cui il principal Kerberos viene mappata sul DN della entry da autorizzare non è definito dallo standard LDAP, ma viene stabilito dall’implementazione del server LDAP e può essere configurato dall’amministratore mediante Regular Expression La cifratura dei dati dopo l’autenticazione è opzionale e va negoziata tra client e server

SSL e TLS Qualora non si disponga di un’infrastruttura Kerberos si può utilizzate SSL/TLS per ottenere la mutua autenticazione del client e del server e la cifratura dei dati Si può ottenere un canale criptato con SSL usando il protocollo ldaps (porta tcp 636) oppure avviando una connessione in chiaro con protocollo ldap (porta tcp 389) e poi facendo partire una sessione criptata con STARTTLS Anche in questo caso la mappatura del Subject del certificato sul DN della entry da autenticare non è standard