← Retour au blog

Identité et accès · Stockage et sauvegarde · 30 août 2023

10 PC Windows sans Active Directory : pGina et le serveur LDAP d'un Synology

NAS Synology quatre baies dans un cadre vert, sur un fond quadrillé

Dix postes Windows, aucun serveur Windows, aucun domaine. Chaque compte existait sur chaque PC, créé à la main.

Mon client voulait gérer ses utilisateurs à un seul endroit : créer un compte, le désactiver, changer un mot de passe. Il ne voulait ni payer un Active Directory ni s'occuper d'un contrôleur de domaine. Son NAS Synology pouvait faire office d'annuaire. J'ai branché les dix PC dessus avec pGina.

Pourquoi pas Active Directory

Un Active Directory, c'est un Windows Server, ses licences d'accès client, et quelqu'un pour le tenir à jour. Pour dix postes, sans service informatique, c'était trop lourd pour lui.

Le principe

Le paquet LDAP Server de DSM transforme le NAS en annuaire OpenLDAP. Les comptes et les groupes vivent là.

pGina est un logiciel libre qui s'installe sur chaque PC et s'intercale dans l'ouverture de session de Windows. L'utilisateur tape son identifiant et son mot de passe comme d'habitude. pGina les vérifie auprès de l'annuaire, puis crée ou met à jour le compte local correspondant.

Les droits suivent les groupes. Membre du groupe admins dans l'annuaire : administrateur du poste. Les autres restent utilisateurs standard.

Côté NAS

Dans DSM, j'installe le paquet LDAP Server et je l'active comme serveur LDAP. DSM affiche alors le Base DN, déduit du nom de domaine choisi : pour dsm.exemple.fr, ce sera dc=dsm,dc=exemple,dc=fr. Je crée ensuite les utilisateurs, puis un groupe admins.

Les noms suivent toujours le même modèle :

  • un utilisateur : uid=jdupont,cn=users,dc=dsm,dc=exemple,dc=fr ;
  • un groupe : cn=admins,cn=groups,dc=dsm,dc=exemple,dc=fr ;
  • le compte d'administration de l'annuaire : uid=root,cn=users,dc=dsm,dc=exemple,dc=fr.

Côté PC : pGina

J'ai installé pGina depuis pgina.org (version 3.1.8.0 sur la capture). Dans l'onglet Plugin Selection, deux plugins comptent :

  • LDAP, coché en Authentication, Authorization et Gateway : il interroge l'annuaire ;
  • Local Machine, coché en Authentication et Gateway : il crée le compte Windows local après une connexion réussie.
Onglet Plugin Selection de pGina : LDAP coché en Authentication, Authorization et Gateway, Local Machine en Authentication et Gateway

Le bouton Configure du plugin LDAP ouvre ses réglages :

Réglage

Valeur

LDAP Host(s)

adresse IP du NAS

LDAP Port

389, ou 636 avec Use SSL coché

Search DN

uid=root,cn=users,dc=dsm,dc=exemple,dc=fr

Search Password

mot de passe du compte root de l'annuaire

Group DN Pattern

cn=%g,cn=groups,dc=dsm,dc=exemple,dc=fr

Member Attribute

member

User DN Pattern (onglet Authentication)

uid=%u,cn=users,dc=dsm,dc=exemple,dc=fr

%u est remplacé par l'identifiant tapé, %g par le nom du groupe.

Dans l'onglet Gateway, une règle fait le lien avec les droits : membre du groupe LDAP admins, ajouté au groupe local des administrateurs. Sur un Windows en français, ce groupe s'appelle Administrateurs, pas Administrators. Une faute de nom, et la règle ne fait rien.

L'onglet Simulation de pGina teste une connexion sans fermer la session : à faire sur chaque poste avant de rendre la main.

Le résultat

Un nouvel utilisateur se crée dans DSM, une seule fois. Il ouvre ensuite sa session sur n'importe lequel des dix PC avec le même mot de passe. Pour donner les droits d'administration, j'ajoute le compte au groupe admins.

Mon avis sur Synology

J'aime bien les NAS Synology. DSM reste lisible pour quelqu'un qui n'est pas informaticien, et ses paquets vont plus loin que le stockage : ici, le NAS fait office d'annuaire.

Je ne les aime pas exposés sur internet. En juillet 2019, Synology a demandé à tous ses utilisateurs d'agir : des attaquants devinaient les mots de passe d'administration par force brute, depuis un réseau de machines piratées, puis chiffraient les données (communiqué de Synology, en anglais). En août 2021, le botnet StealthWorker recommençait (communiqué de Synology). Aucune faille de DSM dans les deux cas. Il suffisait que l'interface d'administration réponde depuis internet, avec un mot de passe trop faible.

Je les préfère cantonnés au stockage et à la sauvegarde, sur le réseau local, interface DSM jamais publiée. Pour y accéder de l'extérieur, un VPN plutôt qu'un port ouvert. Le serveur LDAP de cet article ne doit répondre qu'au réseau local.

Ce que je ferais autrement aujourd'hui

Sur la capture de la configuration d'origine, le port est 389 et Use SSL n'est pas coché : les mots de passe traversent le réseau en clair. Je cocherais Use SSL, port 636, avec la validation du certificat du NAS.

Le mot de passe root de l'annuaire reste enregistré sur chacun des dix postes. Un compte dédié à la lecture, si l'annuaire le permet, limiterait les dégâts en cas de vol d'un PC.

pGina n'évolue plus. Le projet d'origine n'a pas publié de version depuis 2014 (3.2.4.1), et le fork le plus suivi s'est arrêté en mars 2018 (3.9.9.12). Une grosse mise à jour de Windows peut casser l'ouverture de session : je la testerais sur un poste avant de la laisser passer sur les dix.