Gizli bilgi yönetimi: tarama, döndürme ve sızıntıya müdahale
Parola, anahtar ve belirteçleri koddan ayırır, gitleaks ile sızıntıyı yakalar, Vault ile saklar ve sızan bir anahtarı iptal edip yenisiyle değiştirirsin.
Seviye 201 · 20 ders · 18 pratik lab
Dersler
Temeller
- Gizli bilgi nedir: parola, anahtar, belirteç, sertifika: Uygulamaların kullandığı gizli bilgi türlerini tanıyıp hangisinin ele geçirilirse neye kapı açacağını anlayabileceksin.
- Sızıntılar nereden olur: kod, log, imaj, ekran görüntüsü: Gizli bilgilerin en sık hangi yollardan dışarı çıktığını gerçekçi kurum örnekleriyle öğrenirsin.
- Kurumdaki gizli bilgilerin envanterini çıkarmak: Hangi anahtarın nerede kullanıldığını, sahibini ve son değiştirilme tarihini gösteren bir envanter tablosu hazırlayabileceksin.
- Kısa görev: örnek bir projenin bütün gizli bilgilerini sahibi ve ömrüyle listele
Tespit
- gitleaks ile depo geçmişini taramak: Bir Git deposunun tüm geçmişini gitleaks ile tarayıp unutulmuş anahtarları bulabilecek ve yanlış alarmları ayıklayabileceksin.
- trufflehog ile bulunan anahtarın hâlâ geçerli olup olmadığını anlamak: Bulunan anahtarların hangilerinin hâlâ çalıştığını trufflehog ile belirleyip müdahale önceliğini buna göre koyabileceksin.
- pre-commit kancasıyla gizli bilginin depoya girmesini engellemek: Geliştiricinin bilgisayarında çalışan bir kancayla anahtar içeren değişikliklerin kaydedilmeden önce durdurulmasını sağlayabileceksin.
- Konteyner imajlarında ve loglarda gizli bilgi aramak: İmaj katmanlarında ve uygulama loglarında kalmış parola ve belirteçleri bulup kaynağını kapatabileceksin.
- Kısa görev: üç depoyu ve bir imajı tara, geçerli anahtarları ayır
Güvenli saklama
- Ortam değişkeni mi, dosya mı: gizli bilgiyi uygulamaya vermenin yolları: Gizli bilgiyi ortam değişkeni, izinli dosya ya da gizli bilgi servisiyle vermenin artılarını ve risklerini karşılaştırabileceksin.
- sops ile şifreli yapılandırma dosyaları: Yapılandırma dosyasındaki gizli değerleri sops ile şifreleyip depoda güvenle tutabilecek ve yalnızca yetkililerin açmasını sağlayabileceksin.
- HashiCorp Vault ile merkezi gizli bilgi deposu: Vault’a gizli bilgi yazıp okuyabilecek, her uygulamaya yalnızca kendi yoluna erişim veren politikalar tanımlayabileceksin.
- Kısa ömürlü ve dinamik kimlik bilgileri: Sabit parolalar yerine kendiliğinden süresi dolan kimlik bilgileri kullanarak sızıntının etkisini nasıl küçülteceğini öğrenirsin.
- Kapsamı daraltılmış anahtarlar: her işe yalnızca gereken yetki: Her servis ve iş için ayrı, yalnızca gereken işlemlere izin veren anahtarlar oluşturup ortak anahtar kullanımını bitirebileceksin.
- Kısa görev: bir uygulamanın veritabanı parolasını Vault’a taşı
Sızıntıya müdahale
- Sızıntı fark edildiğinde ilk saat: kapsam ve etkiyi belirlemek: Sızan anahtarın neye eriştiğini, ne zamandan beri açıkta olduğunu ve kimin haberdar edilmesi gerektiğini hızla belirleyebileceksin.
- Anahtarı iptal edip döndürmek ve bağımlı servisleri güncellemek: Sızan anahtarı kesintisiz biçimde yenisiyle değiştirip eskisini iptal edebilecek ve tüm servislerin çalıştığını doğrulayabileceksin.
- git filter-repo ile geçmişten temizlemek ve neden tek başına yetmediği: Anahtarı depo geçmişinden git filter-repo ile silebilecek ve kopyalar yüzünden asıl çözümün iptal olduğunu anlayacaksın.
- Sızan anahtarın kullanım kayıtlarını incelemek: Anahtarın açıkta kaldığı süre boyunca yapılan istekleri kayıtlarda inceleyip yetkisiz kullanım olup olmadığını belirleyebileceksin.
- Bitirme görevi: herkese açık depoya düşen anahtara uçtan uca müdahale: Herkese açık depoya gönderilmiş bir anahtarı bulur, iptal edip döndürür, kullanımını inceler ve tekrarını önleyen kontrolleri kurarsın.
Pratik lablar
- Örnek projedeki gizli bilgi türlerini ayırt et: Verilen on değeri parola, API anahtarı, belirteç, özel anahtar ya da sertifika olarak sınıflandır.
- Projenin gizli bilgi envanterini sahibi ve ömrüyle çıkar: Kod, hat ve sunucu yapılandırmasındaki her gizli bilgiyi nerede durduğu, sahibi ve yenileme süresiyle listele.
- Sızıntı kaynaklarını dört kanalda ara ve envanteri tamamla: Kod, log, imaj ve belge ekran görüntülerinde açıkta kalan gizli bilgileri bul ve envanterde olmayan iki tanesini ekle.
- gitleaks ile depo geçmişini tara: Tüm geçmişi tara ve bulguların kural adını, dosyasını ve commit’ini listele.
- Konteyner imajında ve loglarda gizli bilgi ara: İmaj katmanlarını ve uygulama loglarını tara, bulunan belirtecin hangi katmanda ve hangi log satırında geçtiğini yaz.
- Üç depo ve bir imajı tara, canlı anahtarları ayır: Bulguları tekilleştir, yanlış alarmları ayıkla ve yalnızca lab servisine karşı doğrulayarak hâlâ geçerli olan anahtarları listele.
- pre-commit kancasını kur ve bir sızıntıyı engelle: gitleaks kancasını depoya ekle ve anahtar içeren commit’in reddedildiğini göster.
- Yanlış alarm veren kalıp için izin listesi yaz: Test verisindeki sahte anahtarları gitleaks yapılandırmasında yol ve kalıpla muaf tut, gerçek anahtarın hâlâ yakalandığını doğrula.
- Kurumun anahtar biçimi için özel kural yaz ve sunucu tarafında uygula: Yakamoz Telekom’un iç belirteç biçimini yakalayan kuralı yaz, yerel kancayı atlayan itmenin sunucudaki denetimde durduğunu göster.
- Gizli bilgiyi ortam değişkeni yerine dosyadan okut: Uygulamanın parolayı izinleri kısıtlı bir dosyadan okumasını sağla ve süreç ortamında görünmediğini göster.
- sops ile yapılandırma dosyasını şifrele: age anahtarıyla dosyanın yalnızca gizli alanlarını şifrele, depoya ekle ve dağıtımda çözülerek kullanıldığını göster.
- sops anahtarını döndür ve eski alıcıyı çıkar: Ekipten ayrılan kişinin anahtarını alıcılardan çıkar, dosyaları yeni anahtarla yeniden şifrele ve eski anahtarın artık açamadığını kanıtla.
- Vault’a bir gizli bilgi yaz ve oku: KV motoruna veritabanı parolasını yaz, komut satırından oku ve sürüm numarasını not et.
- Uygulamanın veritabanı parolasını Vault’a taşı: Parolayı yapılandırma dosyasından kaldır, uygulamayı başlangıçta Vault’tan okuyacak şekilde ayarla ve kapsamı dar bir politika yaz.
- Statik parolayı kısa ömürlü dinamik kimlik bilgisine çevir: Veritabanı motorunu kur, uygulamaya bir saat ömürlü kullanıcı ver ve süre dolunca erişimin kesildiğini göster.
- Sızan anahtarın kapsamını ve etkisini belirle: Anahtarın neye eriştiğini, ne zamandan beri açıkta olduğunu ve kimlerin görebildiğini envanter ve geçmişten çıkar.
- Anahtarı iptal et, döndür ve bağımlı servisleri güncelle: Yeni anahtarı üret, kullanan üç servise dağıt, eskisini iptal et ve hiçbir servisin bozulmadığını doğrula.
- Herkese açık depoya itilen anahtara uçtan uca müdahale et: Anahtarı iptal et, kullanım kayıtlarında yabancı erişimi ara, geçmişi git filter-repo ile temizle ve bunun neden tek başına yetmediğini raporda açıkla.
Kurs hakkında
Parola, anahtar ve belirteçleri koddan ayırır, gitleaks ile sızıntıyı yakalar, Vault ile saklar ve sızan bir anahtarı iptal edip yenisiyle değiştirirsin.
Ne öğreneceksin
- Temeller
- Tespit
- Güvenli saklama
- Sızıntıya müdahale
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
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 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılı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.