PROJET AUTOBLOG


Le Blog de Genma

source: Le Blog de Genma

⇐ retour index

Pause Estivale sur le blog cet été, retour en septembre

jeudi 1 janvier 1970 à 01:00

Nous sommes fin juillet et j'ai peu publié sur le blog en ce début d'été. En août, j'aurai trois semaines de congés et de coupure. Avec le fait d'être parent, le temps que l'on peut consacrer à des projets personnels et d'autant plus réduit, les priorités sont redéfinies. J'avais eu dans l'idée d'écrire sur le sujet ; mais ayant déjà peu de temps pour écrire sur mes sujets de prédilections plus traditionnels, je ne l'ai pas (encore ?) fait.

Je me dis donc qu'il n'y aura probablement pas de publication en août sur ce blog et que le plus simple est de revenir en septembre. Si je trouve un peu de temps pour finir des ébauches, brouillons et autres articles en cours de rédaction, cela me fera un peu de publication de réserve en avance pour de nouveau faire une publication régulière sur la fin d'année.

L'été est depuis quelques années une période particulière pour moi. Chaque année, j'écris un billet et remonter le temps me rappelle les changements ces dernières années.

Fin août 2016, j'écrivais le billet Redéfinir mes priorités. J'étais en pleine phase de questionnement, j'avais passé l'été à faire de l'administration système, à apprendre plein de choses en regardant le code source de Yunohost, en me remettant un peu en questions. Et en octobre 2016, je posais ma démission pour passer à un métier passion à partir de janvier 2017.

Été 207, j'avais pas mal de projet prévu pour la fin d'année, comme en témoigne mon billet de fin août 2017Bilan de mes vacances d'été. Nouvelle vie, plein d'enthousiasme, plein de choses à faire et envie de faire.

Été 2018, suite à plusieurs craquages et un burn-out, la période est compliquée. Début juillet 2018 je publie Silence sur ce blog en juin, et je ne reviens ensuite qu'en octobre 2018 avec Retour après deux mois de silence.

Juin 2019, arrivée de Mononoke et août 2019 a été consacré à mes congés parentaux et a permis de tisser un lien qui est on ne peut plus fort aujourd'hui (mais c'est une autre histoire). Septembre 2019, je publiais donc Été 2018 versus été 2019.

Ces congés d'été 2020, ce seront donc 3 semaines à plein temps pour m'occuper de Mononoke. Des petites pauses de temps en temps si elle va chez sa Mamie. Mais avant tout du temps avec elle, pour elle. C'est ce qui compte le plus pour moi depuis un peu plus d'un, depuis ces premières secondes où je l'ai prise dans mes bras. Ma vie a été changé à jamais, en bien. Ce sont plein de moments de bonheurs mais aussi pas facile, car elle nécessite beaucoup d'attention, de temps. Il y a des choix à faire, mais elle passe avant tout. J'ai vécu 40 ans sans elle et elle a remis plein de choses en question dans ma vie. Elle a changé ma vie, donnée un sens à ma vie et je suis très content heureux qu'elle soit là.

Merci de m'avoir lu, prenez soin de vous et on se retrouve en septembre ;) Et si l'envie vous en prend, je reste joignable, on sait où me trouver !

Nextcloud et le 2FA ( double facteur d'authentification)

jeudi 1 janvier 1970 à 01:00

Cet article fait suite à mon article Nitrokey, clefs USB opensource comme 2nd facteurs d'authentification.

Ce billet ne sera pas un tutoriel complet, certains éléments sont assez intuitifs et faciles à mettre en place dès lors que l'on connaît un minimum Nextcloud (installation d'une application) et que l'on sait explorer la partie administration.

Introduction

Une bonne pratique de sécurité dans le cadre de l'hygiène numérique est d'activer la fonctionnalité de double facteur d'authentification (ou vérification en deux étapes, two-factor authentication en anglais, ou 2FA). Ainsi pour se connecter, on aura à saisir son identifiant (login), son mot de passe (sa phrase de passe ou mot de passe complexe issue de son gestionnaire de mot de passe préféré) et un code à usage unique (que l'on reçoit par mail, SMS ou issu d'une application ou d'un appareil physique, souvent appellé calculette quand elle nécessite la saisie d'un code préallable à la génération d'un code temporaire).

Ce second facteur, ce second code à usage unique, change régulièrement en fonction du temps, comme expliqué sur la page Mot de passe à usage unique.

Un mot de passe à usage unique (siglé OTP, de l'anglais one-time password) est un mot de passe qui n'est valable que pour une session ou une transaction.

Nextcloud et la double authentification

Nextcloud a une documentation de base en anglais sur :
- comment utiliser la double authentification Using two-factor authentication ,
- comment la configurer Configuring two-factor authentication
- comment avoir des codes de secours Recovery codes in case you lost your 2nd factor
- comment se connecter une fois le 2ème facteur activé Logging in with two-factor authentication

Activer la double authentification dans Nextcloud

Cette activation de la double authentification passe par plusieurs étapes. La première est d'installer une (ou plusieurs applications) permettant d'avoir un deuxième facteur d'authentification. Ces applications sont listées le magasin des applications Nextcloud catégorie Sécurité. Il existe plusieurs applications, chacunes d'elles ayant une fonctionnalité précise. Toutes modifient la partie administration de Nextcloud en ajoutant de entrées / champs de paramétrages, comme on peut le voir sur les capture d'écrans.

L'application principale à installer est Two-Factor TOTP Provider qui comme indiqué dans la documentation Configuring two-factor authentication ajoute la possibilité de configurer un 2nd facteur :

Le code est fourni via une application compatible TOTP (Time-based One-time Password algorithm), je ferai un billet dédié sur le sujet.

Il est possible d'utiliser différents types de matériels (token), je fais un focus sur le sujet un peu après.

Il est également possible de recevoir un code via d'autres moyens, également gérer via une application :
- Two Factor e-mail provider est une application qui permet de recevoir un code temporaire par e-mail.
- Two-Factor Gateway est une application qui permet de recevoir un code temporaire d'authentification via Signal, SMS et Télégramme.
- Two-Factor Authentication via Nextcloud notification qui permet d'utiliser n'importe lequel de vos appareils connectés comme deuxième facteur (il faut donc déjà être connecté et valider la notification reçue).

Les token hardware

Les token hardware sont les termes anglais consacrées pour désigner un matériel physique (hardware) permettant d'avoir un jeton (token) d'authentification (le jeton étant le code permettant le double facteur d'authentification). Sur sa page Using two-factor authentication with hardware tokens, on retrouve des informations très sommaires à savoi

TOTP based:
Nitrokey Pro
Nitrokey Storage
FIDO U2F based:
Nitrokey FIDO U2F

Je vous renvoie donc sur mon article Nitrokey, clefs USB opensource comme 2nd facteurs d'authentification.

Pour l'utiliser, il faut installer l'application Two-Factor U2F : pour utiliser un appareil spécifique proposant une authentification U2F (FIDO), comme la Nitrokey (cf Nitrokey, clefs USB opensource comme 2nd facteurs d'authentification).

Autre type de matériel et autres applications :
- Two-Factor Webauthn pour les appareils Webauthn, comme la Yubikey. Sachant que les clés FIDO U2F existantes sont largement compatibles avec la norme WebAuthn Source
- Two Factor Yubikey pour les clefs Yubikey.

Cas des applicatons tiers

Dans l'écosystème Nextcloud, il y a la connexion à l'interface via un navigateur Web, mais également tout un écosystème d'applications tiers cliente (comme le logiciel de synchronisation de fichier sur PC). Une fois que l'on a activé le 2FA (Deuxième facteur d'authentification) pour renforcer la connexion à Nextcloud), ces clients ne peuvent plus se connecter uniquement avec votre mot de passe, sauf s'ils prennent également en charge l'authentification à deux facteurs. Pour résoudre ce problème, il faut générer pour ces clients des mots de passe spécifiques à l'appareil. C'est là encore documenter, en anglais. Using client applications with two-factor authentication

Si vous utilisez l'authentification à deux facteurs pour votre compte, les mots de passe spécifiques à l'appareil sont le seul moyen de configurer les clients. Le client refusera alors les connexions des clients utilisant votre mot de passe de connexion. Managing devices

Et si on perd l'application, le matériel ?

Comme indiqué dans la documentation, il est possible d'avor des codes de secours Recovery codes in case you lost your 2nd factor.

Il existe aussi une application Two-Factor Admin Support qui permet aux administrateurs de générer un code à usage unique pour que les utilisateurs se connectent à un compte protégé 2FA. Ceci est utile dans les situations où les utilisateurs ont perdu l'accès à leurs autres méthodes 2FA ou 2FA obligatoires sans aucun fournisseur 2FA précédemment activé.

Forcer la double authentification ?

L'authentification à deux facteurs peut être forcée pour tous les utilisateurs et des groupes spécifiques. S'ils n'ont pas un fournisseur à deux facteurs configuré, ils ne seront pas capable de s'identifier au système. (Mais il y a la solution de l'application de support destinée aux administrateurs, mentionnée ci-dessus). Ce forçage est donc à faire une fois que chaque utilisateur a bien activé sa double authentification.

Conclusion

Les limites de cette 2FA est dans le fait que la partie configuration / gestion du second facteur est une action utilisateur. L'administrateur peut définir plusieurs moyens (en installant les applications tiers), mais le moyen final retenu (code par application, mail, token) est à faire par l'utilisateur.

Un administrateur pourra via l'application Impersonate prendre le rôle de chaque utilisateur pour faire la configuration, mais cela reste laborieux. A voir si on ne peut pas faire une automatisation via la ligne de commande et l'outil occ. (Sujet d'un futur article ?).

Nitrokey, clefs USB opensource comme 2nd facteurs d'authentification

jeudi 1 janvier 1970 à 01:00

Cet article parlera donc de double Authentification (je referai un ou plusieurs articles sur le sujet, et plus particulièrement axé sur Nextcloud) mais avant tout des deux fonctionnalités de deux modèles de clefs Nitrokey.

Remerciement

Article sponsorisé - Je remercie Nitrokey pour l'envoi / don des deux modèles de clefs testés dans cet article.

Le but dans cet article ne sera pas de paraphraser le site de Nitrokey mais d'en présenter les éléments les plus pertinents à mes yeux.

La genèse et Un lien étroit avec Nextcloud

En septembre 2019, je suis allé à l'événement Nextcloud à Berlin. Il y avait une zone stand partenaires au sein duquel j'ai pu découvrir l'existence de la société Nitrokey et de leurs gammes de produits. J'ai suivi de loin l'aventure Nitrokey mais de prêt l'actualité Nextcloud. Sur le blog de Nextclod, j'avais donc lu l'article Nitrokey and Nextcloud collaborate on securing private clouds publié le 15 mai 2019 ; et récemment Nextcloud Hub brings productivity to home office publié le 3 juin 2020 dans la section Easy logging in with biometrics or a hardware key du billet.

C'est à la lecture de ce dernier que je me suis penché à nouveau sur Nitrokey et que j'ai fait ma demande de produits pour des tests à Nitrokey.

Tout une gamme de clefs et de fonctionnalités

Le site de Nitrokey propose toute une gamme de clefs (6) destinée à des usages différents, certaines ayant des fonctionnalités précises.

Par exemple, la Nitrokey Storage apporte comme fonctionnalité en plus de la Nitrokey Pro 2 celle d'avoir un espace de stockage chiffré et la possibilité de l'avoir en volume caché (voir Volumes cachés - Stockage NitrokeyLe concept est similaire au volume caché de VeraCrypt/TrueCrypt, mais avec Nitrokey Storage, la fonctionnalité complète des volumes cachés est implémentée dans le matériel., . Connaissant assez bien Veracrypt, cette fonctionnalité ne m'intéressait guère plus que ça, d'où mon choix de la Nitrokey Pro 2, qui présente un certain nombre de fonctionnalités que j'évoquerai par la suite. La Nitrokey Start est uniquement dédiée au chiffrement GPG (fonction proposée aussi par la Nitrokey Pro 2). La Nitrokey HSM 2 est spécifique pour les PKI/CA, un domaine que je ne connais pas.

Enfin, les deux derniers modèles sont le Nitrokey FIDO2 et Nitrokey FIDO U2F. FIDO2 permet une connexion sans mot de passe et même sans nom d'utilisateur pour une sécurité élevée et une utilisation facile. FIDO U2F est la nouvelle génération de solution d'authentification à 2 facteurs, hautement sécurisée et très facile à utiliser.. La NitrokeyFIDO U2F ne permettant que la fonctionnalité FIDO U2F, la Nitrokey FIDO2 proposant le FIDO2 et le FIDO U2F, c'est ce modèle que j'ai demandé pour tests.

J'ai donc reçu et testé deux modèles qui pour moi sont donc complémentaires : la Nitrokey Pro 2 (NK-Pro-2) et la Nitrokey FIDO2 (NK-FI2).

Une clef Opensource ?

Présenté sur le site ainsi, Le matériel et les logiciels sont des logiciels libres et à code source ouvert qui permettent des évaluations indépendantes de la sécurité. Personnalisable, pas de verrouillage du fournisseur, pas de sécurité par obscurcissement, pas de problèmes de sécurité cachés !

On retrouve quelques dépôts de code sur https://github.com/nitrokey dont celui du code des firmwares. A voir si on peut recompiler facilement ce code.

Et un dédié à des fichiers PCB. https://github.com/Nitrokey/nitrokey-storage-hardware/tree/master/V1.3 Nitrokey Storage hardware Hi hardware freaks, to use this layout you need the designtool Designspark PCB (free) N'y connaissant pas grand chose en électronique, il faudra que je télécharge le logiciel indiqué et regarde de quoi il en retourne.

Documentation des fonctionnalités

Chose appréciable, l'usage des différentes fonctionnalités des clefs sont bien documentés et en français https://www.nitrokey.com/fr.

Le logiciel

Deux clefs (Nitrokey Pro et Nitrokey Storage) dépendent d'un logiciel qui est facilement installable. Ci dessous quelques captures d'écrans. Ce logiciel est lié à l'usage de certaines fonctionnalités

Pour stocker des données, le logiciel demande un mot de passe, il faut donc aller creuser un peu la documentation et la FAQ.

What is the default PIN/password?

User PIN: "123456"
Administrator PIN: "12345678"
Firmware Password (Nitrokey Storage only): "12345678"
SO-PIN (Nitrokey HSM only): "3537363231383830"
We strongly recommend to change these PINs/password to user-chosen values before using the Nitrokey.

La Nitrokey Pro

La Nitrokey Pro présente les fonctionnalités suivantes (je n'ai pas encore tout testé, j'ai écrit cet article dans les quelques jours qui ont suivi la réception de mes clefs Nitrokey).

Chiffrement du courrier électronique et du disque dur par S/MIME (X.509, PKCS#11) : à tester. Il y a un tutoriel / projet sur le Déverrouillage d'un disque dur chiffré avec Luks. Je dois approfondir le sujet.

Chiffrement des courriels par OpenPGP/ GnuPG : à tester

Les tutoriels : https://www.nitrokey.com/documentation/openpgp-email-encryption et https://www.nitrokey.com/fr/documentation/openpgp-create-backup

Connexion sécurisée (mots de passe à usage unique : testé, cela donne un code à usage unique (comme le ferait une application Tiers, je ferai un billet de blog sur le sujet). Le code généré est en mémoire et il faut faire un "coller" (du copier-coller) pour que le code apparaisse dans le champ où il est demandé.

Gestionnaire de mots de passe / Stockage de Mot de passe : testé rapidement, une sorte de Keepass simple, avec une possibilité de générer des mots de passe.

La clef Nitrokey FIDO

FIDO ? U2F ? Universal Second Factor ou U2F (Second Facteur Universel) est une norme d'authentification libre qui vise à renforcer et à simplifier l'authentification à deux facteurs en utilisant des périphériques USB(...) la norme est désormais gérée par la FIDO Alliance. Source

Cette clef fonctionne indépendamment de l'application Nitrokey. Sur le site https://www.dongleauth.info/
Il existe une liste des applications compatibles permettant d'utiliser une clef de ce type en 2nd Facteur d'authentification est disponible en ligne List of websites and whether or not they support One Time Passwords (OTP) or Web Authentication (WebAuthn) respectively FIDO2, U2F.

On active cette fonctionnalité dans le paramétrage du service (tester pour Twitter, Nextcloud) et quand le service demande le deuxième facteur d'authentification, il faut brancher la clef et appuyer légèrement dessus. La clef est alors enregistrée comme 2nd facteur et sera demandée lors des connexions suivantes.

C'est assez simple. Mais cela nécessite d'avoir l'objet physique pour se connecter (ou de passer par un code de secours ou un autre facteur).

Pour activer (tester et ça marche) le U2F et utiliser cette Nitrokey FIDO
- Pour Nextcloud https://apps.nextcloud.com/apps/twofactor_u2f
- Pour Bitwarden https://bitwarden.com/help/article/setup-two-step-login-u2f/

Conclusion

Je connaissais et avais déjà vu des Yubikey, sans jamais vraiment ressentir le besoin d'en avoir une (tout en comprenant l'intérêt). Comme le montre ce premier article, l'usage type de clef est destiné à un usage professionnel (pour de la sécurité un peu avancé) ou très geek. Autant la clef FIDO2 est simple d'usage, autant la clef Nitrokey Pro 2, nécessitant l'usage d'un logiciel tiers, complique un peu plus les choses. Dans un prochain article, je ferai un focus spécial sur l'usage d'une clef Nitrokey (Nitrokey FIDO2 et Nitrokey FIDO U2F) comme second facteur d'authentification au sein d'un article plus général sur le 2nd facteur dans le cadre de la sécurisation des accès à Nextcloud.

Comme je le disais dans la section sur les fonctionnalités, j'ai écrit cet article dans les quelques jours qui ont suivi la réception de mes clefs Nitrokey. Je dois voir avec le temps, les usages et les tests plus avancés pour me prononcer si ces clefs sont des simples gadgets ou sont vraiment utiles.

Série de liens connexes

- La double authentification par clé : comment ca marche ?
- Découverte de la Nitrokey Pro Février 2019
- Gnuk, NeuG, FST-01 : entre cryptographie et matériel libre
- OpenPGP - Exporter les clefs secrètes sur une Yubikey Octobre 2017

Des interfaces graphiques à Borg ?

jeudi 1 janvier 1970 à 01:00

J'utilise Borg depuis un moment, depuis que j'ai publié différents billets de blog sur ce logiciel, en ligne de commande, via des scripts ou des alias bash pour des sauvegardes ponctuelles et j'en suis toujours aussi content. La ligne de commande me convient bien, mais il peut être intéressant de jeter un coup d'oeil du côté des interfaces graphiques qui existent et qui ont été développées autour de Borg.

Voici une présentation des projets dont j'ai connaissance :

Vorta, interface graphique à Borg

J'ai fait un billet de blog dédié sur Vorta, interface graphique à Borg que je vous invite à consulter.

borg-dashboard-exporter && borg-dashboard-vue

J'ai fait un billet de blog dédié sur borg-dashboard-exporter && borg-dashboard-vue que je vous invite à consulter.

Cyborgbackup

Je n'ai pas testé, j'ai vu passé sur les réseaux sociaux un lien vers le projet Cyborgbackuphttps://github.com/cyborgbackup/cyborgbackup
dont la documentation est en ligne à cette adresse https://cyborgbackup.readthedocs.io/en/latest/ et est présenté comme CyBorgBackup is a Web and API Interface to manage BorgBackup solution on multiple servers. It is implemented using Python, Django and AngularJS. soit CyBorgBackup est une interface Web et API pour gérer la solution BorgBackup sur plusieurs serveurs. Il est implémenté en utilisant Python, Django et AngularJS.

Le projet a été créé et est maintenu par Gaetan Ferez, avec un pique d'activité sur le projet en 2020, une annonce d'une évolution du projet en avril 2020.

A noter que le logo est un casque de Cyberman, un des nombreux ennemis de l'univers du Docteur Who.

Borgbase.com

Borgbase.com est un service en ligne, payant (avec une offre gratuite pour tester). Le service propose un espace de sauvegarde externalisé, chiffré, reposant sur Borg ; le serveur implémentant Borg et est compatible avec Borg en ligne de commande ou Vorta.

Yunohost et plusieurs instances de Nextcloud (4/N)

jeudi 1 janvier 1970 à 01:00

Introduction

Cet article fait suite à mon article Yunohost et plusieurs instances de Nextcloud (1/N) et Yunohost et plusieurs instances de Nextcloud (2/N).

Depuis quelques mois,j'ai donc plusieurs instances de Nextcloud sous différentes versions, pour des tests des versions bêtas et autres usages comme un serveur de démonstration, le tout sur un même serveur. Le tout sur une instance Yunohost, pour faciliter. J'ai également Onlyoffice & Collabora, activés et utilisables dans ces différents instances.

Le besoin

J'ai donc plusieurs Nextcloud et il peut être intéressant de tester deux versions différentes sur un même jeu de données (fichiers), pour comparer l'affichage, la réactivité ou autre.

Pour les utilisateurs, du fait d'avoir tout ça sur un Yunohost (qui a un annuaire LDAP), fait que je retrouve les mêmes utilisateurs sur ces différentes instances de Nextcloud. Les utilisateurs sont autorisés à accéder au cas par cas à l'une ou l'autre de ces instances, via la possibilité qu'offre Yunohost de mettre une application en publique ou ne l'autoriser qu'à certains utilisateurs.

Les données et Nextcloud

Dans Nextcloud, les données se trouvent à deux endroits distincts : dans les fichiers, qui sont dans des dossiers sur le disque. Et dans la base de données, pour tout ce qui est du référencement de ce fichiers, des droits associés, partage etc.

Nextcloud offre la possibilité de monter des disques, des dossiers du disque local.

Yunohost propose par exemple à l'installation d'une application Nextcloud d'ajouter automatiquement les dossiers utilisateurs (le /home) dans le dossier des données Nextcloud de chaque utilisateur. Mais c'est un montage les données de chaque utilisateur Yunohost ayant un compte dans une instance Nextcloud sont stockées dans le dossier commun aux données des applications (hors données stockée en base de données), à savoir :

* /home/yunohost.app/nextcloud__1/data/
* /home/yunohost.app/nextcloud__2/data/
* /home/yunohost.app/nextcloud__3/data/

Où nextcloud__X correspondant au nom interne de l'instance pour Yunohost.

Ce même chemin étant défini automatiquement à l'installation de Nextcloud par le packaging Yunohost dans le fichier de configuration de Nextcloud (/var/www/nextcloud__X/config/config.php).

'datadirectory' => '/home/yunohost.app/nextcloud__X/data',

Les mêmes données pour les différentes instances

A l'aide de lien symbolique ou autre modification du fichier de configuration de Nextcloud, on peut faire en sorte que toutes les données d'un même utilisateur soient communes aux différentes instances. Par exemple, les données seront toutes dans /home/yunohost.app/nextcloud/data et /home/yunohost.app/nextcloud__1/data/, /home/yunohost.app/nextcloud__2/data/, /home/yunohost.app/nextcloud__3/data/ seront des liens symboliques vers ce dossier /home/yunohost.app/nextcloud/data.

Les problématiques

Avoir un même fichier utilisé par deux instances différentes peut entraîner des conflits si un même client Nextcloud (côté PC) est connecté à ces différentes instances ou si un même fichier est modifié par deux utilisateurs différents sur deux instances différentes, il y aura forcément des conflits. De même en cas de suppression au sein d'une instance, le fichier étant référencé au sein de la base de données des autres instances, cela posera des problèmes.

On a différentes bases de données, une par instance et il n'est pas envisageable de brancher les différentes instances sur une même base de données.

Une solution ?

Il y a sûrement d'autres solutions mais personnellement, je pars sur l'usage de la fonctionnalité de "Fédération" qu'offre Nextcloud. De même que l'on peut partager un dossier entre utilisateurs, il est possible de partager un dossier entre des instance Nextcloud. Cela fait théoriquement du trafic réseau, même comme les instances sont sur la même machine, ce n'est pas un soucis. Et on peut aller assez finement partager des dossiers précis pour ne pas mélanger les usages...

Pour en savoir plus sur la Fédération au sein de Nextcloud :
- https://nextcloud.com/fr_FR/federation/
- https://docs.nextcloud.com/server/19/admin_manual/configuration_files/federated_cloud_sharing_configuration.html
- https://docs.nextcloud.com/server/latest/user_manual/files/federated_cloud_sharing.html