Date de la publication : 1 octobre 2025

Lecture : 9 min

Connexion et commits sécurisés avec GitLab et Yubico

GitLab et Yubico se sont associés pour renforcer la sécurité du développement logiciel grâce à des mesures d'authentification robustes.

Nous vivons à une époque où les violations de données et les attaques de phishing font quotidiennement la une des médias. Ces violations peuvent nuire aux entreprises et entraîner des amendes réglementaires, des temps d'arrêt ou, pire encore, des atteintes à la réputation. En matière d'authentification, les mots de passe constituent la base de la sécurité en ligne depuis des décennies, mais ils s'avèrent de plus en plus inadaptés face aux cybermenaces sophistiquées.

GitLab et Yubico se sont associés pour renforcer la sécurité du développement logiciel au moyen de mesures d'authentification robustes. Yubico est l'inventeur de la YubiKey, une clé de sécurité qui offre une authentification multifacteur (MFA) résistante au phishing. En implémentant le protocole FIDO Universal 2nd Factor (U2F) et la protection matérielle YubiKey, GitLab offre aux équipes de développement une défense puissante contre les attaques de phishing et autres cybermenaces afin de garantir la sécurité de leur code et de leurs projets. Cette collaboration renforce l'authentification de niveau entreprise dans la plateforme GitLab et aide les équipes de développement à se concentrer sur la création de logiciels et à avoir confiance en l'intégrité de leur compte.

Découvrez dans cet article comment configurer GitLab pour utiliser les YubiKeys afin de protéger vos équipes contre les menaces en ligne. Vous apprendrez également comment prévenir davantage la falsification de code avec les commits vérifiés de GitLab.

Comment fonctionnent les YubiKeys ?

Les YubiKeys fonctionnent comme des tokens matériels cryptographiques qui génèrent et stockent des clés privées dans un environnement sécurisé. Ces clés implémentent les protocoles d'authentification FIDO2/WebAuthn, qui peuvent être utilisés comme facteur supplémentaire pour se connecter à GitLab.

Voici comment la connexion fonctionne :

  1. Vous saisissez votre nom d'utilisateur et votre mot de passe.

  2. GitLab envoie un défi cryptographique à votre navigateur.

  3. Votre navigateur demande à la YubiKey de signer ce défi.

  4. Vous touchez physiquement la YubiKey pour approuver la connexion.

  5. La YubiKey crée une signature cryptographique unique pour ce service et ce défi spécifiques.

  6. GitLab vérifie la signature à l'aide de votre clé publique stockée lors de la configuration.

La plupart des violations de sécurité majeures sont liées à des mots de passe compromis. Une clé YubiKey garantit la sécurité de votre compte contre une violation à distance. En cas de vol de votre mot de passe, votre compte GitLab reste sécurisé.

La clé YubiKey offre d'autres avantages pour l'authentification sur GitLab :

  • Protection contre le phishing : les sites frauduleux n'auront pas les bonnes clés cryptographiques pour vérifier la réponse.

  • Aucun secret à voler : la clé privée ne quitte jamais la YubiKey.

  • Sécurité physique : une présence physique est requise pour la connexion (vous devez toucher la YubiKey).

Configuration de l'authentification multifacteur YubiKey dans GitLab

Voyons maintenant comment configurer une YubiKey pour l'authentification multifacteur dans GitLab. Assurez-vous d'utiliser un navigateur et un système d'exploitation pris en charge, car ils offrent une meilleure compatibilité WebAuthn pour les clés de sécurité matérielles.

  1. Connectez-vous à votre compte GitLab et accédez à vos paramètres utilisateur (cliquez sur votre avatar dans le coin supérieur gauche et sélectionnez Préférences).

  2. Dans la barre latérale gauche, cliquez sur Compte et accédez à la section Authentification à deux facteurs.

  3. Si vous n'avez pas encore activé l'authentification à deux facteurs, faites-le maintenant.

    a. Cliquez sur Activer l'authentification à deux facteurs.

    b. Scannez le QR code avec votre application d'authentification.

    c. Saisissez le code fourni par votre application d'authentification.

    d. Saisissez votre mot de passe GitLab. Si vous avez besoin d’accéder à votre compte GitLab sans utiliser l'authentification Google, vous devrez peut-être :

    • Utiliser l'option Mot de passe oublié sur la page de connexion GitLab pour configurer un mot de passe GitLab distinct.
    • Contacter votre administrateur GitLab pour configurer une autre méthode de connexion.

    e. Enregistrez vos codes de récupération dans un endroit sûr.

  4. Une fois l'authentification à deux facteurs activée, revenez à l'écran précédent en cliquant sur Gérer l'authentification à deux facteurs et faites défiler jusqu'à la section Enregistrer un token matériel.

  5. Cliquez sur le bouton Configurer un nouvel appareil.
    a. Une fenêtre contextuelle de votre navigateur devrait apparaître. Remarque : cette image peut varier selon votre navigateur. Si des fenêtres contextuelles de vos gestionnaires de mots de passe s'affichent, ignorez-les.

Demande d'authentification du navigateur (Brave)

    b. Sélectionnez Utiliser un téléphone, une tablette ou une clé de sécurité.

  1. Une nouvelle fenêtre contextuelle apparaîtra.

Demande de clé de sécurité du navigateur

    a. Insérez votre YubiKey dans le port USB de votre ordinateur.

    b. Touchez le contact métallique/bouton sur votre YubiKey lorsque vous y êtes invité. Le champ se remplira automatiquement avec un code à usage unique.

  1. Saisissez votre mot de passe GitLab et attribuez un nom à votre clé.

  2. Cliquez sur Enregistrer pour ajouter la YubiKey à votre compte.

Votre YubiKey est maintenant enregistrée et peut être utilisée comme second facteur d’authentification lors de votre connexion à GitLab. Vous pouvez enregistrer plusieurs YubiKeys sur votre compte à des fins de sauvegarde. Remarque : le processus peut légèrement varier selon les navigateurs.

Yubikey enregistrée

Enregistrement de la YubiKey

Comment se connecter avec une YubiKey sur GitLab ?

Maintenant que votre YubiKey est configurée, vous pouvez vous connecter comme suit :

  1. Accédez à GitLab.com.

Connexion à GitLab

  1. Indiquez votre nom d'utilisateur et votre mot de passe, puis cliquez sur le bouton Se connecter.

  2. Vous serez redirigé vers l'écran suivant.

Connexion à l'authentification à deux facteurs GitLab

    a. Une fenêtre contextuelle, comme celle ci-dessous, devrait apparaître. Remarque : cette image peut varier selon votre navigateur. Si des fenêtres contextuelles de vos gestionnaires de mots de passe s'affichent, ignorez-les.

Demande de clé de sécurité du navigateur

    b. Insérez votre YubiKey dans le port USB de votre ordinateur.

    c. Touchez le contact métallique/bouton sur votre YubiKey lorsque vous y êtes invité. Le champ se remplira automatiquement avec un code à usage unique.

Vous devriez être désormais connecté. Vous serez ensuite redirigé vers votre page GitLab.

Remarque : le processus peut légèrement varier selon les navigateurs.

Que se passe-t-il si je perds ma YubiKey ?

Yubico recommande d'utiliser et de conserver une YubiKey de secours. Pensez à votre maison, votre voiture ou votre bureau : vous possédez sûrement une clé de secours dans un endroit sûr. Votre identité numérique devrait bénéficier du même niveau d’attention. Une deuxième YubiKey garantit une sauvegarde rapide et sûre si vous perdez votre clé principale et vous permet également de désactiver facilement la clé perdue et d'ajouter une nouvelle clé principale ou secondaire.

Si vous n'avez pas ajouté de YubiKey supplémentaire, nous vous recommandons de configurer une autre forme d'authentification à deux facteurs à vos comptes. Dans les deux cas, vous devriez être en mesure d'accéder à votre compte et de retirer la clé perdue. Veuillez noter que sans une clé de sauvegarde ou une autre méthode d'authentification, vous devrez contacter le service/site web afin d'obtenir de l'aide pour récupérer votre compte.

Commits vérifiés de GitLab

Pour prévenir davantage la falsification de code, vous pouvez également configurer des commits vérifiés. Dans GitLab, ceux-ci utilisent des signatures GPG (GNU Privacy Guard) pour prouver qu’un commit provient réellement de vous. Ce processus ajoute une couche de sécurité en plus de l'authentification et garantit que non seulement votre compte est sécurisé, mais aussi que chaque modification de code peut être vérifiée de façon cryptographique comme provenant de vous.

Votre YubiKey peut stocker des clés GPG :

  • La clé privée est stockée en toute sécurité sur la YubiKey.

  • La clé publique est partagée avec GitLab.

  • La paire de clés est utilisée pour signer vos commits.

Une fois les clés GPG configurées :

  • Lorsque vous effectuez un commit, Git utilise votre clé privée pour créer une signature.

  • La clé GPG est accessible depuis la YubiKey connectée.

  • La signature est stockée avec les métadonnées du commit.

  • GitLab vérifie la signature à l'aide de votre clé publique.

Configuration des commits vérifiés

Voyons comment configurer les commits vérifiés. Dans cet exemple, la clé GPG est stockée dans votre YubiKey et offre une couche de sécurité supplémentaire.

  1. Installez le logiciel requis.


# On macOS


brew install --cask yubico-yubikey-manager


brew install gnupg gpg yubikey-manager



# On Ubuntu/Debian


sudo apt install gnupg gpg yubikey-personalization



# On Windows


# Download and install Gpg4win from https://gpg4win.org


  1. Vérifiez le statut GPG de la YubiKey.


gpg --card-status


  1. Générez des clés GPG directement sur la YubiKey (processus plus sécurisé).


# Start GPG edit mode


gpg --card-edit



# Enter admin mode


admin



# Generate key directly on card


# PIN = '123456' | Admin PIN = '12345678'


generate



# Follow prompts


# See documentation for more info 


#

https://support.yubico.com/hc/en-us/articles/360013790259-Using-Your-YubiKey-with-OpenPGP


  1. Exportez votre clé publique.


# Get your key ID


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



# Export the public key


gpg --armor --export YOUR_KEY_ID


  1. Ajoutez la clé publique à GitLab.

    a. Cliquez sur votre Avatar GitLab et sélectionnez Préférences.

    b. Dans l'onglet latéral, sélectionnez Clés GPG.

    c. Cliquez sur Ajouter une nouvelle clé.

    d. Collez votre clé publique.

    e. Cliquez sur Ajouter la clé.

  2. Configurez Git.



# Set signing key


git config --global user.signingkey YOUR_KEY_ID



# Enable automatic signing


git config --global commit.gpgsign true



# Tell GPG which key to use


echo "default-key YOUR_KEY_ID" >> ~/.gnupg/gpg.conf


  1. Testons maintenant la configuration en créant un commit test dans un projet :


# Make a change in the project


# Add changes


git add .



# Make a test commit


git commit -S -m "Test signed commit"



# Verify signature


git verify-commit HEAD



# Push the change


git push


La commande git verify-commit HEAD devrait afficher la clé GPG utilisée :



gpg: Signature made Wed Feb 26 11:45:00 2025 CST


gpg:                using RSA key YOUR_KEY_ID


gpg: Good signature from “NAME (DESCRIPTION) <EMAIL>" [ultimate]


Une fois le commit effectué dans GitLab, vous devriez voir qu'il est vérifiée comme suit :

Le commit est vérifié

Commit vérifié avec la clé GPG

Vous pouvez également utiliser l'API des commits pour vérifier la signature d’un commit, ce qui vous permet d'opérationnaliser davantage le workflow de vérification.

En savoir plus

Pour en savoir plus sur GitLab et Yubico, consultez ces ressources :

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un sujet dans le forum de la communauté GitLab.
Share your feedback

Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab

Commencez à livrer des logiciels de meilleurs qualité plus rapidement

Découvrez comment la plateforme DevSecOps intelligente

peut aider votre équipe.