Description
GLAuth (Go-LDAP-Auth) est un serveur LDAP v3 minimaliste écrit en Go, conçu pour fournir un annuaire d'utilisateurs simple et léger aux services qui dépendent de LDAP. C'est une alternative moderne à OpenLDAP ou 389 Directory Server, beaucoup plus simple à configurer.
GLAuth supporte LDAP v3 (TCP/UDP), LDAPS (LDAP over TLS), le backend YAML/JSON pour définir utilisateurs, groupes, suffixes, et offre la haute disponibilité via BoltDB ou PostgreSQL. Le projet peut également servir de SFTP backend et de source d'auth pour Nextcloud, Gitea, Jellyfin, GitLab, etc.
GLAuth n'est pas un IdM complet (pas de web UI, pas de MFA natif), mais c'est un excellent choix pour des homelabs ou PME qui veulent un annuaire LDAP fonctionnel en quelques minutes, sans la complexité d'OpenLDAP. Configuration par fichier simple, binaire unique, faible empreinte mémoire.
Installation
Via Docker (recommandé)
# docker-compose.yml
services:
glauth:
image: glauth/glauth:latest
ports:
- "3893:3893" # LDAP
- "3894:3894" # LDAPS
volumes:
- ./glauth-config:/config
command: ["-c", "/config/config.cfg"]
Installation manuelle
Binaire Go téléchargeable, ou go install github.com/glauth/glauth@latest. Configuration via fichier glauth.cfg au format simple (HCL-like).
Configuration
- Backends : YAML local, BoltDB, PostgreSQL
- Users / Groups : définition dans
config.cfgou backend - Suffixes :
dc=example,dc=com - LDAPS : activer TLS avec cert/key
- SFTP Backend : serveur SFTP basé sur les utilisateurs LDAP
- High Availability : mode cluster (BoltDB/PostgreSQL)
Alternatives
- OpenLDAP — Référence historique, complexe
- 389 Directory Server — IdM Red Hat, plus complet
- Kanidm — IdM moderne en Rust
- LLDAP — LDAP léger en Rust, web UI
Sécurité
- Activer LDAPS (port 3894) avec certificats valides
- Ne jamais exposer le port LDAP (3893) sur Internet
- Utiliser des mots de passe forts (b crypt natif)
- Limiter les bind DN autorisés
- Mettre à jour régulièrement
Ressources
- Site officiel : https://glauth.github.io/
- Repository GitHub : https://github.com/glauth/glauth
- Documentation : https://github.com/glauth/glauth/blob/master/README.md

