İçeriğe Atla
Rehberler · 10 dk okuma · görüntülenme
100%

Cosign ile Container Supply Chain İmzalama Rehberi

Container imajlarını Cosign ile imzalayıp dağıtım hattında doğrulamak için pratik ve kurumsal uyumlu kurulum rehberi.

Container imajı, imza doğrulama ve dağıtım hattını gösteren kapak görseli

Container tabanlı platformlarda güvenlik tartışması çoğu zaman runtime tarafında başlıyor. Ancak zincirin daha erken halkalarında neyin üretildiği, kimin ürettiği ve dağıtıma neyin girdiği yeterince net değilse runtime korumaları tek başına yeterli olmaz. Cosign, container imajına kimlik ve bütünlük katmanı ekleyerek supply chain güvenliğini daha uygulanabilir hâle getirir. Bu rehberde imajı imzalama, doğrulama ve dağıtım kapısına bağlama adımlarını sade bir akışta kuracağız.

Cosign imzalama ve doğrulama akışını gösteren diyagram

Hedef mimari

Amaç şu zinciri kurmak:

  1. CI pipeline imajı üretir
  2. İmaj registry’ye push edilir
  3. Cosign imzayı üretir ve registry yanında saklar
  4. Dağıtım öncesi admission veya pipeline adımı imzayı doğrular

Bu model sayesinde sadece “image tag var mı” değil, “bu imaj güvenilir üretim hattından mı çıktı” sorusu cevaplanır.

Cosign kurulumu

Yerel test için araç kurulumu yeterlidir:

brew install cosign
cosign version

Kurumsal kullanımda iki yaklaşım yaygındır:

  • keyless: OIDC tabanlı, CI kimliği ile imzalama
  • key pair: Özel anahtar ve şifre ile imzalama

Mümkünse keyless yaklaşımı daha sürdürülebilirdir. Anahtar döndürme ve saklama yükünü azaltır.

Örnek imaj üretimi ve imzalama

Basit bir imaj oluşturalım:

docker build -t registry.example.com/platform/demo-api:2026.04.09 .
docker push registry.example.com/platform/demo-api:2026.04.09

Anahtar çiftiyle imzalamak için:

cosign generate-key-pair
cosign sign --key cosign.key registry.example.com/platform/demo-api:2026.04.09

Bu komut imzayı registry tarafında ilgili artifact ile ilişkilendirir. İmajı yeniden etiketlemek ile içeriği değiştirmek aynı şey değildir; bu yüzden üretim akışında digest bazlı çalışma tercih edilmelidir.

Doğrulama adımı

İmajı doğrulamak için:

cosign verify --key cosign.pub registry.example.com/platform/demo-api:2026.04.09

Çıktıda sertifika veya imza bilgisi döner. Buradaki kritik nokta, yalnızca imzanın varlığı değil, beklediğiniz kimlik veya anahtarla uyumlu olmasıdır. Aksi hâlde herhangi bir imza sahte güven üretebilir.

Bir CI kapısı örneği:

IMAGE="registry.example.com/platform/demo-api@sha256:abc123..."
cosign verify --key cosign.pub "$IMAGE" >/tmp/cosign-verify.json
jq '.[0].critical.image.docker-manifest-digest' /tmp/cosign-verify.json

Bu yaklaşım deployment öncesi digest ve imza ilişkisinin net kalmasını sağlar.

Kubernetes dağıtım hattına bağlama

En basit model, deploy job içinde doğrulama yapmaktır. Daha güçlü model ise admission katmanında imzasız imajı reddetmektir. Örnek akış:

  • CI imajı üretir ve imzalar
  • GitOps veya deployment pipeline yalnızca doğrulanan digest’i geçirir
  • Admission policy imzasız ya da yanlış kimlikli artifact’i engeller

Bu sayede insan hatasıyla yanlış registry ya da test imajı üretime kaçma ihtimali ciddi biçimde azalır.

Kurumsal kullanımda ek kontroller

Cosign tek başına tüm supply chain güvenliğini çözmez. Ben şu tamamlayıcı adımları öneriyorum:

  • SBOM üretimi ve artifact ile ilişkilendirme
  • Build ajanı kimliğini OIDC ile sınırlandırma
  • İmzalama yetkisini yalnızca üretim pipeline’ına verme
  • Registry tarafında yetkisiz overwrite davranışını kapatma

Bu çerçeve, imzayı dekorasyon olmaktan çıkarıp gerçek kontrol katmanına dönüştürür.

Sonuç

Cosign ile container supply chain imzalama, dağıtıma giden artifact’in kimliğini görünür kılar. İmajı üretmek, push etmek ve imzalamak aynı zincirin parçaları olarak çalıştığında güvenlik ekibi ile platform ekibi arasında ortak bir doğrulama dili oluşur. Sağlıklı başlangıç için küçük bir servis seçin, digest bazlı doğrulama kurun ve imzasız artifact’in üretime geçmesini sistematik olarak durdurun.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

Yeni yazılardan haberdar olun

Haftada bir yeni içerikler ve kaynaklar doğrudan e-postanıza gelsin.

Spam yok. Yalnızca yeni ve önemli içerikler için e-posta gönderilir.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar