- Kohustuslik nõue on alaline: Arendajatel, kes ei seadista 2FA-d tähtajaks, blokeeritakse veebipõhised toimingud ja tühistatakse ligipääs organisatsiooni repositooriumidele.
- Taastekoodid on teie päästerõngas: Genereeritud 16 taastekoodi on ühekordsed. Salvestage need kohe krüpteeritud paroolihoidlasse või võrguühenduseta füüsilisele väljatrükile.
- Giti paroolid enam ei tööta: HTTPS Git push ei võimalda interaktiivsete 6-kohaliste koodide sisestamist. Peate kasutama SSH-võtmeid või piiratud õigustega isiklikke juurdepääsulubasid (Personal Access Token, PAT).
- Krüptograafiline viimane võimalus: Kui kaotate telefoni ja taastekoodid, saate omandiõigust tõendada, allkirjastades identiteedikontrolli väljakutse oma varem registreeritud kohaliku SSH privaatvõtmega.
GitHubi kohustusliku 2FA poliitika ülevaade ja turvalisuse põhjendus
Ajalooliselt on kompromiteeritud arendajakontod põhjustanud katastroofilisi tarkvara tarneahela turvanõrkusi. Laialdast vastukaja pälvinud intsidendid – nagu pakettide event-stream, ua-parser-js, ctx ja colors.js ülevõtmised npm ja PyPI repositooriumides – tõestasid, et üksainus varastatud konto võib ohustada sadu tuhandeid allavoolu äri- ja elutähtsaid taristuprojekte.
Ründajad koguvad volitusi globaalsete paroolilekete, andmepüügitaristu ning pahavaraga nakatatud arendajasõltuvuste kaudu. Kuna tarkvarainseneridel on igapäevaselt administraatori- või juurõigused lähtekoodile ja CI/CD juurutustorudele, sai koodikirjutajate kaitsmisest rahvusvahelise taristuturbe vältimatu prioriteet.
Vastuseks kehtestas GitHub mitmeetapilise universaalse mandaadi, mis nõuab kahefaktorilist autentimist kõigilt koodi panustajatelt, pakettide avaldajatelt, ettevõtete kasutajatelt ja organisatsiooni liikmetelt:
- GitHubi veebiliides kuvab kohustusliku modulaarakna, keelates pull requestide ülevaatamise, issue'de kommenteerimise ja repositooriumi haldamise kuni 2FA seadistuse lõpuleviimiseni.
- Ettevõtteorganisatsioonid, mis nõuavad 2FA-d, eemaldavad automaatselt nõuetele mittevastavad liikmed, tühistades kohe kirjutamisõigused ja repositooriumi privileegid.
- Automaatsed töövood, npm pakettide avaldamisvõtmed ja detailsed repositooriumiload külmutatakse, kuni konto vastavus nõuetele on kinnitatud.
Samm-sammuline juhend: TOTP autentija sidumine
Kuigi GitHub toetab SMS-i, mobiilimärguandeid ja riistvaravõtmeid, on RFC 6238 TOTP autentimisrakendus (nt Google Authenticator, Bitwarden, 2FA-Tool) tarnijasõltumatuse ja võrguühenduseta töökindluse kuldstandard:
1. samm: Liikuge autentimissätetesse
Logige GitHubi sisse. Klõpsake ülemises paremas nurgas oma profiiliikooni ➔ Settings. Valige vasakpoolsest külgribast "Access" alt Password and authentication.
2. samm: Skannige QR-kood ja salvestage Base32 salavõti
GitHub kuvab optilise QR-koodi kõrvuti tekstilingiga "enter this text code instead".
A3J5N2O9...). Salvestage see oma krüpteeritud paroolihaldurisse. See tähtnumbriline algseeme võimaldab teil telefoni hävimisel koodid mis tahes seadmes uuesti tuletada.
3. samm: Sisestage kinnitamiseks 6-kohaline kood
Skannige kood mobiilse autentijaga. Sisestage ekraanile ilmuv 6-kohaline number GitHubi kinnitusväljale ja klõpsake nuppu "Continue".
Taastekoodide arhiveerimise standardid ja krüptograafiline hügieen
Pärast TOTP edukat sidumist kuvab GitHub kohe modulaarakna 16 sidekriipsuga heksadetsimaalkoodiga (nt d4a2b-98f12). Selle akna sulgemine ilma koode püsivalt varundamata on kõige levinum põhjus, miks arendajad oma kontodest lõplikult ilma jäävad.
1. Ainult ühekordne kasutus: Iga taastekood muutub pärast esimest kasutuskorda TOTP koodi asemel pöördumatult kehtetuks.
2. Täielik autoriteet: Taastekood asendab puuduva seadme ja tagab kohese ligipääsu kontole.
3. Nullteadmistega serveripoolne räsimine: GitHub talletab neid koode pöördumatute ühesuunaliste krüptograafiliste räridena. GitHubi klienditugi ei saa teie algseid koode mitte mingil juhul taastada ega vaadata!
Soovitatav kolmetasandiline külmhoiustamise strateegia:
Laadige alla github-recovery-codes.txt ja lisage see oma GitHubi kirje juurde 1Passwordis, Bitwardenis või KeePassXC-s, kasutades Argon2id baasil tuletatud peavõtmeid.
Salvestage tekstifail VeraCryptiga krüpteeritud võrguühenduseta USB-mälupulgale, mis on lahutatud kohalikest võrkudest ja pilvesünkroonijatest.
Printige füüsiline paberkoopia, lamineerige see niiskuse kaitseks ja hoiustage koduses seifis, et kaitsta seda kaughaldustarkvara ja troojalaste eest.
Varuauteerimismeetodid: SMS vs. Passkeys vs. GitHub Mobile
GitHub lubab seadistada mitmeid alternatiivseid varumeetodeid. Tutvuge meie turvaanalüüsiga praeguste autentimisviiside kohta:
| Meetod | Andmepüügikindlus | SIM-vahetuse haavatavus | Hinnang ja praktiline kasutusjuht |
|---|---|---|---|
| Passkeys / FIDO2 turvavõtmed | Täielik (WebAuthn seotus domeeniga tõkestab proxy-andmepüügi) | Puutumatu | ⭐⭐⭐⭐⭐ Parim soovitus (YubiKey / Touch ID) |
| TOTP autentimisrakendus | Mõõdukas (haavatav reaalajas pöördproksidele) | Puutumatu | ⭐⭐⭐⭐ Universaalne baastase (sõltumatu internetist) |
| GitHub Mobile tõukekinnitus | Mõõdukas (nõuab kahekohalise numbri kinnitamist) | Puutumatu | ⭐⭐⭐⭐ Suurepärane igapäevane mugavus |
| SMS-kinnituse varuvariant | Puudub (krüpteerimata SS7 signaalimine, lihtne pealt kuulata) | Kõrge risk | ⭐ Ei soovitata kriitiliste projektide haldajatele |
Terminali Git-töövood: SSH-võtmed, PAT-load ja 2FA koosmõju
Pärast 2FA aktiveerimist puutuvad arendajad rutiinsete koodi pushimiste ajal sageli kokku terminali tõrketeatega:
fatal: Authentication failed for 'https://github.com/username/repo.git/'
Tehniline põhjendus: Giti võrguprotokoll ei toeta interaktiivset 6-kohalise TOTP koodi küsimist. Seetõttu lõpetas GitHub HTTPS Git-päringute puhul tavapärase konto parooli toetamise, kui 2FA on aktiveeritud.
Kasutab asümmeetrilist krüptograafiat (soovitatav: ed25519). SSH-ühendused autenditakse kohaliku privaatvõtmega ja mööduvad veebi 2FA-st täielikult ilma sagedaste koodiküsimisteta.
Kui HTTPS-transport on vältimatu, minge Settings ➔ Developer settings ➔ Personal access tokens ja looge sobivate õigustega luba. Kui käsurida küsib parooli, kleepige oma konto parooli asemel PAT.
SSH commitide allkirjastamine vs. autentimine: Pange tähele, et SSH-võtme kasutamine koodi kloonimiseks ja pushimiseks erineb commitide krüptograafilisest allkirjastamisest. Saate kasutada sama Ed25519 võtmepaari ka commitide allkirjastamiseks käskudega git config commit.gpgsign true ja git config gpg.format ssh, saavutades GitHubis verifitseeritud autori märgid kõrvuti range 2FA juurdepääsukontrolliga.
Avariitaaste: lukustatud konto avamine ilma 2FA-ta
Tõsise tõrke korral, kus teie 2FA telefon on kadunud ja taastekoodide fail hävinud, pakub GitHub ühte viimast krüptograafilist päästerõngast: SSH-võtme allkirjastamise väljakutset (SSH Key Signature Challenge).
Testige oma GitHubi TOTP salavõtit kohapeal
Enne seadistuse kinnitamist testige oma Base32 salavõtme stringi 2FA-Toolis. Kõik räsid arvutatakse lokaalselt brauseri Web Crypto API abil ilma andmeid serveritesse edastamata.
📚 Seotud turvajuhendid
2FA kontode turvaline ülekandmine nutitelefonide vahel võrguühenduseta QR-koodide abil.
Kuidas taastada juurdepääs teenustes Google, Microsoft, Steam, Binance, Apple ja Discord.
RFC 4226 kuni RFC 6238: Matemaatiline räsikärbe, desünkroniseerimine ja veebikasutus.