Contactez-nous
Contrôle d'accès
Annuaires LDAP - Aspects sécurité
H5372 v1 Article de référence

Contrôle d'accès
Annuaires LDAP - Aspects sécurité

Auteur(s) : Michel GARDIE

Date de publication : 10 oct. 2007 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Fondements

  • 1.1 - Sécurité de l'annuaire
  • 1.2 - Annuaire, un outil de sécurité

2 - TLS : un service de base pour LDAP

  • 2.1 - Certificats
  • 2.2 - Création

3 - Confidentialité des échanges LDAP

  • 3.1 - Confidentialité par TLS
  • 3.2 - Confidentialité par SASL

4 - Authentification

5 - Contrôle d'accès

  • 5.1 - Structure d'une liste d'accès
  • 5.2 - Lecture de la liste par le serveur. Exemples

6 - Utilisation de LDAP en tant qu'outil de sécurité

7 - Conclusion

Sommaire

Présentation

RÉSUMÉ

La sécurité et les annuaires électroniques ont toujours été indéfectiblement liés, et cela dans deux domaines. Certaines applications utilisent un annuaire LDAP pour gérer l'accès des utilisateurs aux ressources et services qu'elles prodiguent. Certains serveurs de sécurité utilisent des annuaires, en lieu et place de bases de données, pour y conserver toutes sortes d'information permettant à des utilisateurs de s'authentifier. La sécurité des données et des échanges repose sur la mise en œuvre du protocole TLS, et sur diverses méthodes permettant de valider l'authenticité d'un serveur et l'identité d'un utilisateur.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Michel GARDIE : Enseignant-chercheur à l'Institut national des télécommunications, Évry

INTRODUCTION

La sécurité et les annuaires électroniques ont toujours été indéfectiblement liés, et cela dans deux domaines.

Certaines applications utilisent un annuaire LDAP pour gérer l'accès des utilisateurs aux ressources et services qu'elles prodiguent. Certains serveurs de sécurité utilisent des annuaires, en lieu et place de bases de données, pour y conserver toutes sortes d'information permettant à des utilisateurs de s'authentifier (mots de passe, certificats, ...).

Ce dossier tente de présenter ces deux aspects dans le cadre des annuaires LDAP (Lightweight Directory Access Protocol).

Un serveur d'annuaire contient toutes sortes de données (nom, prénom, numéro de téléphone, adresse de courriel, etc.), mais certaines d'entre elles sont particulièrement névralgiques. Par exemple, les serveurs LDAP sont très souvent utilisés pour conserver les mots de passe des différents utilisateurs d'un réseau. Il arrive également que d'autres données, toutes aussi critiques, soient consignées au sein d'un annuaire LDAP. Citons ainsi celles concernant le type de système d'exploitation d'une machine, ou bien des informations à propos du compte d'un utilisateur, telles que son répertoire de travail, son « shell » préféré, le nom de la machine habituellement utilisée, etc. Il peut être également souhaité que certaines informations privées (un numéro de téléphone personnel, ou bien l'adresse du domicile d'un collaborateur, etc.) ne soient pas librement accessibles à l'extérieur du réseau d'entreprise. Toutes ces données sensibles doivent donc être protégées contre des agressions extérieures. Les risques encourus vont, du simple espionnage des données échangées, à l'intrusion dans le système d'annuaire par des personnes ou programmes malveillants.

L'échange de données, entre une application cliente et un serveur LDAP, se traduit par une connexion TCP (Transmission Control Protocol). Malheureusement, il arrive très souvent qu'une telle communication ne soit pas chiffrée. Autrement dit, les données sont transmises tout simplement en clair. Par conséquent, l'échange de données peut-être capturé et analysé ultérieurement. Un utilisateur peut également réussir à usurper une identité lui permettant ainsi d'accéder à des données sensibles – voire à les modifier – et ce, à des fins malveillantes ou d'espionnage industriel.

Dans le cas des annuaires LDAP, il est heureusement possible de mettre en œuvre plusieurs niveaux de sécurité, permettant ainsi de couvrir les cas de figures précédemment évoqués. Nous allons voir comment protéger une communication et, également, comment protéger l'accès aux données sensibles enregistrées dans un annuaire.

Ceci est d'autant plus fondamental que, rappelons-le, les annuaires LDAP sont souvent eux-mêmes utilisés dans des domaines liés à la sécurité, comme, par exemple, des applications d'authentification d'utilisateurs ou bien des applications de distribution de certificats et de clés.

L'étude de la sécurité est présentée comme suit. Une section du dossier s'intéresse à la mise en œuvre du protocole TLS qui est un des piliers de la sécurité de LDAP. Une partie est ensuite consacrée à la mise en œuvre de la confidentialité des échanges. Plusieurs sections présentent, en suivant, diverses méthodes permettant, d'une part, à un utilisateur de s'assurer de l'authenticité d'un serveur et, d'autre part, à un serveur de pouvoir valider l'identité d'un utilisateur et ainsi lui accorder les droits alloués. Puis, est étudiée la limitation des accès aux données sensibles d'un annuaire. Enfin, nous présentons l'utilisation d'un annuaire LDAP dans divers cadres, tels que l'authentification d'utilisateurs, la distribution de certificats, ou encore l'utilisation d'un annuaire comme base de données d'un serveur de clés de type Kerberos.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h5372

Article inclus dans l'offre

"Sécurité des systèmes d'information"

(82 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

5. Contrôle d'accès

Le contrôle d'accès a pour but de gérer les droits des différents utilisateurs d'un annuaire. Le plus souvent, cela se fait par des listes de contrôles d'accès. La manière dont ces listes sont gérées et mises en œuvre dépend, bien évidemment, des implémentations. Par exemple, les listes peuvent être sous la forme de fichiers, lus lors du démarrage du serveur (configuration statique), ou bien peuvent être enregistrées sous forme d'entrées LDAP, spécifiques au serveur (configuration dynamique).

Le principe est relativement simple.

Une liste de contrôle d'accès est une suite de règles auxquelles devra obéir un serveur pour déterminer si un utilisateur donné a le droit d'accéder à une ressource spécifique.

Dans le cas d'un annuaire LDAP, les ressources sont, le plus souvent, des attributs individuels, des entrées particulières, voire des sous-arbres complets.

Regardons ce que nous pouvons obtenir dans le cas d'un serveur OpenLDAP [14].

5.1 Structure d'une liste d'accès

Une liste d'accès (ACL) est constituée de règles (directives) dont la syntaxe générale est la suivante :

access to <what> [by <who> <access> [ <control> ] ] +

Le champ « what » représente l'objet soumis au contrôle. Cela peut être une entrée, un attribut, etc.

Le champ « who » précise quel type d'utilisateur est concerné par le contrôle.

Le champ « access » précise le type d'accès accordé à « who » pour l'objet « what ».

Le champ « control » est optionnel. Il permet de gérer la manière dont sont lues les différentes règles.

HAUT DE PAGE

5.1.1 Champ « what »

Il peut avoir une des quatre formes suivantes :

  • * [le caractère étoile] ;

  • dn[.<dnstyle>]=<pattern> ;

  • filter=<ldapfilter> ;

  • attrs=<attrlist>.

Le caractère * spécifie toutes les entrées de l'annuaire. La forme...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Contrôle d'accès

Article inclus dans l'offre

"Sécurité des systèmes d'information"

(82 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - SEMERSCHEIM (J.) -   Lightweight Directory Access Protocol (LDAP): the protocol  -  – RFC 4511, juin 2006.

  • (2) - HARRISON (R.) -   LDAP: Authentication methods and security mechanisms  -  – RFC 4513, juin 2006.

  • (3) - DIERKS (T.), RESCORLA (E.) -   The Transport Layer Security (TLS) Protocol Version 1.1  -  – RFC 4346, avril 2006.

  • (4) - FREIER (A.), KARLTON (P.), KOCHER (P.) -   The SSL Protocol Version 3.0  -  – http://wp.netscape.com/eng/ssl3/draft302.txt

  • (5) - UIT-T -   L'annuaire : cadre général des certificats de clé publique et d'attribut  -  – X.509, août 2005.

  • (6) - MELNIKOW (A.), ZEILENGA (K.) -   Simple Authentication and Security Layer (SASL)  -  – RFC 4422, juin 2006.

  • ...

1 Sigles

HAUT DE PAGE

2 Annexe : fichiers de configuration

Les fichiers de configuration présentés ici permettent de construire divers certificats simples, de façon à pouvoir mettre en œuvre rapidement une connexion TLS dans le cadre d'un serveur LDAP. Ces fichiers ne sont donnés qu'à titre d'exemple.

Pour plus d'information sur la structure des fichiers de configuration OpenSSL, voir .

HAUT DE PAGE

2.1 1 - root-ca-cert.cnf

Ce fichier de configuration sert de base à la génération d'un certificat racine auto-signé. Il s'agit ici de celui de l'Autorité de certification INT LOR Root CA.

# pour générer un certificat root CA

[ req ]

default_bits   = 1024

default_keyfile   = private/ca.key

default_md   = md5

distinguished_name   = req_distinguished_name

x509_extensions   = rootca_cert

[ req_distinguished_name ]

countryName   = Pays

countryName_default   = FR

countryName_min   =...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Sécurité des systèmes d'information"

(82 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Les annuaires LDAP

De nombreux outils d’annuaires électroniques ont vu le jour ces dernières années, parmi eux DNS (Domain ...

Mise en œuvre d’un proxy - Installation

Avec l’avènement du protocole HTTP et d’Internet, les besoins de communication d’un périmètre à un autre ...

Mise en œuvre d'un proxy - Fonctions avancées

Le logiciel Squid possède la faculté de s'interfacer avec des logiciels tiers, décuplant ainsi ses ...