Diagnostiquer Dolibarr : SLA Tutoriel pas à pas avec une approche sécurité

Introduction

Dolibarr, l’ERP/CRM open source populaire, nécessite une approche proactive de surveillance et de sécurisation. Ce tuto en 4 étapes vous guide pour diagnostiquer vos performances (SLA) et durcir la sécurité de votre installation.


Partie 1 : Diagnostic des Performances & SLA

Étape 1 : Établir les Métriques de Base

# Vérifier l'environnement
php -v
mysql --version
# Via Dolibarr : Accès Administration → Informations système

Métriques clés à surveiller :

  • Temps de réponse page > 3s = alerte
  • Utilisation CPU > 70% en pointe
  • Temps d’exécution requêtes SQL > 2s
  • Taux d’erreurs HTTP (5xx) > 0.1%

Étape 2 : Outils de Monitoring SLA

Outils intégrés :

  • Dolibarr → Administration → Maintenance → Statut : aperçu rapide
  • Dolibarr → Administration → Évolution → Journal des visites : trafic utilisateur

Outils externes recommandés :

# Monitoring simple avec curl
curl -o /dev/null -s -w "Temps total: %{time_total}s\n" https://votredolibarr.com
# Monitoring avancé : Prometheus + Grafana
# Exporter les métriques via le fichier custom/monitoring.php

Étape 3 : Audit des Points de Blocage

  1. Index SQL manquants :

    -- Vérifier les requêtes lentes (dans mysql-slow.log)
    -- Analyser avec : EXPLAIN SELECT * FROM llx_societe WHERE email='...'

  2. Cache désactivé :

    • Vérifier main.inc.php : $dolibarr_main_cache doit être défini
    • Activer APC/OPcache dans php.ini

  3. Sessions saturées :
    SELECT COUNT(*) FROM llx_sessions WHERE(date_last > NOW() - INTERVAL 1 HOUR);


Partie 2 : Approche Sécurité Systématique

Étape 4 : Durcissement de l’Environnement

A. Configuration PHP sécurisée (php.ini dolibarr) :

expose_php = Off
display_errors = Off (en production)
log_errors = On
open_basedir = /chemin/dolibarr:/tmp
session.cookie_httponly = 1
session.cookie_secure = 1 (si HTTPS)

B. Permissions fichiers critiques :

# Répertoire racine Dolibarr
chmod 755 .
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
# Fichiers de configuration
chmod 640 conf/conf.php
chmod 640 .htaccess

C. Fichiers sensibles à vérifier :

  • conf/conf.php (pas en racine web si possible)
  • install/ (supprimer après installation !)
  • documents/ (limiter l’accès via .htaccess)

Étape 5 : Contrôles d’Accès Dolibarr

  1. Politique de mots de passe :

    • Admin → Configuration → Authentification :

      • Longueur min: 12 caractères
      • Complexité: maj/min/chiffres/speciaux
      • Durée max: 90 jours
      • Historique: 5 mots de passe

  2. Accès par IP (si usage interne) :

    # Dans .htaccess à la racine
    Order deny,allow
    Deny from all
    Allow from 192.168.1.0/24

  3. Double authentification :

    • Module twofactor activé pour les administrateurs
    • Google Authenticator ou Yubikey recommandé

Étape 6 : Surveillance des menaces

Vérifications quotidiennes :

# 1. Fichiers modifiés récemment
find . -type f -mtime -1 -ls | grep -v cache
# 2. connexions suspectes (dans les logs Dolibarr)
grep "Login failed" /chemin/dolibarr/documents/logs/*.log
# 3. Modules tiers non approuvés
ls custom/

Module de sécurité Dolibarr :

  • Installer Dolibarr Security Module (si disponible)
  • Configurer les alertes par email pour :

    • Échecs de connexion répétés
    • Accès admin depuis IP externe
    • Fichiers de configuration modifiés


Partie 3 : Procédures de Vérification Régulières

Checklist Hebdomadaire :

  • [ ] Vérifier backups (restaurer test mensuel)
  • [ ] Analyser logs d’accès/système
  • [ ] Mettre à jour Dolibarr et extensions
  • [ ] Vérifier les sessions actives (Admin → Utilisateurs)
  • [ ] Scanner vulnérabilités avec lynis ou openvas

Automatisation (cron) :

# Exemple de script de vérification
0 2 * * * /chemin/check_dolibarr_security.sh

Contenu du script :

#!/bin/bash
# Vérifications de base
php /chemin/dolibarr/htdocs/comm/alert/alert Cron.php security
find /chemin/dolibarr/documents -name "*.php" -exec grep -l "eval(" {} \; 2>/dev/null
...


Partie 4 : Plan de Réponse aux Incidents

En cas de compromission suspectée :

  1. Isoler le serveur (coupure réseau)
  2. Préserver les preuves (logs, fichiers modifiés)
  3. Changer tous les mots de passe Dolibarr et système
  4. Analyser les modifications de fichiers
  5. Restaurer depuis backup sain si compromission avérée

Outils d’investigation :

  • rkhunter / chkrootkit pour malware
  • auditd pour suivi modifications fichiers
  • Analyse des processus : ps aux | grep php


Conclusion

La sécurité et les performances de Dolibarr reposent sur :

  1. Surveillance continue (SLA monitoring)
  2. Durcissement systématique (configuration, permissions)
  3. Vigilance utilisateurs (politique mots de passe, sessions)
  4. Mises à jour régulières (cœur + modules)

Rappel crucial : Aucun système n’est 100% sûr. L’objectif est de réduire la surface d’attaque et détecter rapidement les anomalies.


Ressources Complémentaires

Note : Toujours tester les modifications en environnement de pré-production avant déploiement en production. Consulter un expert sécurité pour les données sensibles (RGPD/PCI-DSS).


✅ Checklist finale de sécurité :

  • [ ] Fichier install/ supprimé
  • [ ] conf/conf.php inaccessible via web
  • [ ] HTTPS obligatoire (redirection 301)
  • [ ] administration accessible uniquement en IP autorisée
  • [ ] backups chiffrés et hors-site
  • [ ] journalisation activée (logs conservés 365j)
  • [ ] scan de vulnérabilités mensuel
  • [ ] formations utilisateurs à l’hygiène numérique

Maintenance préventive > Correction d’urgence.

Publications similaires