🐙 Fejlesztői biztonsági kézikönyv ✓ Kötelező megfelelőség

Teljes útmutató a GitHub 2FA beállításához, az SMS-tartalékhoz és a helyreállítási kódokhoz

A nyílt forráskódú szoftverek ellátási lánca elleni támadások globális felgyorsulásával a GitHub kötelezővé teszi a kétlépcsős azonosítást (2FA) minden kódot beküldő fejlesztő számára. Sajnos havonta mérnökök ezrei veszítik el véglegesen a hozzáférésüket szervezeteikhez és privát tárolóikhoz az elhanyagolt helyreállítási kódok miatt. Ez a műszaki útmutató bemutatja a TOTP konfigurálását, a helyreállítási kódok offline hidegarchiválását, az SSH-kulcsok integrációját és a vészhelyzeti kriptográfiai fiókmentést.

2FA
2FA-Tool Biztonsági Csapat
Frissítve: 2026. október
Becsült olvasási idő: 13 perc (2400+ szó)
GitHub 2FA Helyreállítási kódok Ellátási lánc
💡 Fejlesztői összefoglaló (TL;DR)
  • A kötelező megfelelőség végleges: Azok a fejlesztők, akik a megadott határidőig nem konfigurálják a 2FA-t, le lesznek tiltva a webes műveletek végzéséről, és kizárásra kerülnek a szervezeti tárolókból.
  • A helyreállítási kódok jelentik a mentőövet: A generált 16 darab helyreállítási kód egyszer használatos. Mentse őket titkosított jelszókezelőbe vagy azonnal nyomtassa ki offline fizikai másolatként.
  • A Git jelszavak már nem működnek: A HTTPS-en keresztüli Git push műveletek nem tudnak interaktív 6 számjegyű kódokat fogadni. SSH-kulcsokat vagy korlátozott hatókörű személyes hozzáférési tokeneket (PAT) kell használnia.
  • Kriptográfiai végső menedék: Ha elveszíti telefonját és kódjait, igazolhatja tulajdonjogát a korábban regisztrált helyi privát SSH-kulcsával történő azonosítási kihívás aláírásával.
01

A GitHub kötelező 2FA irányelvének áttekintése és biztonsági indoklása

A múltban a kompromittálódott fejlesztői hitelesítő adatok katasztrofális szoftver-ellátási lánc sebezhetőségeket idéztek elő. A nagy visszhangot kiváltó incidensek – például az event-stream, ua-parser-js, ctx és colors.js átvétele az npm és PyPI rendszereken – bebizonyították, hogy egyetlen ellopott fiók kereskedelmi és kritikus infrastrukturális projektek százezreit sodorhatja veszélybe.

A támadók globális hitelesítőadat-kitöltési listák (Credential Stuffing), adathalász infrastruktúrák és trójaival fertőzött fejlesztői függőségek révén gyűjtenek belépési adatokat. Mivel a szoftvermérnökök rutinszerűen root vagy adminisztrátori hozzáféréssel rendelkeznek a forráskódhoz és a CI/CD telepítési csővezetékekhez, a kódírók védelme a nemzetközi infrastruktúra biztonságának alapvető kérdésévé vált.

Erre válaszul a GitHub több szakaszból álló egyetemes kötelezettséget vezetett be, amely kétlépcsős azonosítást ír elő minden kódoló, csomagközzétevő, vállalati felhasználó és szervezeti tag számára:

📌 A 2FA regisztrációs határidő elmulasztásának következményei
  • A GitHub webes felülete zárolt módba vált (Captive Gate Modal), megtiltva a Pull Requestek ellenőrzését, az Issue-khoz fűzött megjegyzéseket és a repók adminisztrációját a 2FA beállításának befejezéséig.
  • A 2FA-t megkövetelő vállalati szervezetek automatikusan kizárják a nem megfelelő tagokat, azonnal visszavonva az írási jogosultságokat és a repóhozzáféréseket.
  • Az automatizált munkafolyamat-folyamatok (Workflow-k), az npm csomagközzétételi kulcsok és a részletes repójogosultságok befagyasztásra kerülnek a fiók biztonsági megfelelőségének hitelesítéséig.
02

Útmutató lépésről lépésre: TOTP hitelesítő párosítása

Bár a GitHub támogatja az SMS-t, a mobil push értesítéseket és a hardveres biztonsági kulcsokat, az RFC 6238 TOTP hitelesítő alkalmazások (pl. Google Authenticator, Bitwarden, 2FA-Tool) jelentik a szállítófüggetlenség és az offline megbízhatóság arany standardját:

1

1. lépés: Navigáljon a Hitelesítési beállításokhoz

Jelentkezzen be a GitHubra. Kattintson a profilképére a jobb felső sarokban ➔ Settings. A bal oldali navigációs sávban az "Access" alatt válassza a Password and authentication lehetőséget.

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

2. lépés: QR-kód beolvasása és a nyers Base32 titok megőrzése

A GitHub megjelenít egy optikai QR-kódot egy szöveges hivatkozás mellett: "enter this text code instead".

💡 Profi biztonsági tipp: Kattintson a szöveges hivatkozásra, és másolja ki a 32 karakteres Base32 titkos karakterláncot (pl. A3J5N2O9...). Mentse el titkosított jelszókezelőjébe. Ez az alfanumerikus mag lehetővé teszi a hitelesítési tokenek újragenerálását bármilyen eszközön, ha a telefonja megsemmisül.
3

3. lépés: Írja be a 6 számjegyű kódot a megerősítéshez

Olvassa be a kódot mobil hitelesítőjével. Írja be a képernyőn megjelenő, 30 másodpercenként frissülő 6 számjegyű számot a GitHub ellenőrző mezőjébe, majd kattintson a "Continue" gombra.

03

Helyreállítási kódok archiválási szabványai és kriptográfiai higiénia

A sikeres TOTP párosítást követően a GitHub azonnal megjelenít egy felugró ablakot 16 kötőjellel tagolt hexadecimális tokennel (pl. d4a2b-98f12). Ennek az ablaknak a bezárása tartós biztonsági mentés nélkül a leggyakoribb oka a fejlesztői fiókok végleges zárolásának.

🚨 A helyreállítási kódok kriptográfiai jellemzői

1. Kizárólag egyszer használatosak: Minden helyreállítási kód visszavonhatatlanul érvényét veszti az első TOTP-kód helyetti felhasználáskor.
2. Legfelsőbb szintű jogosultság: A helyreállítási kód felülbírálja a hiányzó hardvert, és azonnali fiókhozzáférést biztosít.
3. Zéró ismeretű (Zero-Knowledge) szerverhashing: A GitHub ezeket a kódokat visszafordíthatatlan, egyirányú kriptográfiai hash-ként tárolja. A GitHub támogatási mérnökei semmilyen körülmények között nem tudják visszaállítani vagy elolvasni az eredeti kódjait!

Ajánlott háromszintű hidegtárolási stratégia:

🥇 Jelszótár melléklet

Töltse le a github-recovery-codes.txt fájlt, és csatolja a GitHub bejegyzéséhez a 1Password, Bitwarden vagy KeePassXC alkalmazásban Argon2id-származtatott mesterkulcsokkal védve.

🥈 Légmentesen elzárt (Air-Gapped) hardvertár

Mentse a szöveges fájlt egy VeraCrypt-tel titkosított offline USB-meghajtóra, amelyet leválasztva tart a helyi hálózatokról és a felhőszinkronizálókról.

🥉 Vízálló fizikai nyomat

Nyomtasson ki egy fizikai papírmásolatot, laminálja a nedvesség ellen, és zárja el egy otthoni széfbe a távoli adatlopó kártevők (Info-stealerek) elleni védelem érdekében.

Vágólap-szivárgás megelőzési figyelmeztetés: A 16 helyreállítási kód másolásakor ügyeljen a vágólap-előzménykezelőkre (például Alfred, Raycast vagy Windows Vágólap-előzmények). A vágólap adatbázisaiban egyszerű szövegként tárolt érzékeny helyreállítási kódokat alacsony jogosultságú kártevők is kiszivárogtathatják. Mindig törölje a vágólap pufferét azonnal, miután beillesztette a helyreállítási adatokat a titkosított tárolójába.
04

Tartalék hitelesítési módszerek: SMS vs. Passkey-k vs. GitHub Mobile

A GitHub lehetővé teszi másodlagos tartalék mechanizmusok konfigurálását. Tekintse át biztonsági elemzésünket a jelenlegi hitelesítési vektorokról:

Módszer Adathalászat elleni ellenállás SIM-Swap sebezhetőség Értékelés és gyakorlati használat
Passkey-k / FIDO2 biztonsági kulcsok Abszolút (A WebAuthn eredetkötés megakadályozza a proxy alapú adathalászatot) Immunis ⭐⭐⭐⭐⭐ Legjobb ajánlás (YubiKey / Touch ID)
TOTP hitelesítő alkalmazás Mérsékelt (Valós idejű reverse proxykkal szemben sebezhető) Immunis ⭐⭐⭐⭐ Univerzális alapkövetelmény (Nulla hálózati függőség)
GitHub Mobile Push jóváhagyás Mérsékelt (2 számjegyű számellenőrzési promptot igényel) Immunis ⭐⭐⭐⭐ Kiváló mindennapi kényelem
SMS-alapú tartalék ellenőrzés Nulla (Titkosítatlan SS7 jelzésrendszer, könnyen lehallgatható) Magas kockázat ⭐ Kiemelt csomaggondozóknak nem ajánlott
05

Terminál Git munkafolyamatok: SSH-kulcsok, PAT-ok és a 2FA kapcsolata

A 2FA aktiválása után a fejlesztők gyakran azonnali terminálhibákkal szembesülnek a rutinszerű push műveletek során:

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

Műszaki indoklás: A Git átviteli protokoll nem képes kezelni az interaktív 6 számjegyű TOTP párbeszédpaneleket. Ennek eredményeként a GitHub véglegesen megszüntette a nyers fiókjelszóval történő hitelesítést a HTTPS Git-kéréseknél, ha a 2FA be van kapcsolva.

🔑 A opció: SSH-kulcsos hitelesítés (Ajánlott)

Nyilvános kulcsú kriptográfiát használ (ajánlott: ed25519). Az SSH-kapcsolatok helyi privát kriptográfiai kulcsokkal hitelesítenek, és teljesen megkerülik a webes 2FA-t gyakori jelszókérések nélkül.

ssh-keygen -t ed25519 -C "[email protected]"
🎫 B opció: Személyes hozzáférési tokenek (PAT)

Ha a HTTPS átvitel kötelező, navigáljon a Settings ➔ Developer settings ➔ Personal access tokens menüpontra egy korlátozott jogosultságú token létrehozásához. Amikor a CLI jelszót kér, a fiók jelszava helyett a PAT-ot illessze be.

SSH commit-aláírás vs. hitelesítés: Vegye figyelembe, hogy az SSH-kulcs repók klónozására és pusholására történő használata elkülönül a kriptográfiai commit-aláírástól. Ugyanazt az Ed25519 kulcspárt használhatja commitok aláírására a git config commit.gpgsign true és a git config gpg.format ssh parancsokkal, ami ellenőrzött (Verified) szerzői jelvényeket eredményez a GitHubon a szigorú 2FA hozzáférés-vezérlés mellett.

06

Katasztrófa utáni helyreállítás: Zárolt fiókok feloldása 2FA nélkül

Abban a katasztrofális esetben, ha a 2FA telefonja elveszett, és a helyreállítási kódok dokumentuma sincs meg, a GitHub egy végső kriptográfiai mentőövet kínál: Az SSH-kulcs aláírási kihívást (SSH Key Signature Challenge).

1
Fiókzárolási felülvizsgálat kezdeményezése A bejelentkezés során a 2FA promptnál kattintson erre: "Unable to verify via 2FA?" ➔ válassza: "Use emergency recovery code" ➔ ha nem áll rendelkezésre, kattintson: "Request two-factor authentication reset".
2
Biztonsági e-mail egyszeri kódjának ellenőrzése A GitHub egy 6 számjegyű megerősítő PIN-kódot küld az elsődleges, ellenőrzött e-mail-címére. Írja be a kódot a személyazonosság ellenőrzéséhez.
3
Helyi terminál SSH-kulcs kihívás végrehajtása A GitHub létrehoz egy egyedi kihívási értéket (nonce), és utasítja Önt, hogy írja alá a helyi fejlesztői munkaállomása terminálján:
echo "UniqueChallengeString" | ssh-keygen -Y sign -n "github" -f ~/.ssh/id_ed25519
Illessze be a páncélozott aláírási blokkot a webes portálra. A GitHub matematikailag ellenőrzi, hogy az aláírás megegyezik-e a regisztrált nyilvános SSH-kulcsával, megállapítva a fiók egyértelmű tulajdonjogát, és felülvizsgálati időszak után feloldja a profilját.
🔒 Ügyféloldali kriptográfiai tesztkörnyezet

Tesztelje GitHub TOTP titkát helyileg

A beállítás véglegesítése előtt tesztelje nyers Base32 titkos kulcsát a 2FA-Tool eszközben. Minden hash helyileg számítódik a böngésző Web Crypto API-ján keresztül, szerverátvitel nélkül.

Online generátor megnyitása