Kod deposu güvenliği: Git, imzalı commit ve erişim
Bir kod deposunu kimin değiştirebildiğini, değişikliğin gerçekten kimden geldiğini ve geçmişe neyin sızdığını denetlemeyi öğrenirsin.
Seviye 101 · 17 ders · 15 pratik lab
Dersler
Git’i güvenlik gözüyle tanımak
- Git nesneleri ve geçmiş: hiçbir şey gerçekten silinmez
- Yazar ve işleyen: kimlik neden kolayca taklit edilir
- .gitignore ve yanlışlıkla eklenen dosyalar
- Geçmişi incelemek: git log, git show ve kazma araması
- Kısa görev: bir deponun geçmişinde silinmiş bir parolayı bul
İmzalı değişiklikler
- Commit imzalamak neden önemli
- SSH anahtarıyla commit ve etiket imzalamak
- GPG ile imzalamak ve imzayı doğrulamak
- İzinli imzacılar dosyası ve imza denetimi
- Kısa görev: bir depodaki imzasız sürüm etiketlerini bul
Erişim ve dal koruması
- Depo erişim düzeyleri: okuma, yazma, yönetici
- Dal koruması: doğrudan push’u kapatmak, inceleme şartı
- CODEOWNERS ile zorunlu inceleyiciler
- Dağıtım anahtarları ve erişim belirteçleri
- Erişim gözden geçirmesi: ayrılanlar ve unutulan anahtarlar
- Kısa görev: ana dalı koru ve güvenlik klasörüne sahip ata
Bitirme
- Bitirme görevi: devralınan bir depoyu denetle ve güvenceye al
Pratik lablar
- Depo geçmişinde silinmiş parolayı bul: git log ve kazma aramasıyla parolanın eklendiği ve silindiği commit’leri bul.
- Yanlışlıkla eklenen dosyaları .gitignore ile engelle: Depoya girmiş ortam dosyasını ve anahtar dosyasını izlemeden çıkar, .gitignore kurallarını yaz ve yeni eklemelerin engellendiğini göster.
- Yazar kimliği taklit edilmiş commit’i ortaya çıkar: Yazar ve işleyen alanlarını, imza durumunu ve sunucudaki itme kaydını karşılaştırarak başkasının adıyla atılmış commit’i kanıtla.
- SSH anahtarıyla bir commit imzala: Git’i SSH imzası kullanacak şekilde ayarla, bir commit imzala ve imza bilgisini göster.
- İzinli imzacılar dosyasıyla imzaları doğrula: Ekip üyelerinin açık anahtarlarını izinli imzacılar dosyasına ekle ve geçmişte kimin imzasının geçerli çıktığını listele.
- İmzasız sürüm etiketlerini bul ve imzalı sürüm düzenini kur: Depodaki etiketleri imza durumuna göre tara, imzasız olanları raporla, GPG ile imzalı yeni bir etiket oluştur ve doğrulama adımını belgeye yaz.
- Ana dala doğrudan itmeyi engelle: Git sunucusunda ana dal için korumayı aç ve doğrudan itmenin reddedildiğini göster.
- Güvenlik klasörüne CODEOWNERS ile sahip ata: CODEOWNERS dosyasını yaz, güvenlik klasörünü değiştiren isteğin sahip onayı olmadan birleşmediğini doğrula.
- Korumayı dolanan yolu bul ve kapat: Yönetici muafiyeti ve zorla itme izni yüzünden korumanın aşılabildiğini göster, ayarları sıkılaştır ve üç farklı rolle sına.
- Depo üyelerini ve erişim düzeylerini listele: Depodaki kullanıcıları okuma, yazma ve yönetici düzeyine göre tabloya dök.
- Unutulmuş dağıtım anahtarını ve belirteci temizle: Yazma yetkili eski dağıtım anahtarını ve süresiz erişim belirtecini bul, kaldır ve yerine salt okunur, süreli olanını ver.
- Ayrılan çalışanların erişimini tüm depolarda kapat: Git sunucusunun API’siyle tüm depolardaki üyelikleri, anahtarları ve belirteçleri tara, ayrılan iki kişiye ait olanları kaldır ve rapor üret.
- Devralınan deponun güvenlik durumunu denetim listesiyle çıkar: Dal koruması, imza, gizli bilgi ve erişim başlıklarında on maddelik listeyi depoya bakarak doldur.
- Devralınan depodaki bulguları önceliklendir: Geçmişteki anahtarı, imzasız etiketleri ve geniş yetkili üyeleri riskine göre sırala ve her biri için düzeltme adımı yaz.
- Devralınan depoyu baştan sona güvene al: Kuzeyyıldızı Kargo’dan devralınan depoda gizli bilgiyi geçersiz kıl, dalı koru, sahip ata, erişimi daralt ve öncesi ile sonrasını kanıtla.
Kurs hakkında
Bir kod deposunu kimin değiştirebildiğini, değişikliğin gerçekten kimden geldiğini ve geçmişe neyin sızdığını denetlemeyi öğrenirsin.
Ne öğreneceksin
- Git’i güvenlik gözüyle tanımak
- İmzalı değişiklikler
- Erişim ve dal koruması
- Bitirme
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.