KEYCLOAK
Ce projet est pour upgrader Keycloak (déployé via Docker) de la version 16 vers la version 23 ou ultérieur
PRE-REQUIS
- Docker + compose
- Base de donnée LDAP (fichier .mdb)
- Export d'un realm (format json)
UTILISATION
- Editer les variables dans le .env
nano .env
Modifier les mots de passe pour la base de données et keycloak ainsi que le domaine, l'adresse email, l'administrateur, etc
docker compose up -d
UPGRADE PROCESS (from v16 to v26)
Pour upgrader keycloak, il faut:
- exporter la base de données utilisateurs (LDAP)
- exporter le realm
- démarrer la nouvelle version de keycloak (créer l'admin définitif et supprimer le temporaire)
- importer le realm de l'export json
- importer la base de données ldap
- Configurer le realm garagenum pour utiliser le ldap
- recréer les secrets des clients
EXPORT LDAP DATABASE (USERS)
Pour upgrader keycloak, il faut:
- exporter la base de données utilisateurs (LDAP)
# Se connecter au terminal du conteneur ldap
docker exec -it ancien-ldap bash
# Exporter la base de données
slapcat -n 1 -l /tmp/backup.ldif
# Récupérer le fichier d'export sur la machine hôte
docker cp ancien-ldap:/tmp/backup.ldif .
- exporter les
clientsdurealm
💀 Les secrets ne seront pas récupérés (*******) donc à persister avant ou idéalement recréer
EXPORTER LE REALM
DEMARRER LA NOUVELLE VERSION
docker compose up -d
IMPORTER LE REALM
Utiliser le fichier json de l'export pour importer les configs du realm
IMPORTER DATABASE LDAP (USERS)
- importer la base de données de
keycloak-openldap:
# Copier la backup ldif
docker cp backup.ldif keycloak-openldap:/tmp/backup.ldif
# Se connecter au terminal du conteneur ldap
docker exec -it keycloak-openldap bash
# Arrêter le service slapd
service slapd stop
# Supprimer la DB actuelle
rm -rf /var/lib/ldap/*
# Ajouter le LDIF
slapadd -n 1 -F /etc/ldap/slapd.d -l /tmp/backup.ldif
# Ajuster les permissions
chown -R openldap:openldap /var/lib/ldap
# Redémarrer slapd
service slapd start
c'est là que sont les users !
CONFIGURER LE REALM POUR UTILISER LDAP
⚠️ Activer featue script pour keycloak
FAIL2BAN JAIL FOR LDAP (TO DO)
- /etc/fail2ban/jail.local
- /etc/fail2ban/...
BUGS
- Users need get verified -> A faire manuellement sur chq user (possibly automated ?)
Description