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 DevOps Bootcamp 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp 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. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- CI/CD'de Güvenlik En İyi Uygulamaları
- GitHub ile Gizli Bilgi Yönetimi
- Statik Uygulama Güvenlik Sınaması (SAST)
- Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)