🐙 Beveiligingshandleiding voor ontwikkelaars ✓ Verplichte naleving

Volledige gids voor GitHub 2FA instellen, SMS-fallback & herstelcodes

Nu supply chain-aanvallen op opensourcesoftware wereldwijd toenemen, verplicht GitHub tweestapsverificatie (2FA) voor alle bijdragende ontwikkelaars. Helaas verliezen maandelijks duizenden engineers de volledige toegang tot hun organisaties en private repositories door verwaarloosde herstelcodes. Deze technische handleiding behandelt TOTP-configuratie, koude opslag van herstelcodes, interacties met SSH-sleutels en cryptografisch noodherstel bij buitensluiting.

2FA
2FA-Tool beveiligingsteam
Bijgewerkt in oktober 2026
Geschatte leestijd: 13 min (2.400+ woorden)
GitHub 2FA Herstelcodes Supply Chain
💡 Belangrijke punten voor ontwikkelaars (TL;DR)
  • Verplichte handhaving is definitief: Ontwikkelaars die 2FA niet vóór hun deadline instellen, worden geblokkeerd voor webacties en verwijderd uit organisatierepositories.
  • Herstelcodes zijn uw reddingsboei: De 16 gegenereerde herstelcodes zijn voor eenmalig gebruik. Bewaar ze onmiddellijk in een versleutelde kluis of als fysieke offline afdruk.
  • Git-wachtwoorden werken niet meer: HTTPS Git-pushes kunnen geen interactieve 6-cijferige codes verwerken. U moet SSH-sleutels of gerichte Personal Access Tokens (PAT's) gebruiken.
  • Cryptografisch uiterste redmiddel: Als u zowel uw telefoon als codes kwijt bent, kunt u eigenaarschap bewijzen door een identity challenge cryptografisch te ondertekenen met uw eerder geregistreerde lokale private SSH-sleutel.
01

Overzicht verplicht GitHub 2FA-beleid & beveiligingsrationale

Historisch gezien hebben gecompromitteerde inloggegevens van ontwikkelaars geleid tot catastrofale kwetsbaarheden in de software-toeleveringsketen. Spraakmakende incidenten—zoals de overnames van event-stream, ua-parser-js, ctx en colors.js op npm en PyPI—hebben aangetoond dat één enkel gestolen account honderdduizenden downstream commerciële en vitale infrastructuurprojecten in gevaar kan brengen.

Aanvallers buitmaken inloggegevens via wereldwijde lijsten voor credential stuffing, phishing-infrastructuur en getrojaniseerde developer-dependencies. Omdat software-engineers routinematig opereren met root- of beheerderstoegang tot broncode en CI/CD-implementatiepijplijnen, is het beveiligen van code-committers een kwestie van internationale veiligheid voor digitale infrastructuur geworden.

Als reactie hierop heeft GitHub een universeel gefaseerd mandaat ingesteld dat tweestapsverificatie verplicht stelt voor alle code-committers, pakketbeheerders, enterprise-gebruikers en organisatieleden:

📌 Gevolgen van het missen van de 2FA-aanmeldingsdeadline
  • De GitHub-webinterface toont een blokkerend modaal venster dat pull request-beoordelingen, het plaatsen van opmerkingen bij issues en repositorybeheer verhindert totdat 2FA is ingesteld.
  • Enterprise-organisaties die 2FA afdwingen, zullen niet-conforme leden automatisch verwijderen, waardoor schrijftoegang direct vervalt en repository-rechten onmiddellijk worden ingetrokken.
  • Geautomatiseerde workflow-pijplijnen, npm-pakketpublicatiesleutels en gedetailleerde repository-machtigingen worden bevroren totdat aan de accountbeveiligingseisen is voldaan.
02

Stapsgewijze handleiding: TOTP-authenticator koppelen

Hoewel GitHub sms, mobiele meldingen en beveiligingssleutels ondersteunt, vormt de RFC 6238 TOTP Authenticator-app (bijv. Google Authenticator, Bitwarden, 2FA-Tool) de gouden standaard voor leveranciersonafhankelijkheid en offline betrouwbaarheid:

1

Stap 1: Ga naar de authenticatie-instellingen

Meld u aan bij GitHub. Klik op uw profielavatar in de rechterbovenhoek ➔ Settings. Selecteer in het linkermenu onder "Access" de optie Password and authentication.

Pad: Settings ➔ Password and authentication ➔ Two-factor methods ➔ Set up authenticator app
2

Stap 2: Scan de QR-code & bewaar het ruwe Base32-geheim

GitHub toont een optische QR-code met daarnaast een tekstlink: "enter this text code instead".

💡 Beveiligingstip voor professionals: Klik op de tekstlink en kopieer de 32-tekens Base32-geheime tekenreeks (bijv. A3J5N2O9...). Bewaar deze in uw versleutelde wachtwoordmanager. Met deze alfanumerieke seed kunt u op elk gewenst apparaat authenticatietokens opnieuw afleiden als uw telefoon kapotgaat.
3

Stap 3: Voer de 6-cijferige code in ter bevestiging

Scan de code met uw mobiele authenticator. Voer het wisselende 6-cijferige getal dat op uw scherm verschijnt in het verificatieveld van GitHub in en klik op "Continue".

03

Normen voor archivering van herstelcodes & cryptografische hygiëne

Na een geslaagde TOTP-koppeling toont GitHub direct een venster met 16 hexadecimale tokens met koppeltekens (bijv. d4a2b-98f12). Dit venster sluiten zonder de codes permanent op te slaan is de meest voorkomende oorzaak van definitieve buitensluiting van ontwikkelaarsaccounts.

🚨 Cryptografische eigenschappen van herstelcodes

1. Uitsluitend voor eenmalig gebruik: Elke herstelcode wordt direct onomkeerbaar ongeldig gemaakt zodra deze eenmaal wordt gebruikt ter vervanging van een TOTP-code.
2. Hoogste autoriteit: Een herstelcode overschrijft ontbrekende hardware en geeft direct toegang tot het account.
3. Zero-knowledge server-hashing: GitHub slaat deze codes op als onomkeerbare eenrichtingshashes. GitHub Support-medewerkers kunnen uw oorspronkelijke codes onder geen enkele voorwaarde inzien of herstellen!

Aanbevolen drie-staps koude opslagstrategie:

🥇 Bijlage in wachtwoordkluis

Download github-recovery-codes.txt en voeg deze toe aan uw GitHub-item in 1Password, Bitwarden of KeePassXC met door Argon2id afgeleide hoofdsleutels.

🥈 Air-gapped hardwarekluis

Sla het tekstbestand op op een met VeraCrypt versleutelde offline USB-stick die losgekoppeld blijft van lokale netwerken en cloudsynchronisatiediensten.

🥉 Waterdichte fysieke afdruk

Druk een papieren exemplaar af, lamineer het ter bescherming tegen vocht en bewaar het veilig in een fysieke kluis thuis ter verdediging tegen malware en info-stealers op afstand.

Waarschuwing tegen klembordlekken: Wees bij het kopiëren van uw 16 herstelcodes bedacht op klembordbeheerders (zoals Alfred, Raycast of Windows Klembordgeschiedenis). Gevoelige herstelcodes die in platte tekst in klemborddatabases worden opgeslagen, kunnen door malware met lage rechten worden buitgemaakt. Wis uw klembordbuffer altijd onmiddellijk nadat u uw herstelgegevens in uw versleutelde kluis hebt geplakt.
04

Terugvalmethoden: SMS vs. Passkeys vs. GitHub Mobile

GitHub staat de configuratie van secundaire terugvalmechanismen toe. Bekijk onze beveiligingsanalyse van de huidige authenticatievectoren:

Methode Phishingbestendigheid Kwetsbaarheid voor SIM-swap Evaluatie & Praktische toepassing
Passkeys / FIDO2-beveiligingssleutels Absoluut (WebAuthn origin binding voorkomt proxy-phishing) Immuun ⭐⭐⭐⭐⭐ Topaanbeveling (YubiKey / Touch ID)
TOTP Authenticator-app Gemiddeld (Kwetsbaar voor real-time reverse proxies) Immuun ⭐⭐⭐⭐ Universele basis (Volledig onafhankelijk van connectiviteit)
GitHub Mobile push-goedkeuring Gemiddeld (Vereist verificatieprompt met 2-cijferig getal) Immuun ⭐⭐⭐⭐ Uitstekend dagelijks gebruiksgemak
SMS-verificatie fallback Geen (Onversleutelde SS7-signalering, eenvoudig te onderscheppen) Hoog risico ⭐ Niet aanbevolen voor maintainers van belangrijke projecten
05

Terminal Git-workflows: SSH-sleutels, PAT's & 2FA-interactie

Na het activeren van 2FA lopen ontwikkelaars bij reguliere code pushes in de terminal vaak direct tegen foutmeldingen aan:

remote: Support for password authentication was removed on August 13, 2021.
fatal: Authentication failed for 'https://github.com/username/repo.git/'

Technische verklaring: Het Git wire-protocol kan geen interactieve 6-cijferige TOTP-dialogen verwerken. Daarom heeft GitHub de authenticatie met ruwe accountwachtwoorden voor HTTPS Git-verzoeken definitief uitgeschakeld zodra 2FA van kracht is.

🔑 Optie A: Authenticatie via SSH-sleutel (Aanbevolen)

Maakt gebruik van public-key cryptografie (aanbevolen: ed25519). SSH-verbindingen verifiëren via lokale cryptografische privésleutels en omzeilen web-2FA volledig, zonder frequente inlogprompts.

ssh-keygen -t ed25519 -C "[email protected]"
🎫 Optie B: Personal Access Tokens (PAT)

Als HTTPS-transport verplicht is, gaat u naar Settings ➔ Developer settings ➔ Personal access tokens om een token met afgebakende rechten aan te maken. Wanneer in de CLI om een wachtwoord wordt gevraagd, plakt u het PAT in plaats van uw accountwachtwoord.

SSH-commits ondertekenen vs. authenticatie: Merk op dat het gebruik van een SSH-sleutel voor het klonen en pushen van repositories verschilt van het cryptografisch ondertekenen van commits. U kunt hetzelfde Ed25519-sleutelpaar gebruiken om commits te ondertekenen via git config commit.gpgsign true en git config gpg.format ssh, waardoor op GitHub geverifieerde auteur-badges verschijnen naast strikte 2FA-toegangscontrole.

06

Noodherstel: Vergrendelde accounts ontgrendelen zonder 2FA

In het geval van een catastrofale situatie waarbij uw 2FA-telefoon weg is en uw herstelcodedocument verloren is geraakt, biedt GitHub nog één cryptografische reddingsboei: De SSH-sleutel handtekeninguitdaging (SSH Key Signature Challenge).

1
Start het beroepsproces bij buitensluiting Klik bij de 2FA-prompt tijdens het inloggen op "Unable to verify via 2FA?" ➔ selecteer "Use emergency recovery code" ➔ klik indien niet beschikbaar op "Request two-factor authentication reset".
2
Verifieer de eenmalige code van uw beveiligings-e-mail GitHub stuurt een 6-cijferige bevestigings-PIN naar uw primaire geverifieerde e-mailadres. Voer de code in om door te gaan naar de identiteitsverificatie.
3
Voer de lokale terminal SSH-sleuteluitdaging uit GitHub genereert een unieke challenge nonce en instrueert u deze te ondertekenen via de terminal van uw lokale ontwikkelaarswerkstation:
echo "UniqueChallengeString" | ssh-keygen -Y sign -n "github" -f ~/.ssh/id_ed25519
Plak het gecodeerde handtekeningblok terug in het webportaal. GitHub valideert wiskundig dat de handtekening overeenkomt met uw geregistreerde publieke SSH-sleutel. Hiermee wordt definitief eigenaarschap van het account vastgesteld en wordt uw profiel na een beoordelingsperiode ontgrendeld.
🔒 Cryptografische client-side sandbox

Test uw GitHub TOTP-geheim lokaal

Test vóór het afronden van de configuratie uw ruwe Base32-geheime tekenreeks in 2FA-Tool. Alle hashes worden lokaal berekend via browser Web Crypto zonder serveroverdracht.

Open online generator