PGP – 7e partie : Protéger vos comptes en ligne

Article écrit et posté par Konstantin Ryabitsev le 27 mars 2018 sur Linux.com

Traduit par Gilles Gouget pour Librethic le 22 mai 2018

https://creativecommons.org/licenses/by-sa/4.0/

Protéger l’intégrité de votre code avec PGP – 7e partie : Protéger vos comptes en ligne

Image : Creative commons zéro

Dans cet épisode final de notre série PGP, nous montrons comment protéger vos comptes en ligne avec une authentification à 2 facteurs.

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.

- 1ère partie : Concepts et outils de base
- 2e partie : Générer et protéger votre clé PGP maître
- 3e partie : Générer des sous-clés PGP
- 4e partie : Mettre votre clé maître sur un stockage hors ligne
- 5ème partie : Mettre vos sous-clés sur un matériel dédié
- 6ème partie : Utiliser PGP avec Git
- 7ème partie : Protéger vos comptes en ligne

Check-list

  • Se procurer un dispositif U2F compatible (ESSENTIEL) ;
  • Activer l’authentification à 2 facteurs sur vos comptes en ligne (ESSENTIEL) ;
  • Github/Gitlab
  • Google
  • Réseaux sociaux
  • Utiliser U2F comme mécanisme primaire, avec TOTP en secours (ESSENTIEL).

Considérations

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.

L’authentification à 2 facteurs avec Fido U2F

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’).

Les mécanismes les plus connus d’authentification à 2 facteurs sont :

  • La vérification basée sur un SMS ;
  • Des mots de passe à usage unique basés sur le temps (TOTP) via une appli pour smartphone, comme ’Google authenticator’ ou des solutions similaires ;
  • Des preuves physiques supportant Fido U2F.
    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.

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.

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.

Fido U2F 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.

Chrome et Firefox supportent tous les deux l’authentification à 2 facteurs U2F, et espérons que les autres navigateurs suivront bientôt.

Procurez-vous un dispositif compatible Fido U2F

Il y a beaucoup d’options disponibles 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.

Activez l’authentification à 2 facteurs sur vos comptes en ligne

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 :

  • 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 ;
  • GitLab : Pour les mêmes raisons que précédemment ;
  • 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 ;
  • 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 ;
  • D’autres sites, que vous jugerez nécessaires. Voir dongleauth.info pour vous inspirer.

Configurez TOTP en secours, si possible

Beaucoup de sites vous permettront de configurer de multiples mécanismes à 2 facteurs, et la méthode recommandée est la suivante.

  • Un dispositif U2F comme mécanisme primaire ;
  • Une appli sur smartphone TOTP comme mécanisme secondaire.
    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).

Lecture complémentaire

À ce stade, vous avez accompli les points importants suivants :

  • Créé et protégé votre identité de développeur en utilisant le chiffrement PGP ;
  • 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 ;
  • 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 ;
  • Sécurisé vos comptes en ligne en utilisant l’authentification à 2 facteurs.

Vous voilà déjà en bonne posture, mais vous devriez aussi parcourir les sujets suivants :

  • 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 ;
  • 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 ;
  • 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.

Article écrit et posté par Konstantin Ryabitsev le 27 mars 2018 sur Linux.com

Traduit par Gilles Gouget pour Librethic le 25 mai 2018

https://creativecommons.org/licenses/by-sa/4.0/