0Pricing
Cyber Security Academy · Ders

CI/CD İşlem Hatlarını Güvenceye Alma

Derleme ve sürüm yayımlama yolunu sağlamlaştırma.

CI/CD İşlem Hatlarını Güvenceye Alma, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.

İşlem Hattını Hedef Almak

Bir sürekli tümleştirme/sürekli teslim işlem hattı, kaynak koda, gizli bilgilere ve üretim ortamına ayrıcalıklı erişime sahiptir. İşlem hattının ele geçirilmesi, saldırganın kod incelemesini atlayarak gelecekteki her derlemeye arka kapılar yerleştirmesine olanak tanır. Modern yazılım mühendisliğinde en değerli hedeflerden biridir.

İşlem hattını üretim altyapısı olarak ele alın: Çalışan sistemlerinizle aynı sağlamlaştırma, izleme ve asgari yetki disiplinini hak eder.

Derlemelerde Güvenilmeyen Girdi

İşlem hatları, tamamen denetlemediğiniz olaylar üzerine otomatik olarak çalışır: çekme istekleri, etiketler ve dış katkılar. Kötü amaçlı bir çekme isteği, derlemenin kendisini değiştirmeye çalışabilir.

  • Bir çataldaki zehirlenmiş işlem hattı tanımı, gizli bilgileri dışarı sızdırmaya çalışabilir
  • Güvenilmeyen kod, güvenilir derlemelerle aynı izinlerle çalışabilir

Güvenilir ve güvenilmeyen iş akışlarını ayırın: Dış çekme istekleriyle tetiklenen işlere gizli bilgileri açığa çıkarmayın.

Eylemlerinizi ve Görüntülerinizi Sabitleyin

İşlem hattı adımları çoğu zaman üçüncü taraf eylemleri veya konteyner görüntülerini değiştirilebilir bir etiketle çeker. Bu etiket kötü amaçlı içeriğe yönlendirilirse derlemeniz ele geçirilir. Değiştirilemez özetlere sabitleyin.

# BAD: mutable tag can be moved under you
uses: some/action@v3

# GOOD: pinned to an immutable commit SHA
uses: some/action@a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0

# pin container steps by digest too
image: build-tools@sha256:9f86d081884c7d659a2feaa0c55ad015...

Belirteçlerde Asgari Yetki

Varsayılan işlem hattı belirteçlerine çoğu zaman gereğinden fazla izin verilir; bu belirteçler tüm kaynak deposuna veya kayıt deposuna yazma erişimi sağlayabilir. Kapsamlarını her işin tam olarak ihtiyaç duyduğu izinlerle sınırlayın.

# scope the default token to read-only, grant more only where needed
permissions:
  contents: read

jobs:
  publish:
    permissions:
      contents: read
      packages: write   # only this job can publish

Gizli Bilgilerin Güvenli Yönetimi

Koda gömülmüş veya geniş kapsamlı paylaşılan gizli bilgiler, başlıca sızıntı yollarındandır. Sıkı kullanım kuralları uygulayın:

  • Gizli bilgileri bir gizli bilgi yöneticisinde veya sürekli tümleştirme gizli bilgi deposunda saklayın; asla kodda saklamayın
  • Statik bulut anahtarları yerine kısa ömürlü OIDC federasyonunu tercih edin
  • Gizli bilgileri günlüklerde maskeleyin ve yeniden yazdırılmalarını engelleyin
  • Her gizli bilginin kapsamını gereken en az iş ve ortamla sınırlayın

OIDC federasyonu, işlem hattının derleme zamanındaki kimliği karşılığında kısa ömürlü bulut kimlik bilgileri almasını sağlar; böylece uzun ömürlü anahtarları tamamen ortadan kaldırır.

Geçici, Yalıtılmış Çalıştırıcılar

Yeniden kullanılan bir derleme çalıştırıcısı, bir işten diğerine kötü amaçlı yazılım veya sızdırılmış gizli bilgiler taşıyabilir. Geçici çalıştırıcılar her iş için yeniden oluşturulur ve sonrasında yok edilir; böylece hiçbir şey kalıcı olmaz.

  • Her derleme için bir temiz ortam, ardından ortam atılır
  • Güvenilir ve güvenilmeyen işler arasında paylaşılan durum yoktur
  • Ağ çıkışı gerekli uç noktalarla sınırlıdır

Bu, SLSA L3 yalıtım hedeflerini doğrudan destekler.

Kaynak Dalını Koruyun

İşlem hattının güveni kaynak denetiminde başlar. Herkes sürüm dalına gönderme yapabiliyorsa sonraki aşamalardaki imzalama ve tarama anlamsız kalır.

  • Birleştirmeden önce çekme isteği incelemesi isteyin
  • Korunan dallarda imzalı değişiklik kayıtlarını zorunlu kılın
  • Durum denetimlerinin (testlerin, taramaların) başarıyla geçmesini isteyin
  • main dalına zorla gönderme ve doğrudan gönderme işlemlerine izin vermeyin
# require signed commits on a branch
git config commit.gpgsign true

# verify a commit signature locally
git verify-commit HEAD

İşlem Hattı İçinde Tarama Yapın

Güvenlik kapılarını doğrudan sürekli tümleştirmeye yerleştirin; böylece sorunlar üretime ulaşmak yerine derlemenin başarısız olmasına neden olur.

# secret leak detection
gitleaks detect --source . --redact

# dependency vulnerabilities
osv-scanner --lockfile=package-lock.json

# IaC and config misconfig
trivy config .

# fail the job on critical findings (non-zero exit stops CI)

Sürümler İçin İki Kişili Denetim

Etkisi yüksek işlemler insan onayı gerektirir. Üretime dağıtımlar ve kimlik bilgisi değişiklikleri, yazarı olmayan başka bir kişinin onayını gerektirmelidir.

  • Ortam koruma kuralları, dağıtımdan önce bir inceleyici ister
  • Derleme kimliğini dağıtım kimliğinden ayırın
  • Tek bir aktör hem kodu yazıp hem de inceleme olmadan üretime gönderemez

Bu, hem içeriden gelen tehdit riskini hem de ele geçirilmiş tek bir hesabın zarar verebileceği alanı sınırlar.

Denetim ve Kurcalamaya Karşı Kanıt

İşlem hattının ne yaptığını yeniden oluşturabilmeniz gerekir. Günlüklerini merkezileştirin ve koruyun.

  • Sürekli tümleştirme günlüklerini yalnızca eklemeye açık, erişim denetimli bir depoya gönderin
  • İşlem hattı tanımlarını kimin ve ne zaman değiştirdiğini kaydedin
  • Yapıtların belirli bir derlemeye kadar izlenebilmesi için imzalı köken bilgisi üretin
  • Anormallikler için uyarı verin: yeni kendi sunucunuzda barındırılan çalıştırıcı, beklenmeyen gizli bilgi erişimi, inceleme dışı yapılandırma değişikliği

İşlem Hattını Sağlamlaştırma Kontrol Listesi

Savunulabilir bir işlem hattı; kaynak, derleme ve sürüm denetimlerini bir araya getirir:

  • Dal koruması, incelenmiş ve imzalı değişiklik kayıtları
  • Özetle sabitlenmiş eylemler ve görüntüler
  • Asgari yetkili, kısa ömürlü OIDC belirteçleri
  • Geçici, yalıtılmış çalıştırıcılar
  • İşlem hattı içinde gizli bilgi, bağımlılık ve yapılandırma taraması
  • Sürüm için iki kişili onay
  • İmzalı yapıtlar, SBOM ve denetim günlüğü kaydıyla köken bilgisi

Hızlı Kontrol: Belirteç İzinleri

Ayrıcalıklı bir derleme belirteci için doğru denetime karar verin.

Özet: Sürekli Tümleştirme/Sürekli Teslim İşlem Hatlarını Güvence Altına Alma

Derleme ve sürüm yolunun tamamını sağlamlaştırmayı öğrendiniz.

  • İşlem hattını üretim olarak ele alın; gelecekteki her derlemeye arka kapı yerleştirebilir
  • Güvenilmeyen çekme isteği derlemelerini gizli bilgilerden yalıtın
  • Eylemleri ve görüntüleri özetle sabitleyin; asgari yetkili, kısa ömürlü OIDC belirteçleri kullanın
  • Geçici, yalıtılmış çalıştırıcılar kullanın ve kaynak dalını koruyun
  • İşlem hattı içinde tarama yapın, sürüm için iki kişili onay isteyin ve kurcalandığı anlaşılabilen denetim günlüklerini saklayın

Ders tamamlandı: Artık yazılım tedarik zincirini uçtan uca güvence altına alabilirsiniz.

Sıkça Sorulan Sorular

“CI/CD İşlem Hatlarını Güvenceye Alma” dersi ücretsiz mi?

Evet — “CI/CD İşlem Hatlarını Güvenceye Alma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.

“CI/CD İşlem Hatlarını Güvenceye Alma” dersinde ne öğreneceğim?

Derleme ve sürüm yayımlama yolunu sağlamlaştırma. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“CI/CD İşlem Hatlarını Güvenceye Alma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Tedarik Zinciri Tehditleri
  2. Yazılım Malzeme Listesi (SBOM)
  3. Bağımlılık ve Yapıt İmzalama
  4. CI/CD İşlem Hatlarını Güvenceye Alma
← Cyber Security Academy Sayfasına Dön