Samba : Histoire et évolution vers l’Active Directory

par Mar 27, 2019Active Directory0 commentaires

À l’occasion de la sortie de la version 4.10 de Samba Active Directory, nous avons décidé de vous faire faire un tour d’horizon de notre Active Directory préféré et de son histoire. Au menu de nos articles sur Samba :

  • La naissance du projet Samba
  • Les fonctionnalités premières du projet Samba
  • La transformation de Samba vers un Active Directory
  • Les évolutions depuis Samba 4.0
  • Les nouveautés de la version 4.10

Vous l’avez compris, avec cet article, on va tirer sur la corde de la nostalgie pour les uns et sur celle de la curiosité pour les autres. Mais avant de revenir au siècle dernier, reprenons les bases :

Qu’est ce que Samba Active Directory ?

À une époque où sécuriser les données sensibles et limiter les accès est un enjeu majeur des entreprises, l’Active Directory permet de centraliser, gérer et authentifier les utilisateurs et ordinateurs d’un domaine. Il a pour objectif de recenser toutes les informations présentes sur votre réseau pour vous permettre de gérer les authentifications et les droits sur ce dernier (pour faire court). Il est donc primordial pour les organisations de mettre en place une Gestion des Identités et des Accès (GIA).

Et là, vous vous dites sûrement : « Génial, si seulement il était possible de mettre simplement cette solution en place ! ». Spoiler : C’est possible !

Au sein de Tranquil IT, dès qu’il s’agit d’Active Directory, on ne peut s’empêcher de parler de Samba AD. En effet, Samba AD est l’équivalent Open Source de Microsoft Active Directory : Les mêmes fonctionnalités sans les frais de licences. Le petit plus de Samba AD, c’est qu’on peut vous conseiller une super entreprise (du joli nom de Tranquil IT) pour vous aider dans vos migrations, vous former sur Samba AD ou même vous fournir une documentation vous permettant de faire tout ça tout seul ! Voilà, les présentations sont faites.

Alors si vous vous demandez encore pourquoi on apprécie tant cet outil ou si vous êtes simplement curieux de connaître l’origine du nom Samba (non, pas la danse brésilienne…), embarquons dans la DeLoreane de Tranquil IT et remontons le temps jusqu’en 1980 !

Partage de fichiers et authentification mutuelle

En 1980, le monde de l’informatique vit une révolution avec l’arrivée de la micro-informatique. Les ordinateurs de l’époque se dotent de plus de puissance et gagnent en utilité puisqu’ils sont en capacité de faire tourner des programmes en local, directement sur la machine. Malgré l’avantage évident de cette révolution, de nouveaux enjeux sont à prendre en compte avant d’exploiter la puissance de ces machines :

  • le partage de fichiers : Il est nécessaire de faire en sorte que les utilisateurs de machines différentes puisse accéder à un même document.
  • l’authentification mutuelle : Gérer les droits des utilisateurs et s’assurer de la connexion de l’utilisateur à la bonne machine devient primordial.

Protocole NetBIOS : Faciliter la communication entre les machines

Il faudra attendre 1983 pour que la société Sytek développe le protocole NetBIOS pour faciliter la communication entre les machines. Ce protocole permet d’avoir une couche d’abstraction entre la couche applicative et la couche de transport.

IBM suivra le mouvement peu de temps après, en lançant son protocole de partage de ressources en 1985. SMB fonctionne grâce à une structure de client/serveur, ainsi le serveur répond aux requêtes envoyées par le client. Bien que le protocole devient rapidement un standard il doit faire face à une concurrence rude, notamment celle de Novell et de son produit NetWare. LAN Manager intégré à OS/2, le fruit de l’alliance entre IBM, Microsoft et 3COM va naître de cette concurrence.

IBM va se rendre compte du potentiel du protocole NetBIOS et va rapidement l’imposer en exploitant sa position de leader de l’industrie de l’informatique. Malgré tout, avec l’arrivée d’environnements clients-serveur, il a fallu s’assurer que le client et le serveur puissent bien se reconnaître. Pour sécuriser l’accès aux données LAN Manager va introduire 3 nouveaux principes :

  • Identification : Établir l’identité de l’utilisateur.
  • Authentification : Vérifier l’identité de l’utilisateur.
  • Autorisation : Autoriser l’utilisateur à accéder ou non à certaines ressources.

Gérer l’identification et l’authentification

Projet Athena : Les prémices de Samba

Le projet Athena est initié par le MIT en 1983 et a pour objectif de développer des stratégies ainsi que des logiciels dans le cadre d’un système réseau client / serveur. Le projet Athena est né du constat que les étudiants allaient être amenés à accéder à des serveurs de fichiers sur un réseau à forte valeur avec leurs propres ordinateurs.

Le développement du mécanisme d’identification et d’authentification s’est alors intégré au projet Athena. L’objectif était de développer un protocole (Kerberos) réseau d’authentification pouvant gérer la confiance sur des machines étroitement surveillées et contrôlées. De plus, les communications d’authentification entre les serveurs de confiance et les ordinateurs du réseau seront cryptés afin de ne pas pouvoir les intercepter.

Naissance de Samba : Interopérabilité entre les environnements

Le projet Samba est une suite de logiciels permettant l’interopérabilité entre les environnements Windows et les environnements Unix / Linux. Le projet doit son nom au protocole de communication et de partage de fichiers qu’il exploite : SMB. Le protocole SMB se démocratise fortement et devient rapidement le standard pour échanger des fichiers sur des réseaux Windows, Linux et Mac, incluant :

  • La gestion centralisée de l’identification et de l’authentification en mode domaine Active Directory et NT4.
  • La gestion centralisée des groupes.
  • Le partage de fichiers en fonction de la version du protocole Microsoft SMB.
  • La gestion centralisée des droits d’accès aux fichiers et répertoires.
  • Le partage d’imprimantes.

Samba va continuer de se démocratiser dans le milieu informatique et d’évoluer à travers ses différentes versions :

  • Samba1 : Implémentation simple des protocoles LAN Manager et support des groupes de travail (ou workgroup).
  • Samba2 : Service de contrôleur de domaine à la mode NT4 aux postes Windows membres d’un domaine.
  • Samba3 : Support de fonctionnalités des domaines NT4 et le support des nouvelles versions du protocole SMB.

Samba4 : Transition vers l’Active Directory

Le projet Samba a, dès sa version 2.0, la volonté de devenir un Active Directory. Et c’est en 2005, avec la sortie de Samba4, que ce projet va prendre de l’ampleur. En effet, l’objectif de cette version est de ré-écrire complètement Samba en s’appuyant sur les spécifications officielles de Microsoft. L’accès à ces spécifications facilite le développement de cette version. Pour consolider la démarche d’interopérabilité, les acteurs des protocoles SMB se retrouvent chaque année pour tester leurs différentes implémentations du protocole.

En 2012, il est apparu que l’implémentation du protocole SMB, exclusivement à partir des spécifications Microsoft, n’était pas fonctionnelle et que le protocole SMB implémenté par Microsoft était complexe et mal documenté. C’est là que Samba, développé de manière empirique, a su tirer son épingle du jeu en proposant des fonctionnalités de partage de fichiers et d’imprimantes complètement fonctionnelles. La ré-écriture de Samba4 impliquait 3 composants majeurs :

  • Le composant Active Directory.
  • Le composant partage de fichier smbd.
  • Le composant de mapping utilisateur winbindd.

En septembre 2012, il a été décidé de reprendre la base du code smbd3 pour fournir les fonctions de partage de fichiers et d’imprimantes. Le code Samba4 avait pour objectif de fournir la fonction d’Active Directory. Samba 4.0.0 fut ainsi disponible en version stable en décembre 2012. À partir de Samba 4, l’équipe de développement a adopté le fonctionnement suivant :

  • Version en développement, considérée comme non stable N+1, par exemple la 4.11.
  • Version en production stable N, par exemple la 4.10.
  • Version en maintenance corrective et sécurité N-1, par exemple la 4.9.
  • Version en maintenance de sécurité N-2, par exemple la 4.8.

Il est important de noter que Samba3 n’est plus maintenu et qu’il est donc important de préparer une migration. Cette migration est simplifiée par le fait que le développement de Samba4 est basé sur le code de Samba3. Grâce à cet article, vous savez maintenant qui contacter pour vous aider à réaliser votre migration de domaine.

Et voilà comment le projet Samba s’est transformé en Active Directory ! Comme promis, dans les prochains articles vous découvrirez les évolutions de Samba jusqu’aux nouveautés de la version 4.10 ainsi que notre participation au financement du logiciel. D’ici là, nous serons ravis d’échanger avec vous sur vos projets Active Directory.