0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Ders

CI/CD'de Güvenlik En İyi Uygulamaları

İşlem hatlarındaki yaygın güvenlik açıklarını ve geliştirme yaşam döngüsü boyunca riskleri azaltmaya yönelik en iyi uygulamaları anlayın.

CI/CD'de Güvenlik En İyi Uygulamaları, CoddyKit'te ücretsiz bir CI/CD with GitHub Actions & DevOps Pipelines dersidir. Bu, 4 dersinin 1. 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, CI/CD with GitHub Actions & DevOps Pipelines öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.

CI/CD Güvenliği Neden Önemlidir

Modern yazılım geliştirmede CI/CD işlem hatları kritik öneme sahiptir. Kodunuzun derlenmesini, sınanmasını ve dağıtılmasını otomatikleştirirler.

Ancak büyük güç, büyük sorumluluk getirir! Kodunuzu, verilerinizi ve altyapınızı kötü amaçlı saldırılardan veya kazara oluşan güvenlik açıklarından korumak için bu işlem hatlarının güvenliğini sağlamak hayati önem taşır.

İşlem Hattı Güvenlik Açıklarını Belirleme

Güvenliği sağlamadan önce neye karşı koruma sağladığımızı anlamamız gerekir. CI/CD işlem hatları çeşitli saldırı türlerine karşı savunmasız olabilir:

  • Ele Geçirilmiş Kimlik Bilgileri: Çalınmış API anahtarları veya jetonlar.
  • Kötü Amaçlı Bağımlılıklar: Bilinen güvenlik kusurlarına sahip kütüphanelerin kullanılması.
  • Güvensiz Yapılandırmalar: Yanlış yapılandırılmış erişim denetimleri veya derleme adımları.
  • Tedarik Zinciri Saldırıları: Derleme sürecinin kendisine müdahale edilmesi.

En Az Ayrıcalıklı Erişimi Uygulama

En Az Ayrıcalık İlkesi (PoLP), kullanıcılara ve otomatik işlemlere (CI/CD işleri gibi) görevlerini yerine getirmek için ihtiyaç duydukları asgari izinlerin verilmesi ve bundan fazlasının verilmemesi anlamına gelir.

Bu yaklaşım, bir kimlik bilgisi veya iş ele geçirilirse oluşabilecek zararı sınırlar. GitHub Eylemleri için her işin izinlerini özel olarak tanımlayın.

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: read # Only read access to repo code
      packages: write # Only write to package registry
      id-token: write # Needed for OIDC authentication
    steps:
      - uses: actions/checkout@v4
      - run: echo "Build logic here"

Kodu ve Bağımlılıkları Güvence Altına Alma

Kaynak kodunuz uygulamanızın kalbidir. Başlangıçtan itibaren güvenli olduğundan emin olun.

  • Kod İncelemeleri: Akran incelemeleri olası güvenlik kusurlarını ortaya çıkarır.
  • Statik Analiz: Kodu güvenlik açıklarına karşı taramak için araçlar kullanın (özel SAST konusu daha sonraki bir derste ele alınacaktır).
  • Bağımlılık Taraması: Üçüncü taraf kütüphanelerindeki bilinen güvenlik açıklarını düzenli olarak kontrol edin.

Üçüncü Taraf Bağımlılıklarını Yönetme

Çoğu proje açık kaynaklı kütüphanelere dayanır. Güçlü olsalar da dikkatli yönetilmezlerse güvenlik açıklarına yol açabilirler.

  • Bir Bağımlılık Scanner Kullanın: Bilinen güvenlik açıklarını otomatik olarak kontrol etmek için Dependabot gibi araçları entegre edin.
  • Bağımlılıkları Sabitleyin: Beklenmedik değişikliklerden kaçınmak için bağımlılıkların tam sürümlerini belirtin.
  • Düzenli Güncellemeler: Güvenlik yamalarından yararlanmak için bağımlılıkları güncel tutun.

Derleme Ortamınızı Güçlendirme

Kodunuzun derlendiği ve sınandığı ortam mümkün olduğunca güvenli olmalıdır. Bunu yazılımınız için temiz bir oda gibi düşünebilirsiniz.

  • Geçici Çalıştırıcılar: Her iş için yeni ve yalıtılmış ortamlar kullanın. GitHub tarafından barındırılan çalıştırıcılar varsayılan olarak geçicidir.
  • Asgari Araçlar: Saldırı yüzeyini azaltmak için yalnızca gerekli araçları yükleyin.
  • Güvenli Temel İmajlar: Kapsayıcı kullanıyorsanız güvenilir ve güçlendirilmiş temel imajlar kullanın.

Gizli Bilgileri Asla Sabit Kodlamayın

API anahtarları, veritabanı kimlik bilgileri veya özel jetonlar gibi hassas bilgiler, deponuza ya da iş akışı dosyalarınıza doğrudan NEVER sabit kodlanmamalıdır.

Her zaman güvenli bir gizli bilgi yönetim sistemi kullanın. Bu, hassas verileri sürüm denetiminin dışında ve şifrelenmiş halde tutar.

İş Akışı Girdilerini Doğrulama

İş akışınız harici girdileri (ör. elle tetikleme veya çekme isteği yorumu aracılığıyla) kabul ediyorsa bu girdiler doğrulanmalı ve temizlenmelidir.

Güvenilmeyen girdiler, web uygulamalarının kullanıcı girdilerini doğrulamasına benzer şekilde enjeksiyon saldırıları için bir araç olabilir.

on:
  workflow_dispatch:
    inputs:
      deploy_env:
        description: 'Environment to deploy to (e.g., staging, production)'
        required: true
        type: choice
        options:
          - 'staging'
          - 'production'
      version_tag:
        description: 'Git tag for the release version'
        required: true
        type: string

İşlem Hattı Etkinliklerini Günlüğe Kaydetme ve İzleme

İşlem hattınızdaki etkinliklerin görünürlüğü önemli bir güvenlik denetimidir. İyi günlük kaydı, şüpheli davranışları hızla tespit edip bunlara yanıt vermenize yardımcı olur.

  • Kapsamlı Günlük Kaydı: İş akışlarınızdaki tüm önemli olayları ve eylemleri günlüğe kaydedin.
  • Anormallikleri İzleme: Başarısız güvenlik denetimlerini, yetkisiz erişim girişimlerini veya olağandışı derleme sürelerini araştırın.
  • Uyarılar: Kritik güvenlik olayları için uyarılar ayarlayın.

Anlayışınızı Kontrol Edin

CI/CD güvenliğiyle ilgili en iyi uygulamalara dair bilginizi sınayalım.

Ders Özeti ve Sonraki Adımlar

Tebrikler! CI/CD işlem hatlarınız için temel güvenlik en iyi uygulamalarını öğrendiniz.

  • En Az Ayrıcalık İlkesini uygulayın.
  • Kaynak kodunuzu güvence altına alın ve bağımlılıkları yönetin.
  • Derleme ortamlarınızı güçlendirin.
  • Gizli bilgileri asla sabit kodlamayın.
  • Tüm iş akışı girdilerini doğrulayın.
  • Güçlü günlük kaydı ve izleme uygulayın.

Bu uygulamalar, güvenli bir DevOps yaşam döngüsü için güçlü bir temel oluşturur. Gelecek derslerde GitHub Gizli Bilgileri ve SAST gibi belirli araçları ve teknikleri daha ayrıntılı inceleyeceğiz.

Sıkça Sorulan Sorular

“CI/CD'de Güvenlik En İyi Uygulamaları” dersi ücretsiz mi?

Evet — “CI/CD'de Güvenlik En İyi Uygulamaları” 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 CI/CD with GitHub Actions & DevOps Pipelines kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.

“CI/CD'de Güvenlik En İyi Uygulamaları” dersinde ne öğreneceğim?

İşlem hatlarındaki yaygın güvenlik açıklarını ve geliştirme yaşam döngüsü boyunca riskleri azaltmaya yönelik en iyi uygulamaları anlayın. CI/CD with GitHub Actions & DevOps Pipelines 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.

CI/CD with GitHub Actions & DevOps Pipelines öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te CI/CD with GitHub Actions & DevOps Pipelines, 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 1. dersidir.

“CI/CD'de Güvenlik En İyi Uygulamaları” 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 CI/CD with GitHub Actions & DevOps Pipelines dersinde kod yazıp çalıştırabilir miyim?

Evet. Her CI/CD with GitHub Actions & DevOps Pipelines 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. CI/CD'de Güvenlik En İyi Uygulamaları
  2. GitHub ile Gizli Bilgi Yönetimi
  3. Statik Uygulama Güvenlik Sınaması (SAST)
  4. Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)
← CI/CD with GitHub Actions & DevOps Pipelines Sayfasına Dön