\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{ven. mai 22 10:48:25 CEST 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={rfc3088},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={OpenLDAP Root Service - Service de référencement LDAP expérimental},
CreationDate={D:20150522104825},
ModDate={D:20150522104825},
Keywords={LDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge rfc3088 }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large OpenLDAP Root Service - Service de référencement LDAP expérimental}
 
\vspace{10mm}
 
\hspace{1mm}  Le projet OpenLDAP opère comme service de référencement d'accès aux annuaires LDAP, connu comme le "OpenLDAP Root Service". Le système Automatisé génère des références basée sur les informations d'emplacement de service publiées dans les enregistrement DNS SRV RR. Ce document décris ce service.
\vspace{5mm} \\
 
 
\hspace{1mm}  Les annuaires LDAP utilisent un schéma de nommage hiérarchique hérité de X.500. Traditionnellement, les déploiements X.500 ont utilisé un schéma de nommage géo-politique. Cependant, l'infrastructure d'enregistrement et les services de localisation dans beaucoups de portions du nommage hiérarchique sont inadéquates ou non-existants.
\vspace{5mm} \\
 
 
\hspace{1mm}  La construction d'un annuaire global nécessite une infrastructure d'enregistrement et un service de localisation robuste. L'utilisation du nommage basé sur le domaine internet permet aux services d'annuaire LDAP de faire un levier vers une infrastructure d'enregistrement DNS des enregistrement de ressource DNS SRV existants pouvant être utilisé pour localiser les services.
\vspace{5mm} \\
 
 
\hspace{1mm}  La plupart des implémentations LDAP existantes ne supportent pas la localisation des services d'annuaires en utilisant les DNS SRV RR. Cependant, la plupart des serveurs supportent la génération de références vers des serveurs supérieurs. Ce service fournis un service LDAP root que les serveur peuvent utilisé comme leur service référant supérieur.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un client peut également utiliser le service directement pour localiser les services associés avec un DN arbitraire dans la hiérarchie.
\vspace{5mm} \\
 
 
\hspace{1mm}  Note: les mécanismes utilisé par le service sont expérimentaux. Les descriptions fournies par ce document ne sont pas définitifs.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Générer des références basées sur les DNS SRV RR }
 
\
 
\hspace{1mm} Le service mappe un DN vers un fqdn en utilisant l'algorithme suivant:
 
{\ttfamily
domain = null;\\ foreach RDN left-to-right // \texttt{[}1\texttt{]}\\ \{\\ \hspace{2mm}if not multi-valued RDN and RDN.type == domainComponent\\ \hspace{2mm}\{\\ \hspace{2mm}\hspace{2mm}if ( domain == null || domain == "." )\\ \hspace{2mm}\hspace{2mm}\{ // start\\ \hspace{2mm}\hspace{2mm}\hspace{2mm}domain = "";\\ \hspace{2mm}\hspace{2mm}\}\\ \hspace{2mm}\hspace{2mm}else\\ \hspace{2mm}\hspace{2mm}\{ // append separator\\ \hspace{2mm}\hspace{2mm}\hspace{2mm}domain .= ".";\\ \hspace{2mm}\hspace{2mm}\}\\ \hspace{2mm}\hspace{2mm}if ( RDN.value == "." )\\ \hspace{2mm}\hspace{2mm}\{ // root\\ \hspace{2mm}\hspace{2mm}\hspace{2mm}domain = ".";\\ \hspace{2mm}\hspace{2mm}\}\\ \hspace{2mm}\hspace{2mm}else\\ \hspace{2mm}\hspace{2mm}\{ // append domainComponent\\ \hspace{2mm}\hspace{2mm}\hspace{2mm}domain .= RDN.value;\\ \hspace{2mm}\hspace{2mm}\}\\ \hspace{2mm}\hspace{2mm}continue;\\ \hspace{2mm}\}\\ \hspace{2mm}domain = null;\\ \}\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Distinguished Name\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_Domain
 
{\ttfamily
----------------------------- ------------\\ DC=example,DC=net\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_example.net\\ UID=jdoe,DC=example,DC=net\_\_\_\_\_\_example.net\\ DC=.\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_. \texttt{[}2\texttt{]}\\ DC=example,DC=net,DC=.\_\_\_\_\_\_\_\_\_\_. \texttt{[}3\texttt{]}\\ DC=example,DC=.,DC=net\_\_\_\_\_\_\_\_\_\_net \texttt{[}4\texttt{]}\\ DC=example.net\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_example.net \texttt{[}5\texttt{]}\\ CN=Jane Doe,O=example,C=US\_\_\_\_\_\_null\\ UID=jdoe,DC=example,C=US\_\_\_\_\_\_\_\_null\\ DC=example,O=example,DC=net\_\_\_\_\_net\\ DC=example+O=example,DC=net\_\_\_\_\_net\\ DC=example,C=US+DC=net\_\_\_\_\_\_\_\_\_\_null\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Notes }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} 0)]{Une version ultérieur utilisera un mécanisme standardisé}
\item[\hspace{1mm} 1)]{Une version ultérieur de ce service peut utiliser un algorithme droit-à-gauche.}
\item[\hspace{1mm} 2)]{La rfc2247 ne statut pas sur la manière de mapper le domaine représentant là racine de l'arborescence vers un DN. On suggère que la racine du domaine soit mappé à "DC=." et qu'il soit inversable}
\item[\hspace{1mm} 3)]{La rfc2247 statut que le domaine "example.net" devrait être mappé au dn "DC=example,DC=net", et non "DC=example,DC=net,DC=.", ce n'est pas notre intention d'introduire ou supporter un domaine alternatif au mappage de DN.}
\item[\hspace{1mm} 4)]{La rfc2247 statut que le domaine "example.net" devrait être mappé au dn "DC=example,DC=net", et non "DC=example,DC=.,DC=net", ce n'est pas notre intention d'introduire ou supporter un domaine alternatif au mappage de DN.}
\item[\hspace{1mm} 5)]{La rfc2247 statut que la valeur d'un type d'attribut DC est un composant de domaine. Il ne devrait pas contenir plusieurs composants de domaine multiple. Une version ultérieur de ce service peut mapper ce domaine à null ou être encodé pour retourner un erreur de DN invalide.}
\end{description}
 
\hspace{1mm}  Si le domaine est null ou ".", le service stop tout traitement et retourne noSuchObject. Une version ultérieur de ce service peut annuler le traitement si le domaine résultant est un domaine top-level.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Localiser les services LDAP }
 
\
 
\hspace{1mm}  Le service root localise les services associés avec une nom de domaine pleinement qualifié en requêtant le DNS pour les enregistrements de ressoure LDAP SRV. Pour le domaine example.net, le service devrait émettre une demande SRV pour le domaine "\_ldap.\_tcp.example.net". Une requête réussie va retourner un ou plusieurs enregistrements de ressources sous la forme:
\vspace{5mm} \\
\hspace{1mm}  \_ldap.\_tcp.example.net. IN SRV 0 0 389 ldap.example.net.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si aucun enregistrement de ressource LDAP SRV n'est retourné ou une erreur DNS se produit, le service annule tout traitement et retourne noSuchObject. Une version ultérieur de ce service gérera mieux les erreurs.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Construire les réferences LDAP }
 
\
 
\hspace{1mm}  Pour chaque DNS SRV RR retourné pour le domaine, une URL LDAP est construite. Pour l'enregistrement ci-dessus, l'url serait:
\vspace{5mm} \\
\hspace{1mm}  ldap://ldap.example.net:389/
\vspace{5mm} \\
 
 
\hspace{1mm}  Ces URL sont ainsi retournées dans le référant. Les URL sont actuellement retournés dans l'ordre du resolver.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Opérations du protocole }
 
\
 
\hspace{1mm}  Cette section décris comment le service effectue des opération LDAP de base. Le service supporte les opérations étendues prévues via certains contrôles.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Opérations de base }
 
\
 
\hspace{1mm}  Les opérations de base retournent un résultat référant si le DN cible peut être mappé à un jeu d'URLs LDAP comme décris ci-dessus. Sinon, une réponse noSuchObject ou autre réponse appropriée est retournée.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Opération Bind }
 
\
 
\hspace{1mm}  Ce service accepte le bind anonyme. Tous les autres bind retournent un code non 0. En particulier, les clients qui envoient des accréditifs en texte claire vont recevoir un unwillingToPerform avec un texte d'avertissement. Vu que ce service est en lecture seule, l'authentification lDAP v3 n'est pas supportée.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Unbind }
 
\
 
\hspace{1mm}  Une fois une demande unbind reçue, le serveur abandonne toutes requêtes faites par le client et déconnecte.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Extended }
 
\
 
\hspace{1mm}  Le service ne reconnaît actuellement aucune opération étendue.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Update }
 
\
 
\hspace{1mm}  Une version future de ce document peut retourner unwillingToPerform pour toutes les opérations de modification vu que c'est un service non authentifié.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Controle ManageDSAit }
 
\
 
\hspace{1mm} Le service supporte le contrôle ManageDSAit. Si les informations de l'emplacement DNS sont disponible pour de DN de base lui-même, le service retourne unwillingToPerform pour les opérations autre que de recherche. Pour les opérations de recherche, une entrée va être retourné si elle est dans le scope et correspond au filtre fournis. Par exemple:
 
{\ttfamily
c: searchRequest \{\\ \hspace{2mm}base="DC=example,DC=net"\\ \hspace{2mm}scope=base\\ \hspace{2mm}filter=(objectClass=*)\\ \hspace{2mm}ManageDSAit\\ \}\\ \hspace{2mm}\\ s: searchEntry \{\\ \hspace{2mm}dn: DC=example,DC=net\\ \hspace{2mm}objectClass: referral\\ \hspace{2mm}objectClass: extensibleObject\\ \hspace{2mm}dc: example\\ \hspace{2mm}ref: ldap://ldap.example.net:389/\\ \hspace{2mm}associatedDomain: example.net\\ \}\\ s: searchResult \{\\ \hspace{2mm}success\\ \}\\
}
\vspace{8mm}
 
\hspace{1mm} Si les informations d'emplacement DNS sont disponible pour la portion DC d'une entrée subordonnée, le service retourne noSuchObject avec le matchedDN à la portion DC de la base pour la recherche et les opérations de mise à jours:
 
{\ttfamily
c: searchRequest \{\\ \hspace{2mm}base="CN=subordinate,DC=example,DC=net"\\ \hspace{2mm}scope=base\\ \hspace{2mm}filter=(objectClass=*)\\ \hspace{2mm}ManageDSAit\\ \}\\ \hspace{2mm}\\ s: searchResult \{\\ \hspace{2mm}noSuchObject\\ \hspace{2mm}matchedDN="DC=example,DC=net"\\ \}\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Utiliser le service }
 
\
 
\hspace{1mm}  Les serveurs peuvent être configurés pour référer les requêtes à <ldap://root.openldap.org:389>. Bien que les clients peuvent utiliser le service directement, Ce n'est pas encouragé. Les clients devraient utiliser un service local et utiliser ce service seulement quand il est référencé. Le service supporte LDAPv3 et LDAPv2+ sur TCP/IPv4. Une version future de ce document supportera TCP/IPv6 ou d'autres protocoles de transport/internet.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Disponibilité }
 
\
 
\hspace{1mm}  Ce service fonctionne actuellement sur un seul hôte. Cet hôte et les ressources réseaux associées ne sont pas exhaustives. On peut facilement augmenter la disponibilité à la demande. Le service peut également être facilement dupliqué localement.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Interopérabilité du protocole }
 
\
 
\hspace{1mm}  Le serveur implémente toutes les fonctionnalités LDAPv3 nécessaire au service. LDAPv2 de supporte pas les referral et donc ne peut pas être utilisé par ce service. LDAPv2+ fournis des extensions à LDAPv2, incluant les référants. Une future version de ce document supprimera le support le LDAPv2+.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Considérations de sécurité }
 
\
 
\hspace{1mm}  Ce service fournis des informations aux clients anonymes. Cette information est dérivée des annuaires publiques, appelés DNS.
\vspace{5mm} \\
 
 
\hspace{1mm}  L'utilisation de l'authentification nécessiterait aux clients de divulguer des informations au service. Cela serait une invasion non-nécessaire.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le manque de chiffrement permet l'écoute des demandes et réponses. Une version ultérieur de ce service pourrait supporter le chiffrement.
\vspace{5mm} \\
 
 
\hspace{1mm}  La protection de l'intégrité des informations n'est pas fournie par le service. Le service est sujet à diverses formes d'attaques DNS. Une version ultérieur de ce document peut supporter DNSSEC et fournir une protection d'intégrité.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le service est sujet à diverses attaque DOS. Une version ultérieur de ce document nécessiterait une meilleur protection pour de tels attaques.
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
