Planet Libre

Full Circle Magazine FR : Pour la rentrée

Bonjour !

Il reste une semaine avant la rentrée des classes début septembre, et notre petite équipe (trois personnes) vous présente le numéro 147 du magazine Full Circle traduit en français par nos soins. Comme d'habitude, vous pouvez le récupérer ou le visionner sur notre page NUMÉROS ou l'obtenir directement en cliquant sur la photo ci-dessous.

issue147fr.png

Ce mois-ci, nous vous proposons une critique de Xubuntu 19.04, avec Xfce, qui est le pendant de celle de Lubuntu 19.04, avec LXQt. Comme vous pouvez le constater sur l'image, Xubuntu est sobre et ne vous étonnera pas, mais il est solide, fiable, et idéal pour tous vos travaux informatiques.

Outre les tutoriels et autres bonnes choses habituelles, vous trouverez dans ce numéro deux dessins comiques, 16 pages d'Actus Linux, l'histoire de comment Richard (Ubuntu au quotidien) a pu dépanner le jeu Ms Pacman (Atari 800) sous Linux tout en le configurant pour qu'il s'affiche en plein écran au lancement, la critique de Basilisk (késaco ???), un article dans la rubrique Mon opinion concernant LXQt, la suite de la série Certifié Linux et une présentation de la version officielle du jeu Dota Underlords.

Bonne lecture et bonne rentrée !

Bab, scribeur et relecteur, d52fr, traducteur et relecteur et moi-même, AE, traductrice et relectrice.

P.S. Notre équipe est actuellement extrêmement réduite, ce qui fait que nous devons tous travailler dur pour vous livrer chaque numéro en temps utile. S'il vous plaît, pensez à venir nous aider. Regardez dans la colonne de droite de cette page et cliquez sur le lien vers le Wiki où vous trouverez le mode d'emploi pour participer.

Gravatar de Full Circle Magazine FR
Original post of Full Circle Magazine FR.Votez pour ce billet sur Planet Libre.

Articles similaires

Simon Vieille : Contourner les trackers de YouTube

Lors des échanges sur la protection de la vie privée et la décentralisation des données, la question de YouTube est un sujet qui fait débat. En effet, je peux créer une instance PeerTube ou en choisir une des nombreuses disponibles pour publier une vidéo mais qu'est est-il de la consultation ? Si des créateurs font le choix de déposer leurs vidéos sur plusieurs plateformes, d’autres se contentent de ne publier que sur YouTube. Dès lors, on est contraint de passer par YouTube pour accéder à ses contenus et cela implique de subir le tracking publicitaire de Google.

Invidious est un projet libre sous licence AGPLv3 qui permet ne plus charger l’interface très obèse de YouTube et par effet de bord, de ne plus charger les trackers qu’on peut y trouver. Invidious est assez complet car il permet également de gérer des comptes utilisateurs sans compte Google, de faire des recherches, de s’abonner à des chaînes et de faire l'intermédiaire entre vous et les serveurs vidéos de Google.

Invidious

Pour autant, ce n’est pas totalement suffisant car si vous consultez une page qui affiche une vidéo YouTube ou que quelqu’un vous partage un lien vers YouTube, vous allez à nouveau afficher des pages obèses et pleines de trackers. Le développeur Booteille a réalisé une extension Firefox destinée à résoudre cela. Une fois installée et activée, l’extension va automatiquement remplacer l’Iframe de YouTube par un encart Invidious et rediriger les pages YouTube vers une instance Invidious de votre choix. Voici à quoi ressemble une vidéo affichée depuis une instance Invidious.

Après plusieurs semaines d’utilisation, retourner sur le site YouTube est presque un calvaire car c’est vraiment lent. Invidious charge et affiche les contenus plus rapidement et le lecteur fait extrêmement bien son boulot. Cependant, si l’interface de YouTube vous manque un peu, vous pouvez installer le logiciel FreeTube qui reprend ses codes et permet de s’interfacer avec une instance Invidious.

FreeTube

Si vous avez envie de tester Invidious, vous pouvez accéder à l'instance officielle et les instances publiques voire de l'installer localement ou sur votre serveur.

Gravatar de Simon Vieille
Original post of Simon Vieille.Votez pour ce billet sur Planet Libre.

Goffi : SàT PubSub 0.3.0 est disponible

La version 0.3.0 de SàT Pubsub est disponible.

SàT PubSub est un service XMPP PEP/PubSub indépendant du serveur, qui vise à être complet et universel.

Ce projet est né du constat qu'il est difficile d'avoir des services PEP/PubSub complets sur tous les serveurs XMPP, et que même si c'est le cas ils peuvent tarder à implémenter de nouvelles fonctionnalités ou être difficiles à gérer.

Le projet « Salut à Toi » faisant un usage intensif des fonctionnalités PubSub de XMPP, 2 solutions étaient envisageables :

  • se concentrer sur un serveur XMPP particulier et le recommander, voire le faire évoluer dans la direction voulue. Ceci reviendrait à se bloquer sur une implémentation particulière d'un serveur XMPP et risquer de voir des fonctionnalités fonctionner incorrectement ou pas du tout sur les autres.

  • faire un composant indépendant du serveur, en utilisant des extensions XMPP pour avoir un accès privilégié au serveur

C'est la deuxième option qui a été retenue, SàT PubSub utilise les XEPs (extensions XMPP) Namespace Delegation (XEP-0355) et Privileged Entity (XEP-0356) pour pouvoir fournir des fonctionnalités avancés et PEP.

Bien que « SàT » soit utilisé dans le nom (par son origine), ce composant ne nécessite pas d'utiliser Salut à Toi et peut-être utilisé par tout logiciel XMPP.

SàT PubSub implémentait déjà MAM et RSM (permettant de faire des recherches dans les archives et d'utiliser la pagination pour retrouver les éléments), la version 0.3.0 apporte également :

  • le modèle d'accès presence
  • la gestion de +notify
  • la notion d'administrateurs, qui sont des identifiants (« JID ») avec des accès privilégiés
  • les affiliations
  • la possibilité de retrouver les éléments classés par date de création ou modification avec Order-By (XEP-0413)
  • la fonctionnalité expérimentale « Node Schema », pour associer des types de données à un nœud via les Data Forms (XEP-0004). Cette fonctionnalité est notamment utilisée dans Salut à Toi pour les tickets.
  • la fonctionnalité expérimentale « Serial IDs » qui permet d'attribuer des identifiants d'éléments utilisant des incréments (1, 2, 3, etc.) au lieu de valeurs aléatoires. Ceci est notamment utile pour les tickets.
  • la fonctionnalité expérimentale « PubSub Admin », qui permet aux administrateurs de publier des éléments en spécifiant un autre éditeur (« publisher »). Peut-être utilisé pour restaurer une sauvegarde.
  • la fonctionnalité expérimentale « consistent publisher » qui, une fois activée sur un nœud, garde l'éditeur (« publisher ») original quand un élément est modifié par le propriétaire du nœud ou un administrateur. Ceci permet de modifier l'élément sans empêcher l'éditeur original de le modifier à nouveau lui-même (par exemple en éditant un commentaire de blog, ou en changeant le statut d'un ticket).
  • un fichier de configuration peut désormais être utilisé avec SàT PubSub, évitant d'avoir à spécifier les options – dont le mot de passe – entièrement sur la ligne de commande. Le même fichier que pour Salut à Toi (sat.conf) est utilisé, les options de SàT PubSub doivent être mises dans la section [pubsub]).
  • une nouvelle documentation

Vous trouverez plus de détails dans le CHANGELOG.

Le développement sur la version 0.4 a déjà commencé avec le port pour Python 3 qui est fonctionnel et complète le reste de l'écosystème Salut à Toi.

Pour installer SàT PubSub, il vous suffit d'entrer pip install sat_pubsub dans un environement virtuel Python 2, référez-vous à la documentation pour plus de détails.

Gravatar de Goffi
Original post of Goffi.Votez pour ce billet sur Planet Libre.

Articles similaires

Journal du hacker : Liens intéressants Journal du hacker semaine #33

Pour la 33ème semaine de l'année 2019, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Benoît Boud@ud : La planète Archlinux (partie 6 : amélioration continue)

Sommaire 20 - pacman 21 - yay 22 - Gestion des erreurs au cours du processus de post-installation 23 - Synchronisation et mise à jour automatisée 24 - Bugs non résolus Bonjour, après quelques semaines d'utilisation, je dois dire que je suis tout à fait satisfait d'avoir basculé sur Archlinux. Nous sommes assurément en présence [...]

Gravatar de Benoît Boud@ud
Original post of Benoît Boud@ud.Votez pour ce billet sur Planet Libre.

Articles similaires

Littlewing : Mocker des méthodes « final » avec Mockito

Auparavant, dans nos tests, quand on voulait mocker des méthodes « final » ou statiques, on devait passer par PowerMock.

Depuis peu, si on utilise Mockito ( >2.1) , on n’a plus besoin d’ajouter PowerMock pour mocker des méthodes « final ».

Bon il reste toujours la gestion des méthodes statiques à gérer autrement qu’avec Mockito, mais cela va dans le bon sens.

Voici comment activer en quelques commandes le mocking des méthodes « final ».

Dans le répertoire src/test/resources, il faut créer un répertoire mockito-extensions avec un fichier nommé org.mockito.plugins.MockMaker.

src/test/resources └── mockito-extensions └── org.mockito.plugins.MockMaker

A l’intérieur de ce fichier, vous devrez ajouter le contenu suivant :

mock-maker-inline

Avec cette configuration, vous pourrez dorénavant mocker des méthodes « final » 🙂

Enjoy

Gravatar de Littlewing
Original post of Littlewing.Votez pour ce billet sur Planet Libre.

Articles similaires

Thuban : Mises à jours de packages pour -stable officiels

Jusqu'à présent, pour tenir à jour une installation d'OpenBSD, il fallait suivre la procédure à chaque nouvelle -release.

Le système de base pouvait recevoir des mises à jour avec la commande syspatch.

Cependant, les paquets installés ne recevaient pas de mise à jour à moins de : 

  • Compiler les paquets soi-même en suivant la liste de diffusion ports-security@
  • Utiliser le service tiers m::tier

C'est désormais inutile puisque solene a retroussé ses manches, a compilé elle-même les mises à jours des paquets pour les diffuser sur son serveur et montrer aux développeurs d'OpenBSD son travail. (Si l'histoire vous intéresse, vous pouvez en avoir un aperçu sur le forum. )

Cela fait désormais partie intégrante du projet.

Si vous souhaitez maintenir les paquets de votre système à jour, alors il vous suffit de lancer, sans rien avoir à modifier d'autre.

pkg_add -u

Vous pouvez lire l'annonce officielle ici.

Comme quoi, pour contribuer à un projet, il suffit de s'y mettre plutôt que d'en parler.

Merci Solène ! %λ

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

Journal du hacker : Liens intéressants Journal du hacker semaine #32

Pour la 32ème semaine de l'année 2019, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Littlewing : Vérifier les commit GIT avec GPG

Juste pour un pense bête, voici comment paramétrer GIT et GITHUB/GITLAB pour signer les commits avec GPG.

Configuration GPG

Exécutez la commande suivante :

gpg --full-generate-key Sélectionnez une clé RSA (question 1) de 4096 bits (question 2).

Une fois cette commande effectuée, vous pouvez récupérer votre clé GPG avec cette commande:

gpg –list-secret-keys –keyid-format LONG

gpg --list-secret-keys --keyid-format LONG alexandre@.... /home/alexandre/.gnupg/pubring.kbx ---------------------------------- sec rsa4096/XXXXXXXXXX 2019-08-09 [SC] XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX uid [ ultime ] Alexandre Touret ssb rsa4096/XXXXXXXXXX 2019-08-09 [E]

Ensuite, il faut exécuter cette commande

gpg --armor --export XXXXXXXXXX Configuration GIT

Indiquez la clé GPG à GIT

git config --local user.signingkey 6F9D7D5FCE959337

Et indiquez que vous voulez signer tous vos commits

git config --local commit.gpgsign true

Si vous ne faites pas cette dernière commande, vous devrez ajouter l’option -S à chaque exécution de la commande git commit.

Exemple:

git -a -S -m "Ajout javadoc" Configuration GITHUB

Sur Github ( il y a la même chose sur gitlab), vous pouvez dans vos paramètres ajouter cette clé . De cette manière, vos prochains commits envoyés seront vérifiés.

 En espérant que ça serve à d’autres 🙂

Gravatar de Littlewing
Original post of Littlewing.Votez pour ce billet sur Planet Libre.

Articles similaires

Benoît Boud@ud : La planète Archlinux (partie 5 : post-installation)

Notre nouveau système Archlinux est opérationnel. Cela dit, notre mission n'est pas terminée. Nous devons encore installer un environnement graphique digne de ce nom. Pour l'instant, c'est une console noire qui nous accueille et même si nous pouvons dès à présent accomplir beaucoup de choses en  ligne de commande, vous vous imaginez bien qu'une telle [...]

Gravatar de Benoît Boud@ud
Original post of Benoît Boud@ud.Votez pour ce billet sur Planet Libre.

Articles similaires

Journal du hacker : Liens intéressants Journal du hacker semaine #31

Pour la 31ème semaine de l'année 2019, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Chimrod : Utiliser toutes les fonts avec Xetex et Cygwin

Xetex logo

Quand on utilise xetex dans l’environnement cygwin, toutes les polices installées ne sont pas chargées par défaut. Cela vient de la configuration de cygwin qui par défaut, ne scanne pas les répertoires de latex à la recherche des polices disponibles.

La solution est simple, il faut ajouter les lignes suivantes dans le fichier /etc/fonts/fonts.conf :

/usr/share/texmf-dist/fonts/opentype /usr/share/texmf-dist/fonts/truetype

et compléter en rechargeant les polices installées :

$ fc-cache -f

Fini !

Gravatar de Chimrod
Original post of Chimrod.Votez pour ce billet sur Planet Libre.

debian-facile.org : Les enquêtes Debian-Facile : on a volé mes commandes root sous Buster

Depuis la publication de Buster , nous avons vu fleurir sur le forum pas mal de questions concernant l'impossibilité de passer certaines commandes nécessitant les droits root bien que connecté sur ce compte.
Ces commandes ont-elles disparu ? Que nenni, il s'agit juste d'une modification de la commande su permettant de passer root et en particulier de la gestion de la variable d'environnement PATH qui indique au système dans quels chemins rechercher les commandes.

Pour expliquer ce qu'est cette variable voici un court extrait du MOOC Maîtriser le Shell Bash publié sur la plateforme FunMooc par l'Université de La Réunion (sous licence CC-BY-NC-SA 4.0)

La variable PATH est une variable importante, elle donne l?accès aux commandes du système. Cette variable sert à retrouver les commandes dans l?arborescence sans qu?il ne soit nécessaire de fournir le chemin d?accès absolu. La variable PATH représente une règle de recherche pour le shell. C?est la liste des répertoires dans lesquels le shell doit rechercher une commande (en suivant l?ordre des répertoires
listés dans la variable).
Supposons que vous ayez deux commandes ls, l?une que vous avez créée et l?autre la commande classique. Celle que vous avez créée se trouve dans le répertoire /usr/local/bin et la commande classique se trouve dans /usr/bin. Pour utiliser la commande classique, vous devez saisir :

/usr/bin/ls


En revanche, si votre variable PATH contient le répertoire /usr/bin/ alors vous pouvez saisir :

ls


Si votre variable PATH contient /usr/local/bin:/usr/bin/ alors en saisissant la commande ls, la version utilisée sera celle que vous avez créée car l?ordre compte, dans la liste des répertoires de la variable PATH. Consulter le contenu d?une variable d?environnement s?effectue par une commande d?affichage echo et une substitution de variable comme le montre l?exemple avec la variable PATH.

echo $PATH


/usr/local/bin:/sbin:/bin:/usr/bin



Jusqu'à Stretch, c'est le paquet source Shadow qui fournissait la commande su. Depuis la publication de Buster, c'est util-linux qui fourni cette commande. su n'est pas absolument identique dans les deux paquets. En effet, avec l'implémentation de shadow, un simple su réinitialisait la variable PATH en y ajoutant le chemin /usr/sbin et /sbin, chemin contenant des commandes qu'on ne passe qu'avec les droits root. Comme ce n'est plus le cas avec l'implémentation issue de util-linux, le shell n'est donc pas capable de trouver ces commandes.

Voyez plutôt :

su


fdisk -l


bash: fdisk : commande introuvable


ls /sbin/fdisk


/sbin/fdisk


Le système ne trouve pas la commande, pourtant, elle est bien présente. Et voici le pourquoi du comment

echo $PATH


/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


Pas de /sbin dans cette variable, donc, le shell ne sait pas où se trouve cette commande.

Il faut donc a présent pour ouvrir un shell root et voir la variable PATH initialisée avec ces deux répertoires taper

su -l #ou su --login
#ou
su - #oui, avec un tiret



On essaye à nouveau

su -


fdisk -l


Disque /dev/sda : 50 GiB, 53687091200 octets, 104857600 secteurs
Modèle de disque : QEMU HARDDISK  
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
...
 


Pas de problèmes ici, et le pourquoi du comment

echo $PATH


/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Vous remarquerez l'apparition des répertoires /foo/sbin (et la disparition de /usr/games le compte root n'est pas fait pour jouer, nan mais oh, garnement tongue ).


Et voilà encore une enquête résolu par le célèbre détective Debian-Facile smile

Gravatar de debian-facile.org
Original post of debian-facile.org.Votez pour ce billet sur Planet Libre.

Thuban : Syspatch : patch smtpd - multiarch - 6.4-6.5

Un septième patch est disponible pour toutes les architectures afin de corriger un défaut dans smtpd qui pouvait planter à cause d'une entrée beaucoup trop grande, entraînant un déni de service.

 

Lancez-donc syspatch :)

Ensuite, c'est une bonne idée de relancer smtpd : rcctl restart smtpd

 

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

Simon Vieille : Outil de création d’un espace web Apache et PHP

Dans mon activité personnelle et professionnelle, je suis amené à créer des espaces d’hébergement de sites web principalement écrits en PHP.

Il y a quelques années, j’ai écris un script en shell qui posait des questions et générait des fichiers de configuration pour Apache et PHP puis relançait ces services. Il a ensuite évolué et générait également les utilisateurs unix et affinait les permissions. Le principal problème du script est que d’un serveur à l’autre, il fallait mettre des coups de hache dans le code pour l’adapter.

Cette semaine, j’ai entamé une refonte complète du code. Au fur et à mesure du développement, j’ai rendu pas mal de choses configurables et je pense qu’il est fonctionnel sur des environnements relativement différents des miens.

Je vous présente donc vhost-manager, c'est un projet libre et est toujours orienté vers la génération de vhost Apache et de pools PHP FPM. Il faut make, gcc, wget pour l'installer et sh, whiptail et php sont nécessaires à son utilisation.

vhost-manager

Le code source est disponible ici. Le projet se configure via un fichier de variables et j'ai conservé le principe des questions/réponses pour générer les fichiers.

Gravatar de Simon Vieille
Original post of Simon Vieille.Votez pour ce billet sur Planet Libre.

Articles similaires

Benoît Boud@ud : La planète Archlinux (partie 4)

Sommaire 10 - Démonter et remonter les partitions 11 - Sélectionner le miroir 12 - Installer la base 13 - Configurer le nouveau système 14 - Installer le chargeur d'amorçage 15 - Redémarrage ________________________________ 10 - Démonter et remonter les partitions À ce stade de l'installation, vous pouvez très bien faire une pause-café et éteindre [...]

Gravatar de Benoît Boud@ud
Original post of Benoît Boud@ud.Votez pour ce billet sur Planet Libre.

Articles similaires

Journal du hacker : Liens intéressants Journal du hacker semaine #30

Pour la 30ème semaine de l'année 2019, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

ephase : Importer des clefs GnuPG dans sa Nitrokey Pro

Dans un précédent article j’ai présenté la Nitrockey Pro et fait un bref tour du propriétaire. Cette fois si je vais expliquer comment y importer des clefs PGP déjà existante.

Bien entendu je part sur un système déjà installée et configurée et part du principe que la Nitrokey est paramétrée (PIN utilisateur et administrateur, nom du propriétaire etc.)

Avant de commencer

Voici la composition des clefs:

  • une clé principale servant a créer des sous clefs, de les révoquer et de signer celles des copains.
  • une sous clé permettant de chiffrer
  • enfin une sous clé permettant de signer

A partir de là nous allons mettre mes deux sous clefs sur la Nitrokey et garder la clé principale dans un endroit sûr.

L’importation n’est pas très difficile et prendra qu’une minute. Par contre il est important de réaliser quelques opérations en plus :

  • Créer un certificat de révocations.
  • Sauvegarder comme il se doit la clé maître et ses sous clefs, le certificat de révocation. En effet l’opération d’importation de vous sous clefs les supprimera du dossier ~/.GnuPG/
  • Sortir ma Master Key du trousseau GnuPG pour la mettre en sécurité sur un périphérique de stockage externe (clé USB)
Réaliser une sauvegarde

Avant tout, il est important de garder une copie de sauvegarde de sa clé maître et de ses sous clefs au cas où une manipulations ne se passerait pas comme prévu. Exportons les clefs privées, publiques et le certificat de révocation dans un fichier compressé et chiffré.

Commençons par créer un dossier dans le répertoire /tmp afin de recevoir le certificat de révocation et les sauvegardes de clefs :

mkdir /tmp/gpg_backup chmod 700 /tmp/gpg_backup Certificat de révocation

Voici la commande utile pour créer un certificat de révocation pour notre clé maître :

gpg --gen-revoke --output /tmp/gpg_backup/revoke.cert

Où représente l’identifiant de la clé. Une boite de dialogue apparaît ensuite demandant la phrase de passe permettant de débloquer la clé privée.

Exporter les clefs

Commençons par la clé privée :

gpg --export-secret-keys --armor --output /tmp/gpg_backup/ephase_private.asc

Bien entendu la phrase de passe de la clé sera demandée

Puis la clé publique, qui ne nécessite pas de phrase de passe pour être débloquée :

gpg --export --armor --output /tmp/gpg_backup/ephase_public.asc Créer une archive sécurisée

Bien entendu il ne faut pas que ces données (du moins le certificat de révocation et la clé privée) tombent entre de mauvaise main, il suffit simplement de créer une archive chiffrée du dossier /tmp/gpg_backup :

tar cz -C '/tmp/' gpg_backup | gpg --symmetric --output ephase_key.gpg && rm -rf /tmp/gpg_backup

Après avoir rentré un mot de passe de chiffrement fort pour protéger notre sauvegarde, nous sommes fin prêt pour la suite des opérations. Pour restaurer le dossier il suffira d’utiliser la commande suivante :

gpg --decrypt ephase_key.gpg | tar xz Mettre ce fichier à l’abri

Le fichier ephase_key.gpg sera mis à l’abri sur un espace de stockage hors ligne (voire même plusieurs).

Importer la paire de clefs

La manipulation se fait depuis la gestion de clefs gpg, nous y accédons avec la commande :

gpg --expert --edit-key gpg (GnuPG) 2.2.17; Copyright (C) 2019 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. La clef secrète est disponible. sec rsa4096/XXXXXXXXXXXXXXXX créé : 2016-07-07 expire : 2020-07-12 utilisation : SC confiance : ultime validité : ultime ssb rsa4096/YYYYYYYYYYYYYYYY créé : 2016-07-07 expire : 2020-07-12 utilisation : E ssb rsa4096/ZZZZZZZZZZZZZZZZ créé : 2016-07-07 expire : 2020-07-12 utilisation : S [ ultime ] (1). Yorick Barbanneau gpg>

À partir de là nous allons procéder par étape :

  1. choisir la sous clé pour 1 (le chiffrement) et l’exporter dans le slot chiffrement sur la Nitrokey
  2. choisir la sous clé 2 (signature) et l’exporter dans le slot signature

La clé maitre sera sortie du trousseau et mise à l’abri.

Exporter la clé ¨Chiffrement¨

Voici les commandes à entrer pour exporter la première clé sur la Nitrokey :

gpg> key 1 [...] gpg> keytocard

key 1 permet de dire à gpg que l’on travaille sur la première sous clé, et keytocard envoi celle-ci sur notre smartcard

gpg nous demande de déverrouiller par en entrant la phrase de passe et le code PIN administrateur de la Nitrokey.

Exporter la clé ¨Signature¨

Il faut maintenant dé-sélectionner la sous clé 1 :

gpg> key 1

Pour copier la clé 2:

gpg> key 2 [...] gpg> keytocard

Comme précédemment, gpg nous demande de déverrouiller par en entrant la phrase de passe et le code PIN administrateur de la Nitrokey.

Sauvegarder les changements.

Il ne reste plus qu’à sauvegarder nos changement sur les clefs et quitter gpg

gpg> save

Les deux sous clefs seront alors supprimées de notre trousseau et disponible uniquement via la smartcard.

Mettre sa clé maître à l’abri

La clé maître est la plus importante des clefs, elle permet de créer d’autre sous clefs, d’émettre des certificats de révocation pour celles-ci ou encore de signer les clefs publique des amis.

Il est tout à fait possible de la sortir du trousseau pour la mettre à l’abri et de la remettre lorsque l’on en a besoin.

Pour ma part j’ai choisi de mettre la clé sur un support externe chiffré, et avec l’aide d’un script de monter le support lorsque j’en ai besoin et de créer un lien symbolique de la clé depuis le répertoire de GnuPG.

Les outils utilisés sont en général installés de base : LUKS et udisk

Créer le conteneur chiffré

Toutes les opérations suivantes se font en super utilisateur ou avec sudo.

Dans un premier temps partitionnons la clé USB (ici sdb):

parted -s /dev/sdb mklabel msdos mkpart primary ext4 1MiB 100%

Il nous faut ensuite créer le conteneur chiffré :

cryptsetup luksFormat /dev/sdb1 WARNING! ======== Cette action écrasera définitivement les données sur /dev/sdb1. Are you sure? (Type uppercase yes): YES Saisissez la phrase secrète pour /dev/sdb1 : Vérifiez la phrase secrète :

Le déverrouiller :

cryptsetup luksOpen /dev/sdb1 gpg_master Saisissez la phrase secrète pour /dev/sdb1 :

Pour le formater :

mkfs.ext4 -E root_owner=1000:1000 -m 0 /dev/mapper/gpg_master

Il faut bien entendu adapter le paramètre root_owner en fonction de votre UID et de votre GID.

Et enfin monter la partition avec :

mkdir -p /mnt/usb mount /dev/mapper/gpg_master /mnt/usb

Puis s’assurer que la clé USB ne peut être lue seulement par notre utilisateur :

chmod 700 /mnt/usb Déplacer la clé maitre GnuPG sur votre clé USB

Les commandes suivante sont à faire dans la foulée mais en tant utilisateur courant.

Nous allons utilisé une fonctionnalité de GnuPG 2 : les clefs privées sont stockée dans le répertoire ~/.gnupg/private-keys-v1.d/ ou chaque fichier correspond à une clé et le nom est repris dans le champs keygrip :

gpg -K --with-keygrip /home/ephase/.gnupg/pubring.kbx ------------------------------- sec rsa4096 2016-07-07 [SC] [expire : 2020-07-12] 3526F4565D76C5674AA56690936CDF3783293949 Keygrip = ABCDEF1234567890ABCDEF1234567890ABCDEF12 uid [ ultime ] Yorick Barbanneau ssb> rsa4096 2016-07-07 [E] [expire : 2020-07-12] Keygrip = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ssb> rsa4096 2016-07-07 [S] [expire : 2020-07-12] Keygrip = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

Je doit donc chercher la clé 3526F4565D76C5674AA56690936CDF3783293949.key et la copier sur notre clé :

mkdir -p /mnt/usb/.gpg_master chown 700 /mnt/usb/.gpg_master mv ~/.gnupg/private-keys-v1.d/3526F4565D76C5674AA56690936CDF3783293949.key /mnt/usb/.usbmaster

Afin de bien vérifier que la clé n’est plus disponible, il suffit de faire :

gpg -K /home/ephase/.gnupg/pubring.kbx ------------------------------- sec# rsa4096 2016-07-07 [SC] [expire : 2020-07-12] 3526F4565D76C5674AA56690936CDF3783293949 uid [ ultime ] Yorick Barbanneau ssb> rsa4096 2016-07-07 [E] [expire : 2020-07-12] ssb> rsa4096 2016-07-07 [S] [expire : 2020-07-12]

Le # à côté de sec indique que la clé maître n’est plus disponible dans le trousseau GnuPG.

Automatiser le montage de la clé

Afin de faciliter les opération de montage et démontage de la clé USB contenant notre clé maître, on va s’aider d’un script.

L’utilisation est simple, une fois mis dans un endroit accessible via le $PATH il suffit de faire gpgmount.sh m pour monter la clé USB ou gpgmount.sh u pour la démonter.

#!/bin/bash UUID="" mountpoint="" usage () { cat < $0 m | u $0 mount | unmount mount or unmount encrypted device based on UUID and attach private keys EOF } if [ -L "/dev/disk/by-uuid/${UUID}" ] then case "$@" in "m"|"mount") echo "Mount encryted key" action=$(udisksctl unlock -b /dev/disk/by-uuid/${UUID}) if [ ! $? -eq 0 ] then echo $action exit 10 fi mountpoint=$(udisksctl mount -b /dev/mapper/luks-${UUID} | \\ awk '{print $4}') while read -r f do base=$(basename $f) #create symlink to key file if not exist if [ ! -e "~/.gnupg/private-keys-v1.d/$base" ] then ln -s $f ~/.gnupg/private-keys-v1.d/$base fi done < <(find ${mountpoint%.}/.gpg_master/ -type f -name "*.key") ;; "u"|"unmount") echo "unmount encrypted key" while read -r f do rm $f done < <(find ~/.gnupg/private-keys-v1.d -type l -name "*.key") udisksctl unmount -b /dev/mapper/luks-${UUID} 2&> /dev/null || \\ echo "Volume is already unmounted" udisksctl lock -b /dev/disk/by-uuid/${UUID} 2&> /dev/null || \\ echo "Encrypted container is not unlocked" ;; *) echo "parameter not understood, what do you want :" usage exit 1 ;; esac else echo "USB device $UUID is not connected" exit 5 fi exit 0

Il faut bien entendu mettre l’uuid de la partition contenant notre clé maître dans la variable UUID.

Pour le récupérer il suffit de lancer la commande blkid en tant que root avec en paramètre la partition en question:

blkid /dev/sdb1 /dev/sdb1: UUID="" TYPE="crypto_LUKS" PARTUUID="" En conlusion

J’ai essayé ici de créer un environnement équilibré entre sécurité et facilité. La Nitrokey permet donc de sécuriser mes sous clefs utilisées tous les jours tout en les rendant disponibles sur mes deux machines principales.

Bien sûr il serait plus sécurisé de n’utiliser la clé maître sur une machine totalement hors ligne démarrée par une distribution live. Mais avouez que pour signer les clé des amis (lors de chiffro-fête par exemple), ce n’est pas l’idéal.

Bibliographie

Kernel Maintainer PGP guide — The Linux Kernel documentation par Konstantin Ryabitsev - lien

Using an offline GnuPG master key (2015) par Damien Goutte-Gattat - lien

Gravatar de ephase
Original post of ephase.Votez pour ce billet sur Planet Libre.

Articles similaires

Pages