GitHub, GitLab ve Geliştirici Hesapları için 2FA Nasıl Açılır
GitHub, GitLab ve diğer geliştirici hesaplarında iki faktörlü kimlik doğrulamayı etkinleştirmeye yönelik pratik bir rehber; kimlik doğrulayıcı uygulamalar, geçiş anahtarları (passkey), SSH anahtarları ve token'ları kapsar.
Neden geliştirici hesapleri başlıca hedeflerdir
Saldırgan gözünde GitHub veya GitLab hesabınız, sıradan bir e-posta girişinden çok daha değerlidir. Özel depolara push erişimi, deploy anahtarları, paket yayınlama hakları ve üretim altyapısına doğrudan giden yollar içerebilir. Ele geçirilirse, saldırgan izinlerinizi miras alır — siz yokken bile depolarınıza push yapabilir, sürüm yayınlayabilir, ortaklarınızı kaldırabilir.
Bu yüzden tek bir sızdırılmış şifre bu kadar yıkıcı olabilir. Özel depolar yapılandırma dosyaları, API anahtarları ve veritabanı kimlik bilgileri içerebilir. CI hatları genellikle kaynak oluşturabilen veya derlemelere kötü amaçlı kod enjekte edebilen bulut token'ları taşır. Saldırganlar, çalınan sürücü hesaplarını kullanarak arka kapılı güncellemeleri aşağı akış kullanıcılara itmiştir; kurbanlar fark etmeden yüzlerce proje etkilenir.
Sektör bunu biliyor. GitHub, aktif katkıcıların çoğu için halihazırda iki faktörlü kimlik doğrulama zorunlu kılıyor; GitLab ve diğer platformlar da bunu güçlü şekilde teşvik ediyor. Kendiniz etkinleştirmek sizi bir zorunluluğun gerisinde değil, eğrinin önüne koyar. Zorunluluk ilan edildiğinde son günü kaçıran hesaplar kısıtlanıyor: push, merge ve paket yayınlama duruyor, iş akışınız bozuluyor.
Şifreler ayrıca pratikte yalnız değildir. Aynı parolayı başka sitede kullandıysanız ve o site sızdırıldıysa, saldırgan kimlik bilgisi doldurma (credential stuffing) ile denemeyi otomatikleştirir. 2FA, sızan şifreyi tek başına işe yaramaz hale getirir.
Son olarak, geliştirici güvenliği nadiren yalnızca kişiseldir. İşvereninizin kaynak kodu ve sürdürdüğünüz açık kaynak projelerinin tümü kimlik bilgilerinize bağlıdır. 2FA'yı açmak tek adımda iş arkadaşlarınızı, kullanıcıları ve kendi itibarınızı korur.
İkinci faktörünüzü seçmek
Kimlik doğrulayıcı uygulamalar (TOTP)
Google Authenticator, Authy veya 1Password gibi uygulamalar telefonunuzda her 30 saniyede bir altı haneli kod üretir. Çevrimdışı çalışır, hiçbir maliyeti yoktur ve SMS mesajlarından çok daha zor ele geçirilir. Çoğu geliştirici için bu, mantıklı temel düzeydir.
Bir püf noktası: kurulum sırasında ekranda gösterilen QR kodunun yanında genellikle metin biçiminde bir gizli anahtar da olur. Bu anahtarı güvenli bir yere kaydedin; telefon değiştirdiğinizde uygulamayı yeni cihazda aynı hesaplarla yeniden kurmanızı sağlar. Ayrıca bazı uygulamalar (Authy gibi) çoklu cihaz senkronizasyonu sunar; tek telefon kullanan biri için bu avantaj değildir, hatta saldırı yüzeyini büyütebilir.
Passkey'ler ve güvenlik anahtarları
Passkey'ler ve donanım güvenlik anahtarları, web sitesinin kendi alan adına bağlı şifreleme kullanır; böylece bir kimlik avı sayfası onları kandırıp oturum açtıramaz. GitHub ve GitLab ikisini de destekler. Depolarınızın gerçek bir değeri varsa, birincil faktör olarak bir passkey veya donanım anahtarı kaydedin ve yedek olarak bir TOTP uygulaması bulundurun.
Yaygın hata: tek bir güvenlik anahtarı kaydedip onu işe yarar ana bilgisayarda bırakmak. Anahtar evde kalırsa veya kaybolursanız hesabınıza giremezsiniz. İki anahtar alın; biri anahtarlığınızda, biri kilitli bir çekmecede. Dizüstü bilgisayarı olmayan makinelerde (kütüphane bilgisayarı gibi) oturum açmanız gerekirse yedek TOTP kodları bu boşluğu kapatır.
SMS kodları
SMS mesajları SIM takası (SIM swapping) yoluyla ele geçirilebilir ve tamamen operatörünüzün güvenliğine bağlıdır. Saldırgan telefonunuzu operatörü arayıp numaranızı kendi SIM kartına aktararak devralır; siz telefonun sessiz kaldığını fark etmeden kodlar ona akar. SMS'i yalnızca başka hiçbir seçenek yoksa kullanın ve mümkün olur olmaz bundan vazgeçin.
Kurtarma kodları
2FA'yı etkinleştirdiğinizde site size bir dizi tek kullanımlık kurtarma kodu sunar. Kodları oluşturun, ardından çevrimdışı saklayın: kâğıda yazdırılmış olarak ya da bir parola yöneticisinin güvenli notlarında. Telefonunuzu onlarsız kaybederseniz, erişimi geri almak yavaş bir destek sürecine dönüşür.
Her kodu yalnızca bir kez kullanabilirsiniz; birini harcadıysanız kod listesini yeniden oluşturup eski listeyi imha edin.
GitHub 2FA'yı Etkinleştirme
Oturum açın, ardından Ayarlar > Parola ve kimlik doğrulama > İki adımlı doğrulama bölümüne gidin ve İki adımlı doğrulamayı etkinleştir düğmesine tıklayın. GitHub ilk adımda parolanızı tekrar isteyecektir; bu, açık oturumunuzu devralan birinin 2FA'yı sessizce açmasını engellemek içindir.
TOTP uygulaması kaydetme
GitHub size bir QR kodu gösterir. Bunu kimlik doğrulayıcı uygulamanızla (Aegis, 1Password, Google Authenticator ve benzerlerinin tümü çalışır) tarayın, ardından onaylamak için uygulamadaki altı basamaklı kodu girin. Uygulama artık her 30 saniyede bir yeni kod üretir. QR kodu taranamıyorsa (ikinci cihazda kurulum gibi), GitHub metin tabanlı bir kurulum anahtarı da gösterir; bu anahtarı uygulamaya manuel girebilirsiniz. Anahtarı ekran görüntüsü alıp bulut klasörüne kaydetmeyin — parolanız kadar hassastır.
Passkey veya güvenlik anahtarı ekleme
TOTP kodları phishing yoluyla ele geçirilebilir. Kurulumdan sonra, aynı ayarlar sayfasında ikinci yöntem olarak bir passkey veya donanım güvenlik anahtarı kaydedin. TOTP'yi yedeğiniz olarak tutun; tek doğrulama faktörünüz olmasın. Güvenlik anahtarını kaydederken bir ad verin ("Masaüstü YubiKey" gibi); birden fazla anahtar eklerseniz hangisinin hangisi olduğunu karıştırmamak için gereklidir.
Kurtarma kodlarını indirme
GitHub kurulum sırasında kurtarma kodları sunar. Bunları indirin ve çevrimdışı saklayın — yazılı olarak veya şifreli bir sürücüde; asla bir repository'de ya da bulut notlarında değil. Her kod yalnızca bir kez kullanılabilir ve tüm ikinci faktörlerinizi kaybederseniz hesabınıza geri dönmenin tek yoludur. Kodlar biterse aynı sayfadan yenilerini üretebilirsiniz; yenileme eski kodları geçersiz kılar.
Sonrasında tokenlar ve SSH anahtarları
Mevcut SSH anahtarları ve kişisel erişim tokenları değişmeden çalışmaya devam eder. HTTPS push işlemleri artık parola yerine tarayıcı kimlik doğrulaması veya bir token isteyecektir. Kurulumu tamamlamadan önce, en az bir terminal veya CI iş akışınızın token ile çalıştığını doğrulayın; aksi halde 2FA sonrasında ilk push'ta sürprizle karşılaşırsınız.
GitLab 2FA'yı Etkinleştirme
GitLab'da avatarınızı seçin, Preferences (Tercihler) bölümünü açın, sol kenar çubuğundan Account (Hesap) sayfasına gidin ve Enable two-factor authentication (İki faktörlü kimlik doğrulamayı etkinleştir) düğmesine tıklayın.
Uygulamanızı eşleştirme
TOTP uygulamanızla — Aegis, 1Password, Google Authenticator veya benzeri — QR kodunu okutun ve eşleştirmeyi onaylamak için uygulamanın ürettiği altı haneli kodu girin. Kodun kısa süre içinde değiştiğini unutmayın; kodu yazmaya geç kaldıysanız yeni kodu bekleyin ve hemen girin. Saatleriniz eşleşmiyorsa (örneğin telefonunuzda saat otomatik ayarı kapalıysa) kodlar sürekli geçersiz sayılabilir; telefonda ağ tabanlı saat ayarını açın. Donanım tercih ediyorsanız, aynı Account sayfasından güvenlik anahtarları veya passkey'ler gibi WebAuthn cihazlarını ikinci faktör olarak kaydedebilirsiniz.
Kurtarma kodlarını kaydetme
Ardından GitLab, tek kullanımlık kurtarma kodlarının bir listesini gösterir. Kimlik doğrulayıcınıza erişiminizi kaybettiğinizde her kod bir kez işe yarar. Kodları indirin, kopyalayın veya yazdırın ve bir parola yöneticisi gibi güvenli bir yerde saklayın. Daha sonra aynı sayfadan yeni bir liste oluşturabilirsiniz, ancak bu ilk seti güvende tutun. Yeni liste oluşturmak eskileri geçersiz kılar; eski bir yedeği hâlâ kullanıp kullanamadığınızı karıştırmamak için sakladığınız kopyanın tarihini not edin.
Git işlemleri için neler değişir
2FA açıldığında, hesap parolanız HTTPS üzerinden Git için artık çalışmaz. Push ve pull işlemlerini bunun yerine bir personal access token ile yapın veya bir SSH anahtarına geçin. İş akışınızın ortasında kilitlenmemek için token'ı 2FA'yı etkinleştirmeden önce oluşturun. Token oluştururken yalnızca gerekli kapsamları (örneğin read_repository ve write_repository) seçin ve son kullanma tarihi belirleyin; gereksiz geniş kapsamlı, süresiz token'lar sızdığında zararı büyütür. CI/CD boru hatlarında HTTPS yerine SSH kullanmak, boru hatlarına gömülü token'ları yenileme derdini de ortadan kaldırır.
2FA sonrasında SSH anahtarları ve tokenlar
2FA açıldığında, parola tabanlı git push ve git pull işlemleri çalışmayı durdurur; GitHub ve GitLab HTTPS üzerinden parola kabul etmeyi bırakır. Remote'larınızı SSH'a geçirin; böylece günlük iş hiç parola istemi gerektirmez. Mevcut remote'u kontrol edin:
git remote -v
Sonra SSH adresine geçirin:
git remote set-url origin [email protected]:owner/repo.git
SSH anahtarı oluşturma
Parolayla korunan modern bir anahtar oluşturun:
ssh-keygen -t ed25519 -C "[email protected]"
.pub dosyasının içeriğini hesabınızın SSH anahtarı ayarlarına kopyalayın (GitHub: Settings → SSH and GPG keys; GitLab: Preferences → SSH Keys). Parola, SSH agent tarafından önbelleğe alınır; bu yüzden nadiren girmeniz gerekir. Agent'ı oturum başında başlatmayı unutmayın:
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519
Bağlantıyı doğrulamak için ssh -T [email protected] çalıştırın; "Hi username!" yanıtı kurulumun tamam olduğunu gösterir. Sık yapılan hata: .pub yerine özel anahtarı yüklemek ya da birden çok anahtar varsa ~/.ssh/config dosyasında Host girdisi tanımlamamak.
Betikler ve CI için tokenlar
Personal access token'lar, API çağrıları ve pipeline'lar için parolaların yerini alır. Her tokene işinizi gören en küçük kapsamları (scope) verin — yalnızca herkese açık repoları okuyabilen bir token, kötü amaçlı commit'ler push edemez. Son kullanma tarihi kısa seçin; süresi dolunca yenisi oluşturmak, sızmış eski bir token'ın kalıcı hasar bırakmasını önler. Token'ı kodun içine gömmeyin; CI ortam değişkenlerinde veya gizli (secret) deposunda saklayın.
Etki alanını sınırlayın
Belirli depolara ve izinlere göre kapsamlandırılmış ince taneli (fine-grained) token'ları (GitHub) tercih edin; sunuculardaki tekil depolar için read-only deploy key kullanın. Deploy key yalnızca tek repoya erişir; sunucu ele geçirilse bile diğer depolarınız güvende kalır. Dar kapsamlı bir kimlik bilgisi sızarsa, saldırgan tam hesabınıza kıyasla çok daha az şeye erişir ve hasarı tek bir anahtarın iptaliyle sınırlarsınız.
Kilitlenmeye değer diğer geliştirici hesapları
Paket kayıt defterleri, Git sunucunuzla aynı korumayı hak eder. npm, PyPI ve Docker Hub 2FA destekler; npm bazı durumlarda bunu zorunlu tutar. Ele geçirilmiş bir kayıt defteri hesabı, saldırganın paketinizin kurcalanmış bir sürümünü yayımlamasına izin verir; bu sürüm daha sonra paketi kuran her makineye ulaşır. Yayımlama sırasında kullanılan otomasyon tokenlarını da kontrol edin: uzun ömürlü bir token, 2FA'yı tamamen devre dışı bırakabilir. Kısa ömürlü tokenlar ve granüler erişim izinleri tercih edin.
Bulut konsolları ve CI sağlayıcıları
AWS, Google Cloud, Azure ile GitHub Actions secrets veya GitLab CI değişkenleri gibi CI servisleri genellikle dağıtım kimlik bilgilerini, veritabanı erişimini ve ödeme kartlarını barındırır. Konsol hesabında 2FA'yı etkinleştirin, ardından hangi CI işlerinin gizli bilgilere erişebildiğini denetleyin. Yaygın hata: her depoya aynı gizli değişkenleri vermek. Bunun yerine yalnızca gerçekten ihtiyaç duyan işlere, mümkünse depo başına ayrı kimlik bilgisi tanımlayın; böylece bir iş ele geçirilse hasar sınırlı kalır.
Güven kökü
İki hesap diğerlerinden daha önemlidir:
- E-posta — neredeyse her şey için parola sıfırlamaları buradan yönlendirilir
- Parola yöneticisi — diğer tüm hesapların anahtarlarını tutar
Biri düşerse, saldırgan genellikle sıfırlama yoluyla diğer her şeye girebilir, 2FA olsa bile. İkisini de elinizdeki en güçlü ikinci faktörle koruyun — ideali SMS yerine donanım anahtarı veya kimlik doğrulayıcı uygulama — ve parolalarını başka hiçbir yerde yeniden kullanmayın. Ek önlem: güven kökünüze yönelik sıfırlama e-postalarını tespit edip sizi uyaran ikinci bir e-posta adresi ayarlayın.
2FA ile günlük yaşamak
2FA açıldıktan sonra birkaç alışkanlık işleri zahmetsiz tutar.
Kurtarma kodlarınızı koruyun. Bunları bir parola yöneticisinde saklayın ya da bir kopyasını yazdırıp güvenli bir yerde tutun. Onları asla bir depoya (repository) commit etmeyin — özel (private) bir depo bile token'lar, fork'lar veya yanlış yapılandırılmış bir ayar nedeniyle sızabilir. Kodların gerçekten okunabilir olduğundan emin olun: bazı yöneticiler bunları "güvenli not" olarak saklar; düz metin alanına yapıştırıp bozuk karakter oluşursa kurtarma sırasında kod işe yaramaz. Kaydederken bir kodu elle deneyerek test etmek iki dakika sürer ve sonradan saatler kazandırır.
Yedek bir ikinci faktör kaydedin. Her şey hâlâ çalışırken ikinci bir TOTP uygulaması veya yedek bir güvenlik anahtarı ekleyin. Telefonunuzu kaybettikten sonra kurduğunuz yedek, hiç kurmadığınız yedektir. İki TOTP uygulamasına aynı kurulum QR kodunu okutabilirsiniz; böylece iki cihaz aynı kodları üretir. Yedek güvenlik anahtarını çantanızda değil, evinizde ayrı bir yerde tutun — anahtar ve telefon birlikte kaybolursa ikisi birden işe yaramaz hale gelir.
Düzenli denetim yapın. Birkaç ayda bir, aktif oturumları gözden geçirin ve artık kullanmadığınız cihazları kaldırın. Eski SSH anahtarlarını, personal access token'ları ve deploy key'leri iptal edin — eski kimlik bilgileri, oluşturuldukları projelerden daha uzun ömürlü olur. Bir takvim hatırlatıcısı yardımcı olur. Denetim sırasında şuna da bakın: CI/CD sistemlerinde ve sunucularda hâlâ geçerli eski token'lar. Bir token'ı iptal etmeden önce onu kullanan otomasyondaki adımı güncelleyin; aksi halde gece yarısı kırılan pipeline'la karşılaşırsınız.
Her şeyi kaybederseniz, platform desteğiyle iletişime geçin. Kurtarma günler sürebilir ve hesabın size ait olduğunu kanıtlamayı gerektirir; bu yüzden bu yolu bir plan değil, son çare olarak görün. Destek ekibine yazmadan önce elinizdeki her şeyi toplayın: hesap e-postası, son commit'ler, fatura bilgisi varsa ödeme kaydı. Eksik kanıt, süreci daha da uzatır.
Şimdi yapılan iki dakikalık kurulum, sonra yaşanacak bir haftalık kilitlemeden iyidir. 2FA'yı etkinleştirin, kodları kaydedin, devam edin.
Bu rehberi paylaşın
Blogdan son yazılar
2FA Doğrulama Kodunu Unuttum: Ne Olur, Nasıl Kurtarılır?
2FA doğrulama kodunuza erişemezseniz ne olur? Yedek kodlar, hesap kurtarma akışı ve bir daha başınıza gelmemesi için hazırlık adımları.
Devamını oku2FA Güvenlik Kontrol Listesi: Hesaplarınızı Bugün Kilitleyin
2FA kurulumu, şifre hijyeni ve kurtarma seçeneklerini kapsayan pratik bir güvenlik kontrol listesi. Hesaplarınızı ele geçirilmeye karşı sağlamlaştırmak için bugün atabileceğiniz on iki somut adım.
Devamını oku2FA'nın Tarihi: Donanım Jetonlarından Geçiş Anahtarlarına
İki faktörlü kimlik doğrulamanın takılıp çıkarılan donanım jetonları ve SMS kodlarından günümüzün kimlik avına dayanıklı geçiş anahtarlarına evrimi — ve her adımın neden gerçekleştiği.
Devamını oku