🐙 Panduan Keamanan Pengembang ✓ Kepatuhan Wajib

Panduan Lengkap Pengaturan 2FA GitHub, Cadangan SMS & Kode Pemulihan

Seiring percepatan serangan rantai pasokan perangkat lunak sumber terbuka (open-source) di seluruh dunia, GitHub mewajibkan autentikasi dua faktor (2FA) bagi semua pengembang yang berkontribusi kode. Sayangnya, ribuan insinyur kehilangan akses total ke organisasi dan repositori privat mereka setiap bulan akibat mengabaikan kode pemulihan. Panduan teknis ini mengulas konfigurasi TOTP, pengarsipan kode pemulihan offline (cold storage), interaksi kunci SSH, dan prosedur kriptografis darurat saat akun terkunci.

2FA
Tim Rekayasa Keamanan 2FA-Tool
Diperbarui Oktober 2026
Estimasi Waktu Baca: 13 menit (2.400+ kata)
GitHub 2FA Kode Pemulihan Rantai Pasokan
💡 Poin Penting Pengembang (TL;DR)
  • Penerapan Wajib Bersifat Permanen: Pengembang yang tidak mengonfigurasi 2FA sebelum batas waktu yang ditentukan akan diblokir dari aksi antarmuka web dan dicabut hak aksesnya dari repositori organisasi.
  • Kode Pemulihan adalah Penyelamat Anda: 16 kode pemulihan yang dihasilkan bersifat sekali pakai. Segera simpan di brankas terenkripsi atau cetak secara fisik untuk penyimpanan offline (cold storage).
  • Kata Sandi Akun Git Tidak Lagi Berlaku: Perintah git push melalui HTTPS tidak mendukung dialog interaktif kode TOTP 6 digit. Anda wajib menggunakan Kunci SSH atau Personal Access Token (PAT) dengan izin terperinci.
  • Upaya Kriptografis Terakhir: Jika Anda kehilangan ponsel dan kode pemulihan, Anda dapat membuktikan kepemilikan akun dengan menandatangani tantangan identitas menggunakan kunci privat SSH lokal yang telah didaftarkan sebelumnya.
01

Gambaran Umum Kebijakan 2FA Wajib GitHub & Rasional Keamanan

Secara historis, peretasan kredensial pengembang telah memicu bencana kerentanan rantai pasokan perangkat lunak. Insiden berprofil tinggi—seperti pengambilalihan paket event-stream, ua-parser-js, ctx, dan colors.js di npm dan PyPI—menunjukkan bahwa satu akun pengembang yang dicuri dapat membahayakan ratusan ribu proyek komersial dan infrastruktur penting di hilir.

Penyerang mengumpulkan kredensial menggunakan daftar credential-stuffing global, infrastruktur phishing canggih, dan dependensi pengembang yang disisipi trojan. Karena para insinyur perangkat lunak secara rutin bekerja dengan hak akses root atau administratif ke kode sumber dan jalur deployment CI/CD, pengamanan akun para kontributor kode telah bertransformasi menjadi prioritas keselamatan infrastruktur global.

Menanggapi ancaman ini, GitHub menetapkan kebijakan wajib multifase yang mewajibkan autentikasi dua faktor untuk semua kontributor kode, penerbit paket, pengguna enterprise, dan anggota organisasi:

📌 Konsekuensi Melewatkan Batas Waktu Pendaftaran 2FA
  • Antarmuka web GitHub akan memunculkan modal penguncian wajib, melarang peninjauan pull request, komentar pada issue, serta administrasi repositori hingga penyiapan 2FA selesai.
  • Organisasi enterprise yang menegakkan kebijakan 2FA akan mengeluarkan anggota yang tidak patuh secara otomatis, mencabut akses tulis dan izin repositori seketika.
  • Jalur workflow otomatis, token penerbitan paket npm, serta izin repositori terperinci akan dibekukan hingga kepatuhan keamanan akun diverifikasi kembali.
02

Panduan Langkah Demi Langkah: Pemasangan Autentikator TOTP

Meskipun GitHub mendukung SMS, notifikasi aplikasi seluler, dan kunci keamanan perangkat keras, aplikasi Autentikator TOTP standar RFC 6238 (seperti Google Authenticator, Bitwarden, 2FA-Tool) merupakan standar emas berkat independensi vendor dan keandalan penuh saat offline:

1

Langkah 1: Buka Pengaturan Autentikasi

Masuk ke GitHub. Klik avatar profil Anda di sudut kanan atas ➔ Settings. Pada bilah navigasi kiri di bawah bagian "Access", pilih Password and authentication.

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

Langkah 2: Pindai Kode QR & Simpan Rahasia Base32 Mentah

GitHub menampilkan kode QR optik bersama tautan teks: "enter this text code instead".

💡 Tips Keamanan Profesional: Klik tautan teks tersebut dan salin string rahasia Base32 sepanjang 32 karakter (misalnya A3J5N2O9...). Simpan di dalam pengelola kata sandi (password manager) terenkripsi Anda. Kunci alfanumerik ini memungkinkan Anda membuat ulang token autentikasi di perangkat mana pun jika ponsel Anda hilang atau rusak.
3

Langkah 3: Masukkan Kode 6 Digit untuk Konfirmasi

Pindai kode QR dengan aplikasi autentikator Anda. Masukkan 6 digit angka bergulir yang muncul di layar ponsel ke dalam kolom verifikasi GitHub, lalu klik "Continue".

03

Standar Pengarsipan Kode Pemulihan & Higienitas Kriptografis

Setelah berhasil memasangkan TOTP, GitHub akan langsung menampilkan modal berisi 16 token heksadesimal dengan tanda hubung (misalnya d4a2b-98f12). Menutup modal ini tanpa menyimpan cadangan permanen adalah penyebab utama akun pengembang terkunci secara permanen.

🚨 Karakteristik Kriptografis Kode Pemulihan

1. Hanya Sekali Pakai: Setiap kode pemulihan akan langsung dibatalkan secara permanen setelah digunakan satu kali sebagai pengganti kode TOTP.
2. Otoritas Tertinggi: Kode pemulihan mengesampingkan perangkat keras yang hilang dan memberikan akses langsung ke akun.
3. Hashing Server Zero-Knowledge: GitHub menyimpan kode-kode ini dalam bentuk hash kriptografis satu arah yang tidak dapat dipulihkan. Tim Dukungan GitHub sama sekali tidak dapat memulihkan atau melihat kode asli Anda dalam kondisi apa pun!

Strategi Tiga Tingkat Penyimpanan Dingin (Cold Storage) yang Direkomendasikan:

🥇 Lampiran Pengelola Kata Sandi

Unduh berkas github-recovery-codes.txt dan lampirkan ke entri GitHub Anda di 1Password, Bitwarden, atau KeePassXC yang dilindungi kunci turunan Argon2id.

🥈 Perangkat Keras Air-Gapped

Simpan berkas teks tersebut ke flashdisk USB offline yang dienkripsi menggunakan VeraCrypt, terpisah dari jaringan lokal dan sinkronisasi cloud.

🥉 Cetakan Fisik Tahan Air

Cetak salinan di atas kertas, laminasi agar terlindung dari kelembapan, dan simpan di dalam brankas fisik rumah untuk mencegah pencurian melalui info-stealer malware jarak jauh.

Peringatan Pencegahan Kebocoran Clipboard: Saat menyalin 16 kode pemulihan Anda, berhati-hatilah terhadap pengelola riwayat clipboard (seperti Alfred, Raycast, atau Riwayat Clipboard Windows). Kode pemulihan sensitif yang tersimpan dalam basis data teks biasa di clipboard dapat dieksfiltrasi oleh malware berhak akses rendah. Selalu bersihkan buffer clipboard Anda segera setelah menempelkan kredensial ke brankas terenkripsi.
04

Metode Autentikasi Cadangan: SMS vs. Passkey vs. GitHub Mobile

GitHub memungkinkan konfigurasi mekanisme cadangan sekunder. Pelajari perbandingan keamanan di antara metode-metode autentikasi berikut:

Metode Ketahanan Phishing Kerentanan SIM-Swap Evaluasi & Kasus Penggunaan Praktis
Passkey / Kunci Keamanan FIDO2 Mutlak (Pengikatan origin WebAuthn mencegah proxy phishing) Kebal ⭐⭐⭐⭐⭐ Sangat Direkomendasikan (YubiKey / Touch ID)
Aplikasi Autentikator TOTP Sedang (Rentan terhadap reverse proxy waktu nyata) Kebal ⭐⭐⭐⭐ Standar Universal (Bebas ketergantungan koneksi)
Persetujuan Push GitHub Mobile Sedang (Memerlukan verifikasi pencocokan 2 digit angka) Kebal ⭐⭐⭐⭐ Sangat Praktis untuk Keseharian
Cadangan Verifikasi SMS Nol (Protokol SS7 tidak terenkripsi, sangat mudah dicegat) Risiko Tinggi ⭐ Tidak Disarankan untuk Maintainer Terkemuka
05

Alur Kerja Git Terminal: Kunci SSH, PAT & Interaksi 2FA

Setelah mengaktifkan 2FA, pengembang sering kali langsung mengalami kesalahan terminal saat melakukan push kode harian:

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

Rasional Teknis: Protokol kawat Git (Git wire protocol) tidak dapat menangani dialog interaktif kode TOTP 6 digit. Oleh karena itu, GitHub secara permanen menonaktifkan autentikasi kata sandi akun untuk permintaan Git HTTPS saat 2FA diberlakukan.

🔑 Opsi A: Autentikasi Kunci SSH (Direkomendasikan)

Menggunakan kriptografi kunci publik (sangat direkomendasikan: ed25519). Koneksi SSH mengautentikasi melalui kunci privat lokal dan melewati 2FA Web secara langsung tanpa meminta kredensial berulang kali.

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

Jika transmisi HTTPS wajib digunakan, buka Settings ➔ Developer settings ➔ Personal access tokens untuk membuat token dengan cakupan terbatas. Saat diminta kata sandi di CLI, tempelkan PAT alih-alih kata sandi akun Anda.

Penandatanganan Commit SSH vs. Autentikasi: Perlu diingat bahwa menggunakan kunci SSH untuk clone dan push repositori berbeda dengan penandatanganan commit secara kriptografis. Anda dapat menggunakan pasangan kunci Ed25519 yang sama untuk menandatangani commit dengan perintah git config commit.gpgsign true dan git config gpg.format ssh, sehingga menghasilkan lencana verified author di GitHub sekaligus mempertahankan kontrol akses 2FA yang ketat.

06

Pemulihan Bencana: Membuka Akun Terkunci Tanpa 2FA

Dalam skenario kegagalan fatal saat ponsel 2FA Anda hilang dan dokumen kode pemulihan lenyap, GitHub menyediakan satu penyelamat kriptografis terakhir: Tantangan Tanda Tangan Kunci SSH.

1
Ajukan Banding Penguncian Akun Pada layar permintaan 2FA saat login, klik "Unable to verify via 2FA?" ➔ pilih "Use emergency recovery code" ➔ jika tidak tersedia, klik "Request two-factor authentication reset".
2
Verifikasi Kode PIN Sekali Pakai Email Keamanan GitHub akan mengirimkan kode PIN konfirmasi 6 digit ke alamat email utama Anda yang terverifikasi. Masukkan kode tersebut untuk melanjutkan ke tahap verifikasi identitas.
3
Jalankan Tantangan Kunci SSH di Terminal Lokal GitHub menghasilkan string tantangan unik (nonce) dan meminta Anda menandatanganinya menggunakan terminal komputer lokal pengembang Anda:
echo "UniqueChallengeString" | ssh-keygen -Y sign -n "github" -f ~/.ssh/id_ed25519
Tempelkan blok tanda tangan yang dihasilkan kembali ke portal web GitHub. GitHub akan memvalidasi secara matematis bahwa tanda tangan tersebut cocok dengan kunci publik SSH terdaftar Anda, membuktikan kepemilikan definitif atas akun dan membuka profil Anda setelah masa peninjauan selesai.
🔒 Kotak Pasir Kriptografis Sisi Klien

Uji Kunci Rahasia TOTP GitHub Anda Secara Lokal

Sebelum menyelesaikan konfigurasi, uji string rahasia Base32 mentah Anda di 2FA-Tool. Semua hash dihitung secara lokal melalui Web Crypto API peramban tanpa transmisi server apa pun.

Buka Generator Online