À propos de ce guide
Ce guide décrit les modifications les plus importantes que vous pouvez apporter pour augmenter la sécurité des comptes. Chaque section décrit une modification que vous pouvez apporter à vos processus pour améliorer la sécurité. Les modifications les plus importantes sont listées en premier.
Quel est le risque ?
La sécurité des comptes est fondamentale pour la sécurité de votre chaîne d'approvisionnement. Si un attaquant peut prendre le contrôle de votre compte sur GitHub, il peut apporter des modifications malveillantes à votre code ou processus de génération. Votre but premier doit donc être de compliquer la tâche à quelqu’un cherchant à prendre le contrôle de votre compte et des comptes des autres membres de votre organisation.
Configurer l'authentification à 2 facteurs
Note
À partir de mars 2023, GitHub exige de tous les utilisateurs qui contribuent au code sur GitHub.com qu’ils activent une ou plusieurs formes d’authentification à 2 facteurs (2FA). Si vous faisiez partie d'un groupe éligible, vous auriez reçu un courriel de notification lorsque ce groupe a été sélectionné pour l’inscription, marquant le début d’une période d’inscription 2FA de 45 jours, et vous auriez vu des bannières vous invitant à vous inscrire à 2FA sur GitHub.com. Si vous n'avez pas reçu de notification, vous ne faisiez pas partie d’un groupe requis pour activer 2FA, bien que nous le recommandons vivement.
Pour plus d’informations sur le lancement des inscriptions 2FA, consultez ce billet de blog.
La meilleure façon d’améliorer la sécurité de votre compte personnel consiste à configurer l’authentification à 2 facteurs (2FA). Les mots de passe eux-mêmes peuvent être compromis en étant devinables, en étant réutilisés sur un autre site compromis ou par l'ingénierie sociale, comme le hameçonnage. L'authentification à 2 facteurs rend beaucoup plus difficile la compromission de vos comptes, même si un attaquant a votre mot de passe.
Pour garantir à la fois la sécurité et un accès fiable à votre compte, vous devez toujours avoir au moins deux identifiants comme second facteur inscrits sur votre compte. Avec des identifiants supplémentaires, vous avez la garantie que même si vous perdez l'accès aux premiers, vous n'êtes pas bloqué hors de votre compte.
Préférez également les clés d'accès, les clés de sécurité aux applications d'authentification (nommées applications TOTP) et à l'utilisation de SMS autant que possible. Les applications 2FA et TOTP basées sur les SMS sont vulnérables à l'hameçonnage et n'offrent pas le même niveau de protection que les clés d'accès et les clés de sécurité. Le SMS n'est plus recommandé dans les instructions du NIST 800-63B sur l'identité numérique.
Si vous êtes propriétaire d'une organisation, vous pouvez exiger que tous les membres de l'organisation activent l'authentification à 2 facteurs.
Pour en savoir plus sur l'activation de l'authentification 2FA sur votre propre compte, consultez « Configuration de l’authentification à 2 facteurs ». Pour en savoir plus sur l'obligation d'avoir une authentification 2FA dans votre organisation, consultez « Exiger l’authentification à deux facteurs dans votre organisation ».
Configurer votre compte personnel
GitHub prend en charge plusieurs options pour l'authentification à 2 facteurs, et même si aucune ne se détache véritablement, l'option la plus sécurisée est un identifiant WebAuthn. WebAuthn nécessite un authentificateur tel qu'une clé de sécurité matérielle FIDO2, un authentificateur de plateforme tel que Windows Hello, un téléphone Apple ou Google, ou un gestionnaire de mots de passe. Il est possible, bien que difficile, d'hameçonner d'autres formes d'authentification à 2 facteurs (par exemple, quelqu'un vous demandant de lui lire votre mot de passe à 6 chiffres unique). Toutefois, WebAuthn est beaucoup plus résistant à l'hameçonnage, car l'étendue du domaine est intégrée au protocole, ce qui empêche les informations d'identification d'un site web imitant la page de connexion d'être utilisées sur GitHub.
Quand vous configurez l'authentification à 2 facteurs, vous devez toujours télécharger les codes de récupération et configurer plusieurs identifiants 2FA. Cela garantit que l'accès à votre compte ne dépend pas d'un seul appareil. Pour plus d'informations, consultez « Configuration de l’authentification à 2 facteurs » et « Configuration de méthodes de récupération pour l’authentification à 2 facteurs ».
Configurer votre compte d'organisation
Si vous êtes propriétaire d'une organisation, vous pouvez voir quels utilisateurs n'ont pas l'authentification à 2 facteurs activée, les aider à la configurer, puis exiger l'authentification à 2 facteurs pour votre organisation. Pour vous guider dans ce processus, consultez :
- « Voir si l’authentification à 2 facteurs (2FA) est activée pour les utilisateurs de votre organisation »
- « Préparation de l’obligation d’une authentification à 2 facteurs dans votre organisation »
- « Exiger l’authentification à deux facteurs dans votre organisation »
Se connecter à GitHub avec des clés SSH
Il existe d’autres façons d’interagir avec GitHub au-delà de la connexion au site web. De nombreuses personnes autorisent le code qu'elles poussent (push) vers GitHub avec une clé privée SSH. Pour plus d’informations, consultez « À propos de SSH ».
Tout comme votre mot de passe de compte, si un attaquant pouvait obtenir votre clé privée SSH, il pourrait emprunter votre identité et pousser du code malveillant vers n’importe quel dépôt auquel vous disposez d’un accès en écriture. Si vous stockez votre clé privée SSH sur un lecteur de disque, il est judicieux de la protéger avec une phrase secrète. Pour plus d'informations, consultez « Utilisation des phrases secrètes de clé SSH ».
Une autre option consiste à générer des clés SSH sur une clé de sécurité matérielle. Vous pouvez utiliser la même clé que celle que vous utilisez pour l'authentification à 2 facteurs. Les clés de sécurité matérielles sont très difficiles à compromettre à distance, car la clé SSH privée reste sur le matériel et n'est pas directement accessible à partir d'un logiciel. Pour plus d'informations, consultez « Génération d’une nouvelle clé SSH et ajout de celle-ci à ssh-agent ».