Dolibarr avancé : 2FA avec des exemples concrets

Cet article vous guide pas à pas pour sécuriser l’accès à votre instance Dolibarr grâce à la double authentification (2FA). Vous découvrirez les concepts, les options les plus répandues, ainsi que des exemples concrets d’utilisation.


1. Pourquoi passer à la 2FA dans Dolibarr ?

Risque sans 2FA Bénéfice avec 2FA
Vol de mots de passe via phishing ou fuite de données Un second facteur (code temporel, token, SMS…) rend le vol d’identifiant insuffisant
Accès non autorisé aux modules sensibles (comptabilité, ERP, CRM) Conformité aux exigences de sécurité (RGPD, ISO 27001, NIST)
Impossible de proposer une authentification forte aux utilisateurs Renforcement de la confiance des partenaires et de vos collaborateurs

En bref : la 2FA diminue drastiquement la surface d’attaque tout en conservant la simplicité d’utilisation de Dolibarr.


2. Les principes de la double authentification

  1. Quelque chose que vous savez – le mot de passe.
  2. Quelque chose que vous possédez – un token (YubiKey), un code généré par une application d’authentification ou un SMS.

Le deuxième facteur est demandé après la saisie du mot de passe, avant d’accéder au tableau de bord.


3. 2FA native dans Dolibarr : état des lieux

Depuis la version 18+, Dolibarr propose un module de sécurité qui inclut la 2FA. Si vous avez déjà installed le module “Security” (ou “Two‑Factor Authentication” selon les versions), vous pouvez l’activer directement depuis l’interface d’administration.

Remarque : Les distributions officielles (ex. Linux packages, Docker images) intègrent généralement ce module, mais il est parfois désactivé par défaut.


4. Étapes détaillées pour activer la 2FA

4.1. Installation du module (si non présent)

# Si vous utilisez un serveur Debian/Ubuntu avec Apache
php -r "copy('https://github.com/Dolibarr/dolibarr-modules/archive/refs/heads/master.zip','mod.zip');"
unzip mod.zip -d /var/www/dolibarr/modules/
# Puis dans l'interface d'admin :
# Administration → Modules → Déployer → “Security / 2FA”

En général, il suffit de copier le dossier htdocs/core/modules/family/security dans htdocs/modules/ puis d’activer le module.

4.2. Configuration globale

Paramètre Exemple de valeur Description
Méthodes autorisées TOTP, HOTP, SMS, YubiKey Sélectionnez les primitives que vous voulez proposer.
Temps de validité du code TOTP 30 secondes Durée de vie d’un code généré (standard RFC 6238).
Nombre de codes de secours 5 Codes une‑seule‑fois utilisables en cas de perte d’appareil.
Rôle d’activation Administrator Seul le groupe d’administration pourra forcer la 2FA pour les comptes.

Menu : Administration → Configuration → Sécurité → Authentification à deux facteurs

- Activer la 2FA : Oui
- Méthodes à offrir : TOTP (Google Authenticator), YubiKey (OTP)
- Exemptions : Aucun compte ne doit être exempté (sauf comptes “guest”)

4.3. Enregistrement d’un utilisateur

  1. L’admin se connecte → Utilisateurs → ModifierActiver “2FA”.
  2. Il clique sur “Ajouter un secret”, qui génère un QR Code et une clé secrète (ex. JBSWY3DPEHPK3PXP).
  3. L’utilisateur scanne le QR‑code avec Google Authenticator, Authy, ou Microsoft Authenticator.
  4. Le système affiche un code de vérification : il doit être tapé dans Dolibarr pour confirmer l’enregistrement.
  5. Le système conserve le secret (crypté) pour la génération future de codes.

Exemple concret

  • Login : john.doe@exemple.com
  • Mot de passe : My$ecretP@ss
  • Code TOTP (Google Authenticator) : 842496 → Authentification réussie → Tableau de bord visible.

4.4. Se connecter avec la 2FA

Étape Action
1 Saisir email / login et mot de passe comme d’habitude.
2 Saisir le code 6‑chiffres généré par l’application d’authentification (ou le code de secours).
3 Si le code est accepté, la session démarre et un JWT de session (ou cookie) est créé (valable 8 h par défaut).


5. Exemples concrets d’usage de la 2FA dans Dolibarr

5.1. Exemple pour un gestionnaire de comptes fournisseurs

Profil : manager@example.com – rôle Accounting
Objectif : Accès limité aux factures, mais avec une protection renforcée.

  1. Activation de la 2FA sur le compte via l’interface admin.
  2. L’administrateur envoie le QR‑code par email chiffré ou via un mailjet (ex. : Subject: Votre clé 2FA pour Dolibarr).
  3. Le gestionnaire scanne le QR‑code avec Authy (qui accepte le backup dans le cloud).
  4. Lors de la connexion, le gestionnaire entre son mot de passe « Facture2025! », puis le code 731209.
  5. Si l’accès est tenté depuis un autre poste, l’authentification échoue après 3 tentatives.

5.2. Exemple pour un directeur général (droits d’administration)

Profil : admin@entreprise.com – rôle SuperAdmin
Objectif : Garantir que même le responsable principal utilise un facteur supplémentaire.

  • YubiKey : L’utilisateur configure une YubiKey (mode OTP) et la branche simplement sur le port USB lors de la connexion.
  • Code de secours : 5 codes sont générés et imprimés, stockés dans le coffre-fort de l’entreprise. – Scénario de perte : Si la YubiKey est perdue, le directeur utilise un code de secours ou configure un nouvel appareil après validation du support.

5.3. Exemple d’utilisation du SMS comme second facteur (optionnel)

Certaines versions de Dolibarr (ou des plugins tiers) permettent d’activer la validation par SMS.

  • L’utilisateur saisit son numéro dans le profil.
  • Un service SMS (Twilio, Vonage) envoie le code temporaire.
  • Validation = mot de passe + SMS reçu.

Scénario : Un agent sur le terrain avec seulement un smartphone, sans accès à une authentificatrice, reçoit le code par SMS et valide la connexion.

Attention : Le SMS est le facteur le moins recommandé (risque de SIM‑swap), mais il reste utile en environnement de test où l’infrastructure d’authentificateur n’est pas disponible.


6. Précautions & bonnes pratiques

Bonnes pratiques Pourquoi
Générer au moins 5 codes de secours et les stocker hors‑ligne. En cas de perte d’appareil, l’utilisateur peut toujours se reconnecter.
Limiter l’activation de la 2FA aux groupes à privilèges (ex. : SuperAdmin, Accounting). Évite d’imposer la 2FA à tous les utilisateurs basiques qui n’ont pas besoin d’un haut niveau de sécurité.
Sauvegarder la base dolibarr.db avant toute modification de la configuration de sécurité. Permet de restaurer les comptes si la configuration se corrompt.
Mettre à jour régulièrement Dolibarr & le module sécurité (au moins les versions de correctifs de sécurité). Les vulnérabilités de l’ancien module 2FA (ex. : fuite de secret) sont corrigées.
Révoquer les sessions actives lorsqu’un utilisateur quitte l’entreprise ou change d’appareil. Empêche les accès persistants après un changement de credentials.
Auditer l’activité d’authentification via le fichier log/dolibarr.log ou via un plugin d’audit. Détecte les tentatives de connexion suspectes (ex. : dizaines d’essais de code).


7. Intégrer la 2FA avec des solutions externes (option avancée)

Si vous avez besoin d’une gestion centralisée ou d’une SSO, vous pouvez déconnecter l’authentification native et laisser Dolibarr dépendre d’un Identity Provider (IdP) via SAML 2.0 ou OpenID Connect qui supportent déjà la 2FA.

7.1. Exemple avec Azure AD

  1. Créer une application Azure AD pour SSO SAML ciblant l’URL d’Authn Request de Dolibarr (/index.php?main=Login).
  2. Activer la politique de conformité “Require Multi‑Factor Authentication” au niveau du Conditional Access.
  3. Configurer le SP (Dolibarr) dans Azure :

    • Entity ID = https://erp.example.com
    • ACS URL = https://erp.example.com/index.php?main=Login
    • Certificate = exporté depuis Azure (SHA‑256).
  4. Désactiver le module 2FA interne et activer le module SSO de Dolibarr.
  5. Les utilisateurs Azure AD doivent d’abord entrer leur mot de passe Azure puis, si la politique l’exige, le code MFA (Authenticator, biométrie, SMS).

Avantage : La gestion de la 2FA se fait au niveau IdP, donc un même facteur (ex. : Azure Authenticator) peut être utilisé pour plusieurs applications (Office 365, Dolibarr, etc.).

7.2. Exemple avec Keycloak (Open‑Source IdP)

  1. Installez Keycloak (Docker docker run -p 8080:8080 jboss/keycloak).
  2. Créez un realm “dolibarr”.
  3. Ajoutez un client de type “confidential” avec Access Type = confidential, Valid Redirect URIs = https://erp.example.com/*.
  4. Mapper User Propertyemail et User Attributepreferred_username.
  5. Activer le “OTP Form” dans le realm → “OTP required” = Enabled.
  6. Dans Dolibarr, vous configurez le module SSO avec l’URL d’autorisation et le secret du client.
  7. À la connexion, le flux SSO redirigera vers Keycloak, qui demandera le mot de passe + le facteur configuré (TOTP, Push, dûtal‑authentification). > Avantage : Vous pouvez gérer l’ensemble des mots de passe, les politiques d’expiration et les logs de tous les utilisateurs depuis une seule interface.


8. Dépannage fréquent

Symptomôme Cause probable Solution
Code non reconnu après scan du QR‑code Le serveur php n’a pas pu enregistrer le secret (permissions) Vérifier le droit d’écriture du répertoire data et log.
Erreur 500 lors de l’activation de la 2FA Extension PHP openssl ou hash manquante Installer php-phar, php-hash (sudo apt-get install php8.2-hash).
Redirection infinie vers le login Session non persistante (cookies bloqués) S’assurer que le navigateur accepte les cookies de première partie (SameSite=None si nécessaire).
Impossible de se reconnecter après perte de l’appareil Aucun code de secours enregistré Générer et stocker les codes de secours avant de supprimer l’appareil.
L’authentification par SMS ne fonctionne pas Service SMS non configuré (Twilio credentials) Vérifier le compte Twilio, le numéro validé et le coût du SMS (config sms_provider.conf).


9. Conclusion

L’intégration de la double authentification dans Dolibarr vous permet de :

  1. Renforcer la sécurité de chaque accès à votre ERP sans complexité de configuration excessive.
  2. Conformer aux exigences de conformité (RGPD, PCI‑DSS, etc.) en ajoutant un facteur d’identification.
  3. Choisir le mode qui vous convient : authentificateurs standards (Google Authenticator, Authy), YubiKey, SMS ou même SSO via un IdP externe.

En suivant les étapes détaillées ci‑dessus, vous pouvez pas à pas activer la 2FA, onboarder vos utilisateurs, tester le flux complet et sécuriser durablement votre environnement Dolibarr. N’oubliez pas de documenter les procédures de récupération (codes de secours, sauvegarde de la base) afin que chaque collaborateur puisse retrouver l’accès sans compromettre la sécurité.

En résumé : Dolibarr + 2FA = protection moderne sans friction.


Cet article a été rédigé avec les dernières versions stables de Dolibarr (v18.0.5) au 03 novembre 2025. Toutes les images et exemples sont fictifs ; il vous suffit d’adapter les valeurs à votre contexte.

Publications similaires