Sigstore’un resmi Cosign dokümantasyonuna göre Cosign container imajlarını imzalamak ve doğrulamak için kullanılabilir. OIDC tabanlı keyless signing, local/KMS anahtarları, attestation ve OCI tabanlı imza yönetimi desteklenen kullanım modelleri arasındadır.
Başarılı bir Container Image Signing nedir stratejisi yalnızca `cosign sign` çalıştırmaz. İmajı digest ile sabitler, signer identity ve issuer koşullarını doğrular, CI/CD güvenini korur, provenance/SBOM gibi metadata’yı attestation olarak ilişkilendirir ve production admission katmanında yalnızca onaylı imajlara izin verir.
Container Image Signing nedir: Hızlı Bakış
| Konu | Pratik yaklaşım |
|---|---|
| Digest | Tag yerine değişmez SHA-256 kimliği kullanın. |
| Signature | Artefaktı beklenen signer kimliğine bağlayın. |
| Keyless | OIDC ve kısa ömürlü sertifikalarla kalıcı key riskini azaltın. |
| Verification | Identity ve issuer koşullarını kontrol edin. |
| Attestation | SBOM/provenance metadata’sını imzalı beyan olarak ekleyin. |
| Admission | Production cluster’da yalnızca doğrulanan imajlara izin verin. |
Container Image Signing Nedir? Sigstore ve Cosign ile 10 Güvenlik Avantajı
1. İmajı Tag Yerine Digest ile Tanımlayın
`latest` veya `v1` gibi tag değerleri farklı digest’e taşınabilir. Kriptografik doğrulama için değişmez artefakt kimliği gerekir.
Build sonunda üretilen `sha256:` digest’i kaydedin ve deployment manifestlerinde mümkün olduğunda digest pinning kullanın. Container Image Signing nedir kontrolü belirli içerikle eşleştiğinde gerçek bütünlük anlamı taşır.
2. İmzayı Güvenilir CI/CD Ortamında Üretin
Kişisel bilgisayardan manuel imza atmak kurumsal denetim zincirini zayıflatabilir. Signer’ın hangi testlerden sonra imza atabildiği açık olmalıdır.
Signing adımını testleri geçmiş release pipeline’ına bağlayın. CI kimliğinin hangi repository, branch ve environment için imza atabildiğini sınırlandırın.
3. Keyless Signing ile Uzun Ömürlü Private Key Riskini Azaltın
Sigstore Cosign, OIDC kimliğiyle ephemeral anahtar ve kısa ömürlü sertifika kullanan keyless signing modelini destekler. Böylece uzun süre saklanan code-signing private key ihtiyacı azaltılabilir.
CI platformunun OIDC kimliğini kullanın ve verification politikasında beklenen identity ile issuer bilgisini kısıtlayın. Bu Container Image Signing nedir politikasını herhangi bir imza yerine doğru workload kimliğine bağlar.
4. Self-Managed Key Varsa KMS/HSM Kullanın
Bazı kurumlarda klasik private key modeli gerekli olabilir. Anahtarı repository, CI değişkeni veya paylaşılan dosyada tutmak güvenlik riskini büyütür.
Cosign’in KMS desteğini kullanarak private key materyalini yönetilen anahtar servisinde tutun. Key erişimini ayrı role bağlayın, audit loglarını izleyin ve rotation/iptal prosedürü hazırlayın.
5. Signer Identity ve OIDC Issuer’ı Doğrulayın
Bir imzanın matematiksel olarak geçerli olması, onu beklediğiniz sistemin ürettiği anlamına gelmeyebilir. Keyless modelde sertifika kimliği ve OIDC issuer doğrulaması kritik güven zinciridir.
Cosign verify politikasında beklenen repository/workflow identity ve issuer bilgisini belirtin. Production admission kontrolü de aynı koşulları kullanmalıdır.
6. Transparency Log ve Bundle Kanıtlarını Kullanın
Sigstore ekosistemi transparency log kanıtlarıyla imzalama olaylarının izlenebilirliğini güçlendirir. Bu olay soruşturmasında yalnızca registry durumuna güvenmekten daha güçlü denetim izi sağlar.
Offline dağıtım veya özel arşiv senaryolarında Sigstore bundle yaklaşımını değerlendirin. Container Image Signing nedir kanıtını imza, sertifika ve log inclusion bilgisiyle birlikte saklayın.
7. SBOM ve Provenance Attestation Ekleyin
İmza container’ın bütünlüğünü ve signer bilgisini doğrular; ancak nasıl üretildiğini tek başına açıklamaz. SLSA provenance, yazılımın nerede, ne zaman ve nasıl üretildiğine ilişkin doğrulanabilir bilgiyi tanımlar.
Cosign attestation kullanarak SBOM veya provenance metadata’sını imajla ilişkilendirin. Signature ve provenance birbirinin yerine geçmez; farklı güven sorularına cevap verir.
8. Kubernetes Admission Katmanında Doğrulama Yapın
CI/CD’de imza doğrulansa bile kullanıcı daha sonra cluster’a farklı veya imzasız bir image referansı gönderebilir.
Production namespace’lerinde yalnızca onaylı signer identity’sine sahip imajları kabul eden admission policy uygulayın. Politika devreye alınmadan önce audit/warn benzeri kontrollü aşamayla test yapmak servis kesintisi riskini azaltır.
9. İmaj Taramasını İmza Doğrulamasıyla Karıştırmayın
İmzalı container güvenlik açığı içerebilir. İmza güvenilir signer ve bütünlük, vulnerability scanning ise paket/zafiyet riskini değerlendirir.
Release pipeline’ında container vulnerability scan ve signing adımlarını ayrı kontroller olarak çalıştırın. Kritik güvenlik açığı varsa imza üretimini engellemek veya kontrollü istisna süreci uygulamak mümkündür.
10. Key Compromise İçin İptal ve Olay Planı Hazırlayın
Signer hesabı, CI workload identity veya private key ele geçirilirse saldırgan geçerli görünen kötü amaçlı imajlar imzalayabilir.
Kabul edilen signer identity’lerini merkezi politikadan hızla değiştirebilin, şüpheli imzaları araştırın ve etkilenen digest’leri bloklayın. Böylece Container Image Signing nedir gerçek olay müdahalesi olan güven zincirine dönüşür.
Signature, Attestation ve Provenance Farkı
| Kavram | Görevi |
|---|---|
| Image signature | Artefaktın beklenen signer tarafından imzalandığını ve bütünlüğünü doğrular. |
| Attestation | Artefakt hakkında imzalı metadata/beyan taşır. |
| SLSA provenance | Build nerede, ne zaman, hangi girdilerle ve hangi builder tarafından üretildi bilgisini taşır. |
Cosign Uygulama Akışı
- Güvenilir CI/CD build üretir.
- Container digest sabitlenir.
- Güvenlik taraması tamamlanır.
- Cosign ile imza atılır.
- SBOM/provenance attestation eklenir.
- Deploy öncesi identity + issuer + signature doğrulanır.
- Kubernetes admission politika uygular.
Sık Yapılan Hatalar
- Tag’i değişmez kimlik sanmak
- Private key’i repository içinde saklamak
- Identity koşulu olmadan herhangi bir imzayı kabul etmek
- İmzayı vulnerability scan yerine kullanmak
- Provenance ile signature’ı aynı görmek
- Production admission’da doğrulama yapmamak
- Key compromise için iptal planı hazırlamamak
- Signing pipeline’a aşırı geniş yetki vermek
Container Image Signing nedir: Sık Sorulan Sorular
Container Image Signing ne işe yarar?
Container imajının beklenen signer tarafından imzalandığını ve içeriğinin değiştirilmediğini doğrulamaya yardımcı olur.
Cosign nedir?
Sigstore ekosisteminde yazılım artefaktlarını ve container imajlarını imzalama/doğrulama aracıdır.
Keyless signing nedir?
OIDC kimliği, ephemeral anahtar ve kısa ömürlü sertifika kullanan modeldir.
İmzalı container tamamen güvenli midir?
Hayır. Vulnerability scanning ve runtime güvenliği ayrıca gerekir.
Cosign SBOM/provenance ile çalışır mı?
Evet, attestation mekanizmalarıyla metadata imajla ilişkilendirilebilir.
Kubernetes imzasız imajı engelleyebilir mi?
Uygun admission/policy mekanizmasıyla yalnızca doğrulanan imajlara izin verilebilir.
İlgili İçerikler
Kubernetes Admission Controller Nedir?
Resmî ve Güvenilir Kaynaklar
Sonuç
Container Image Signing nedir sorusuna; container artefaktını kriptografik imzayla belirli signer kimliğine bağlayan ve deploy öncesinde bütünlüğü ile kaynağı doğrulamaya yardımcı olan tedarik zinciri kontrolü şeklinde cevap verilebilir.
Sigstore ve Cosign ile keyless signing, identity doğrulaması, transparency log, attestation ve admission politikaları birlikte kullanıldığında Container Image Signing nedir build’den production’a doğrulanabilir güven zincirine dönüşür.
