Date de la publication : 1 octobre 2025
Lecture : 9 min
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.
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 :
Vous saisissez votre nom d'utilisateur et votre mot de passe.
GitLab envoie un défi cryptographique à votre navigateur.
Votre navigateur demande à la YubiKey de signer ce défi.
Vous touchez physiquement la YubiKey pour approuver la connexion.
La YubiKey crée une signature cryptographique unique pour ce service et ce défi spécifiques.
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).
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.
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).
Dans la barre latérale gauche, cliquez sur Compte et accédez à la section Authentification à deux facteurs.
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 :
e. Enregistrez vos codes de récupération dans un endroit sûr.
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.
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.
b. Sélectionnez Utiliser un téléphone, une tablette ou une clé de sécurité.
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.
Saisissez votre mot de passe GitLab et attribuez un nom à votre clé.
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.
Maintenant que votre YubiKey est configurée, vous pouvez vous connecter comme suit :
Indiquez votre nom d'utilisateur et votre mot de passe, puis cliquez sur le bouton Se connecter.
Vous serez redirigé vers l'écran suivant.
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.
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.
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.
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.
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.
# 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
gpg --card-status
# 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
# Get your key ID
gpg --list-secret-keys --keyid-format LONG
# Export the public key
gpg --armor --export YOUR_KEY_ID
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é.
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
# 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 :
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.
Pour en savoir plus sur GitLab et Yubico, consultez ces ressources :