
Satu benda yang paling ditakuti oleh setiap pengaturcara (developer) adalah menyedari kod peribadi atau projek pelanggan di GitHub berjaya digodam. Lebih teruk lagi jika kunci API rahsia (API keys/secrets) di dalam repositori tersebut disalahgunakan untuk melombong kripto, mengakibatkan bil pelayan (AWS/Cloudflare) melambung ribuan ringgit dalam semalaman!
Menggunakan gabungan e-mel dan kata laluan tradisional (password) tidak lagi selamat di zaman ini. Jika anda masih log masuk menggunakan kata laluan, sudah tiba masanya untuk tingkatkan keselamatan anda hari ini.
1. Hentikan Guna HTTPS Untuk ‘Git Push’ — Gunakan SSH Keys
Setiap kali anda mahu push (hantar) kod ke GitHub dari terminal, anda tidak sepatutnya memasukkan nama pengguna dan kata laluan.
Sebaliknya, hasilkan (generate) SSH Key pada komputer anda. SSH Key berfungsi seperti kunci fizikal yang dipotong khas. Ia mengandungi dua bahagian:
- Public Key: Yang anda letak dalam profil GitHub.
- Private Key: Yang kekal tersembunyi dengan selamat di dalam komputer riba anda.
Apabila komputer anda berhubung dengan GitHub, mereka akan mencocokkan kedua-dua kunci ini secara kriptografi.
Arahan asas menghasilkan SSH Key (di Terminal Mac/Linux): ssh-keygen -t ed25519 -C “emel_anda@example.com”
Salin kandungan fail id_ed25519.pub dan tampalkannya di bahagian SSH and GPG keys dalam tetapan GitHub. Selesai! Kod anda kini dihantar melalui terowong selamat yang tidak perlukan kata laluan.
2. Aktifkan ‘Passkeys’ Untuk Log Masuk (Selamat Tinggal 2FA SMS)
Autentikasi dua faktor (2FA) menggunakan nombor telefon (SMS) kini dianggap lemah kerana terdedah kepada pemintasan (SIM Swapping).
Kini, platform utama seperti GitHub dan Cloudflare menyokong penuh Passkeys. Dengan Passkeys, log masuk anda diikat secara kriptografi pada perkakasan komputer atau telefon anda (menggunakan cap jari / Touch ID atau Face ID).
Bila anda nak log masuk GitHub, anda cuma masukkan e-mel, dan sahkan dengan sentuhan jari (Touch ID) pada Mac/komputer anda. Tiada kata laluan untuk ditaip, tiada kata laluan untuk dicuri oleh phishing site!
Kesimpulan
Keselamatan kod bukan tanggungjawab DevOps sahaja; ia bermula dari komputer peribadi anda. Luangkan masa 15 minit hari ini untuk menetapkan SSH Keys untuk urusan git terminal, dan aktifkan Passkeys atau gunakan pengesah perkakasan (seperti YubiKey) untuk mengunci log masuk akaun GitHub dan Cloudflare anda. Repositori selamat, tidur malam pun nyenyak.