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
-
Index SQL manquants :
-- Vérifier les requêtes lentes (dans mysql-slow.log)
-- Analyser avec : EXPLAIN SELECT * FROM llx_societe WHERE email='...' -
Cache désactivé :
- Vérifier
main.inc.php:$dolibarr_main_cachedoit être défini - Activer APC/OPcache dans
php.ini
- Vérifier
- 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
-
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
- Admin → Configuration → Authentification :
-
Accès par IP (si usage interne) :
# Dans .htaccess à la racine
Order deny,allow
Deny from all
Allow from 192.168.1.0/24 - Double authentification :
- Module
twofactoractivé pour les administrateurs - Google Authenticator ou Yubikey recommandé
- Module
É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
lynisouopenvas
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 :
- Isoler le serveur (coupure réseau)
- Préserver les preuves (logs, fichiers modifiés)
- Changer tous les mots de passe Dolibarr et système
- Analyser les modifications de fichiers
- Restaurer depuis backup sain si compromission avérée
Outils d’investigation :
rkhunter/chkrootkitpour malwareauditdpour suivi modifications fichiers- Analyse des processus :
ps aux | grep php
Conclusion
La sécurité et les performances de Dolibarr reposent sur :
- Surveillance continue (SLA monitoring)
- Durcissement systématique (configuration, permissions)
- Vigilance utilisateurs (politique mots de passe, sessions)
- 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
- Documentation officielle sécurité Dolibarr
- Benchmarks performances Dolibarr
- Scanner de vulnérabilités OWASP ZAP
- Module recommandé : "Advanced Security" (sur marketplace Dolibarr)
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.