Kubernetes cluster’ınız çalışıyor olabilir.
Pod’lar ayakta olabilir.
Deployment’lar başarılı görünebilir.
Servisler trafik taşıyor olabilir.
Peki ortam gerçekten güvenli mi?
Bir workload’un gereğinden fazla RBAC yetkisine sahip olması, container’ın privileged çalışması, NetworkPolicy bulunmaması veya kullanılan container image içerisinde kritik bir CVE olması Kubernetes ortamında ciddi bir saldırı yüzeyi oluşturabilir.
İşte Kubescape tam olarak bu noktada devreye girer.
Kubescape; Kubernetes cluster’larını, manifest dosyalarını, Helm chart’larını ve container image’larını güvenlik açısından analiz edebilen açık kaynaklı bir Kubernetes security platformudur. Proje Apache 2.0 lisansı altında yayımlanıyor ve CNCF’nin incubating projelerinden biri olarak geliştiriliyor. GitHub
Kubescape nedir?
Kubescape, Kubernetes ortamlarında güvenlik yanlış yapılandırmalarını, excessive privilege problemlerini, image vulnerability’lerini ve çeşitli compliance/hardening sorunlarını tespit etmeye yardımcı olan açık kaynaklı bir güvenlik platformudur.
Yalnızca çalışan cluster’ları değil, henüz Kubernetes’e deploy edilmemiş kaynakları da tarayabilir.
Örneğin bir Kubernetes manifest dosyasını deployment öncesinde kontrol etmek mümkündür:
kubescape scan deployment.yaml
Bir dizindeki YAML dosyaları veya Helm chart’ları da taranabilir. Kubescape ayrıca Kustomize dizinlerini işleyebilir ve public veya private registry’lerdeki container image’ları CVE açısından analiz edebilir. kubescape.io
Bu özellik özellikle shift-left security yaklaşımı açısından önemlidir.
Sorunu production cluster’a ulaştıktan sonra bulmak yerine, manifest henüz Git repository içerisinde veya CI/CD pipeline aşamasındayken tespit etmek mümkündür.
Kubescape hangi güvenlik problemlerini tespit edebilir?
Kubescape’in en güçlü taraflarından biri Kubernetes ortamını tek bir açıdan değerlendirmemesidir.
| Güvenlik alanı | Kubescape’in katkısı |
|---|---|
| Misconfiguration | Kubernetes object ve workload yapılandırmalarını kontrol eder |
| RBAC | Fazla yetkili role ve service account’ları tespit edebilir |
| Privileged Container | securityContext.privileged: true gibi riskleri belirler |
| Container Image Security | Bilinen CVE’leri tarar |
| Network Security | NetworkPolicy eksikliği ve izolasyon problemlerini kontrol eder |
| Compliance | NSA-CISA, MITRE ATT&CK, CIS ve SOC 2 gibi framework’lerle değerlendirme yapabilir |
| CI/CD Security | Manifestleri merge/deployment öncesinde tarayabilir |
| Runtime Security | Operator ile eBPF tabanlı runtime threat detection sağlayabilir |
| Security Posture | Cluster güvenlik durumunu sürekli değerlendirmeye yardımcı olur |
Kubescape’in control library’sinde privileged container, wildcard RBAC permission, cluster-admin benzeri yetkiler, anonymous access ve NetworkPolicy eksikliği gibi çok sayıda Kubernetes güvenlik problemi için kontroller bulunur. kubescape.io
Kubernetes misconfiguration taraması
Kubernetes güvenlik problemlerinin önemli bir bölümü doğrudan bir yazılım açığından değil, yanlış yapılandırmadan kaynaklanabilir.
Örneğin bir Pod şu şekilde çalışıyor olsun:
securityContext:
privileged: true
Bu yapı container’a host üzerinde son derece geniş yetkiler sağlayabilir.
Kubescape bu tür bir workload’u tespit ederek ilgili control’ü fail olarak işaretleyebilir. Kubescape’in C-0057 kontrolü doğrudan securityContext.privileged == true durumunu kontrol eder ve bunu yüksek severity seviyesinde değerlendirir. kubescape.io
Buradaki önemli nokta şudur:
Container çalışıyor olması, container’ın güvenli olduğu anlamına gelmez.
RBAC ve excessive privilege kontrolleri
Kubernetes güvenliğinin en kritik alanlarından biri Role-Based Access Control — RBAC tasarımıdır.
Bir ServiceAccount gereğinden fazla yetkiye sahipse saldırgan bir workload’u ele geçirdiğinde bu yetkileri cluster içerisinde privilege escalation için kullanabilir.
Örneğin:
get *
list *
create *
update *
delete *
gibi wildcard permission’lar ciddi risk oluşturabilir.
Kubescape’in control library’sinde wildcard RBAC permission’ları tespit eden kontroller bulunduğu gibi, workload’un bağlı olduğu ServiceAccount’ın cluster takeover veya cluster-admin seviyesine yakın yetkilere sahip olup olmadığını değerlendiren kontroller de vardır. kubescape.io
Buradaki temel güvenlik prensibi yine aynıdır:
Least Privilege.
Bir workload yalnızca çalışması için gereken minimum izinlere sahip olmalıdır.
NetworkPolicy neden önemli?
Kubernetes ortamlarında pod-to-pod communication varsayılan olarak oldukça açık olabilir.
NetworkPolicy kullanılmadığında workload’lar arasında gereğinden fazla lateral communication mümkün hale gelebilir.
Kubescape, workload’ların ingress ve egress network policy tarafından korunup korunmadığını kontrol edebilir.
Örneğin ilgili kontrol:
“Bu Pod için ingress ve egress network izolasyonu gerçekten tanımlanmış mı?”
sorusuna cevap arar. Kubescape’in network-policy kontrollerinden biri, pod’ların ingress ve egress policy’leriyle izole edilip edilmediğini doğrudan değerlendirir. kubescape.io
Burada teknik bir ayrıntı önemlidir.
Kubernetes üzerinde yalnızca NetworkPolicy objesi oluşturmak yeterli değildir.
Kullanılan CNI/network implementation’ın NetworkPolicy enforcement desteklemesi gerekir. Aksi halde YAML objesi görünse bile gerçek trafik kısıtlaması gerçekleşmeyebilir. kubescape.io
Container image CVE taraması
Kubernetes security yalnızca manifest configuration ile sınırlı değildir.
Çalıştırılan container image içerisinde:
kritik Linux package vulnerability’leri,
uygulama dependency açıkları
veya bilinen CVE’ler bulunabilir.
Kubescape hem CLI üzerinden image tarayabilir hem de Operator kullanıldığında cluster içerisinde deploy edilmiş image’ları sürekli olarak vulnerability açısından değerlendirebilir.
CLI örneği:
kubescape scan image nginx:latest
Daha detaylı çıktı için:
kubescape scan image nginx:latest -v
Kubescape Operator tarafındaki vulnerability scanner, container image vulnerability analizi için Grype motorunu kullanır ve çeşitli vulnerability data source’larından yararlanır. kubescape.io
Bu özellik özellikle vulnerability management süreçlerinde değerlidir.
Ancak kritik bir ayrım yapmak gerekir:
Bir image içerisinde CVE bulunması, o CVE’nin workload üzerinde mutlaka exploitable olduğu anlamına gelmez.
Kubescape Operator runtime kullanım bilgisinden yararlanarak vulnerability relevancy konusunda da ek görünürlük sağlayabilir. kubescape.io
NSA-CISA Kubernetes Hardening Guide ile tarama
Kubescape’in ortaya çıkışındaki önemli kullanım alanlarından biri Kubernetes ortamlarını NSA hardening guidance’a göre değerlendirmekti.
Örneğin:
kubescape scan framework nsa
komutu ile cluster veya manifestler NSA framework kontrollerine göre taranabilir.
Kubescape sonuçlarda başarısız olan kontrolleri, severity seviyelerini, etkilenen resource’ları ve compliance score bilgisini gösterebilir. --verbose kullanıldığında problemli resource’lar ve remediation önerileri daha detaylı görülebilir. kubescape.io
Örneğin:
kubescape scan framework nsa --verbose
troubleshooting açısından daha kullanışlı olabilir.
kubescape scan ne yapar?
Burada Kubescape’in eski ve yeni davranışları arasında önemli bir fark bulunuyor.
Güncel Kubescape sürümlerinde:
kubescape scan
komutu varsayılan overview/baseline security scan çalıştırır.
Kubescape 3.0 öncesinde default davranış NSA ve MITRE framework’lerini taramaktı; güncel sürümlerde framework taraması açıkça belirtilmelidir. kubescape.io
Dolayısıyla belirli bir framework için:
kubescape scan framework nsa
veya uygun başka bir framework adı kullanılmalıdır.
Bu ayrıntı özellikle eski blog içeriklerinden komut kopyalanırken önemlidir.
Hangi security framework’leri destekliyor?
Kubescape çeşitli Kubernetes hardening ve compliance framework’leriyle çalışabilir.
Resmi proje dokümantasyonu ve proje sayfası NSA-CISA Kubernetes Hardening Guide, MITRE ATT&CK, CIS Benchmarks ve SOC 2 gibi framework’leri desteklenen örnekler arasında gösteriyor. kubescape.io
Ancak burada “compliance” kavramını dikkatli kullanmak gerekir.
Kubescape’in bir framework üzerindeki kontrolleri geçmesi:
kurumun otomatik olarak o standarda tamamen compliant olduğu anlamına gelmez.
Araç teknik kontrollerin değerlendirilmesine yardımcı olur.
Organizasyonel süreçler, dokümantasyon, insan süreçleri ve diğer kontrol alanları ayrıca değerlendirilmelidir.
CI/CD pipeline içerisinde Kubescape
Kubescape’in en güçlü kullanım alanlarından biri deployment öncesi security gating’dir.
Örneğin Git repository içerisine şu manifest gönderilmiş olsun:
securityContext:
privileged: true
Eğer bu problem production cluster’a deploy edildikten sonra fark edilirse remediation maliyeti artar.
Bunun yerine pull request veya merge request sırasında Kubescape çalıştırılabilir.
Örneğin GitLab CI/CD üzerinde Kubescape; Kubernetes manifestlerini, Helm chart’larını ve workload configuration dosyalarını merge request açıldığında veya default branch güncellendiğinde tarayabilir. kubescape.io
Aynı yaklaşım GitHub Actions için de kullanılabilir. Kubescape’in resmi rehberinde scan’lerin pull request aşamasında otomatik çalıştırılması ve policy ihlallerinin merge öncesinde görülmesi örnekleniyor. kubescape.io
Bu yaklaşımın özeti:
Build → Security Scan → Policy Check → Deploy
olmalıdır.
Deployment sonrasında güvenliği kontrol etmek yerine mümkün olduğunca erken aşamada sorunları engellemek daha doğru DevSecOps yaklaşımıdır.
Compliance threshold ile pipeline durdurmak
Kubescape CI/CD açısından yalnızca rapor üretmek zorunda değildir.
Belirli bir compliance seviyesinin altına düşüldüğünde pipeline’ın başarısız olmasını sağlayabilirsiniz.
Örneğin:
kubescape scan framework nsa \
--compliance-threshold 80 \
./manifests
Compliance score yüzde 80’in altına düştüğünde komut non-zero exit code üretebilir ve CI/CD pipeline bu sonuç üzerinden durdurulabilir. kubescape.io
Bu sayede security scanning:
“Raporu daha sonra inceleriz.”
yaklaşımından çıkarılıp gerçek bir security gate haline getirilebilir.
Kubescape Operator nedir?
Kubescape yalnızca CLI olarak çalışmak zorunda değildir.
Cluster içerisine Kubescape Operator kurulabilir.
Operator, Kubescape’i cluster içinde birden fazla microservice şeklinde çalıştırır ve sürekli security posture görünürlüğü sağlar.
Operator ile:
misconfiguration scanning,
deployed image vulnerability scanning,
in-cluster security data,
node-agent capabilities
ve sürekli monitoring gibi özellikler kullanılabilir. kubescape.io
Bu nedenle kullanım senaryosunu ikiye ayırmak daha doğru olur.
Kubescape CLI → ad-hoc, CI/CD ve pre-deployment scanning
Kubescape Operator → sürekli in-cluster security monitoring
Runtime Security nasıl çalışıyor?
Kubescape’in runtime security özellikleri özellikle dikkat çekicidir.
Runtime Threat Detection özelliği Kubescape Operator içerisindeki node-agent tarafından sağlanır.
Kubescape burada Linux kernel seviyesindeki olayları gözlemlemek için eBPF teknolojisinden yararlanır.
Runtime monitoring kapsamında process execution, file activity, network operation, system call activity ve Linux capability kullanımına ilişkin olaylar değerlendirilebilir. kubescape.io
Bu noktada önemli ayrım şudur:
CLI ile:
kubescape scan
çalıştırmak runtime threat detection sağlamaz.
Runtime görünürlük için Kubescape Operator ve ilgili node-agent bileşenlerinin cluster içerisinde çalışması gerekir.
Runtime threat detection neden önemli?
Static configuration scanning size şu soruyu sorabilir:
“Bu container privileged çalışıyor mu?”
Runtime monitoring ise şu soruya yaklaşır:
“Bu workload şu anda normalde yapmaması gereken bir işlem gerçekleştiriyor mu?”
Örneğin beklenmeyen bir process execution, anormal network activity veya belirli Linux capability kullanımı runtime security açısından anlamlı olabilir.
Cloud-native security için bu iki bakış açısı birbirini tamamlar:
Configuration Security + Runtime Security
Host Scanner ne işe yarıyor?
Bazı Kubernetes güvenlik kontrolleri yalnızca Kubernetes API üzerinden değerlendirilemez.
Örneğin Kubelet configuration veya node seviyesindeki bazı güvenlik parametreleri doğrudan worker node üzerinde incelenmelidir.
Kubescape bu tür kontroller için Host Scanner kullanabilir.
Host Scanner’ın kullanılabilmesi için Kubescape Operator’ın cluster’a kurulması gerekir. kubescape.io
Bu da CLI ve Operator arasındaki görünürlük farkının başka bir örneğidir.
Kubescape yalnızca CVE scanner değildir
Cloud-native security konusunda yapılan yaygın hatalardan biri şudur:
“Container image’da kritik CVE yoksa workload güvenlidir.”
Bu doğru değildir.
Bir image tamamen güncel olabilir.
Ancak workload:
privileged: true
çalışıyor olabilir.
ServiceAccount cluster-admin yetkisine sahip olabilir.
Host filesystem mount edilmiş olabilir.
NetworkPolicy bulunmayabilir.
Container runtime socket workload içerisine mount edilmiş olabilir.
Bu nedenle Kubernetes security yalnızca vulnerability scanning değildir.
Asıl soru şudur:
Bu workload hangi yetkilerle çalışıyor, hangi kaynaklara ulaşabiliyor ve ele geçirilirse saldırgan ne kadar ilerleyebilir?
Kubescape’in güçlü olduğu alanlardan biri bu soruları configuration, vulnerability ve runtime perspektiflerini birleştirerek değerlendirebilmesidir.
Kubescape güvenlik sorunlarını otomatik düzeltir mi?
Kubescape’in temel rolü detection, assessment ve policy enforcement tarafındadır.
CLI taramalarında problemli resource’lar ve remediation önerileri sunabilir. Ancak aracı:
“Cluster’ı otomatik olarak güvenli hale getiren sistem”
olarak düşünmek doğru değildir.
Örneğin excessive RBAC privilege tespit edildiğinde önce workload’un gerçek ihtiyaçları analiz edilmeli, ardından Role veya ClusterRole least-privilege prensibine göre düzenlenmelidir.
Aynı şekilde NetworkPolicy önerileri production trafik akışları anlaşılmadan doğrudan uygulanmamalıdır.
Security tool problemi gösterebilir.
Engineering ekibi ise doğru remediation kararını verir.
Kubescape kimler için uygun?
Kubescape özellikle Kubernetes kullanan Platform Engineering, DevOps, DevSecOps, Cloud Security, SOC, Application Security ve Security Engineering ekipleri için değerlidir.
Küçük bir cluster’da yalnızca CLI ile başlayabilirsiniz.
Daha gelişmiş ortamlarda ise:
Git Repository → CI/CD → Kubescape Scan → Admission/Policy → Kubernetes → Kubescape Operator → Runtime Monitoring
şeklinde daha kapsamlı bir güvenlik mimarisi oluşturulabilir.
Kubescape kurulumu
Kubescape resmi dokümantasyonunda CLI için örnek kurulum yöntemi şu şekildedir:
curl -s \
https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh \
| /bin/bash
Ancak güvenlik açısından önemli bir prensip vardır:
İnternetten indirilen shell script’leri doğrudan pipe ederek çalıştırmadan önce içeriğini incelemek gerekir.
Kubescape’in kendi dokümantasyonu da installation script’ini çalıştırmadan önce okunmasını özellikle öneriyor. kubescape.io
Kurulumdan sonra:
kubescape scan
ile baseline scan başlatılabilir.
NSA framework için:
kubescape scan framework nsa
kullanılabilir.
Container image için:
kubescape scan image nginx:latest
çalıştırılabilir.
Air-Gapped ortamlarda Kubescape kullanılabilir mi?
Evet.
Bu özellik özellikle banka, finans, savunma veya internet erişiminin kısıtlı olduğu enterprise ortamlarda değerlidir.
Kubescape framework, control ve diğer artifact’ları önceden indirerek offline sistemlerde kullanılabilecek şekilde çalıştırılabilir.
Örneğin:
kubescape download artifacts \
--output /opt/kubescape-artifacts
Daha sonra offline ortamda:
kubescape scan \
--use-artifacts-from /opt/kubescape-artifacts
kullanılabilir. kubescape.io
Bu nedenle Kubescape yalnızca public-cloud Kubernetes ortamlarıyla sınırlı değildir.
Kubernetes güvenliği nerede başlamalı?
En doğru cevap:
YAML yazılırken.
Production cluster üzerinde security scanner çalıştırmak gereklidir.
Ama tek başına yeterli değildir.
Daha olgun yaklaşım:
Manifest → Git → CI/CD Security Scan → Policy Validation → Deployment → Continuous Scan → Runtime Detection
şeklindedir.
Kubescape bu zincirin birden fazla noktasında kullanılabilir.
Kubernetes security yaklaşımının temel prensibi şudur:
Yanlış yapılandırmayı production’a çıktıktan sonra yakalamak yerine, mümkün olduğunca deployment öncesinde engelle.
Çünkü Kubernetes güvenliği:
cluster çalıştıktan sonra değil, manifest yazıldığı anda başlamalıdır.
Sık Sorulan Sorular
Kubescape nedir?
Kubescape, Kubernetes manifestlerini, Helm chart’larını, cluster’ları ve container image’larını güvenlik açısından analiz edebilen açık kaynaklı Kubernetes security platformudur. CLI, CI/CD entegrasyonu ve in-cluster Operator kullanımını destekler. kubescape.io
Kubescape ücretsiz mi?
Kubescape projesinin açık kaynak bileşenleri Apache 2.0 lisansı altında yayımlanmaktadır. GitHub
Kubescape container image tarayabilir mi?
Evet. CLI üzerinden belirli image’lar taranabilir; Operator ise cluster’a deploy edilmiş image’ları vulnerability açısından değerlendirebilir. Operator vulnerability scanning için Grype motorunu kullanır. kubescape.io
Kubescape runtime security sağlar mı?
Evet. Kubescape Operator içerisindeki node-agent eBPF tabanlı runtime threat detection sağlayabilir. Process, file, network ve system-call gibi runtime event’leri değerlendirilebilir. kubescape.io
Kubescape CI/CD pipeline’a eklenebilir mi?
Evet. Kubernetes manifestleri ve Helm chart’ları merge veya deployment öncesinde taranabilir. Resmi dokümantasyonda GitHub Actions ve GitLab CI/CD dahil entegrasyon örnekleri bulunmaktadır. kubescape.io
kubescape scan ile kubescape scan framework nsa arasındaki fark nedir?
Güncel sürümlerde kubescape scan baseline/overview security scan gerçekleştirir. kubescape scan framework nsa ise kaynakları özellikle NSA framework kontrollerine göre değerlendirir.

Cem Kemal Erbaş Network, Siber Güvenlik ve Teknik Rehberler