- 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.
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:
- 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.
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:
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.
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".
A3J5N2O9...). Bewaar deze in uw versleutelde wachtwoordmanager. Met deze alfanumerieke seed kunt u op elk gewenst apparaat authenticatietokens opnieuw afleiden als uw telefoon kapotgaat.
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".
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.
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:
Download github-recovery-codes.txt en voeg deze toe aan uw GitHub-item in 1Password, Bitwarden of KeePassXC met door Argon2id afgeleide hoofdsleutels.
Sla het tekstbestand op op een met VeraCrypt versleutelde offline USB-stick die losgekoppeld blijft van lokale netwerken en cloudsynchronisatiediensten.
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.
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 |
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:
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.
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.
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.
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).
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.
📚 Aanbevolen beveiligingshandleidingen
Veilig overzetten van 2FA-accounts tussen smartphones met behulp van offline QR-codes en Cloudsynchronisatie.
Hoe u weer toegang krijgt tot Google, Microsoft, Steam, Binance, Apple en Discord.
Van RFC 4226 naar RFC 6238: Wiskundige hash-truncation, desynchronisatie en acceptatie op het web.