- L'obligatorietat és permanent: Els desenvolupadors que no configurin el 2FA abans de la data límit assignada veuran bloquejades les seves accions web i se'ls revocaran els permisos als repositoris de les organitzacions.
- Els codis de recuperació són la vostra armilla salvavides: Els 16 codis de recuperació generats són d'un sol ús. Deseu-los immediatament en una caixa forta xifrada o en una impressió física en fred fora de línia.
- Les contrasenyes tradicionals de Git ja no funcionen: Els enviaments (git push) per HTTPS no admeten codis interactius de 6 dígits. Heu d'utilitzar claus SSH o testimonis d'accés personal (PAT) amb permisos limitats.
- Últim recurs criptogràfic: Si perdeu el telèfon i els codis, podeu demostrar la propietat del compte signant un desafiament d'identitat amb la vostra clau privada SSH local registrada prèviament.
Visió general de la política de 2FA obligatori de GitHub i justificació de seguretat
Històricament, les credencials de desenvolupadors compromeses provocaven vulnerabilitats catastròfiques a la cadena de subministrament de programari. Incidents de gran repercussió —com el segrest de paquets com event-stream, ua-parser-js, ctx i colors.js a npm i PyPI— van demostrar que un sol compte sostret podia posar en perill centenars de milers de projectes comercials i infraestructures crítiques dependents.
Els atacants recopilen credencials mitjançant llistes mundials de farciment de credencials (credential stuffing), infraestructures de pesca (phishing) i dependències de desenvolupament amb troians. Com que els enginyers de programari treballen habitualment amb accés arrel o administratiu al codi font i a les cadenes d'integració i desplegament continu (CI/CD), protegir els autors dels canvis (committers) va esdevenir una qüestió de seguretat internacional de la infraestructura.
Com a resposta, GitHub va establir un mandat universal per fases que requereix l'autenticació en dos passos per a tots els autors de codi, publicadors de paquets, usuaris empresarials i membres d'organitzacions:
- La interfície web de GitHub mostra un modal de bloqueig permanent que impedeix revisar sol·licituds d'extracció (pull requests), comentar incidències (issues) i administrar repositoris fins que es completi la configuració del 2FA.
- Les organitzacions empresarials que apliquen 2FA expulsaran automàticament els membres no conformes, retirant l'accés d'escriptura i revocant els privilegis dels repositoris a l'instant.
- Les cadenes de flux de treball automatitzades, les claus de publicació de paquets npm i els permisos granulars de repositoris queden congelats fins que es verifiqui el compliment de la seguretat del compte.
Tutorial pas a pas: Vinculació de l'autenticador TOTP
Tot i que GitHub admet SMS, notificacions mòbils i claus de maquinari, l'aplicació d'autenticació TOTP RFC 6238 (com ara Google Authenticator, Bitwarden o 2FA-Tool) representa l'estàndard d'or per independència de proveïdors i fiabilitat fora de línia:
Pas 1: Anar a la configuració d'autenticació
Inicieu sessió a GitHub. Feu clic a la vostra imatge de perfil a la cantonada superior dreta ➔ Settings (Configuració). A la barra lateral de navegació esquerra, sota «Access» (Accés), seleccioneu Password and authentication (Contrasenya i autenticació).
Pas 2: Escanejar el codi QR i desar la clau secreta Base32 en brut
GitHub mostra un codi QR òptic juntament amb un enllaç de text que diu: «enter this text code instead» (introdueix aquest codi de text en el seu lloc).
A3J5N2O9...). Guardeu-la al vostre gestor de contrasenyes xifrat. Aquesta llavor alfanumèrica us permetrà tornar a derivar testimonis d'autenticació a qualsevol dispositiu si el vostre telèfon queda destruït.
Pas 3: Introduir el codi de 6 dígits per confirmar
Escanegeu el codi amb el vostre autenticador mòbil. Introduïu el número rotatiu de 6 dígits que apareix a la pantalla al camp de verificació de GitHub i feu clic a «Continue» (Continua).
Estàndards d'arxiu dels codis de recuperació i higiene criptogràfica
Un cop vinculat correctament el TOTP, GitHub mostra immediatament un quadre de diàleg amb 16 testimonis hexadecimals amb guió (p. ex., d4a2b-98f12). Tancar aquest quadre sense desar una còpia persistent és la causa més comuna de bloqueig permanent de comptes de desenvolupador.
1. D'un sol ús exclusiu: Cada codi de recuperació s'invalida irreversiblement després del primer ús en substitució d'un codi TOTP.
2. Autoritat màxima: Un codi de recuperació anul·la la manca de maquinari i concedeix accés instantani al compte.
3. Hash al servidor amb coneixement zero: GitHub emmagatzema aquests codis com a hash criptogràfics irreversibles d'un sol sentit. L'equip d'assistència de GitHub no pot recuperar ni llegir els vostres codis originals sota cap circumstància!
Estratègia recomanada d'emmagatzematge en fred de tres nivells:
Baixeu github-recovery-codes.txt i adjunteu-lo a la vostra entrada de GitHub a 1Password, Bitwarden o KeePassXC mitjançant claus mestres derivades amb Argon2id.
Deseu el fitxer de text en una unitat USB fora de línia xifrada amb VeraCrypt, mantinguda desconnectada de xarxes locals i sincronitzadors d'emmagatzematge al núvol.
Imprimiu una còpia en paper, plastifiqueu-la contra la humitat i guardeu-la dins d'una caixa forta de seguretat domèstica per protegir-vos contra programari maliciós d'extracció d'informació remota.
Mètodes d'autenticació alternatius: SMS vs. claus d'accés (Passkeys) vs. GitHub Mobile
GitHub permet configurar mecanismes alternatius de seguretat secundaris. Reviseu la nostra anàlisi de seguretat dels vectors d'autenticació actuals:
| Mètode | Resistència a la pesca (Phishing) | Vulnerabilitat a duplicació de SIM (SIM-Swap) | Avaluació i cas d'ús pràctic |
|---|---|---|---|
| Claus d'accés / Claus de seguretat FIDO2 | Absoluta (la vinculació d'origen de WebAuthn impedeix la pesca per intermediari) | Immune | ⭐⭐⭐⭐⭐ Recomanació principal (YubiKey / Touch ID) |
| Aplicació autenticadora TOTP | Moderada (vulnerable a servidors intermediaris inversos en temps real) | Immune | ⭐⭐⭐⭐ Línia base universal (zero dependència de connectivitat) |
| Aprovació per notificació de GitHub Mobile | Moderada (requereix sol·licitud de verificació de número de 2 dígits) | Immune | ⭐⭐⭐⭐ Excel·lent comoditat diària |
| Verificació alternativa per SMS | Nul·la (senyalització SS7 sense xifrar, fàcilment interceptable) | Alt risc | ⭐ No recomanat per a mantenidors de projectes rellevants |
Fluxos de Git al terminal: Claus SSH, PAT i la seva interacció amb el 2FA
Després d'activar el 2FA, els desenvolupadors es troben sovint amb errors immediats al terminal durant les pujades rutinàries de codi:
fatal: Authentication failed for 'https://github.com/username/repo.git/'
Justificació tècnica: El protocol de transmissió de Git no pot gestionar diàlegs interactius de TOTP de 6 dígits. Per aquest motiu, GitHub va desactivar de manera permanent l'autenticació amb contrasenya de compte en brut per a peticions Git mitjançant HTTPS quan el 2FA està en vigor.
Utilitza criptografia de clau pública (recomanat: ed25519). Les connexions SSH s'autentiquen mitjançant claus privades criptogràfiques locals i eludeixen completament el 2FA web sense sol·licituds freqüents de credencials.
Si el transport per HTTPS és obligatori, aneu a Settings ➔ Developer settings ➔ Personal access tokens per generar un testimoni amb permisos limitats. Quan el terminal us demani una contrasenya a la línia d'ordres, enganxeu el PAT en lloc de la vostra contrasenya de compte.
Signatura de canvis (commits) per SSH vs. Autenticació: Tingueu en compte que utilitzar una clau SSH per clonar i pujar canvis a repositoris és un procés diferent de la signatura criptogràfica de canvis. Podeu utilitzar el mateix parell de claus Ed25519 per signar canvis amb git config commit.gpgsign true i git config gpg.format ssh, generant insígnies d'autor verificat a GitHub juntament amb un control d'accés estricte amb 2FA.
Recuperació davant desastres: Desbloqueig de comptes sense 2FA
En cas d'una fallada catastròfica on hàgiu perdut el telèfon 2FA i el document de codis de recuperació, GitHub ofereix una última armilla salvavides criptogràfica: El desafiament de signatura amb clau SSH.
Proveu la vostra clau secreta TOTP de GitHub localment
Abans de confirmar la configuració, proveu la vostra cadena secreta Base32 en brut a 2FA-Tool. Tots els hash es calculen localment mitjançant la Web Crypto API del navegador sense cap transmissió a servidors.
📚 Guies de seguretat relacionades
Com transferir comptes 2FA entre telèfons intel·ligents de manera segura mitjançant codis QR fora de línia i sincronització al núvol.
Com recuperar l'accés a Google, Microsoft, Steam, Binance, Apple i Discord.
De l'RFC 4226 a l'RFC 6238: truncament matemàtic de hash, desincronització i adopció web.