Stockage des identifiants dans Kresus - securite

Bonjour,

J’ai recemment installe yunohost et Kresus sur un Raspberry pi pour essayer de faire de l’auto-hebergement et d’utiliser des outils open-sources autant que possible.

Mais en creant un compte Kresus pour ma banque je m’apercois que Kresus va stocker mon login et password. Et je suis pas fan de stocker mon mot de passe de banque en clair sur un support physique.
Comment faire pour que mes identifiants soient stockes de manière cryptée ?

Je n’ai aucune expérience en tant qu’administrateur de serveur, j’apprends juste a bricoler au fur et a mesure.
La dernière phrase de la FAQ suggère que le stockage crypte serait sur le point d’être implémenté par defaut, est-ce deja fait ?

Merci pour votre aide,
Didier

Bonjour !

standalone

Oui, on devrait virer les références à « standalone » dans notre doc, parce qu’on n’a plus l’intégration précédemment existant dans CozyCloud.

Comment faire pour que mes identifiants soient stockes de manière cryptée ?

Je t’invite à chercher comment chiffrer un disque dans ton moteur de recherche favori :slight_smile:

La dernière phrase de la FAQ suggère que le stockage crypte serait sur le point d’être implémenté par defaut, est-ce deja fait ?

À l’heure actuelle, non les identifiants sont toujours stockés en clair dans la BDD. J’avais imaginé un mécanisme où on les chiffrait, mais on a toujours besoin de la clé pour déchiffrer à un moment donné, si on veut pouvoir faire la synchro automatique. (Et on pourrait imaginer un mode sans synchro automatique, ça demande beaucoup de travail parce que l’app n’est pas trop prévue pour ça.) Donc avoir la clé quelque part, ça veut aussi dire qu’un attaquant qui aurait accès au serveur pourrait aussi s’amuser à trouver la clé : c’est rajouter de la complexité pour l’attaquant, mais c’est assez facile à trouver pour autant. J’ai donc du mal à m’y mettre pour trouver une manière plus sécurisée de faire. Si quelqu’un s’y connaît ou a des suggestions, j’adorerais les entendre (et si quelqu’un veut coder le truc, encore plus :heart_eyes:).

Cheers,
Benjamin

@bnjbvr Le seul endroit où les identifiants sont stockés sont dans la BDD ? Woob ne stocke rien et à chaque requête, Kresus les lui passe ?

Dans ce cas le disque à sécuriser est celui où est la BDD Postgres ou Sqlite.

Le seul endroit où les identifiants sont stockés sont dans la BDD ? Woob ne stocke rien et à chaque requête, Kresus les lui passe ?

C’est bien ça ! Pour le coup, nous faisons confiance à Woob dans ce cas (mais comme c’est open-source le code est auditable), et Kresus passe l’identifiant et mot de passe à chaque fois qu’il communique avec Woob (en instantiant un nouveau process Python Woob, si tu veux vraiment les détails). Le modèle de menace, c’est qu’il faut déjà être sur la machine, ou pouvoir espionner le contenu de la RAM pour pouvoir récupérer ses infos. (Mais si un attaquant est déjà sur la machine, il suffit de regarder la DB à l’heure actuelle.)

Chiffrer le disque où est la BDD est donc suffisant.

Cheers,
Benjamin