Kubernetes Cluster Scanning with Kubescape

H. Alperen Selcuk
3 min readOct 11, 2021

kubernetes cluster security with kubescape

Kubescape, kubernetes clusterınız için üstünde bulunan testleri gerçekleştirip size bir sonuç veren open source security test tooludur.

aşağıdaki testleri gerçekleştirerek size hangilerinden geçtiğini bildirir;

  • Non-root containers
  • Immutable container filesystem
  • Privileged containers
  • hostPID, hostIPC privileges
  • hostNetwork access
  • allowedHostPaths field
  • Protecting pod service account tokens
  • Resource policies
  • Control plane hardening
  • Exposed dashboard
  • Allow privilege escalation
  • Applications credentials in configuration files
  • Cluster-admin binding
  • Exec into container
  • Dangerous capabilities
  • Insecure capabilities
  • Linux hardening
  • Ingress and Egress blocked
  • Container hostPort
  • Network policies
  • Symlink Exchange Can Allow Host Filesystem Access

bu testleri kuberentes api ye bağlanarak OPA engine kullanırak NSA ve CISA nın belirlediği guide a göre yapar.

kurulumu oldukça basittir, github adresinden ilgili OS inize göre install aşamalarına ulaşabilirsiniz.

tek komutla kurabiliyorsunuz,

kurduktan sonra scan için;

kubescape scan framework nsa --exclude-namespaces kube-system,kube-public

burada exclude-namespace parametresi ile scan yapmayacağınız namespaceleri belirtebiliyorsunuz.

komutu çalıştırdıktan sonra gayet user firendly bir şekilde hangi testlerden geçtiğini ve kaldığını görebiliyorsunuz.

hızlı bir şekilde kubernetes clusterınızda olabilcek açıkları bu şekilde önleyebilirsiniz. ben boş bir kubernetes cluster üzerinde çalıştırdım eğer üzerinde deploymentlar ya da entegrasyonlar yapılmış bir cluster denersek daha fazla fail alabiliriz.

çünkü ci/cd, monitoring, logging vs vs toolları kubernetes üzerinde CRD üzerinden yetkileri alabiliyorlar biz de hazır yaml fileları ya da helm chartları kullandığımız için çok dikkat etmeyebiliriz. kubescape burada bize bir ikinci göz olabilir.

eğer güzel bir arayüzle görmek isterseniz;

armo nun kendi sitesinden sınırsız free bir üyelik açarak scanlamayı size verdiği account numarasıyla yapabilirsiniz.

üye olarak girdikten sonra size install ve scan ile ilgili bir id vericek.

kubescape çalıştırdığınız anda armo sitesinde arayüzde detaylı rapor yansıyacaktır böylece daha güzel bir görüntü elde edebilirsiniz. isterseniz arayüzden de Add Cluster seçeneği ile farklı clusterlar ekleyebilirsiniz.

open-source ve kullanımı kolay olmasından dolayı bence baya kullanışlı bir tool.

Kubescape beta aşamasında olan Image scanning de mevcut helm ile kolayca yükleyebiliyorsunuz. size gereken adımları veriyor yükledikten sonra arayüze high olanlar gelmekte ve size hangi CVE ye hit ettiğini söyler.

ekstra feature olarak kubescape yaml filelarınızda bulunan zafiyetleri de ortaya çıkarabiliyor. bunun için nsa, mitre gibi frameworkler kullanıyorsunuz. gayet basit bir şekilde yapılıyor “kubescape scan framework ‘nsa/mitre’ example.yaml” şeklinde çalıştırıyorsunuz. size failed ettiği yerleri gösterecektir.

bir sonraki kubescape ile ilgili yazımda jenkins ile entegrasyon yapmaya çalışacağım.

görüşmek üzere

h.a.s.

--

--