Avec dolencrypt si pour une raison ou une autre openssl n’est pas disponible (ou désactivé), les données sont enregistrées sans chiffrement en BDD. Idem si la clé est vide.
Je passe sur l’absence de Argon2 ou PBKDF2, sur le manque d’entropie possible dans instance_unique_id.
@Kusco l’idée est bonne, merci pour l’information.
En effet, comme dit @Beers, il faut que le module fasse à minima une vérification des informations de sécurité fournies par Dolibarr. Afin de prévenir l’utilisateur en cas de manquement, ce sera le plus rapide à développer pour votre module, je pense. Le menu sécurité de Dolibarr peut vous fournir un aperçu de ce qui est activé sur l’instance.
Aussi, pour palier à ça, vous pouvez également soumettre les améliorations au core de Dolibarr, afin qu’elles deviennent natives.
D’autres modules de gestion de mot de passe existe sur le store, peut être se rapprocher des développeurs pour voir comment ils ont gérer ses problèmes et proposer une solution commune pour le core.
Le souci principal est que la clef de chiffrement est en clair sur le serveur. Ce qui sous entend qu’en cas de compromission tout peut être déchiffré !
J’avais travaillé sur le sujet avec @altatof il y a quelques années mais c’était trop cher comme développement. Je voulais trop de sécurité (chiffrement fort, corbeille, droits précis, versions…) ! En même temps c’est mon job
Aujourd’hui c’est du KeePass en mono utilisateur, LockSelf (besoin de certification ANSSI/HDS/ISO) pour l’équipe, BitWarden en test. Mais je ne suis jamais satisfait
de mon côté je regarde depuis longtemps vers les librairies web de Keepass, mais pour le moment le développement d’un module Dolibarr les utilisant reste un objectif très lointain.
Pour info, nous aurons plaisir à intégrer chacun des modules que l’on développe, ou bouts de code, au core de Dolibarr. Nous avons d’ailleurs coché la case en question, lors du dépôt du module.
On va voir vers quoi on s’oriente dans ce cas, pour être sûr d’ajouter un maximum de sécurité.
Merci beaucoup pour ces différents retours.
Je viens de mettre en ligne une V1.2 avec
Remplacement du dolencrypt() avec message si erreur d’encryption
Possibilité de seed personnalisée (qui n’est plus le seed brut mais une clée dérivée par PBKDF2-SHA256)
Toujours une vraie difficulté structurelle pour sortir le seed de la base (peut être une constante dans le conf.php, hors des sauvegardes de la base ?)
Fix sur une erreur liée à la génération de fichiers automatique avec le module-builder
Merci pour les conseils !
Réfléxions à poursuivre.