Librethic https://librethic.io/ Librethic est une Société de Services en Informatique et Technologies Libres, tournée vers les entreprises et les associations. Créée en 2017, elle est portée par des professionnels aguerris aux technologies libres et open source. fr SPIP - www.spip.net Librethic https://librethic.io/local/cache-vignettes/L144xH144/siteon0-d64b7.png?1524437005 https://librethic.io/ 144 144 Fonctionnalités à venir pour le module Ticket / SAV pour Dolibarr ERP & CRM https://librethic.io/blog-notes/article/fonctionnalites-a-venir-pour-le-module-ticket-sav-pour-dolibarr-erp-crm https://librethic.io/blog-notes/article/fonctionnalites-a-venir-pour-le-module-ticket-sav-pour-dolibarr-erp-crm 2018-07-19T10:45:30Z text/html fr Admin Dolibarr ERP/CRM Développement <p>Une des fonctionnalités souvent demandée pour le module « Ticket Support et SAV », complémentaire au logiciel libre de gestion commerciale Dolibarr ERP/CRM, est la création de tickets depuis des messages reçus sur une adresse courriel. Un financement a été trouvé avec l'aide de plusieurs clients : ce sera implémenté pour la rentrée ! <br class='autobr' /> Le financement a enfin été trouvé avec l'aide de plusieurs utilisateurs du module et clients de Librethic. <br class='autobr' /> La création de tickets par email <br class='autobr' /> Disponible pour la rentrée (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/dolibarr-erp-crm" rel="tag">Dolibarr ERP/CRM</a>, <a href="https://librethic.io/mot/developpement" rel="tag">Développement</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH39/arton84-ce771.png?1532003348' width='150' height='39' /> <div class='rss_chapo'><p>Une des fonctionnalités souvent demandée pour le module « Ticket Support et SAV », complémentaire au logiciel libre de gestion commerciale Dolibarr ERP/CRM, est la création de tickets depuis des messages reçus sur une adresse courriel. Un financement a été trouvé avec l'aide de plusieurs clients : ce sera implémenté pour la rentrée !</p></div> <div class='rss_texte'><p>Le financement a enfin été trouvé avec l'aide de plusieurs utilisateurs du module et clients de Librethic.</p> <h2 class="spip"> La création de tickets par email</h2> <p>Disponible pour la rentrée 2018-2019 : la création d'un ticket d'incident après réception d'un courriel sur une adresse de messagerie électronique donnée. Il sera possible de configurer plusieurs comptes et d'indiquer des propriétés du ticket différentes. Les réponses seront, elles, enregistrées en tant que messages du ticket.</p> <h2 class="spip"> Le module dans la version officielle de Dolibarr</h2> <p>Le module « Ticket Support et SAV » a été intégré dans la distribution officielle de Dolibarr ERP/CRM, version 8.0. Techniquement, les objets et tables ont été renommés en 'Ticket' et les deux modules peuvent cohabiter sans problème.</p> <p>Le module est à l'état expérimental dans la distribution officielle et le développement d'une procédure de migration est envisagé pour la reprise de données vers le nouveau module.</p> <p>Aidez-nous à financer ces développements : contactez-nous si vous souhaitez contribuer à ces évolutions du module.</p></div> Nouvelle version du module Ticket pour Dolibar ERP/CRM https://librethic.io/blog-notes/article/nouvelle-version-du-module-ticket-pour-dolibar-erp-crm https://librethic.io/blog-notes/article/nouvelle-version-du-module-ticket-pour-dolibar-erp-crm 2018-07-16T09:29:54Z text/html fr Admin Dolibarr ERP/CRM Développement <p>Une nouvelle version a été publiée pour le module « TicketSup » qui apporte la gestion d'incident et de SAV ou support technique dans Dolibarr ERP/CRM. <br class='autobr' /> Le module « TicketSup » permet d'ajouter à Dolibarr ERP/CRM des fonctionnalités de gestion de support technique / SAV sous forme de tickets d'incident. <br class='autobr' /> Au mois de mars, celui-ci a été forké et intégré à Dolibarr. Il sera donc disponible (en version expérimentale) dans la version 8 qui devrait être publiée au cours du mois de juillet 2018. Notez que le (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/dolibarr-erp-crm" rel="tag">Dolibarr ERP/CRM</a>, <a href="https://librethic.io/mot/developpement" rel="tag">Développement</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L133xH150/arton89-7637a.png?1531757434' width='133' height='150' /> <div class='rss_chapo'><p>Une nouvelle version a été publiée pour le module « TicketSup » qui apporte la gestion d'incident et de SAV ou support technique dans Dolibarr ERP/CRM.</p></div> <div class='rss_texte'><p>Le module « TicketSup » permet d'ajouter à Dolibarr ERP/CRM des fonctionnalités de gestion de support technique / SAV sous forme de tickets d'incident.</p> <p>Au mois de mars, celui-ci a été forké<span class="spip_note_ref"> [<a href='#nb1' class='spip_note' rel='appendix' title='Le module « TicketSup » et celui présent dans la version officielle ont deux (...)' id='nh1'>1</a>]</span> et <strong>intégré à Dolibarr</strong>. Il sera donc disponible (en version expérimentale) dans la version 8 qui devrait être publiée au cours du mois de juillet 2018. Notez que <strong>le développement du module « TicketSup » ne va pas pour autant s'arrêter</strong> !</p> <h2 class="spip"> Les changements dans la version 1.4.0 - World Cup Edition</h2> <p>Plusieurs corrections ont été apportées : <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> présence d'attributs HTML dans les courriels de notifications : les messages sont dorénavant formattés en HTML lors de leur envoi ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> utilisation du fuseau horaire de l'utilisateur dans l'interface ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> le tiers n'était pas affiché dans la liste de sélection lors de l'édition ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> les attributs supplémentaires ne s'affichaient pas dans la liste des tickets ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> lors de l'envoi d'un message, suppression des adresses en doublons quand l'adresse à l'origine du ticket est la même que celle du client.</p> <p>Des nouveautés sont aussi de la partie : <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> ajout d'un icône pour signaler qu'un message a été marqué comme privé ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> ajout d'un icône pour signaler qu'un message a été envoyé par courriel ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> possibilité de lier un ticket à d'autres objets Dolibarr (commande, facture, interventions, etc) ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> possibilité de lier un événement de l'agenda à un ticket ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> possibilité de créer un événement à partir d'un ticket ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> la liste des messages a été déplacée dans une page distincte pour plus de lisibilité ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> ajout de la langue allemande dans l'interface ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> ajout du nombre d'objets en tant que badge dans les titres des onglets : vous verrez tout de suite si un ticket a des messages, contacts ou documents joints.</p> <dl class='spip_document_34 spip_documents spip_documents_center'> <dt><a href='https://librethic.io/IMG/png/screenshot-20180716-10_47_29.png' title='La nouvelle barre d'onglet du module Ticket' type="image/png"><img src='https://librethic.io/local/cache-vignettes/L350xH39/screenshot-20180716-10_47_29-fe696-a05f1.png?1531731637' width='350' height='39' alt='' /></a></dt> <dt class='crayon document-titre-34 spip_doc_titre'><strong>La nouvelle barre d'onglet du module Ticket</strong></dt> </dl> <dl class='spip_document_35 spip_documents spip_documents_center'> <dt><a href='https://librethic.io/IMG/png/screenshot-20180716-10_51_44.png' title='Liste des messages dans le module TicketSup' type="image/png"><img src='https://librethic.io/local/cache-vignettes/L350xH100/screenshot-20180716-10_51_44-417ed-a7b76.png?1531731637' width='350' height='100' alt='' /></a></dt> <dt class='crayon document-titre-35 spip_doc_titre'><strong>Liste des messages dans le module TicketSup</strong></dt> <dd class='crayon document-descriptif-35 spip_doc_descriptif'>Un cadenas indique que le message est privé. Une enveloppe signale que le message a été envoyé par email. </dd> </dl><h2 class="spip"> Télécharger le module </h2> <p><a href="https://www.dolistore.com/fr/modules/875-Module-ticket---support-technique.html" class='spip_out' rel='external'>Le module Ticket est disponible sur Dolistore</a>, la place de marché des modules complémentaires pour Dolibarr ERP/CRM. </p></div> <hr /> <div <div class='rss_ps'><p>Vous pouvez faire appel à nos services pour vos besoins en terme de développement spécifique pour Dolibarr ERP/CRM. N'hésitez pas à <a href='https://librethic.io/divers/article/coordonnees-et-contacts' class='spip_in'>nous contacter</a> pour nous présenter votre projet.</p></div> <hr /> <div class='rss_notes'><div id='nb1'> <p><span class="spip_note_ref">[<a href='#nh1' class='spip_note' title='Notes 1' rev='appendix'>1</a>] </span>Le module « TicketSup » et celui présent dans la version officielle ont deux noms différents et peuvent cohabiter sans problème</p> </div></div> Mise à jour des modules Hosting et Domain pour Dolibarr ERP/CRM https://librethic.io/blog-notes/article/mise-a-jour-des-modules-hosting-et-domain-pour-dolibarr-erp-crm https://librethic.io/blog-notes/article/mise-a-jour-des-modules-hosting-et-domain-pour-dolibarr-erp-crm 2018-07-05T14:58:58Z text/html fr Admin Dolibarr ERP/CRM <p>De nouvelles versions sont disponibles pour les modules Hosting et Domain, complémentaires au logiciel libre de gestion commerciale Dolibarr ERP/CRM. <br class='autobr' /> Mise à jour module Hosting V2 <br class='autobr' /> Le module hosting permet la gestion administrative d'hôtes (un hôte pouvant être un serveur, un hébergement internet, …) dans notre ERP/CRM favori (et on l'espère le vôtre !) : Dolibarr ERP/CRM. <br class='autobr' /> Ce sont plusieurs versions de maintenance qui ont été publiées, et le module est maintenant étiqueté 2.0.8. <br class='autobr' /> Les nouveautés, (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/dolibarr-erp-crm" rel="tag">Dolibarr ERP/CRM</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L119xH150/arton83-8f67c.png?1531681687' width='119' height='150' /> <div class='rss_chapo'><p>De nouvelles versions sont disponibles pour les modules Hosting et Domain, complémentaires au logiciel libre de gestion commerciale Dolibarr ERP/CRM.</p></div> <div class='rss_texte'><h2 class="spip"> Mise à jour module Hosting V2</h2> <p>Le module hosting permet la gestion administrative d'hôtes (un hôte pouvant être un serveur, un hébergement internet, …) dans notre ERP/CRM favori (et on l'espère le vôtre !) : <a href="https://dolibarr.org" class='spip_out' rel='external'>Dolibarr ERP/CRM</a>.</p> <p>Ce sont plusieurs versions de maintenance qui ont été publiées, et le module est maintenant étiqueté 2.0.8.</p> <p>Les nouveautés, d'après le changelog : <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> la liste des hôtes n'était pas correctement filtrée selon le tiers <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> correction du lien dans les objets liés <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> ajout de la numérotation automatique pour les références <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> la liste des extensions est maintenant dans un onglet séparé « Extensions » pour une meilleure visibilité.</p> <p>Vous pouvez télécharger l'archive de cette version du package sur la <a href="https://www.dolistore.com/fr/modules/921-Module-Hosting-V2.html" class='spip_out' rel='external'>page du module sur Dolistore</a>.</p> <h2 class="spip"> Mise à jour module Domaines V2</h2> <p>Le module « Domain » permet la gestion administrative de noms de domaines dans le logiciel Dolibarr ERP/CRM.</p> <p>Cette mise à jour apporte un système de références pour les noms de domaine, par souci d'uniformisation avec les autres objets et écrans dans Dolibarr.<br class='autobr' /> Ce sont 2 versions correctives qui ont été publiées, la dernière version étant 2.0.4.</p> <p>Vous pouvez télécharger l'archive de cette version du package sur la <a href="https://www.dolistore.com/fr/modules/920-Module-Domaine-V2-pour-Dolibarr.html" class='spip_out' rel='external'>page du module sur Dolistore</a>.</p> <p>L'instance de démo a été mise à jour avec les nouvelles versions de ces deux modules.</p></div> PGP - 7e partie : Protéger vos comptes en ligne https://librethic.io/blog-notes/article/pgp-7e-partie-proteger-vos-comptes-en-ligne https://librethic.io/blog-notes/article/pgp-7e-partie-proteger-vos-comptes-en-ligne 2018-06-07T05:30:00Z text/html fr Gouget Gilles PGP <p>Article écrit et posté par Konstantin Ryabitsev le 27 mars 2018 sur Linux.com <br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 22 mai 2018 <br class='autobr' /> https://creativecommons.org/licenses/by-sa/4.0/ <br class='autobr' /> Protéger l'intégrité de votre code avec PGP - 7e partie : Protéger vos comptes en ligne <br class='autobr' /> Image : Creative commons zéro <br class='autobr' /> Dans cet épisode final de notre série PGP, nous montrons comment protéger vos comptes en ligne avec une authentification à 2 facteurs. <br class='autobr' /> Jusqu'à présent dans cette série de tutoriels, nous avons proposé (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/pgp" rel="tag">PGP</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH63/arton82-356fd.png?1528601384' width='150' height='63' /> <div class='rss_texte'><p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-7-protecting-online-accounts" class='spip_out' rel='external'>Konstantin Ryabitsev le 27 mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour Librethic le 22 mai 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p> <h2 class="spip"> Protéger l'intégrité de votre code avec PGP - 7e partie : Protéger vos comptes en ligne</h2> <p><span class='spip_document_31 spip_documents spip_documents_center'> <img src='https://librethic.io/local/cache-vignettes/L500xH208/10000201000003200000014dff3e8ff4-88f2b.png?1528222383' width='500' height='208' alt="" /></span>Image : Creative commons zéro</p> <p>Dans cet épisode final de notre série PGP, nous montrons comment protéger vos comptes en ligne avec une authentification à 2 facteurs.</p> <p>Jusqu'à présent dans cette série de tutoriels, nous avons proposé un guide pratique pour l'utilisation de PGP, incluant des concepts basiques et les étapes de la génération et de la protection de vos clés. Si vous avez manqué les articles précédents, vous pouvez rattraper avec les liens ci-dessous. Dans cet article final, nous proposons des conseils additionnels pour protéger vos comptes en ligne, ce qui est d'importance de nos jours.</p> <p><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 1ère partie : <a href='https://librethic.io/blog-notes/article/pgp-1ere-partie-concepts-et-outils-de-base' class='spip_in'>Concepts et outils de base</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 2e partie : <a href='https://librethic.io/blog-notes/article/pgp-2e-partie-generer-votre-cle-maitre' class='spip_in'>Générer et protéger votre clé PGP maître</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 3e partie : <a href='https://librethic.io/blog-notes/article/pgp-3eme-partie-generer-des-sous-cles-pgp' class='spip_in'>Générer des sous-clés PGP</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 4e partie : <a href='https://librethic.io/blog-notes/article/pgp-4e-partie-mettre-votre-cle-maitre-sur-un-stockage-hors-ligne' class='spip_in'>Mettre votre clé maître sur un stockage hors ligne</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 5ème partie : <a href='https://librethic.io/blog-notes/article/pgp-5e-partie-mettre-vos-sous-cles-sur-un-materiel-dedie' class='spip_in'>Mettre vos sous-clés sur un matériel dédié</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 6ème partie : <a href='https://librethic.io/blog-notes/article/pgp-6e-partie-utiliser-pgp-avec-git' class='spip_in'>Utiliser PGP avec Git</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> <i>7ème partie : Protéger vos comptes en ligne</i></p> <h2 class="spip"> Check-list</h2><ul class="spip"><li>Se procurer un dispositif U2F compatible (ESSENTIEL) ;</li><li>Activer l'authentification à 2 facteurs sur vos comptes en ligne (ESSENTIEL) ;</li><li>Github/Gitlab</li><li>Google</li><li>Réseaux sociaux</li><li>Utiliser U2F comme mécanisme primaire, avec TOTP en secours (ESSENTIEL).</li></ul><h2 class="spip"> Considérations</h2> <p>Peut-être avez-vous remarqué combien votre identité de développeur en ligne est liée à votre adresse mail. Si quelqu'un peut avoir accès à votre boite mail, il serait capable de faire beaucoup de tors à vous personnellement, et à votre réputation de développeur de logiciel libre. Protéger vos compte mail est aussi important que protéger vos clés PGP.</p> <h2 class="spip"> L'authentification à 2 facteurs avec Fido U2F</h2> <p>L'authentification à 2 facteurs est un mécanisme qui améliore la sécurité d'un compte en nécessitant un épreuve physique en plus d'un nom d'utilisateur et d'un mot de passe. L'objectif est de s'assurer que même si quelqu'un vole votre mot de passe - par des logiciels espions (keylogger), des regards indiscrets (shoulder surfing), ou tout un tas d'autres moyens -, il ne sera pas en mesure d'accéder à votre compte sans avoir en sa possession un dispositif physique (le facteur 'quelque chose que vous avez').</p> <p>Les mécanismes les plus connus d'authentification à 2 facteurs sont :</p> <ul class="spip"><li>La vérification basée sur un SMS ;</li><li>Des mots de passe à usage unique basés sur le temps (TOTP) via une appli pour smartphone, comme 'Google authenticator' ou des solutions similaires ;</li><li>Des preuves physiques supportant Fido U2F.<br class='autobr' /> La vérification par SMS est plus facile à configurer, mais a l'inconvénient majeur qu'elle est inutile dans des zones non couvertes (comme la plupart des sous-sols, et peut être battue si l'attaquant parvient à intercepter ou à dévier les messages SMS, en clonant votre carte SIM par exemple.</li></ul> <p>L'authentification multi-facteur basée sur TOTP offre plus de protection que le SMS, mais a des inconvénients d'échelle importants (il y a tant de tokens qu'on peut ajouter à une appli smartphone avant de trouver le bon que ça devient lourd). De plus, on ne peut éviter le fait que votre clé secrète fini par être stockée sur le smartphone lui-même, qui est un appareil complexe et globalement connecté qui peut avoir ou ne pas avoir reçu les patchs de sécurité du constructeur en temps et en heure.</p> <p>Mais le plus important, c'est qu'aucune des méthodes TOTP ou SMS ne vous protège d'attaques de phishing - si l'attaquant est capable de voler à la fois le mot de passe de votre compte et la preuve de facteur 2, il pourra les entrer sur le site légitime et accéder à votre compte.</p> <p><a href="https://en.wikipedia.org/wiki/Universal_2nd_Factor" class='spip_out' rel='external'>Fido U2F</a> est un standard spécifiquement développé afin de procurer un mécanisme d'authentification à 2 facteurs et de combattre le phishing d'identifiants. Le protocole U2F stockera la clé unique de chaque site sur le dispositif USB et vous empêchera de donner accidentellement à un attaquant à la fois vote mot de passe et votre preuve à usage unique si vous essayez de les utiliser sur un site autre que le site légitime.</p> <p>Chrome et Firefox supportent tous les deux l'authentification à 2 facteurs U2F, et espérons que les autres navigateurs suivront bientôt.</p> <h2 class="spip"> Procurez-vous un dispositif compatible Fido U2F</h2> <p>Il y a <a href="https://www.dongleauth.info/dongles/" class='spip_out' rel='external'>beaucoup d'options disponibles</a> parmi les dispositifs supportant le Fido U2F, mais si vous comptez déjà commander un dispositif ayant des capacités de carte à puce, alors votre meilleure option est une Yubikey4, qui supporte les deux.</p> <h2 class="spip"> Activez l'authentification à 2 facteurs sur vos comptes en ligne</h2> <p>Vous devez absolument activer cette option chez votre fournisseur de compte mail (particulièrement si c'est Google, qui a un très bon support de l'U2F). Les autres sites pour lesquels cette option devrait être activée sont :</p> <ul class="spip"><li>GitHub : il vous est probablement venu à l'esprit, quand vous avez téléversé votre clé PGP publique, que si quelqu'un d'autre était capable d'avoir accès à votre compte, il pourrait remplacer votre clé avec la sienne. Si vous publiez du code sur GitHub, vous devriez prendre soin de la sécurité de votre compte en le protégeant par une authentification U2F ;</li><li>GitLab : Pour les mêmes raisons que précédemment ;</li><li>Google : Si vous avez un compte Google, vous serez surpris du nombre de site qui vous permettent de vous connecter avec vos identifiants Google au lien d'identifiants spécifiques au site ;</li><li>Facebook : Pareil que précédemment, beaucoup de sites proposent l'option de s'y connecter avec votre compte Facebook. Vous devriez offrir à votre compte Facebook une protection à 2 facteurs même si vous ne l'utilisez pas ;</li><li>D'autres sites, que vous jugerez nécessaires. Voir <a href="http://www.dongleauth.info/" class='spip_out' rel='external'>dongleauth.info</a> pour vous inspirer.</li></ul><h2 class="spip"> Configurez TOTP en secours, si possible</h2> <p>Beaucoup de sites vous permettront de configurer de multiples mécanismes à 2 facteurs, et la méthode recommandée est la suivante.</p> <ul class="spip"><li>Un dispositif U2F comme mécanisme primaire ;</li><li>Une appli sur smartphone TOTP comme mécanisme secondaire.<br class='autobr' /> De cette façon, même si vous perdez votre dispositif U2F, vous serez en mesure de récupérer l'accès à votre compte. Une alternative serait d'enregistrer plusieurs dispositif U2F (vous pouvez vous procurer un autre dispositif bon marché qui ne fasse que l'U2F et vous en servir de sauvegarde).</li></ul><h2 class="spip"> Lecture complémentaire</h2> <p>À ce stade, vous avez accompli les points importants suivants :</p> <ul class="spip"><li>Créé et protégé votre identité de développeur en utilisant le chiffrement PGP ;</li><li>Configuré votre environnement pour que votre identité ne soit pas facilement volable, en déplaçant votre clé maître hors ligne et vos sous-clés sur un dispositif externe ;</li><li>Configuré votre environnement Git de façon à vous assurer que quiconque utilisant votre projet soit capable de vérifier l'intégrité du dépôt et son entier historique ;</li><li>Sécurisé vos comptes en ligne en utilisant l'authentification à 2 facteurs.</li></ul> <p>Vous voilà déjà en bonne posture, mais vous devriez aussi parcourir les sujets suivants :</p> <ul class="spip"><li>Comment sécuriser votre communication d'équipe (voir le document dans ce dépôt). Les décisions concernant le développement et la gouvernance de votre projet nécessitent pour le moins le même degré de protection que le code lui-même. Assurez-vous que la communication de votre équipe soit de confiance et que l'intégrité de chaque décision soit vérifiée ;</li><li>Comment sécuriser votre station de travail (voir le document dans ce dépôt). Votre objectif est de minimiser les conduites à risque qui pourraient causer la contamination de votre code, ou le vol de votre identité de développeur ;</li><li>Comment écrire du code sûr (voir les différentes documentations liées aux langages de programmation et aux librairies utilisées par votre projet). Un mauvais code non sécurisé demeurera mauvais et non sécurisé même si le commit qui l'a introduit a une signature PGP.</li></ul> <p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-7-protecting-online-accounts" class='spip_out' rel='external'>Konstantin Ryabitsev le 27 mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour Librethic le 25 mai 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p></div> PGP - 6e partie : Utiliser PGP avec Git https://librethic.io/blog-notes/article/pgp-6e-partie-utiliser-pgp-avec-git https://librethic.io/blog-notes/article/pgp-6e-partie-utiliser-pgp-avec-git 2018-06-06T06:30:00Z text/html fr Gouget Gilles PGP GitHub <p>Nous poursuivons notre série de guides pratiques PGP avec un survol des tags et des commits signés qui nous aident à vérifier que notre dépôt n'a pas été saboté. <br class='autobr' /> Article écrit et posté par Konstantin Ryabitsev le 21 mars 2018 sur Linux.com <br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 22 mai 2018 <br class='autobr' /> https://creativecommons.org/licenses/by-sa/4.0/ <br class='autobr' /> Protéger l'intégrité de votre code avec PGP - 6e partie : Utiliser PGP avec Git <br class='autobr' /> Image : Creative commons zéro <br class='autobr' /> Nous poursuivons notre série de guides pratiques PGP (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/pgp" rel="tag">PGP</a>, <a href="https://librethic.io/mot/github" rel="tag">GitHub</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH81/arton81-aaf28.png?1528312187' width='150' height='81' /> <div class='rss_chapo'><p>Nous poursuivons notre série de guides pratiques PGP avec un survol des tags et des commits signés qui nous aident à vérifier que notre dépôt n'a pas été saboté.</p></div> <div class='rss_texte'><p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-6-using-pgp-git" class='spip_out' rel='external'>Konstantin Ryabitsev le 21 mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour Librethic le 22 mai 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p> <h2 class="spip"> Protéger l'intégrité de votre code avec PGP - 6e partie : Utiliser PGP avec Git</h2> <p><span class='spip_document_30 spip_documents spip_documents_center'> <img src='https://librethic.io/local/cache-vignettes/L500xH270/1000020100000320000001afef2a82ee-690be.png?1528219488' width='500' height='270' alt="" /></span>Image : Creative commons zéro</p> <p>Nous poursuivons notre série de guides pratiques PGP avec un survol des tags et des commits signés qui nous aident à vérifier que notre dépôt n'a pas été saboté.</p> <p>Dans cette série de tutoriels, nous fournissons un guide pratique pour l'utilisation de PGP, incluant des concepts basiques, la génération et la protection de vos clés. Si vous avez manqué les articles précédents, vous pouvez rattraper avec les liens ci-dessous. Dans cet article, nous étudions l'intégration de PGP dans Git, en commençant par les tags signés, puis une introduction aux commits signés, et finalement un support aux envois (push) signés.</p> <p><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 1ère partie : <a href='https://librethic.io/blog-notes/article/pgp-1ere-partie-concepts-et-outils-de-base' class='spip_in'>Concepts et outils de base</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 2e partie : <a href='https://librethic.io/blog-notes/article/pgp-2e-partie-generer-votre-cle-maitre' class='spip_in'>Générer et protéger votre clé PGP maître</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 3e partie : <a href='https://librethic.io/blog-notes/article/pgp-3eme-partie-generer-des-sous-cles-pgp' class='spip_in'>Générer des sous-clés PGP</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 4e partie : <a href='https://librethic.io/blog-notes/article/pgp-4e-partie-mettre-votre-cle-maitre-sur-un-stockage-hors-ligne' class='spip_in'>Mettre votre clé maître sur un stockage hors ligne</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 5ème partie : <a href='https://librethic.io/blog-notes/article/pgp-5e-partie-mettre-vos-sous-cles-sur-un-materiel-dedie' class='spip_in'>Mettre vos sous-clés sur un matériel dédié</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> <i>6ème partie : Utiliser PGP avec Git </i></p> <p>Une des caractéristiques principales de Git est sa nature décentralisée - une fois qu'un dépôt est cloné sur votre système, vous avez l'historique complet du projet, avec tous ses tags, commits et branches. Toutefois, avec des centaines de dépôts clonés un peu partout, comment vérifier que le dépôt que vous avez téléchargé n'a pas été trafiqué par une tierce personne mal intentionée ? Vous pouvez l'avoir cloné de Github ou d'un autre endroit d'aspect officiel, mais qu'en est il si quelqu'un vous a trompé ?</p> <p>Ou que se passe-t-il si une porte dérobée est découverte dans un des projets sur lesquels vous avez travaillé, et que la ligne “auteur” du commit dit que ça a été fait par vous, alors que vous êtes certain de n'<a href="https://github.com/jayphelps/git-blame-someone-else" class='spip_out' rel='external'>y être pour rien</a> ?</p> <p>Pour répondre à ces deux problèmes, Git a introduit l'intégration PGP. Les tags signés prouvent l'intégrité du dépôt en assurant que son contenu est exactement le même que sur l'ordinateur de celui qui a créé le tag, tandis que les commits signés rendent impossible l'usurpation de votre identité à moins d'avoir accès à vos clés PGP.</p> <h2 class="spip"> Check-list</h2><ul class="spip"><li>Comprendre les tags signés, les commits et les pushs (ESSENTIEL) ;</li><li>Configurez Git pour utiliser vos clés (ESSENTIEL) ;</li><li>Apprendre comment fonctionnent la signature et la vérification des tags (ESSENTIEL) ;</li><li>Configurez Git pour qu'il signe toujours les tags annotés (BON) ;</li><li>Apprendre comment fonctionnent la signature et la vérification des commits (ESSENTIEL) ;</li><li>Configurez Git pour qu'il signe toujours les commits (BON) ;</li><li>Configurer les options de gpg-agent (ESSENTIEL).</li></ul><h2 class="spip"> Considérations</h2> <p>Git implémente des niveaux d'intégration multiples avec PGP, en commençant par les tags signés, puis en introduisant les commits signés, et finalement en supportant les pushs signés.</p> <p><i>Comprendre le hachage de Git</i></p> <p>Git est une bestiole compliquée, mais vous aurez besoin de comprendre ce qu'est le hachage de sorte à avoir une bonne prise sur la façon dont PGP s'intègre avec. Nous allons réduire cela à deux types de hachage : le hachage d'arborescence et le hachage de commit.</p> <p><i>Hachage d'arborescence</i></p> <p>Chaque fois que vous commitez un changement sur un dépôt, Git enregistre des condensés des sommes de contrôle de tous les objets qu'il contient - les contenus (blobs), les répertoires (trees), les noms de fichiers et les permissions, etc. - pour chaque sous-répertoire du dépôt. Il ne fait cela que pour les répertoires et les blobs qui ont changé avec chaque commit, de sorte à ne pas recalculer la somme de contrôle de l'arborescence entière si seulement une petite partie a été touchée.</p> <p>Il calcule et stocke ensuite la somme de contrôle du plus haut niveau de l'arborescence, qui sera inévitablement différente dès lors qu'une partie du dépôt aura changé.</p> <p><i>Hachage de commits</i></p> <p>Une fois que le hachage de l'arborescence a été créé, Git va calculer le condensé du commit, qui inclura les informations du répertoire et des modifications faites suivantes :</p> <ul class="spip"><li>Le condensé de la somme de contrôle du répertoire ;</li><li>Le condensé de la somme de contrôle du répertoire avant la modification (parent) ;</li><li>Les informations de l'auteur (nom, email, heure de paternité) ;</li><li>Les informations du commiteur (nom, email, heure du commit) ;</li><li>Le message du commit.</li></ul> <p><i>Fonction de hachage</i></p> <p>À l'heure où cet article est écrit, Git utilise encore les mécanismes de hachage SHA1 pour calculer les sommes de contrôle, bien qu'un travail soit en cours pour une transition vers un algorithme plus fort et plus résistant aux <a href="https://fr.wikipedia.org/wiki/Collision_(informatique)" class='spip_out' rel='external'>collisions</a>. Notez que Git propose déjà des routines d'évitement des collisions, donc on peut considérer que le succès d'une attaque par collisions de Git demeure mal pratique.</p> <p><i>Tags annotés et signatures de tag</i></p> <p>Les tags de Git permettent aux développeurs de marquer des commits spécifiques dans l'historique de chaque dépôt Git. Les tags peuvent être “légers” - plus ou moins juste un pointeur vers un commit spécifique -, ou ils peuvent être 'annotés', et devenir un objet propre dans l'arborescence Git. Un objet de tag annoté contient toutes les informations suivantes :</p> <ul class="spip"><li>La somme de contrôle du commit qui est tagué ;</li><li>Le nom du tag ;</li><li>L'information du tagueur (nom, email, heure du tag) ;</li><li>Le message du tag.<br class='autobr' /> Un tag signé PGP est simplement un tag annoté avec toutes ces entrées enveloppées dans une signature PGP. Quand un développeur signe son tag Git, il vous assure véritablement des choses suivantes :</li></ul><ul class="spip"><li>Qui il est (et pourquoi vous pouvez lui faire confiance) ;</li><li>Quel était l'état du dépôt au moment où il a signé ;</li><li>Le tag inclut le condensé du commit ;</li><li>Le condensé du commit inclut celui de l'arborescence...</li><li>...qui inclut le condensé de tous les fichiers, contenus et sous-répertoires ;</li><li>Il inclut aussi toutes les informations de paternité ;</li><li>Y compris les moments exacts où les changements ont été effectués.<br class='autobr' /> Lorsque vous clonez un dépôt Git et vérifiez un tag signé, cela vous donne l'assurance cryptographique que <i>tout le contenu du répertoire, incluant tout son historique, est exactement le même contenu que celui présent dans le répertoire de l'ordinateur du développeur au moment de la signature</i>.</li></ul> <p><i>Commits signés</i></p> <p>Les commits signés sont très similaires aux tags signés - le contenu de l'objet commit est signé PGP au lieu du contenu de l'objet tag. Une signature de commit vous donne aussi une information complètement vérifiable de l'état de l'arborescence du développeur au moment où la signature a été faite. Les signatures PGP de tags et de commits procurent exactement les mêmes assurances de sécurité pour le dépôt et son entier historique.</p> <p><i>Pushs signés</i></p> <p>Nous incluons ceci pour être tout à fait complet, sachant que cette fonctionnalité nécessite d'être activée sur le serveur recevant le push avant qu'elle ne puisse servir à quoi que ce soit. Comme nous l'avons vu plus haut, signer PGP un objet Git donne une information vérifiable sur l'arborescence Git du développeur, mais pas sur son intention quant à cette arborescence.</p> <p>Par exemple, vous pouvez travailler sur une branche expérimentale de votre propre fork Git pour tester une option cool et prometteuse, mais après que vous ayez soumis votre travail pour révision, quelqu'un trouve un méchant bug dans votre code. Puisque vos commits sont correctement signés, quelqu'un pourrait prendre la branche qui contient votre méchant bug et la pousser dans le master, introduisant une vulnérabilité qui n'avait jamais été pensée pour être mise en production. Puisque le commit est correctement signé avec votre clé, tout a l'air légitime et votre réputation est remise en question lorsque le bug est découvert.</p> <p>La capacité à demander une signature PGP durant un push Git a été ajoutée pour certifier l'intention du commit, et non simplement son contenu.</p> <h2 class="spip"> Configurer Git pour utiliser votre clé PGP</h2> <p>Si vous n'avez qu'une clé secrète dans votre porte-clés, alors vous n'avez pas besoin d'en faire plus, vu qu'elle sera votre clé par défaut.</p> <p>Toutefois, si vous avez plusieurs clés secrètes, vous pouvez dire à Git quelle clé utiliser ([fpr] est l'empreinte de votre clé) :</p> <p><code class='spip_code' dir='ltr'>$ git config --global user.signingKey [fpr]</code></p> <p>NOTE : Si vous avez une commande distincte <i>gpg2</i>, vous devriez alors dire à Git de toujours l'utiliser à la place de la commande historique <i>gpg</i> de la version 1 :</p> <p><code class='spip_code' dir='ltr'>$ git config --global gpg.program gpg2</code></p> <p><i>Comment travailler avec des tags signés</i></p> <p>Pour créer un tag signé, ajoutez simplement le switch <i>-s</i> à la commande tag :</p> <p><code class='spip_code' dir='ltr'>$ git tag -s [tagname]</code></p> <p>Nous recommandons de toujours signer les tags Git, car cela permet à d'autres développeurs de s'assurer que le dépôt Git sur lequel ils travaillent n'a pas été altéré malicieusement (par ex. pour introduire des portes dérobées).</p> <p><i>Comment vérifier des tags signés</i></p> <p>Pour vérifier un tag signé, utilisez simplement la commande <i>verify-tag</i> :</p> <p><code class='spip_code' dir='ltr'>$ git verify-tag [tagname]</code></p> <p>Si vous vérifiez le tag Git de quelqu'un d'autre, vous devrez importer sa clé PGP. Référez-vous au document 'Trusted Team Communication' (Communication d'équipe de confiance) du dépôt pour être guidé sur ce point.</p> <p><i>Vérifier au moment du pull</i></p> <p>Si vous faites un pull sur un tag d'un autre fork du dépôt du projet, Git devrait automatiquement vérifier la signature de ce que vous tirez et vous montrer le résultat durant l'opération de merge :</p> <p><code class='spip_code' dir='ltr'>$ git pull [url] tags/sometag</code></p> <p>Le message de merge contiendra quelque chose comme :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>Merge tag 'sometag' of [url]<br /> [Tag message]<br /> # gpg: Signature made [...]<br /> # gpg: Good signature from [...]</code></div> <p><i>Configurer Git pour toujours signer des tags annotés</i></p> <p>Si vous créez un tag annoté, il y a des chances pour que vous vouliez le signer. Pour forcer Git à toujours signer des tags annotés, vous pouvez paramétrer une option de configuration globale :</p> <p><code class='spip_code' dir='ltr'>$ git config --global tag.forceSignAnnotated true</code></p> <p>Sinon, vous pouvez entraîner votre muscle de la mémoire à toujours mettre le switch <i>-s</i> :</p> <p><code class='spip_code' dir='ltr'>$ git tag -asm 'Tag message' tagname</code></p> <h2 class="spip"> Comment travailler avec des commits signés</h2> <p>Il est facile de créer des commits signés, mais il est bien plus difficile de les intégrer dans votre processus de travail. Beaucoup de projets utilisent des commits signés comme une sorte d'équivalent à une ligne 'comitté par :' qui enregistre la provenance du code - les signatures sont rarement vérifiées par d'autres sauf quand on recherche l'historique du projet. Dans un sens, les commits sont utilisés comme des 'preuves de modifications', et non pour rendre 'inviolable' le processus de travail Git.</p> <p>Pour créer un commit signé, vous devez juste ajouter le drapeau <i>-S</i> à la commande de commit Git (c'est un <i>-S</i> majuscule pour éviter le conflit avec un autre drapeau) :</p> <p><code class='spip_code' dir='ltr'>$ git commit -S</code></p> <p>Nous recommandons de toujours signer les commits et de l'exiger de tous les membres du projet, indépendamment de savoir si quelqu'un les vérifiera (ça pourra toujours venir plus tard).</p> <h2 class="spip"> Comment vérifier les commits signés</h2> <p>Pour vérifier un seul commit, vous pouvez utiliser <i>verify-commit</i> :</p> <p><code class='spip_code' dir='ltr'>$ git verify-commit [hash]</code></p> <p>Vous pouvez aussi regarder les journaux du dépôt et demander que toutes les signatures de commits soient vérifiées et montrées :</p> <p><code class='spip_code' dir='ltr'>$ git log --pretty=short --show-signature</code></p> <p>Pour étendre l'expiration de votre clé d'une année de la date courante, exécutez simplement :</p> <p><code class='spip_code' dir='ltr'>$ gpg --quick-set-expire [fpr] 1y</code></p> <h2 class="spip"> Vérifier les commits durant le merge</h2> <p>Si tous les membres de votre projet signent leurs commits, vous pouvez forcer la vérification des signatures au moment du merge (et signer le commit résultant lui-même en utilisant <i>-S</i>) :</p> <p><code class='spip_code' dir='ltr'>$ git merge --verify-signatures -S merged-branch</code></p> <p>Notez que le merge échouera s'il n'y a qu'un seul commit non signé ou qui ne passe pas la vérification. Comme c'est souvent le cas, la technologie est l'étape facile - c'est la partie humaine de l'équation qui va rendre difficile l'adoption de signature de commits stricte pour votre projet.</p> <p><i>Si votre projet utilise des listes de diffusion pour la gestion des patchs</i></p> <p>Si votre projet utilise des listes de diffusion pour proposer et gérer des patchs, alors il n'est pas très utile de signer les commits, car toute information de signature sera perdue lors qu'envoyée par ce moyen. C'est toujours utile de signer vos commits, juste pour que d'autres puissent se référer à votre arborescence Git publique, mais le projet en amont qui reçoit vos patchs ne sera pas en mesure de les vérifier directement avec Git.</p> <p>Vous pouvez cependant toujours signer les emails contenant vos patchs.</p> <h2 class="spip"> Configurer Git pour toujours signer les commits</h2> <p>Vous pouvez dire à Git de toujours signer les commits :</p> <p><code class='spip_code' dir='ltr'>git config --global commit.gpgSign true</code></p> <p>Sinon, vous pouvez entraîner votre muscle de la mémoire à toujours mettre le drapeau <i>-</i><i>S </i>à toutes les opérations de commit (ceci inclut<i> -amend</i>).</p> <p><i>Configurer les options gpg-agent</i></p> <p>Le GnuPG agent est un outil d'aide qui démarre automatiquement chaque fois que vous utilisez la commande <i>gpg</i> et qui tourne en tâche de fond dans le but de mettre en cache la phrase secrète de votre clé privée. De cette façon vous n'avez besoin de déverrouiller votre clé qu'une seule fois pour pouvoir l'utiliser de façon répétée (très pratique si vous devez signer un tas d'opération Git dans un script automatisé sans avoir à retaper votre phrase secrète continuellement).</p> <p>Il y a deux options que vous devez connaître pour affiner vos préférences quant à l'expiration de la phrase secrète du cache :</p> <ul class="spip"><li><i>default-cache-ttl</i> (secondes) : si vous utilisez la même clé à nouveau avant d'atteindre la durée de vie, le compte à rebours redémarrera pour une nouvelle période. La valeur par défaut est de 600 (10 minutes).</li><li><i>m</i><i>ax-cache-</i><i>ttl</i> (secondes) : indépendamment de la fréquence à laquelle vous avez utilisé la clé depuis sa première saisie, si la durée de vie maximale expire, vous devrez entrer la phrase à nouveau. Le réglage par défaut est de 30 minutes.<br class='autobr' /> Si vous trouvez l'un ou l'autre de ces réglages trop court (ou trop long), vous pouvez éditer votre fichier /.gnupg/gpg-agent.conf pour y mettre vos propres valeurs :</li></ul><div style='text-align: left;' class='spip_code' dir='ltr'><code># set to 30 minutes for regular ttl, and 2 hours for max ttl<br /> default-cache-ttl 1800<br /> max-cache-ttl 7200</code></div><h2 class="spip"> Bonus : Utiliser gpg-agent avec ssh</h2> <p>Si vous avez créé une clé [A] (Authentification) et l'avez déplacée sur une carte à puce, vous pouvez l'utiliser avec ssh pour ajouter une authentification à 2 facteurs pour vos sessions ssh. Vous devez juste dire à votre environnement d'utiliser le bon fichier de socket pour dialoguer avec l'agent.</p> <p>Tout d'abord, ajoutez à votre fichier /.gnupg/gpg-agent.conf :</p> <p><code class='spip_code' dir='ltr'>enable-ssh-support</code></p> <p>Puis, ajoutez ceci à votre .bashrc :</p> <p><code class='spip_code' dir='ltr'>export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)</code></p> <p>Il vous faudra tuer le processus gpg-agent en cours et ouvrir une nouvelle session pour que les changements prennent effet :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ killall gpg-agent<br /> $ bash<br /> $ ssh-add -L</code></div> <p>La dernière commande doit lister les représentations de votre clé PGP [A] (le commentaire devrait dire <i>cardno:XXXXXXXX</i> à la fin pour indiquer que cela vient de la carte à puce).</p> <p>Pour activer des logins basés sur des clés avec ssh, ajoutez juste la sortie <i>ssh-add -L</i> à /.ssh/authorized_keys sur les systèmes distants auxquels vous vous connectez. Félicitations, vous venez de rendre vos identifiants ssh très difficiles à voler.</p> <p>En bonus, vous pouvez prendre les clés ssh PGP d'autres personnes sur des serveurs de clés publiques, voudriez-vous leur donner un accès ssh à quoi que ce soit :</p> <p><code class='spip_code' dir='ltr'>$ gpg --export-ssh-key [keyid]</code></p> <p>Cela peut être très pratique si vous avez besoin de donner à des développeurs un accès ssh à des dépôts Git. La prochaine fois, nous vous donnerons des conseils pour protéger vos comptes mail comme vos clés PGP.</p> <p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-6-using-pgp-git" class='spip_out' rel='external'>Konstantin Ryabitsev le</a><a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-6-using-pgp-git" class='spip_out' rel='external'>21</a><a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-6-using-pgp-git" class='spip_out' rel='external'>mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour Librethic le 22 mai 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p></div> PGP - 5e partie : Mettre vos sous-clés sur un matériel dédié https://librethic.io/blog-notes/article/pgp-5e-partie-mettre-vos-sous-cles-sur-un-materiel-dedie https://librethic.io/blog-notes/article/pgp-5e-partie-mettre-vos-sous-cles-sur-un-materiel-dedie 2018-06-05T20:09:10Z text/html fr Gouget Gilles PGP <p>Dans cet article de la série sur PGP, nous poursuivons notre analyse de la sécurisation de vos clés et verrons quelques conseils pour déplacer vos sous-clés sur un dispositif matériel spécialisé. <br class='autobr' /> Article écrit et posté par Konstantin Ryabitsev le 14 mars 2018 sur Linux.com <br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 21 mai 2018. <br class='autobr' /> https://creativecommons.org/licenses/by-sa/4.0/ <br class='autobr' /> Protéger l'intégrité de votre code avec PGP - 5e partie : Mettre vos sous-clés sur un matériel dédié Image : Creative commons (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/pgp" rel="tag">PGP</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH83/arton80-01a6e.png?1528247060' width='150' height='83' /> <div class='rss_chapo'><p>Dans cet article de la série sur PGP, nous poursuivons notre analyse de la sécurisation de vos clés et verrons quelques conseils pour déplacer vos sous-clés sur un dispositif matériel spécialisé.</p></div> <div class='rss_texte'><p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-5-moving-subkeys-hardware-device" class='spip_out' rel='external'>Konstantin Ryabitsev le 14 mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour <a href="https://librethic.io" class='spip_out'>Librethic</a> le 21 mai 2018.</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p> <p><i>Protéger l'intégrité de votre code avec PGP - 5e partie : Mettre vos sous-clés sur un matériel dédié</i><br class='autobr' /> Image : Creative commons zéro</p> <p>Dans cette suite de tutoriels, Konstantin Ryabitsev vous offre les meilleures pratiques pour utiliser PGP et sécuriser vos clés privées.</p> <p>Dans cette série de tutoriels, nous fournissons un guide pratique pour l'utilisation de PGP. Si vous avez manqué les articles précédents, vous pouvez rattraper avec les liens ci-dessous. Mais dans cet article, nous poursuivons notre analyse de la sécurisation de vos clés et verrons quelques conseils pour déplacer vos sous-clés sur un dispositif matériel spécialisé.</p> <p><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 1ère partie : <a href='https://librethic.io/blog-notes/article/pgp-1ere-partie-concepts-et-outils-de-base' class='spip_in'>Concepts et outils de base</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 2e partie : <a href='https://librethic.io/blog-notes/article/pgp-2e-partie-generer-votre-cle-maitre' class='spip_in'>Générer et protéger votre clé PGP maître</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 3e partie : <a href='https://librethic.io/blog-notes/article/pgp-3eme-partie-generer-des-sous-cles-pgp' class='spip_in'>Générer des sous-clés PGP</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 4e partie : <a href='https://librethic.io/blog-notes/article/pgp-4e-partie-mettre-votre-cle-maitre-sur-un-stockage-hors-ligne' class='spip_in'>Mettre votre clé maître sur un stockage hors ligne</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> <i>5ème partie : Mettre vos sous-clés sur un matériel dédié</i> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 6ème partie : <a href='https://librethic.io/blog-notes/article/pgp-6e-partie-utiliser-pgp-avec-git' class='spip_in'>Utiliser PGP avec Git</a></p> <h3 class="spip">Check-list</h3><ul class="spip"><li>Procurez-vous un dispositif matériel compatible avec GnuPG (BON) ;</li><li>Configurez le dispositif pour qu'il fonctionne avec GnuPG (BON) ;</li><li>Créez les codes PIN utilisateur et administrateur (BON) ;</li><li>Déplacez vos sous-clés sur le dispositif (BON) ;</li></ul><h3 class="spip">Considérations</h3> <p>Même si notre clé maître est à présent à l'abri d'une fuite ou d'un vol, les sous-clés sont toujours dans votre répertoire /home. Toute personne qui pourrait mettre la main dessus serait capable de déchiffrer vos communications ou de contrefaire votre signature (si elle connaît votre phrase secrète). De plus, chaque fois qu'une opération GnuPG est faite, les clés sont chargées dans la mémoire du système et peuvent y être volées avec des maliciels suffisamment avancés (pensez à Meltdown et à Spectre).</p> <p>La meilleure façon de protéger complètement vos clés est de les déplacer sur un dispositif matériel spécialisé qui soit capable d'opérations de carte à puce.</p> <h3 class="spip">Les avantages des cartes à puce</h3> <p>Une carte à puce contient une puce de chiffrement qui est capable de stocker des clés privées et d'effectuer des opérations de chiffrement directement sur la carte elle-même. Parce que le contenu des clés ne quitte jamais la carte à puce, le système d'exploitation de l'ordinateur auquel on connecte le dispositif n'est pas en mesure de récupérer les clés privées elles-mêmes. Ceci est très différent de la clé USB chiffrée que nous avons utilisé plus tôt à des fins de sauvegarde - alors que cette clé USB est branchée et déchiffrée, le système d'exploitation est encore capable d'accéder au contenu de la clé privée. Utiliser un média USB externe chiffré n'est pas une alternative à avoir un dispositif ayant les capacités d'une carte à puce.</p> <p>Quelques autres avantages des cartes à puce ;</p> <ul class="spip"><li>Elles sont relativement bon marché et facile à obtenir ;</li><li>Elles sont petites et faciles à avoir sur soi ;</li><li>Elles peuvent être utilisées avec de multiples dispositifs ;</li><li>Beaucoup d'entre elles sont inviolables (ça dépend des fabricants).</li></ul><h3 class="spip">Dispositifs de carte à puces disponibles</h3> <p>Les cartes à puces sont arrivées au format carte de crédit, qui leur a valu leur nom. Vous pouvez acheter et utiliser des cartes à puces compatibles GnuPG, et elles demeurent les dispositifs les moins chers que vous pouvez vous procurer. Toutefois, les cartes à puce actuelles ont un défaut majeur : elles nécessitent un lecteur de carte à puce, et très peu d'ordinateurs portables en possèdent.</p> <p>Pour cette raison, les fabricants ont commencé à proposer de petits dispositifs USB, de la taille d'une clé USB ou plus petits, qui soit contiennent une puce au format microsim, soit implémentent simplement les protocoles de la carte à puce dans leur circuit. Quelques recommandations :</p> <p><a href="https://shop.nitrokey.com/shop/product/nitrokey-start-6" class='spip_out' rel='external'>Nitrokey Start</a> : Open hardware et Logiciel Libre, une des options les moins chères pour utiliser GnuPG, mais avec peu de fonctionnalités de sécurité supplémentaires ;</p> <p><a href="https://shop.nitrokey.com/shop/product/nitrokey-pro-3" class='spip_out' rel='external'>Nitrokey Pro</a> : Similaire à la Nitrokey Start, mais inviolable et qui propose plus de fonctionnalités de sécurité (mais pas le U2F, voir la section Fido U2F du guide) ;</p> <p><a href="https://www.yubico.com/product/yubikey-4-series/" class='spip_out' rel='external'>Yubikey 4</a> : Matériel et logiciel propriétaire, mais moins chère que la Nitrokey Pro et disponible en USB-C, plus pratique avec des laptops récents. Elle propose aussi des fonctionnalités de sécurité additionnelles comme l'U2F.</p> <p>Notre recommandation est de choisir un dispositif qui soit à la fois capable de fonctionnalités de carte à puce et d'U2F, ce qui signifie, au moment de la rédaction de cet article, une Yubikey 4.</p> <h3 class="spip">Configurer votre dispositif de carte à puce</h3> <p>Votre dispositif devrait Juste Marcher (TM) du moment que vous le branchez sur une station moderne Linux ou Mac. Vous pouvez le vérifier en exécutant :</p> <p><code class='spip_code' dir='ltr'>$ gpg --card-status</code></p> <p>Si vous n'obtenez aucune erreur, mais un listing complet des détails de la carte, vous êtes bon. Malheureusement, résoudre toutes les raisons possibles pour lesquelles ça pourrait ne pas marcher n'est pas l'objectif de ce guide. Si vous avez des soucis pour faire marcher la carte avec GnuPG, cherchez de l'aide sur les canaux habituels d'assistance de votre système d'exploitation.</p> <h3 class="spip">Les codes PIN n'ont pas à être des chiffres</h3> <p>Notez qu'en dépit qu'on les appelle 'PIN' (ce qui implique que ce devraient être des chiffres), ni le PIN utilisateur ni le PIN administrateur n'ont à être des chiffres.</p> <p>Votre dispositif aura probablement des PIN utilisateur et administrateur par défaut à la réception. Pour les Yubikeys, ce sont respectivement 123456 et 12345678. Si ceux-ci ne marchent pas pour vous, référez-vous à la documentation qui accompagne votre dispositif.</p> <h3 class="spip"><strong>I</strong><strong>nstallation rapide</strong></h3> <p>Pour configurer votre dispositif, vous devrez utiliser le menu système GnuPG, car il n'y a pas de commutateur pratique en ligne de commande :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ gpg --card-edit<br /> [...omitted...]<br /> gpg/card> admin<br /> Admin commands are allowed<br /> gpg/card> passwd</code></div> <p>Vous devez régler le PIN utilisateur (1), le PIN administrateur (3) et le code de RESET (4). Prenez soin de les enregistrer et de les conserver dans un endroit sûr - particulièrement le PIN admin et le code de RESET (qui permet d'effacer tout le contenu de la carte à puce). Vous utiliserez si rarement le PIN admin que vous l'oublierez inévitablement si vous ne l'enregistrez pas.</p> <p>En retournant au menu principal de la carte vous pourrez aussi régler certaines valeurs (comme le nom, le sexe, les données de connexion, etc.), mais ce n'est pas nécessaire et pourrait fuiter certaines informations sur votre dispositif si vous le perdiez.</p> <h3 class="spip">Déplacer les sous-clés vers votre dispositif</h3> <p>Sortez du menu de la carte (avec 'q') et enregistrez tous les changements. Ensuite, déplaçons vos sous-clés sur votre dispositif. Vous aurez besoin à la fois de votre phrase secrète PGP et du PIN admin pour la plupart des opérations. Souvenez vous que [fpr] représente l'empreinte complète des 40 caractères de votre clé.</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ gpg --edit-key [fpr]<br /> Secret subkeys are available.<br /> pub rsa4096/AAAABBBBCCCCDDDD<br /> created: 2017-12-07 expires: 2019-12-07 usage: C<br /> trust: ultimate validity: ultimate<br /> ssb rsa2048/1111222233334444<br /> created: 2017-12-07 expires: never usage: E<br /> ssb rsa2048/5555666677778888<br /> created: 2017-12-07 expires: never usage: S<br /> [ultimate] (1). Alice Engineer <alice@example.org><br /> [ultimate] (2) Alice Engineer <alice@example.net><br /> gpg></code></div> <p>Utiliser <i>—edit-key</i> nous ramène en mode menu, et vous remarquerez que le listing des clés est un petit peu différent. À partir d'ici, toutes les commandes sont faites à l'intérieur de ce mode menu, comme indiqué par gpg>.</p> <p>Premièrement, sélectionnons la clé que nous mettrons sur la carte - on fait ça en tapant <i>key 1</i> (c'est la première de notre listing, notre sous-clé [E]) :</p> <p><code class='spip_code' dir='ltr'>gpg> key 1</code></p> <p>Le résultat devrait être subtilement différent :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>pub rsa4096/AAAABBBBCCCCDDDD<br /> created: 2017-12-07 expires: 2019-12-07 usage: C<br /> trust: ultimate validity: ultimate<br /> ssb* rsa2048/1111222233334444<br /> created: 2017-12-07 expires: never usage: E<br /> ssb rsa2048/5555666677778888<br /> created: 2017-12-07 expires: never usage: S<br /> [ultimate] (1). Alice Engineer <alice@example.org><br /> [ultimate] (2) Alice Engineer <alice@example.net></code></div> <p>Notez l'astérisque à côté de la ligne <i>ssb</i> qui correspond à la clé - elle nous indique que cette clé est actuellement 'sélectionnée'. Ça fonctionne comme une bascule, ce qui veut dire que si vous tapez à nouveau <i>key 1</i>, l'astérisque disparaîtra et la clé ne sera plus sélectionnée.</p> <p>Maintenant, déplaçons cette clé sur la carte à puce :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>gpg> keytocard<br /> Please select where to store the key:<br /> (2) Encryption key<br /> Your selection? 2</code></div> <p>Puisque c'est notre clé [E], il est logique de la mettre dans l'emplacement 'Encryption'. Quand vous soumettez votre sélection, on vous demandera d'abord votre phrase secrète, puis votre PIN administrateur. Si la commande répond sans erreur, votre clé a été déplacée.</p> <p><strong>Important :</strong> Retapez maintenant <i>key 1</i> pour désélectionner la première clé, et <i>key 2</i> pour sélectionner la clé [S] :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>gpg> key 1<br /> gpg> key 2<br /> gpg> keytocard<br /> Please select where to store the key:<br /> (1) Signature key<br /> (3) Authentication key<br /> Your selection? 1</code></div> <p>Vous pouvez utiliser la clé [S] tant pour la signature que pour l'authentification, mais nous voulons être sûrs qu'elle se trouve dans l'emplacement de signature, alors choisissez (1). Là encore, si votre commande ne renvoie aucune erreur, l'opération a été exécutée avec succès.</p> <p>Enfin si vous avez créé une clé [A], vous pouvez aussi la déplacer sur la carte, en vous assurant d'abord de désélectionner <i>key 2</i>. Une fois que vous avez fini, tapez 'q' :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>gpg> q<br /> Save changes? (y/N) y</code></div> <p>Sauvegarder les changements supprimera les clés que vous avez déplacées sur la carte de votre répertoire /home (mais c'est ok, car nous les avons dans nos sauvegardes si nous devions refaire cette opération pour une carte à puce de remplacement).</p> <h3 class="spip">Vérifier que les clés ont été déplacées</h3> <p>Si vous faites <i>—list-secret-keys</i>, vous verrez une différence subtile dans le retour :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ gpg --list-secret-keys<br /> sec# rsa4096 2017-12-06 [C] [expires: 2019-12-06]<br /> 111122223333444455556666AAAABBBBCCCCDDDD<br /> uid [ultimate] Alice Engineer <alice@example.org><br /> uid [ultimate] Alice Engineer <alice@example.net><br /> ssb> rsa2048 2017-12-06 [E]<br /> ssb> rsa2048 2017-12-06 [S]</code></div> <p>Le <i>></i> dans <i>ssb></i> indique que la sous-clé n'est disponible que sur la carte à puce. Si vous retournez dans votre répertoire de clés secrètes et regardez son contenu, vous remarquerez que les fichiers <i>.keys</i> ont été remplacés par des talons :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ cd ~/.gnupg/private-keys-v1.d<br /> $ strings *.key</code></div> <p>Le résultat devrait contenir <i>shadowed-private-key</i> pour indiquer que ces fichiers ne sont que des talons et que le véritable contenu est sur la carte à puce.</p> <h3 class="spip">Vérifier que la carte à puce fonctionne</h3> <p>Pour vérifier que la carte fonctionne bien, vous pouvez créer une signature :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ echo 'Hello world' | gpg --clearsign > /tmp/test.asc<br /> $ gpg --verify /tmp/test.asc</code></div> <p>Ceci devrait vous demander votre PIN à votre première commande, puis afficher 'Good signature' après que vous ayez lancé la commande <i>gpg -verify</i>.</p> <p>Félicitations, vous avez rendu extrêmement difficile de voler votre identité numérique de développeur avec succès !</p> <h3 class="spip">Autres opérations GnuPG communes</h3> <p>Voici une référence rapide à quelques-unes des opérations communes que vous serez amené à faire avec votre clé PGP.</p> <p>Dans toutes les commandes ci-dessous, [fpr] est l'empreinte de votre clé.</p> <p><strong>Monter le volume hors ligne de votre clé maître</strong></p> <p>Vous aurez besoin de votre clé maître pour les opérations suivantes, vous aurez donc d'abord besoin de monter le volume hors ligne de votre clé maître et de dire à GnuPG de l'utiliser. Tout d'abord, identifiez où le média a été monté, par exemple en regardant la sortie de la commande <i>mount</i>. Puis localisez le répertoire où se trouve la sauvegarde de votre répertoire GnuPG et dites à GnuPG de l'utiliser comme son /home.</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ export GNUPGHOME=/media/disk/name/gnupg-backup<br /> $ gpg --list-secret-keys</code></div> <p>Vous voulez vous assurer que vous voyez <i>sec</i> et non <i>#sec</i> dans le résultat (le # signifiant que la clé n'est pas disponible et que vous utilisez toujours votre /home habituel).</p> <p><strong>Mettre à jour votre répertoire de travail GnuPG habituel</strong></p> <p>Après avoir fait un changement à votre clé en utilisant le stockage hors ligne, vous voudrez importer ces changements das votre répertoire de travail habituel :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ gpg --export | gpg --homedir ~/.gnupg --import<br /> $ unset GNUPGHOME</code></div> <p><strong>Étendre la date d'expiration de la clé</strong></p> <p>La clé maître que nous avons créée a une date d'expiration par défaut de deux ans à compter de sa date de création. Ceci est fait à la fois pour des raisons de sécurité et pour faire disparaître les clés obsolètes des serveurs de clés.</p> <p>Pour étendre l'expiration de votre clé d'une année de la date courante, exécutez simplement :</p> <p><code class='spip_code' dir='ltr'>$ gpg --quick-set-expire [fpr] 1y</code></p> <p>Vous pouvez aussi utiliser une date précise si c'est plus facile à se souvenir (par exemple votre anniversaire, le 1er janvier, ou la fête nationale).</p> <p><code class='spip_code' dir='ltr'>$ gpg --quick-set-expire [fpr] 2020-07-01</code></p> <p>N'oubliez pas de renvoyer les clés ainsi modifiées sur les serveurs de clé.</p> <p><code class='spip_code' dir='ltr'>$ gpg --send-key [fpr]</code></p> <p><strong>Révoquer des identités</strong></p> <p>Si vous avez besoin de révoquer une identité (par exemple si vous changez d'employeur et que votre adresse de courriel n'est plus valide), vous pouvez utiliser cette ligne de commande :</p> <p><code class='spip_code' dir='ltr'>$ gpg --quick-revoke-uid [fpr] 'Alice Engineer <aengineer@example.net>'</code></p> <p>Vous pouvez aussi faire la même chose en utilisant le mode menu avec <i>gpg —edit-key [fpr]</i>.</p> <p>Une fois fait, souvenez-vous de renvoyer les clés ainsi modifiées sur les serveurs de clé :</p> <p><code class='spip_code' dir='ltr'>$ gpg --send-key [fpr]</code></p> <p>La prochaine fois, nous verrons comment Git supporte de niveaux multiples d'intégration avec PGP.</p> <p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-5-moving-subkeys-hardware-device" class='spip_out' rel='external'>Konstantin Ryabitsev le 14 mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour Librethic le 21 mai 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p></div> PGP - 4e partie : Mettre votre clé maître sur un stockage hors ligne https://librethic.io/blog-notes/article/pgp-4e-partie-mettre-votre-cle-maitre-sur-un-stockage-hors-ligne https://librethic.io/blog-notes/article/pgp-4e-partie-mettre-votre-cle-maitre-sur-un-stockage-hors-ligne 2018-06-04T11:58:25Z text/html fr Admin PGP <p>Il serait très dommageable pour un développeur de se faire voler ses clés PGP ; apprenez à mettre les vôtres en sécurité. <br class='autobr' /> Article écrit et posté par Konstantin Ryabitsev le 7 mars 2018 sur Linux.com <br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 15 mai 2018 <br class='autobr' /> https://creativecommons.org/licenses/by-sa/4.0/ <br class='autobr' /> Protéger l'intégrité de votre code avec PGP - 4e partie : Mettre votre clé maître sur un stockage hors ligne <br class='autobr' /> Image : Creative commons zéro <br class='autobr' /> Il serait très dommageable pour un développeur de se faire (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/pgp" rel="tag">PGP</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH69/arton79-35bce.png?1528149882' width='150' height='69' /> <div class='rss_chapo'><p>Il serait très dommageable pour un développeur de se faire voler ses clés PGP ; apprenez à mettre les vôtres en sécurité.</p></div> <div class='rss_texte'><p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-4-moving-your-master-key-offline-storage" class='spip_out' rel='external'>Konstantin Ryabitsev le 7 mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour Librethic le 15 mai 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p> <p><i>Protéger l'intégrité de votre code avec PGP - 4e partie : Mettre votre clé maître sur un stockage hors ligne</i></p> <p><span class='spip_document_26 spip_documents spip_documents_center'> <img src='https://librethic.io/local/cache-vignettes/L500xH228/10000201000003200000016c0469dded-96bdd.png?1528113510' width='500' height='228' alt="" /></span>Image : Creative commons zéro</p> <p>Il serait très dommageable pour un développeur de se faire voler ses clés PGP ; apprenez à mettre les vôtres en sécurité.</p> <p>Dans cette série de tutoriels, nous fournissons un guide pratique pour l'utilisation de PGP. Vous pouvez rattraper les précédents articles ici :</p> <p><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 1ère partie : <a href='https://librethic.io/blog-notes/article/pgp-1ere-partie-concepts-et-outils-de-base' class='spip_in'>Concepts et outils de base</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 2ème partie : <a href='https://librethic.io/blog-notes/article/pgp-2e-partie-generer-votre-cle-maitre' class='spip_in'>Générer et protéger votre clé PGP maître</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 3e partie : <a href='https://librethic.io/blog-notes/article/pgp-3eme-partie-generer-des-sous-cles-pgp' class='spip_in'>Générer des sous-clés PGP</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 4ème partie : <strong> Mettre votre clé maître sur un stockage hors ligne </strong></p> <p>Pour cette 4ème partie, nous poursuivons la série en voyant comment et pourquoi déménager votre clé maître de votre répertoire /home vers un stockage hors ligne. Commençons.</p> <h2 class="spip"> Check-list</h2><ul class="spip"><li>Préparer un stockage externe chiffré (ESSENTIEL) ;</li><li>Faites une sauvegarde de votre répertoire GnuPG (ESSENTIEL) ;</li><li>Supprimer la clé maître de votre répertoire /home (BON) ;</li><li>Supprimer le certificat de révocation de votre répertoire /home (BON) ;</li></ul><h2 class="spip"> Considérations</h2> <p>Pourquoi voudriez vous enlever votre clé maître [C] de votre répertoire /home ? Ceci est généralement fait pour prévenir le vol ou la fuite accidentelle de votre clé. Les clé privées sont des cibles de choix pour des acteurs malicieux - nous l'avons appris de plusieurs attaques de malwares qui scannaient le répertoire /home des utilisateurs et téléchargeaient tout contenu de clé privée qu'ils y trouvaient.</p> <p>Il serait très dommageable pour tout développeur de se faire voler ses clés PGP - dans le monde du Logiciel Libre, c'est souvent l'équivalent d'un vol d'identité. Enlever votre clé maître [C] de votre répertoire /home aide à vous protéger de tels événements.</p> <h2 class="spip"> Faites une sauvegarde de votre répertoire GnuPG</h2> <p> !!! Ne sautez pas cette étape !!!</p> <p>Il est important d'avoir sous la main une sauvegarde de vos clés PGP au cas où vous auriez besoin de les récupérer (ceci est différent des mesures anti-désastre que nous avons prises avec la paperkey).</p> <h2 class="spip"> Préparez un stockage externe chiffré</h2> <p>Commencez par vous procurer une petite clé USB (deux de préférence !) que vous utiliserez à des fins de sauvegarde. Vous devrez tout d'abord les chiffrer :</p> <ul class="spip"><li><a href="https://support.apple.com/kb/PH25745?locale=fr_FR" class='spip_out' rel='external'>Instructions Apple</a></li><li><a href="http://www.generation-linux.fr/index.php?post/2013/04/21/Chiffrer-un-disque-dur-externe-ou-une-clé-USB-avec-Truecrypt" class='spip_out' rel='external'>Instructions Linux</a><br class='autobr' /> Pour la phrase secrète de chiffrement, vous pouvez utiliser la même que pour votre clé maître.</li></ul><h2 class="spip"> Faites une sauvegarde de votre répertoire GnuPG</h2> <p>Une fois le chiffrement réalisé, ré-insérez la clé USB et assurez vous qu'elle soit montée correctement. Trouvez son point de montage complet, par exemple en exécutant la commande <i>mount</i> (sous Linux, les média externes sont généralement montés sur /media/disk, sous Mac c'est /Volumes).</p> <p>Une fois que vous avez le point de montage complet, copiez-y tout votre répertoire GnuPG :</p> <p>$ cp -rp /.gnupg [/media/disk/name]/gnupg-backup</p> <p>(Note : Si vous obtenez des erreurs de type <i>Opération non supportée sur le socket</i>, elles sont bénignes et vous pouvez les ignorer).</p> <p>Vous pouvez maintenant tester pour être sûr que tout fonctionne encore :</p> <p>$ gpg —homedir=[/media/disk/name]/gnupg-backup —list-key [fpr]</p> <p>Si vous n'obtenez aucune erreur, vous êtes bon. Démontez la clé USB et étiquetez là distinctement, histoire de ne pas tout casser la prochaine fois que vous aurez besoin d'une clé USB lambda. Puis mettez-la dans un lieu sûr - mais pas trop loin, car vous en aurez besoin de temps en temps pour des choses comme modifier des identités, ajouter ou révoquer des sous-clés, ou signer la clé d'autres personnes.</p> <h2 class="spip"> Enlevez la clé maître</h2> <p>Les fichiers de votre répertoire /home ne sont pas aussi bien protégés que l'on voudrait le croire. Ils peuvent fuiter ou être dérobés de différentes façons :</p> <ul class="spip"><li>Par accident en faisant des copies rapides de votre répertoire lors de l'installation d'une nouvelle station de travail ;</li><li>Par la malveillance ou la négligence d'un administrateur système ;</li><li>Par des sauvegardes mal sécurisées ;</li><li>Par des programmes malveillants dans vos applications de bureau (navigateurs, visionneuses de PDF, etc.) ;</li><li>Par coercition en traversant des frontières internationales.<br class='autobr' /> Protéger votre clé avec une bonne phrase secrète réduit grandement les risques ci-dessus, mais les phrases secrètes peuvent être découvertes par des logiciels espion (keylogger), des regards indiscrets (shoulder surfing), ou tout un tas d'autres moyens. Pour cette raison, la méthode recommandée est d'enlever votre clé maître de votre répertoire /home et de la conserver sur un support hors ligne.</li></ul><h2 class="spip"> Enlever votre clé maître</h2> <p>Revoyez la section précédente et assurez-vous d'avoir sauvegardé votre répertoire GnuPG dans son entièreté. Ce que nous sommes sur le point de faire rendra votre clé inutile si vous n'avez pas une sauvegarde utilisable !</p> <p>Tout d'abord, identifiez le keygrip de votre clé maître :</p> <p>$ gpg —with-keygrip —list-key [fpr]</p> <p>Le résultat ressemblera à quelque chose comme ça :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>pub rsa4096 2017-12-06 [C] [expires: 2019-12-06]<br /> 111122223333444455556666AAAABBBBCCCCDDDD<br /> Keygrip = AAAA999988887777666655554444333322221111<br /> uid [ultimate] Alice Engineer <alice@example.org><br /> uid [ultimate] Alice Engineer <alice@example.net><br /> sub rsa2048 2017-12-06 [E]<br /> Keygrip = BBBB999988887777666655554444333322221111<br /> sub rsa2048 2017-12-06 [S]<br /> Keygrip = CCCC999988887777666655554444333322221111</code></div> <p>Trouvez l'entrée keygrip qui se trouve sous la ligne <i>pub</i> (juste sous l'empreinte de la clé maître). Ceci correspondra directement à un fichier dans le répertoire <i>.gnupg</i> de votre /home :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ cd ~/.gnupg/private-keys-v1.d<br /> $ ls</code></div><div style='text-align: left;' class='spip_code' dir='ltr'><code>AAAA999988887777666655554444333322221111.key<br /> BBBB999988887777666655554444333322221111.key<br /> CCCC999988887777666655554444333322221111.key</code></div> <p>Tout ce que vous avez à faire, c'est simplement de supprimer le fichier <i>.key</i> qui correspond au keygrip maître :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ cd ~/.gnupg/private-keys-v1.d<br /> <br /> $ rm AAAA999988887777666655554444333322221111.key</code></div> <p>Maintenant, si vous lancez la commande <i>—list-sercret-keys</i>, elle renverra que la clé maître est manquante (le # indique qu'elle n'est pas disponible) :</p> <p><code class='spip_code' dir='ltr'>$ gpg --list-secret-keys</code></p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>sec# rsa4096 2017-12-06 [C] [expires: 2019-12-06]<br /> 111122223333444455556666AAAABBBBCCCCDDDD<br /> uid [ultimate] Alice Engineer <alice@example.org><br /> uid [ultimate] Alice Engineer <alice@example.net><br /> ssb rsa2048 2017-12-06 [E]<br /> ssb rsa2048 2017-12-06 [S]</code></div><h2 class="spip"> Supprimez le certificat de révocation</h2> <p>Un autre fichier que vous devez supprimer (mais garder en sauvegarde) est le certificat de révocation qui a été créé automatiquement avec votre clé maître. Un certificat de révocation permet à quelqu'un de marquer votre clé comme révoquée de façon permanente, entraînant l'impossibilité de l'utiliser ou de lui faire confiance pour quoi que ce soit. Vous l'utiliseriez normalement pour révoquer une clé que, pour une raison ou une autre, vous ne contrôleriez plus - par exemple dont vous auriez perdu la phrase secrète.</p> <p>Tout comme pour la clé maître, si un certificat de révocation fuite en des mains mal intentionnées, il peut être utilisé pour détruire votre identité numérique de développeur, et il vaut donc mieux la supprimer de votre répertoire /home.</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>cd ~/.gnupg/openpgp-revocs.d<br /> rm [fpr].rev</code></div> <p>La prochaine fois, vous pourrez aussi apprendre à sécuriser vos sous-clés. Restez à l'écoute.</p></div> <hr /> <div <div class='rss_ps'><p>Article écrit et posté par <a href="https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-4-moving-your-master-key-offline-storage" class='spip_out' rel='external'>Konstantin Ryabitsev le 7 mars 2018 sur Linux.com</a></p> <p>Traduit par Gilles Gouget pour Librethic le 15 mai 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_out' rel='external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p></div> PGP - 3ème partie : Générer des sous-clés PGP https://librethic.io/blog-notes/article/pgp-3eme-partie-generer-des-sous-cles-pgp https://librethic.io/blog-notes/article/pgp-3eme-partie-generer-des-sous-cles-pgp 2018-06-03T07:15:00Z text/html fr Admin PGP GitHub <p>Dans ce troisième épisode de notre feuilleton PGP, nous vous expliquerons comment générer des sous-clés PGP pour votre travail quotidien. <br class='autobr' /> Article écrit et posté par Konstantin Ryabitsev le 28 février 2018 sur Linux.com Traduit par Gilles Gouget pour Librethic le 15 mai 2018 https://creativecommons.org/licenses/by-sa/4.0/ <br class='autobr' /> Dans cette série de tutoriels, nous fournissons un guide pratique pour l'utilisation de PGP. Précédemment, nous vous avons proposé une introduction aux Concepts et outils de base, et (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/pgp" rel="tag">PGP</a>, <a href="https://librethic.io/mot/github" rel="tag">GitHub</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH80/arton78-50039.png?1528247060' width='150' height='80' /> <div class='rss_chapo'><p>Dans ce troisième épisode de notre feuilleton PGP, nous vous expliquerons comment générer des sous-clés PGP pour votre travail quotidien.</p></div> <div class='rss_texte'><p>Article écrit et posté par Konstantin Ryabitsev le 28 février 2018 sur <a href="https://www.linux.com/blog/learn/pgp/2018/2/protecting-code-integrity-pgp-part-3-generating-pgp-subkeys" class='spip_out' rel='external'>Linux.com</a><br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 15 mai 2018<br class='autobr' /> <a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_url spip_out auto' rel='nofollow external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p> <p>Dans cette série de tutoriels, nous fournissons un guide pratique pour l'utilisation de PGP. Précédemment, nous vous avons proposé une introduction aux Concepts et outils de base, et vous avons montré comment générer et protéger votre clé PGP maître (mettre le lien à jour une fois en ligne). Dans ce troisième article, nous expliquerons comment générer des sous-clés PGP, qui sont utilisées dans le travail quotidien.</p> <h2 class="spip"> Check-list</h2><ol class="spip"><li> Générer une sous-clé de chiffrement de 2048 bits (ESSENTIEL) ;</li><li> Générer une sous-clé de signature de 2048 bits (ESSENTIEL) ;</li><li> Générer une sous-clé d'authentification de 2048 bits (BON) ;</li><li> Téléverser vos clés publiques sur un serveur de clés PGP (ESSENTIEL) ;</li><li> Mettre en place une tâche Cron de rafraîchissement (ESSENTIEL).</li></ol><h2 class="spip"> Considérations</h2> <p>Maintenant que nous avons créé la clé maître, créons les clés que vous utiliserez dans votre travail au jour le jour. Nous créons des clés de 2048 bits car beaucoup de matériels spécialisés ne gèrent pas de clé plus grandes (nous y reviendrons), mais aussi pour des raisons pragmatiques. Si nous nous retrouvons dans un monde où les clés RSA de 2048 bits ne sont plus considérées comme suffisamment sûres, ce sera parce que des percées fondamentales auront eu lieu en informatique ou en mathématique qui feront que des clés plus longues de 4096 bits ne feront pas une grande différence.</p> <h2 class="spip"> Créer la sous-clés</h2> <p>Pour créer la sous-clé, exécutez :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>$ gpg --quick-add-key [fpr] rsa2048 encr<br /> $ gpg --quick-add-key [fpr] rsa2048 sign</code></div> <p>Vous pouvez aussi créer la clé d'authentification, qui vous permettra d'utiliser votre clé PGP pour des sessions ssh :</p> <p><code class='spip_code' dir='ltr'>$ gpg --quick-add-key [fpr] rsa2048 auth</code></p> <p>Vous pouvez vérifier les informations de votre clé en utilisant gpg —list-key [fpr] :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>pub rsa4096 2017-12-06 [C] [expires: 2019-12-06]<br /> 111122223333444455556666AAAABBBBCCCCDDDD<br /> uid [ultimate] Alice Engineer <alice@example.org><br /> uid [ultimate] Alice Engineer <alice@example.net><br /> sub rsa2048 2017-12-06 [E]<br /> sub rsa2048 2017-12-06 [S]</code></div><h2 class="spip"> Téléverser vos clés publiques sur un serveur de clés</h2> <p>La création de la clé est maintenant terminée, il faut à présent qu'elle soit facile à trouver en la téléversant sur un des serveurs de clés publiques (sautez cette étape si vous n'avez pas l'intention de vous servir de la clé que vous venez de créer, car cela ne fait qu'encombrer les serveurs de données inutiles).</p> <p><code class='spip_code' dir='ltr'>$ gpg --send-key [fpr]</code></p> <p>Si cette commande n'aboutit pas, vous pouvez essayer de spécifier le serveur de clés sur un port qui soit plus susceptible de fonctionner :</p> <p><code class='spip_code' dir='ltr'>$ gpg --keyserver hkp://pgp.mit.edu:80 --send-key [fpr]</code></p> <p>La plupart des serveurs de clé communiquent entre eux, ainsi les informations de votre clé finiront par être synchronisées avec tous les autres.<br class='autobr' /> <strong>Note sur la vie privée</strong> : Les serveurs de clé sont complètement publics et à ce titre, par principe, montrent des informations potentiellement sensibles sur vous, comme votre état civil, vos surnoms, et vos adresses de courriel personnelles ou professionnelles. Si vous signez les clés d'autres personnes ou si une personne signe la votre, les serveurs de clés révéleront de façon itérative votre réseau social. Une fois que ce type d'information est transmise à un serveur de clés, il est alors impossible de la modifier ou de la supprimer. Même si vous révoquez une identité ou une signature, elles ne seront pas supprimées de votre liste de clés, mais seront simplement marquées comme révoquées - les rendant même plus visibles.<br class='autobr' /> Ceci étant dit, si vous participez à un développement logiciel sur un projet public, toutes les informations mentionnées plus haut sont déjà de notoriété publique, ainsi les rendre aussi accessible sur un serveur de clés ne résulte pas en une perte nette de vie privée.</p> <h2 class="spip"> Téléversez votre clé publique sur Github</h2> <p>Si vous utilisez Github (qui ne le fait pas ?), vous devriez téléverser votre clé en suivant les instructions qu'ils fournissent :</p> <p><a href="https://help.github.com/articles/adding-a-new-gpg-key-to-your-github-account/" class='spip_out' rel='external'>Ajouter une clé PGP à votre compte Github</a> (anglais)</p> <p>Pour générer la sortie de clé publique que vous pourrez coller, exécutez simplement :</p> <p><code class='spip_code' dir='ltr'>$ gpg --export --armor [fpr]</code></p> <h2 class="spip"> Mettre en place une tâche Cron de rafraîchissement</h2> <p>Vous aurez besoin de rafraîchir votre trousseau régulièrement pour avoir les derniers changements de clés publiques des autres personnes. Vous pouvez mettre en place un service cron pour ce faire :<br class='autobr' /> <code class='spip_code' dir='ltr'>$ crontab -e</code></p> <p>Ajoutez sur une nouvelle ligne :<br class='autobr' /> <code class='spip_code' dir='ltr'>@daily /usr/bin/gpg2 --refresh >/dev/null 2>&1</code></p> <p>Note : Vérifiez bien le chemin de votre commande gpg ou gpg2, et utilisez gpg2 si votre gpg pat défaut est la version GnuPG v.1.</p></div> <hr /> <div <div class='rss_ps'><p>Article écrit et posté par Konstantin Ryabitsev le 28 février 2018 sur <a href="https://www.linux.com/blog/learn/pgp/2018/2/protecting-code-integrity-pgp-part-3-generating-pgp-subkeys" class='spip_out' rel='external'>Linux.com</a><br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 15 mai 2018<br class='autobr' /> <a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_url spip_out auto' rel='nofollow external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p></div> PGP - 2e partie : Générer votre clé maître https://librethic.io/blog-notes/article/pgp-2e-partie-generer-votre-cle-maitre https://librethic.io/blog-notes/article/pgp-2e-partie-generer-votre-cle-maitre 2018-05-23T10:00:00Z text/html fr Admin PGP <p>Apprenez comment générer une clé maître de 4096-bit dans ce tutoriel PGP. Dans cette série d'articles, nous jetons un regard approfondi sur l'utilisation de PGP et fournissons un guide pratique à destination des développeurs travaillant sur des projets de logiciels libres. Dans cet épisode, nous vous montrons comment générer et protéger votre clé PGP maître. <br class='autobr' /> Article écrit et posté par Konstantin Ryabitsev le 21 février 2018 sur Linux.com Traduit par Gilles Gouget pour Librethic le 23 avril 2018 (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/pgp" rel="tag">PGP</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH78/arton77-c2318.png?1527211809' width='150' height='78' /> <div class='rss_chapo'><p>Apprenez comment générer une clé maître de 4096-bit dans ce tutoriel PGP. Dans cette série d'articles, nous jetons un regard approfondi sur l'utilisation de PGP et fournissons un guide pratique à destination des développeurs travaillant sur des projets de logiciels libres. Dans cet épisode, nous vous montrons comment générer et protéger votre clé PGP maître.</p></div> <div class='rss_texte'><p>Article écrit et posté par Konstantin Ryabitsev le 21 février 2018 sur <a href="https://www.linux.com/blog/learn/PGP/2018/2/protecting-code-integrity-pgp-part-2-generating-and-protecting-your-master-pgp-key" class='spip_out' rel='external'>Linux.com</a><br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 23 avril 2018<br class='autobr' /> <a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_url spip_out auto' rel='nofollow external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p> <h2 class="spip"> Comprendre la clé (certifiante) « maître »</h2> <p>Dans cette section et la suivante, nous parlerons de la « clé maître » et des 'sous-clés". Il est important de comprendre ce qui suit :<br class='autobr' /> 1. Il n'y a pas de différence technique entre la « clé maître » et les « sous-clés » ;<br class='autobr' /> 2. Au moment de la création, nous assignons des limitations fonctionnelles à chaque clé en leur donnant des capacités spécifiques ;<br class='autobr' /> 3. Une clé PGP peut avoir quatre capacités :</p> <ul class="spip"><li> une clé [S] peut être utilisée pour signer ;</li><li> une clé [E] peut être utilisée pour chiffrer ;</li><li> une clé [A] peut être utilisée pour authentifier ;</li><li> une clé [C] peut être utilisée pour certifier d'autres clés.</li></ul> <p>4. Une clé unique peut avoir des capacités multiples.</p> <p>La clé [C] ayant la capacité de certification est considérée comme la clé « maître » car elle est la seule à pouvoir être utilisée pour indiquer des relations avec d'autres clés. Seule la clé [C] peut être utilisée pour : <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> Ajouter ou révoquer d'autres clés (sous-clés) ayant les capacités S/E/A ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> Ajouter, changer ou révoquer des identités (uids) associées aux clés ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> Ajouter ou changer la date d'expiration d'elle-même ou de toute sous-clé ; <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> Signer les clés d'autres personnes pour la toile de confiance.</p> <p>Dans le monde du Logiciel Libre, la clé [C] est votre identité numérique. Une fois que vous créez cette clé, vous devez rendre des mesures toutes particulières pour la protéger et l'empêcher de tomber entre des mains malicieuses.</p> <h2 class="spip"> Avant de créer votre clé maître</h2> <p>Avant de créer votre clé maître il vous faut choisir votre identité principale et votre phrase secrète.</p> <h2 class="spip"> Identité principale</h2> <p>Les identités sont des chaînes utilisant le même format que le champ « expéditeur » que l'on trouve dans les courriels :<br class='autobr' /> Alice Engineer <span class='ressource'><alice.engineer<span class='mcrypt'> chez </span>example.org></span> </p> <p>Vous pouvez créer de nouvelles identités, en révoquer d'anciennes, et changer d'identité principale à tout moment. Puisque l'identité principale est visible dans toutes les opérations GnuPG, vous devriez choisir un nom et une adresse qui soient à la fois professionnels et les plus susceptibles d'être utilisés pour des communications protégées par PGP, comme votre adresse professionnelle ou l'adresse que vous utilisez pour signer vos contributions.</p> <h2 class="spip"> Phrase secrète</h2> <p>La phrase secrète est exclusivement utilisée pour chiffrer la clé privée avec un algorithme symétrique qui est conservé sur le disque. Si le contenu de votre répertoire .gnupg vient à fuiter, une bonne phrase secrète est la dernière ligne de défense contre le voleur et sa capacité à vous usurper votre identité en ligne, c'est pourquoi il est important d'avoir une bonne phrase secrète.<br class='autobr' /> La bonne recette pour une bonne phrase secrète c'est 3-4 mots d'un dictionnaire riche ou de plusieurs, qui ne soit pas une citation d'une source populaire (chanson, livre, slogan). Vous utiliserez cette phrase fréquemment, aussi devrait-elle être facile à taper et à mémoriser.</p> <h2 class="spip"> Algorithme et force de la clé</h2> <p>Même si cela fait déjà un certain temps que GnuPG supporte la crypto par courbes elliptiques, nous continuons à utiliser des clés RSA, au moins pour un temps. Alors qu'il est possible de commencer à utiliser les clés ED25519 dès maintenant, il est probable que vous tomberez sur des outils et des matériels qui ne seront pas capables de les gérer correctement.<br class='autobr' /> Vous pouvez aussi vous demander pourquoi la clé maître est de 4096-bit, quand un peu plus loin dans ce guide on dira que les clés 2048-bit sont assez bonnes pour la durée de vie de la cryptographie par clé publique RSA. Les raisons sont principalement sociales et non techniques : les clés maîtres sont les plus visibles dans la chaîne de clés, et certains développeurs avec lesquels vous allez interagir vous jugeront inévitablement de façon négative si votre clé maître à moins de bits que la leur.</p> <h2 class="spip"> Générer la clé maître</h2> <p>Pour générer votre nouvelle clé maître, lancez la commande suivante, en mettant les bonnes valeurs à la place de "Alice Engineer" :</p> <p><code class='spip_code' dir='ltr'>$ gpg --quick-generate-key 'Alice Engineer <alice@example.org>' rsa4096 cert</code></p> <p>Une boite de dialogue s'ouvrira pour vous demander la phrase secrète. Puis il vous faudra sans doute bouger votre souris ou taper quelques caractères pour générer suffisamment d'entropie jusqu'à que la commande se termine.<br class='autobr' /> Regardez la sortie de la commande, ce sera quelque chose comme ça :</p> <div style='text-align: left;' class='spip_code' dir='ltr'><code>pub rsa4096 2017-12-06 [C] [expires: 2019-12-06]<br /> 111122223333444455556666AAAABBBBCCCCDDDD<br /> uid Alice Engineer <alice@example.org></code></div> <p>Notez la longue chaîne sur la deuxième ligne - c'est l'empreinte complète de votre clé nouvellement créée. Les identifiants de clé ("Key IDs") peuvent être représentés de trois façons :</p> <ul class="spip"><li> L'empreinte, un identifiant de clé complet de 40 caractères ;</li><li> Long, les derniers 16 caractères de l'empreinte (AAAABBBBCCCCDDDD) ;</li><li> Court, les derniers 8 caractères de l'empreinte (CCCCDDDD).</li><li> Vous devriez éviter d'utiliser les identifiants courts de 8 caractères car ils ne sont pas suffisamment uniques.</li></ul> <p>À ce stade, je vous suggère d'ouvrir un éditeur de texte et d'y copier-coller votre empreinte. Il vous faudra l'utiliser pour les prochaines étapes, alors il sera pratique de l'avoir sous la main.</p> <h2 class="spip"> Sauvegarder votre clé maître</h2> <p>Pour faire face à des cas de force majeure - particulièrement si vous comptez utiliser la toile de confiance et collecter des signatures d'autres développeurs -, vous devriez créer une copie "en dur" de votre clé privée. C'est supposé être la mesure de dernier recours dans le cas ou tous les autres mécanismes de sauvegarde échoueraient.<br class='autobr' /> La meilleure façon de créer une copie "en dur" imprimable de votre clé privée est d'utiliser le logiciel paperkey qui a été écrit dans ce but précis. Paperkey est disponible dans toutes les distributions Linux, ainsi qu'en installable via "brew install paperkey" sur Mac.</p> <p>Exécutez la commande suivante, en remplaçant [fpr] par l'empreinte complète de votre clé.</p> <p><code class='spip_code' dir='ltr'>$ gpg --export-secret-key [fpr] | paperkey -o /tmp/key-backup.txt</code><br class='autobr' /> Le résultat est dans un format qui est facile à traiter en OCR ou à saisir à la main, si d'aventure vous avez besoin de le récupérer. Imprimez ce fichier, puis prenez un stylo et écrivez la phrase secrète dans la marge de la feuille. C'est une étape indispensable, car l'impression de la clé est toujours chiffrée avec la phrase secrète, et si jamais vous changez la phrase secrète de votre clé, vous ne vous souviendrez plus de ce qu'elle était lorsque vous l'avez créée - je vous le garanti.<br class='autobr' /> Mettez le document imprimé et la phrase secrète manuscrite dans une enveloppe, et rangez la dans un endroit sécurisé et bien protégé, de préférence loin de chez vous, comme votre coffre à la banque.</p> <p><strong>À propos des imprimantes</strong> : L'époque où les imprimantes étaient des périphériques idiots connectés au port parallèle de votre ordinateur est loin derrière nous. De nos jours elles ont des systèmes d'exploitation complets, des disques durs et un accès au cloud. Puisque le contenu de la clé que nous avons envoyé à l'imprimante est chiffré avec la phrase secrète, l'opération est plutôt sécurisée, mais fiez vous à votre meilleur jugement paranoïaque.</p> <h2 class="spip"> Ajouter les identités pertinentes</h2> <p>Si vous avez plusieurs adresses mail pertinentes (personnelle, travail, projet open-source, etc.), vous pouvez les ajouter à votre clé maître. Vous n'aurez pas besoin de faire cela pour des adresses avec lesquelles vous ne compte pas utiliser PGP (par exemple, probablement pas votre adresse d'ancien élève).<br class='autobr' /> La commande est (mettez l'empreinte complète de votre clé à la place de [fpr]) :<br class='autobr' /> <code class='spip_code' dir='ltr'>$ gpg --quick-add-uid [fpr] 'Alice Engineer <allie@example.net>'</code><br class='autobr' /> Vous pouvez voir les UIDs que vous avez déjà ajouté avec :<br class='autobr' /> <code class='spip_code' dir='ltr'>$ gpg --list-key [fpr] | grep ^uid</code></p> <h2 class="spip"> Choisissez l'UID primaire</h2> <p>GnuPG considérera le dernier UID enregistré comme votre UID primaire, alors si ce n'est pas ce que vous voulez, vous pouvez le modifier :<br class='autobr' /> <code class='spip_code' dir='ltr'>$ gpg --quick-set-primary-uid [fpr] 'Alice Engineer <alice@example.org>'</code><br class='autobr' /> La prochaine fois, nous verrons comment générer des sous-clés PGP, qui sont les clés que vous utiliserez dans votre travail au jour le jour.</p> <h2 class="spip"> Les autres articles de la série sur PGP</h2> <p><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 1ère partie : <a href='https://librethic.io/blog-notes/article/pgp-1ere-partie-concepts-et-outils-de-base' class='spip_in'>Concepts et outils de base</a> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 2ème partie : <strong>Générer une clé maitre</strong> <br /><img src='https://librethic.io/local/cache-vignettes/L8xH11/puce-32883.gif?1524403599' width='8' height='11' class='puce' alt="-" /> 3ème partie : <a href='https://librethic.io/blog-notes/article/pgp-3eme-partie-generer-des-sous-cles-pgp' class='spip_in'>Générer des sous clés</a></p></div> <hr /> <div <div class='rss_ps'><p>Article écrit et posté par Konstantin Ryabitsev le 21 février 2018 sur Linux.com<br class='autobr' /> Traduit par Gilles Gouget pour Librethic le 23 avril 2018</p> <p><a href="https://creativecommons.org/licenses/by-sa/4.0/" class='spip_url spip_out auto' rel='nofollow external'>https://creativecommons.org/licenses/by-sa/4.0/</a></p></div> Obtention du label « Dolibarr Preferred Partner » https://librethic.io/blog-notes/article/obtention-du-label-dolibarr-preferred-partner https://librethic.io/blog-notes/article/obtention-du-label-dolibarr-preferred-partner 2018-04-12T15:48:28Z text/html fr Admin Dolibarr ERP/CRM <p>Librethic a obtenu le label « Dolibarr Preferred Partner » et est maintenant dans la liste des prestataires certifiés pour proposer des services autour du logiciel de gestion commerciale Dolibarr ERP/CRM. <br class='autobr' /> La demande a été faite en ce début du mois d'avril et fût vite validée par le Conseil d'administration de l'association Dolibarr : Librethic est maintenant prestataire certifié pour proposer des offres et des services pour le [logiciel libre de gestion commerciale Dolibarr ERP/CRM. <br class='autobr' /> Librethic (...)</p> - <a href="https://librethic.io/blog-notes/" rel="directory">Blog-notes</a> / <a href="https://librethic.io/mot/dolibarr-erp-crm" rel="tag">Dolibarr ERP/CRM</a> <img class='spip_logo spip_logo_right spip_logos' alt="" style='float:right' src='https://librethic.io/local/cache-vignettes/L150xH60/arton76-c1510.png?1524456374' width='150' height='60' /> <div class='rss_chapo'><p>Librethic a obtenu le label « Dolibarr Preferred Partner » et est maintenant dans la liste des prestataires certifiés pour proposer des services autour du logiciel de gestion commerciale Dolibarr ERP/CRM.</p></div> <div class='rss_texte'><p>La demande a été faite en ce début du mois d'avril et fût vite validée par le Conseil d'administration de l'association Dolibarr : <strong>Librethic est maintenant prestataire certifié</strong> pour proposer des offres et des services pour le [logiciel libre de gestion commerciale <a href="https://dolibarr.fr" class='spip_out' rel='external'>Dolibarr ERP/CRM</a>.</p> <p><span class='spip_document_24 spip_documents spip_documents_center'><a href='https://librethic.io/IMG/png/dolibarr_preferred_partner_int.png' type="image/png" title="Logo Dolibarr Preferred Partner"><img src='https://librethic.io/local/cache-vignettes/L350xH138/dolibarr_preferred_partner_int-cd1bb-37f17.png?1531731986' width='350' height='138' alt='Logo Dolibarr Preferred Partner {PNG}' /></a></span></p> <p>Librethic développe et maintient <a href='https://librethic.io/fr/solutions/developpement-de-modules-pour-dolibarr-erp-crm/' class='spip_in'>plusieurs modules complémentaires</a> pour ce logiciel et fourni différents services aux utilisateurs de la solution. Les modules sont empaquetés et distribués sur la <a href="https://www.dolistore.com/fr/recherche?controller=search&orderby=position&orderway=desc&search_query=librethic" class='spip_out' rel='external'>place de marché officielle des modules complémentaires Dolibarr ERP/CRM</a>, en échange d'une contre-partie financière. Le code source des modules est librement accessible via <a href="https://code.librethic.io" class='spip_url spip_out auto' rel='nofollow external'>https://code.librethic.io</a> la forge logicielle de Librethic.</p> <p>Aussi, nous proposons un <a href='https://librethic.io/fr/offres-services/assistance-support-et-infogerance/article/forfaits-infogerance-support-technique-et-assistance' class='spip_in'>contrat unique avec un système de crédit-temps qui couvre l'ensemble des prestations</a> relatives à votre système d'information : développement, intégration, <a href='https://librethic.io/fr/offres-services/assistance-support-et-infogerance/article/l-infogerance-librethic' class='spip_in'>infogérance</a>, assistance fonctionnelle…</p></div>