Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=88244245) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 2) afficher la version suivante »

Pascal Aubry et François Dagorn

Pourquoi faire évoluer le système d'authentification des usagers ?

Aujourd'hui le système d'authentification des usagers est architecturé autour d'un annuaire LDAP dérivé journellement du système d'information. On peut noter qu'il s'agit d'un usage un peu limite de LDAP qui a été surtout spécifié pour faciliter les recherches de personnes et de services dans des annuaires décentralisés. LDAP répond toutefois au besoin car il permet de contrôler l'accès à tous les types de services nécessaires sur un réseau informatique (ouverture de sessions, impressions, partage de fichiers, ...), il est de plus disponible dans tous les environnements utilisés (Linux, Windows, MacOS, Solaris, ...). L'utilisation de LDAP est aujourd'hui relativement générale dans les Universités, plusieurs

problèmes liés à la sécurité des réseaux se posent pourtant.

Les mots de passe des usagers doivent impérativement être acheminés en clair depuis les postes de travail qui hébergent des services jusqu'aux serveurs LDAP chargés des opérations de contrôles. L'utilisation du protocole sécurisé LDAPS (LDAP sur TLS) permet de contourner ce problème puisqu'il impose une session TLS avant tout dialogue LDAP.  L'université de Rennes 1 n'utilise pas LDAPS et tous les postes de travail du réseau académique exposent les mots de passe des usagers aux yeux d'utilisateurs indélicats (l'empoisonnement ARP est facile à mettre en oeuvre). L'utilisation de services de fichiers mutualisés contrôlés par LDAP accentuent ce problème car les mots de passe doivent circuler en clair jusqu'aux services avant d'être acheminés ensuite (éventuellement en LDAPS) jusqu'aux serveurs LDAP. Dans ce cadre, le serveur de fichiers communautaire de l'université de Rennes 1 est encore aujourd'hui un maillon faible de la sécurité du réseau de l'établissement.

En 2009, le nouveau système d'exploitaion Windows 7 est apparu, il ne s'intègre pas facilement dans un environnement contrôlé par LDAP. Windows XP utilisait PGina pour intercepter le mot de passe de l'usager au moment de la phase de connexion, il le ressortait ensuite quand celà s'avérait nécessaire (utisation de partages, ...). Ce schéma ne peut plus fonctionner sous Windows 7, on ne peut toutefois pas renoncer à Windows 7 pour cette raison. L'IFSIC a développé un outil similaire à PGina (Regina), il est en place et fonctionne.

La méthode utilisée par Regina et PGina pour intercepter et utiliser le mot de passe en clair n'est pas compatible avec les impératifs de sécurité d'un réseau informatique. Plus généralement, c'est l'utilisation de LDAP pour authentifier des usagers qui pose de gros problèmes de sécurité.
La généralisation des ENT a permis la mise en oeuvre de systèmes d'authentification unique pour les environnements Web, mais on reste pour l'instant d'en l'attente d'un système d'authentification allant de l'ouverture de session jusqu'aux applicatifs Web.

Kerberos

Pour remplacer un système d'authentification basé sur LDAP, il convient de trouver un système fonctionnant en environnement hétérogène, assurant la sécurité des échanges sur un réseau non sûr et permettant la mise en place d'un véritable service d'authentification unique : Kerberos répond à ces impératifs.

Kerberos utilise un système de chiffrement symétrique pour assurer un dialogue sécurisé entre deux protagonistes. Les dialogues s'opèrent en utilisant une clef secrète et partagée. Les algorithmes de chiffrement sont publics (AES, DES, 3DES, ...), toute la sécurité du système repose sur la confidentialié de la clef de chiffrement. Pour faciliter la gestion d'un tel système, Kerberos repose sur l'utilisation d'un tiers de confiance qui distribue les clefs aux utilisateurs et services abonnés (les principaux). Un serveur Kerberos est appelé KDC (Key Distribution Center).

Kerberos est un service sûr qui assure la confidentialité, l'intégrité des données ainsi que la non-répudiation (les participants sont identifiés).Le service d'authentification assure l'identification unique du client et lui procure un ticket de session qu'il pourra utiliser pour demander des tickets d'utilisation des services kerbérisés. Un ticket de session chiffré avec la clef d'un service kerbérisé constitue un ticket de service. On distingue deux fonctionnalités dans un service kerberos : le service d'authentification et le service de délivrement de tickets de services.

Kerberos a été mis au point au MIT dans les années 1990, il est maintenant très largement déployé et est disponible dans tous les environnements aujourd'hui utilisés (Linux, Windows, MacOS, ...). Des universités françaises ont déjà migré leur systèmes d'authentification vers kerberos, parmi celles-ci on peut citer les universités de Strasbourg et de Bordeaux 1.

Les tests effectués

Le fil directeur des tests effectués a été le suivant : mise en place d'un service Kerberos hébergé sur un serveur Linux. La possibilité d'utiliser le serveur Kerberos enlisé dans un service Active Directory de MicroSoft a été volontairement écartée dans le but d'architecturer le projet autour d'une solution libre et ouverte.
Les éléments ci-dessous ont été validés.

Le service Kerberos

Un serveur kerberos (MIT 1.6.1) maître est fonctionnel sur kerb1.univ-rennes1.fr. Il est redondé par un second serveur esclave (kerb2.univ-rennes1.fr), dont la synchronisation avec le serveur maître est assurée par une crontab via le protocole kprop.

Une interface web (PHP, CASifiée) permet la gestion des principals clients (serveurs et stations de travail).

Le service CAS

Un serveur CAS (3.3.5) est fonctionnel sur cas-kerb.univ-rennes1.fr.

Ce serveur permet le SSO de bout en bout (depuis l'authentification sur les postes clients jusqu'à celle sur les applications web).

Il permet également l'alimentation du royaume Kerberos UNIV-RENNES1.FR par interception des authentifications LDAP.

Les clients

L'authentification Kerberos s'intègre parfaitement (de manière native) dans les clients Linux, l'accès à tous les services a été validé : CAS, NFS v3 et v4 (sur serveurs linux et NetApp), Samba, CUPS.

L'authentification Kerberos seule est possible pour les clients Windows (XP et 7), mais l'accès au serveur NetApp nécessite l'intégration d'un sous-domaine Active Directory.

L'authentification des services Samba (sur serveur Unix), CUPS a été validée.

Les services de fichiers

Le montage des volumes NetApp a été validé à la fois en NFS depuis les clients Unix et en CIFS depuis les clients Windows, en s'appuyant sur un Active Directory pour lequel une relation d'approbation mutuelle avec le royaume Kerberos a été mis en place.

Les montages NFS v3 et v4 ainsi que Samba ont également été validés, ce qui permet aux entités l'utilisation de services de fichiers autonomes.

Le service CUPS

Les clients Windows et Unix peuvent imprimer sur un serveur CUPS Kerbérisé de manière transparente.

Le service 802.1X

Un serveur FreeRadius a été configuré pour utiliser une base d'authentification Kerberos.
Le dispositif fonctionne mais ne peut pas être intégré dans le cadre de l'authentification unique.

Une statégie de déploiement

  • Aucune étiquette