Container ve Kubernetes Güvenliği Nedir? K8s Security ve Container Hardening Nasıl Yapılır?
Container ve Kubernetes guvenligi nedir? Image, RBAC, network policy, secret, admission control ve runtime guvenligi bir arada.

Modern uygulama mimarilerinde artık her servis ayrı bir fiziksel veya sanal sunucu üzerinde çalışmıyor.
Uygulamalar;
Docker container'ları,
Kubernetes cluster'ları,
managed container platformları,
microservice mimarileri
üzerinde çalışabiliyor.
Bu yaklaşım hız, ölçeklenebilirlik ve otomasyon sağlıyor.
Ancak beraberinde yeni bir saldırı yüzeyi de getiriyor.
Zafiyetli container image.
Root olarak çalışan pod.
Privileged container.
Yanlış Kubernetes RBAC.
Açık Kubernetes API Server.
Hatalı secret yönetimi.
Eksik Network Policy.
Gereğinden fazla cloud IAM yetkisi.
Bunlardan biri bile saldırgan için önemli bir giriş veya privilege escalation noktası olabilir.
Bu nedenle Container Security ve Kubernetes Security, modern sistem ve bulut güvenliğinin en kritik alanlarından biridir.
Buradaki temel gerçek şudur:
Managed Kubernetes kullanmak, Kubernetes güvenlik sorumluluğunu ortadan kaldırmaz.
AWS EKS, Azure AKS veya Google GKE control plane'in bazı parçalarını yönetebilir.
Ancak;
workload,
RBAC,
secret,
container image,
network policy,
runtime security,
cloud permission
gibi birçok alan hâlâ kurumun sorumluluğunda olabilir.
Bu nedenle güçlü bir Kubernetes güvenliği yaklaşımı;
Secure Image + Least Privilege + RBAC + Network Segmentation + Secret Management + Admission Control + Runtime Security + Logging + Continuous Validation
katmanlarını birlikte ele almalıdır.
Container Security Nedir?
Container Security, container image'ın oluşturulmasından production runtime'a kadar geçen tüm yaşam döngüsünün güvenli şekilde yönetilmesini ifade eder.
Bu süreç;
- image security,
- registry security,
- runtime security,
- secret management,
- container privilege,
- network access,
- host interaction,
- vulnerability management
gibi alanları kapsar.
Ama container güvenliği sadece Docker image taramak değildir.
Asıl soru şudur:
Bu container compromise olursa saldırgan ne kadar ilerleyebilir?
Eğer container root olarak çalışıyor, host filesystem'e erişiyor ve yüksek yetkili cloud identity kullanıyorsa küçük bir application vulnerability çok büyük etkiye dönüşebilir.
Kubernetes Security Nedir?
Kubernetes Security – K8s Security, Kubernetes cluster içerisindeki;
control plane,
worker node,
pod,
service,
RBAC,
secret,
network,
admission,
runtime
bileşenlerinin güvenli şekilde korunmasıdır.
Kubernetes çok güçlüdür çünkü altyapıyı otomatik yönetir.
Ancak aynı nedenle yanlış yetki de çok hızlı etki oluşturabilir.
Örneğin yanlış role sahip bir kullanıcı;
yeni pod oluşturabilir,
secret okuyabilir,
privileged container çalıştırabilir,
service account token kullanabilir.
Bu nedenle Kubernetes security klasik server hardening'den daha farklı bir güvenlik modeli gerektirir.
Docker Security Nedir?
Docker veya benzeri container runtime'larda güvenlik birkaç temel alanda değerlendirilir.
Bunlar arasında;
image source,
container user,
Linux capabilities,
mount edilen filesystem,
host network,
runtime permission
bulunabilir.
Container isolation güçlü olabilir.
Ancak tam bir sanal makine izolasyonu gibi düşünülmemelidir.
Host kernel birçok container tarafından paylaşılabilir.
Bu nedenle kernel ve runtime güvenliği önemlidir.
Container Image Nedir?
Container Image, uygulamanın çalışması için gereken;
uygulama kodu,
library,
dependency,
runtime
bileşenlerini içeren paketlenmiş yapıdır.
Production container bu image üzerinden oluşturulur.
Bu nedenle image güvenliği supply chain güvenliğinin başlangıç noktalarından biridir.
Container Image İçinde Güvenlik Açığı Olabilir mi?
Evet.
Image içerisinde;
eski OpenSSL,
zafiyetli Java library,
eski Linux package,
güvenlik açığı bulunan framework
bulunabilir.
Application kodu tamamen güvenli olsa bile base image zafiyetli olabilir.
Bu nedenle container image'ları düzenli olarak vulnerability scan'den geçirilmelidir.
Image Scanning Nedir?
Container Image Scanning, image içerisindeki paket ve dependency'lerin bilinen güvenlik açıklarına karşı analiz edilmesidir.
Örneğin scan sonucu;
Critical CVE,
High CVE,
outdated package
tespit edilebilir.
Ancak yalnızca CVE sayısına bakmak yeterli değildir.
Container'ın production exposure ve privilege seviyesi de değerlendirilmelidir.
Critical CVE Her Zaman Critical Risk midir?
Hayır.
Örneğin image içerisinde kritik CVE var.
Ancak vulnerable binary hiç çalışmıyor olabilir.
Başka bir container'da orta seviyeli CVE vardır ancak;
internet-facing,
root,
privileged
olarak çalışıyordur.
Gerçek risk ikinci durumda daha yüksek olabilir.
Bu nedenle risk tabanlı container vulnerability management gerekir.
Base Image Nedir?
Container image genellikle başka bir base image üzerine inşa edilir.
Örneğin;
Ubuntu,
Alpine,
Debian,
distroless
gibi.
Base image güvenliği önemlidir çünkü inherited vulnerability'ler doğrudan uygulamaya taşınabilir.
Bu nedenle minimal base image tercih edilebilir.
Minimal Image Neden Daha Güvenli Olabilir?
Image içerisinde ne kadar az paket varsa saldırı yüzeyi o kadar küçük olabilir.
Örneğin production container içinde;
compiler,
package manager,
debug tool,
shell
gerekli olmayabilir.
Bu bileşenlerin kaldırılması saldırganın compromise sonrası kullanabileceği araçları azaltabilir.
Distroless Image Nedir?
Distroless Image, yalnızca uygulamanın çalışması için gereken minimum runtime bileşenlerini içeren image yaklaşımıdır.
Shell veya package manager gibi araçlar bulunmayabilir.
Bu durum saldırı yüzeyini azaltabilir.
Ancak operasyonel troubleshooting'i zorlaştırabilir.
Bu nedenle kurumun operasyon modeliyle birlikte değerlendirilmelidir.
Container Root Olarak Çalışırsa Ne Olur?
Birçok container varsayılan olarak root user ile çalışabilir.
Bu durum container içinde compromise olduğunda saldırganın daha fazla yetkiye sahip olmasına neden olabilir.
Bu nedenle mümkünse container:
non-root user
ile çalıştırılmalıdır.
Ama USER directive eklemek tek başına yeterli değildir.
Runtime privilege'lar da kontrol edilmelidir.
RunAsNonRoot Nedir?
Kubernetes pod security context içerisinde container'ın root kullanıcı olarak çalışmasını engellemeye yardımcı olan kontrol mekanizmalarından biridir.
Örneğin:
runAsNonRoot: true
benzeri policy uygulanabilir.
Bu güvenli container baseline'ın önemli parçalarından biridir.
Privileged Container Nedir?
Privileged Container, host üzerinde çok geniş yetkilere sahip şekilde çalışan container'dır.
Bu durumda container isolation önemli ölçüde azalabilir.
Privileged container;
device,
kernel capability,
host resource
erişimlerinde geniş yetkiye sahip olabilir.
Bu nedenle yalnızca zorunlu kullanım durumlarında izin verilmelidir.
Privileged Container Neden Kritik Risk?
Bir application vulnerability üzerinden container compromise edildiğini düşünelim.
Normal container'da saldırganın hareket alanı sınırlı olabilir.
Ancak privileged container ise host'a erişim veya container escape riski çok daha yüksek olabilir.
Bu nedenle:
Internet-facing + Privileged Container
kombinasyonu özellikle kritik değerlendirilmelidir.
Container Escape Nedir?
Container Escape, saldırganın container isolation sınırlarını aşarak host işletim sistemine erişmeye çalıştığı saldırı türüdür.
Bu;
container runtime vulnerability,
kernel vulnerability,
dangerous capability,
privileged mode
gibi faktörlerle ilişkili olabilir.
Host erişimi elde edilirse aynı node üzerindeki diğer workload'lar da risk altında olabilir.
Linux Capabilities Nedir?
Linux root yetkileri farklı capability'lere bölünebilir.
Örneğin;
NET_ADMIN,
SYS_ADMIN
gibi.
Container'a sadece gerekli capability'ler verilmelidir.
Özellikle SYS_ADMIN çok geniş yetkilere sahip olduğu için dikkatli değerlendirilmelidir.
Drop All Capabilities Yaklaşımı Nedir?
Güvenli container configuration'da bütün capability'ler varsayılan olarak kaldırılıp yalnızca gerekenler tekrar eklenebilir.
Bu yaklaşım:
Default Deny
mantığına yakındır.
Ama application compatibility test edilmelidir.
Read-Only Root Filesystem Nedir?
Container'ın root filesystem'inin sadece okunabilir çalışması, saldırganın container içerisinde kalıcı dosya bırakmasını zorlaştırabilir.
Uygulamanın yazması gereken dizinler ayrı writable volume olarak tanımlanabilir.
Bu özellikle immutable infrastructure yaklaşımıyla uyumludur.
Container İçinde Secret Saklanmalı mı?
Container image içerisine kesinlikle kalıcı secret gömülmemelidir.
Örneğin;
database password,
API key,
private key
image layer içerisinde bulunabilir.
Image registry'ye gönderildiğinde secret da dağıtılmış olur.
Silinse bile eski layer içinde kalabilir.
Bu nedenle secret runtime sırasında güvenli kaynaktan alınmalıdır.
Dockerfile İçinde Secret Yazmak Neden Riskli?
Örneğin build sırasında:
ENV DB_PASSWORD=...
gibi yaklaşım kullanılırsa secret image metadata veya layer içerisinde kalabilir.
Bu nedenle build secret mekanizmaları ve secret vault kullanılmalıdır.
Container Registry Nedir?
Container image'ların saklandığı platformdur.
Örneğin;
AWS ECR,
Azure Container Registry,
Google Artifact Registry,
Harbor
gibi.
Registry güvenliği supply chain security'nin önemli parçasıdır.
Container Registry Nasıl Korunur?
Şu kontroller değerlendirilebilir:
Authentication.
Least Privilege.
Private registry.
Image scanning.
Image signing.
Immutable tag.
Audit logging.
Amaç saldırganın kötü amaçlı image yüklemesini veya production image'ı değiştirmesini zorlaştırmaktır.
Public Container Registry Riskli midir?
Public image kullanmak her zaman yanlış değildir.
Ancak production için kullanılan image'ların kaynağı doğrulanmalıdır.
Saldırgan;
benzer isimli malicious image,
typosquatting package,
compromised upstream image
kullanabilir.
Bu nedenle trusted registry ve image provenance önemlidir.
Image Signing Nedir?
Image Signing, container image'ın güvenilir bir kaynak tarafından üretildiğini cryptographic olarak doğrulamaya yardımcı olur.
Deployment sırasında yalnızca imzalı image'ların çalıştırılması policy ile zorunlu hale getirilebilir.
Bu supply chain saldırılarını azaltabilir.
Software Supply Chain Security Container'da Neden Önemli?
Container image birçok bileşenden oluşur.
Base image.
OS package.
Application dependency.
Build tool.
CI/CD pipeline.
Bu zincirin herhangi bir noktası compromise olabilir.
Bu nedenle container security sadece runtime security değildir.
Build-to-Run Security olarak düşünülmelidir.
SBOM Nedir?
Software Bill of Materials – SBOM, yazılımın hangi bileşenlerden oluştuğunu gösteren envanterdir.
Container image için;
paketler,
library'ler,
dependency'ler
listelenebilir.
Yeni güvenlik açığı çıktığında hangi image'ların etkilendiğini hızlı şekilde anlamaya yardımcı olur.
Kubernetes Cluster Nedir?
Kubernetes cluster genel olarak;
control plane,
worker node
yapısından oluşur.
Control plane cluster yönetimini gerçekleştirir.
Worker node'lar application pod'larını çalıştırır.
Her iki katmanın güvenliği farklıdır.
Kubernetes Control Plane Nedir?
Control plane;
API Server,
Scheduler,
Controller Manager,
etcd
gibi kritik bileşenleri içerir.
Cluster'ın yönetim beynidir.
Control plane compromise edilirse cluster üzerindeki çok sayıda workload kontrol edilebilir.
Bu nedenle control plane erişimi son derece sınırlı olmalıdır.
Kubernetes API Server Neden Kritik?
Kubernetes üzerindeki yönetim işlemlerinin büyük bölümü API Server üzerinden yapılır.
Kullanıcı;
pod oluşturur,
secret okur,
deployment değiştirir,
role atar
gibi işlemleri API üzerinden gerçekleştirir.
Bu nedenle API Server doğrudan internetten gereksiz yere erişilebilir olmamalıdır.
Kubernetes API Server Public Olabilir mi?
Bazı managed Kubernetes yapılarında public endpoint bulunabilir.
Ancak bu durumda;
source IP restriction,
strong authentication,
RBAC,
MFA/SSO,
audit logging
gibi kontroller önemlidir.
Mümkün olan mimarilerde private control plane access değerlendirilebilir.
Anonymous Kubernetes Access Nedir?
API Server authentication olmadan bazı request'leri kabul ediyorsa anonymous access riski oluşabilir.
Production cluster'da anonymous permission'lar son derece sınırlı olmalıdır.
Özellikle public API endpoint ile birleştiğinde kritik risk oluşturabilir.
Kubernetes RBAC Nedir?
Role-Based Access Control – RBAC, Kubernetes içerisindeki kullanıcı ve service account'ların hangi kaynaklarda hangi işlemleri yapabileceğini belirler.
Örneğin bir kullanıcı;
pod görüntüleyebilir,
ama delete edemez.
Başka kullanıcı namespace administrator olabilir.
RBAC Kubernetes güvenliğinin temel bileşenidir.
Kubernetes Role ile ClusterRole Arasındaki Fark
Role
Belirli namespace içerisinde yetki sağlayabilir.
ClusterRole
Cluster genelindeki kaynaklara veya birden fazla namespace'e uygulanabilir.
Bu nedenle ClusterRole permission'ları daha dikkatli yönetilmelidir.
Cluster-Admin Neden Risklidir?
cluster-admin Kubernetes üzerinde çok geniş privilege sağlar.
Developer veya application service account'larına kolaylık amacıyla cluster-admin verilmesi ciddi risk oluşturur.
Minimum privilege uygulanmalıdır.
Wildcard RBAC Neden Risklidir?
Örneğin role içerisinde:
resources: *
verbs: *
kullanımı çok geniş yetki verebilir.
Bu configuration hızla privilege escalation riskine dönüşebilir.
Ama her wildcard otomatik kritik değildir.
Scope ve identity bağlamında değerlendirilmelidir.
Service Account Kubernetes'te Nedir?
Pod'lar Kubernetes API ile iletişim kurmak için service account kullanabilir.
Bu identity'nin token'ı pod içinde bulunabilir.
Eğer application compromise edilirse saldırgan service account token'a erişmeye çalışabilir.
Bu nedenle pod service account permission'ları minimum tutulmalıdır.
Default Service Account Neden Riskli Olabilir?
Birçok workload varsayılan service account ile çalışabilir.
Bu hesap gereksiz permission alırsa çok sayıda pod aynı yetkiye sahip olur.
Bu nedenle kritik workload'lar için özel service account oluşturulması ve minimum RBAC uygulanması tercih edilebilir.
Service Account Token Nedir?
Kubernetes service account token, pod'un API Server'a kimlik doğrulaması yapmasına yardımcı olabilir.
Bu token'ın güvenliği önemlidir.
Pod'un API erişimine ihtiyacı yoksa token mount edilmemesi düşünülebilir.
automountServiceAccountToken Nedir?
Pod'a service account token'ın otomatik mount edilmesini kontrol eder.
Application Kubernetes API kullanmıyorsa token'a ihtiyacı olmayabilir.
Token'ın gereksiz şekilde container içinde bulunması saldırgan için credential exposure oluşturabilir.
Kubernetes Secrets Nedir?
Kubernetes Secrets;
password,
API key,
certificate,
token
gibi hassas verileri saklamak için kullanılabilir.
Ancak isim “Secret” olduğu için otomatik olarak yüksek güvenlikli kabul edilmemelidir.
Access control ve encryption konfigürasyonu ayrıca önemlidir.
Kubernetes Secrets Base64 ile Güvenli mi?
Base64 encoding şifreleme değildir.
Secret değeri yalnızca encode edilmiş olabilir.
RBAC yetkisi olan kullanıcı secret'ı okuyabilir.
Bu nedenle Secrets için;
encryption at rest,
RBAC,
external secret manager
değerlendirilebilir.
External Secret Manager Nedir?
Kubernetes secret'larının doğrudan cluster içinde tutulması yerine;
AWS Secrets Manager,
Azure Key Vault,
Google Secret Manager,
HashiCorp Vault
gibi sistemlerden runtime sırasında alınması yaklaşımıdır.
Bu model secret lifecycle ve rotation açısından daha güçlü olabilir.
etcd Nedir?
etcd, Kubernetes cluster'ın kritik state verisini tutan dağıtık key-value store'dur.
Secret ve configuration bilgileri burada saklanabilir.
Bu nedenle etcd son derece kritik varlıktır.
Erişimi ve encryption'ı güçlü şekilde korunmalıdır.
etcd İnternete Açık Olabilir mi?
Production ortamında doğrudan public exposure ciddi risk oluşturabilir.
etcd yalnızca control plane bileşenleri tarafından erişilebilir olmalıdır.
Network ve authentication kontrolleri uygulanmalıdır.
Kubernetes Network Policy Nedir?
Network Policy, pod'ların hangi pod veya network kaynaklarıyla iletişim kurabileceğini sınırlamaya yardımcı olur.
Varsayılan olarak birçok cluster'da pod'lar birbirleriyle geniş iletişim kurabilir.
Bu lateral movement riskini artırabilir.
Default Deny Network Policy Nedir?
Tüm pod trafiği varsayılan olarak kapatılır.
Yalnızca gerekli iletişim yolları explicit olarak açılır.
Bu yaklaşım:
Zero Trust Networking
mantığına daha yakındır.
Ama uygulama dependency'leri doğru bilinmelidir.
Kubernetes'te Mikro Segmentasyon Nasıl Yapılır?
Namespace,
label,
Network Policy,
service mesh
gibi mekanizmalarla workload iletişimleri sınırlandırılabilir.
Örneğin:
Frontend yalnızca API'ye.
API yalnızca database'e.
Developer pod'ları production database'e erişemez.
Bu model lateral movement'i azaltır.
HostNetwork Nedir?
Pod'un host network namespace'ini kullanmasına izin veren konfigürasyondur.
Bu durumda pod doğrudan node network'üne daha yakın erişim kazanabilir.
Gerekli olmadığı sürece kullanılmamalıdır.
HostPath Nedir?
hostPath, host üzerindeki filesystem dizininin container içine mount edilmesini sağlar.
Bu güçlü ama riskli bir özelliktir.
Örneğin container'a:
/
veya
/var/run/docker.sock
gibi kritik host path'ler mount edilirse container compromise host compromise'a dönüşebilir.
Docker Socket Mount Neden Kritik?
/var/run/docker.sock container'a mount edilirse container Docker daemon üzerinde geniş kontrol elde edebilir.
Bu durum host üzerinde yeni privileged container oluşturma gibi ciddi riskler doğurabilir.
Bu nedenle production workload'larda son derece dikkatli kullanılmalıdır.
Kubernetes Security Context Nedir?
Pod veya container'ın;
user,
group,
capability,
privilege,
filesystem
gibi güvenlik özelliklerini tanımlar.
Güvenli security context container hardening'in temelidir.
allowPrivilegeEscalation Nedir?
Container process'inin mevcut yetkisinden daha yüksek privilege kazanmasını engellemeye yardımcı olan security setting'dir.
Gerekli olmadığı sürece:
allowPrivilegeEscalation: false
yaklaşımı tercih edilebilir.
Seccomp Nedir?
seccomp, Linux system call'larını sınırlandırmaya yardımcı olan güvenlik mekanizmasıdır.
Container'ın kullanmasına gerek olmayan system call'lar engellenebilir.
Bu container escape ve exploit etkisini azaltan defense-in-depth kontrolüdür.
AppArmor ve SELinux Container Güvenliğinde Kullanılır mı?
Evet.
AppArmor ve SELinux gibi Mandatory Access Control mekanizmaları container workload'larının host üzerindeki erişimlerini sınırlandırmaya yardımcı olabilir.
Ancak doğru policy oluşturmak operasyonel uzmanlık gerektirir.
Pod Security Standards Nedir?
Kubernetes, workload'ların güvenlik seviyelerini tanımlamak için Pod Security Standards yaklaşımını kullanır.
Genel olarak;
Privileged,
Baseline,
Restricted
gibi profiller düşünülebilir.
Production workload'lar için mümkün olduğunca daha sıkı profil tercih edilebilir.
Pod Security Admission Nedir?
Pod Security Admission, pod oluşturulurken belirli Pod Security Standards kurallarının uygulanmasını sağlar.
Örneğin privileged pod veya root container deployment'ı engellenebilir.
Bu preventive security kontrolüdür.
Admission Controller Nedir?
Kubernetes API request'i kabul edilmeden önce policy uygulayan mekanizmadır.
Örneğin;
unsigned image yasak,
privileged pod yasak,
resource limit zorunlu,
belirli registry dışında image yasak
gibi kontroller uygulanabilir.
Bu sayede güvenlik production'a çıkmadan enforce edilir.
OPA Gatekeeper Nedir?
Open Policy Agent – OPA ve Gatekeeper, Kubernetes üzerinde policy-as-code yaklaşımıyla admission policy uygulamak için kullanılabilir.
Örneğin:
“Production namespace'te root container çalışamaz.”
gibi policy oluşturulabilir.
Bu cloud-native DevSecOps güvenliği açısından değerlidir.
Kyverno Nedir?
Kyverno, Kubernetes için policy engine olarak kullanılan araçlardan biridir.
Policy'ler Kubernetes native manifest yapısına yakın şekilde tanımlanabilir.
Security teams;
validate,
mutate,
generate
politikaları oluşturabilir.
Ama araçtan daha önemli olan doğru policy tasarımıdır.
Admission Policy ile CSPM Arasındaki Fark
Admission Policy:
Riskli workload daha oluşmadan engeller.
CSPM/KSPM:
Mevcut cluster configuration'ındaki riskleri tespit eder.
İdeal model:
Prevent + Detect
şeklinde ikisini birlikte kullanır.
KSPM Nedir?
Kubernetes Security Posture Management – KSPM, Kubernetes cluster'larının güvenlik konfigürasyonlarını sürekli değerlendiren yaklaşımı ifade eder.
Örneğin;
privileged pod,
open API server,
weak RBAC,
missing Network Policy,
hostPath usage
tespit edilebilir.
KSPM, CSPM'in Kubernetes'e odaklanan uzantısı gibi düşünülebilir.
CIS Kubernetes Benchmark Nedir?
CIS Kubernetes Benchmark, cluster ve node yapılandırmaları için güvenlik önerileri sunar.
Örneğin;
API Server,
Scheduler,
Controller Manager,
etcd,
worker node
konfigürasyonları değerlendirilir.
Managed Kubernetes servislerinde bazı kontroller provider sorumluluğunda olabilir.
Bu nedenle benchmark platforma göre yorumlanmalıdır.
EKS Security Nedir?
Amazon Elastic Kubernetes Service – EKS üzerinde AWS control plane'in belirli bölümlerini yönetir.
Ancak müşteri;
IAM integration,
RBAC,
node,
pod,
network,
secret,
image
güvenliğinden sorumlu olabilir.
Bu nedenle “managed cluster” güvenlik sorumluluğunu kaldırmaz.
AKS Security Nedir?
Azure Kubernetes Service – AKS, Microsoft Azure'un managed Kubernetes servisidir.
AKS güvenliğinde;
Entra integration,
Azure RBAC,
Network Policy,
Key Vault,
container registry,
Defender/runtime security
gibi alanlar önemlidir.
Identity ile Kubernetes RBAC birlikte doğru tasarlanmalıdır.
GKE Security Nedir?
Google Kubernetes Engine – GKE managed Kubernetes platformudur.
GKE ortamında;
IAM,
Workload Identity,
private cluster,
network policy,
binary authorization,
secret management
gibi kontroller değerlendirilebilir.
Temel güvenlik prensipleri diğer managed Kubernetes servisleriyle benzerdir.
Managed Kubernetes Kullanmak Güvenli midir?
Managed Kubernetes, control plane patching ve availability gibi alanlarda önemli avantaj sağlar.
Ancak şu hatalar yine müşteriden kaynaklanabilir:
cluster-admin fazla kullanıcı,
public API endpoint,
privileged pod,
open network,
weak secret management,
vulnerable image.
Bu nedenle Shared Responsibility Model burada da geçerlidir.
Kubernetes Node Security Nedir?
Worker node'lar container workload'larını çalıştırır.
Node compromise edilirse aynı node üzerindeki birçok pod etkilenebilir.
Bu nedenle node'larda;
OS patch,
minimal package,
EDR/runtime sensor,
network restriction,
SSH control
uygulanmalıdır.
Node'a SSH Erişimi Gerekli mi?
Managed cluster'larda mümkün olduğunca node'ların manuel yönetimi azaltılabilir.
SSH gerekiyorsa;
private network,
Bastion,
JIT,
MFA/PAM
ile kontrol edilmelidir.
Node'un doğrudan internete açık olması gereksiz risk oluşturabilir.
Immutable Node Nedir?
Node üzerinde manuel değişiklik yapmak yerine yeni güvenli image'dan node oluşturup eskisini kaldırma yaklaşımıdır.
Bu Immutable Infrastructure modelidir.
Configuration drift'i azaltabilir.
Kubernetes Patch Management Nasıl Yapılır?
Kubernetes güvenliği birkaç farklı patch katmanı içerir:
Cluster version.
Node operating system.
Container image.
Application dependency.
Bu katmanların tamamı ayrı lifecycle'a sahiptir.
Bu nedenle patch management merkezi görünürlük gerektirir.
Kubernetes Version Güncel Tutulmalı mı?
Evet.
Eski Kubernetes sürümleri;
security fix,
support,
compatibility
açısından risk oluşturabilir.
Managed provider'ın desteklediği sürüm takvimi takip edilmelidir.
Ancak upgrade öncesinde application compatibility test edilmelidir.
Container Runtime Security Nedir?
Runtime security, container production'da çalışırken oluşan davranışları izler.
Örneğin;
beklenmeyen shell açılması,
new process,
sensitive file access,
network connection,
privilege escalation
tespit edilebilir.
Bu nedenle image scan ile runtime security birbirini tamamlar.
Runtime Detection Neden Gereklidir?
Image tamamen temiz olabilir.
Ancak application vulnerability üzerinden saldırgan runtime sırasında komut çalıştırabilir.
Image scan bunu göremez.
Runtime detection gerçek çalışma davranışını izler.
eBPF Container Security'de Nasıl Kullanılır?
eBPF, Linux kernel seviyesinde düşük seviyeli telemetry elde etmek için kullanılabilen teknolojidir.
Cloud-native security platformları;
process,
network,
system call
davranışlarını gözlemlemek için eBPF kullanabilir.
Container runtime detection açısından güçlü görünürlük sağlayabilir.
Kubernetes EDR Var mı?
Geleneksel EDR ajanları bazı node'larda kullanılabilir.
Ancak container dünyasında workload ve runtime davranışı için cloud-native security çözümleri gerekebilir.
Bu nedenle:
EDR + CWPP + Kubernetes Runtime Security
birlikte değerlendirilebilir.
CWPP Kubernetes'te Ne İşe Yarar?
Cloud Workload Protection Platform – CWPP, container ve Kubernetes workload'larında;
vulnerability,
runtime behavior,
malware,
configuration
risklerini izleyebilir.
CSPM cloud config'e bakarken CWPP workload davranışına odaklanır.
CNAPP Kubernetes Güvenliğini Nasıl Kapsar?
Modern CNAPP platformları;
CSPM,
KSPM,
CWPP,
CIEM,
container image security,
IaC scanning
özelliklerini bir araya getirebilir.
Örneğin:
Public Kubernetes Service
Vulnerable Pod
Privileged Container
High-Privilege Cloud Identity
tek attack path olarak gösterilebilir.
Kubernetes ve Cloud IAM Nasıl Birleşir?
Managed Kubernetes ortamlarında pod'lar cloud servislerine erişebilir.
Örneğin pod;
S3,
Key Vault,
Cloud Storage
kullanabilir.
Bu nedenle Kubernetes service identity ile cloud IAM arasında ilişki vardır.
Yanlış tasarımda pod compromise cloud account compromise'a dönüşebilir.
Workload Identity Neden Önemlidir?
Pod içerisine static cloud access key koymak yerine workload identity mekanizması kullanılabilir.
Bu sayede;
short-lived credential,
identity binding,
minimum permission
sağlanabilir.
Bu secret exposure riskini azaltır.
Kubernetes Attack Path Nedir?
Saldırganın düşük yetkili pod veya kullanıcıdan kritik cluster/cloud yetkisine ilerlediği zincirdir.
Örneğin:
Internet-facing Application
↓
RCE
↓
Pod
↓
Service Account Token
↓
Kubernetes Secret Access
↓
Cloud Credential
↓
Production Database
Bu zincir tek tek bulgulardan çok daha değerlidir.
Kubernetes Lateral Movement Nasıl Gerçekleşir?
Saldırgan bir pod'u ele geçirdikten sonra;
diğer pod'lara,
service'lere,
node'a,
API Server'a,
cloud metadata'ya
erişim arayabilir.
Network Policy ve Least Privilege bu hareketi sınırlandırır.
Namespace Security Boundary midir?
Namespace organizasyon ve bazı access control işlemleri sağlar.
Ancak tek başına güçlü security boundary olarak düşünülmemelidir.
Özellikle cluster-level RBAC ve shared node yapıları nedeniyle ek kontroller gerekir.
Multi-Tenant Kubernetes Neden Risklidir?
Farklı ekip veya müşteriler aynı cluster'ı kullanıyorsa isolation kritik hale gelir.
RBAC,
Network Policy,
Pod Security,
Resource Quota
dikkatli tasarlanmalıdır.
Yüksek riskli multi-tenant yapılarda ayrı cluster kullanımı değerlendirilebilir.
Resource Quota Güvenlikle İlgili mi?
Evet.
Bir namespace veya workload tüm CPU ve memory kaynaklarını tüketirse diğer servisleri etkileyebilir.
ResourceQuota ve Limits availability güvenliğine katkı sağlar.
DoS etkisini azaltabilir.
CPU ve Memory Limit Neden Önemlidir?
Container'a sınırsız resource bırakmak noisy neighbor veya application bug durumunda cluster kapasitesini etkileyebilir.
Bu nedenle requests ve limits tanımlanmalıdır.
Ancak çok düşük limit de application availability'yi bozabilir.
Kubernetes DoS Riski
Bir attacker veya kötü yapılandırılmış workload;
çok sayıda pod,
yüksek CPU,
yüksek memory
oluşturabilir.
Bu nedenle quota ve admission policy availability güvenliği için önemlidir.
Kubernetes Audit Logs Neden Gereklidir?
API Server üzerinden gerçekleştirilen kritik işlemler audit loglarda görülebilir.
Örneğin;
secret read,
role assignment,
pod creation,
exec command,
config change
izlenebilir.
Incident Response için kritik veri kaynağıdır.
kubectl exec Neden İzlenmelidir?
kubectl exec, çalışan pod içerisinde komut çalıştırmaya izin verebilir.
Bu meşru troubleshooting için kullanılır.
Ancak saldırgan veya insider tarafından kötüye kullanılabilir.
Production ortamında exec aktiviteleri loglanmalı ve gerekirse sınırlandırılmalıdır.
Kubernetes Secret Okunması Alarm Üretmeli mi?
Her secret read saldırı değildir.
Application'lar normal olarak secret kullanabilir.
Ancak human admin'in çok sayıda secret okuması veya beklenmeyen service account aktivitesi anomali olabilir.
Behavior-based monitoring değerlidir.
Kubernetes SIEM Entegrasyonu Nasıl Yapılır?
SIEM'e;
Kubernetes Audit Logs,
node logs,
container runtime logs,
cloud IAM logs,
WAF/API logs
gönderilebilir.
Örneğin:
WAF → exploit attempt.
Runtime → shell opened.
Kubernetes → secret read.
Cloud IAM → storage access.
Bu olaylar tek saldırı zinciri olarak korele edilebilir.
Kubernetes Threat Hunting Nedir?
Cluster telemetry üzerinde geçmiş saldırı davranışlarının aranmasıdır.
Örneğin hipotez:
“Compromised pod üzerinden service account token kullanılmış olabilir.”
Audit loglarda;
token activity,
secret access,
unexpected API calls
aranabilir.
Kubernetes Incident Response Nasıl Yapılır?
Bir pod compromise olduğunda sadece pod'u silmek yeterli olmayabilir.
Kontrol edilmesi gerekenler:
Pod hangi service account'u kullanıyordu?
Hangi secret'lara erişti?
Hangi node üzerinde çalıştı?
Cloud IAM permission'ı var mıydı?
Başka pod'larla iletişim kurdu mu?
Image güvenilir miydi?
Bu nedenle containment ile investigation birlikte yürütülmelidir.
Compromised Pod Silinmeli mi?
Gerekebilir.
Ancak forensic evidence kaybolabilir.
Önce;
logs,
container state,
network connection,
node telemetry
toplanması değerlendirilebilir.
Incident Response planı önceden hazırlanmalıdır.
Ephemeral Container Forensics Neden Zor?
Container'lar kısa ömürlüdür.
Pod silindiğinde filesystem ve runtime evidence kaybolabilir.
Bu nedenle merkezi logging ve runtime telemetry son derece önemlidir.
Cloud-native forensics klasik disk imaging'den farklıdır.
Kubernetes Backup Güvenliği
Cluster configuration ve persistent data backup edilmelidir.
Ancak backup içerisinde;
secret,
application configuration,
sensitive data
bulunabilir.
Backup erişimi ayrıca korunmalıdır.
etcd Backup Neden Kritik?
Self-managed cluster'larda etcd backup cluster state recovery için önemli olabilir.
Ancak etcd backup hassas credential ve secret içerebilir.
Şifreleme ve access control uygulanmalıdır.
Disaster Recovery Kubernetes'te Nasıl Planlanır?
Kubernetes cluster yeniden oluşturulabilir.
Ama application data, secret ve configuration'ın nasıl geri döneceği planlanmalıdır.
Infrastructure as Code ve GitOps recovery sürecini hızlandırabilir.
GitOps Nedir?
GitOps, Kubernetes configuration'ın source of truth olarak Git repository üzerinden yönetilmesidir.
Cluster config değişiklikleri code review ve version control ile yapılabilir.
Bu configuration drift'i azaltabilir.
Ancak Git repository ve CI/CD pipeline'ın kendisi yüksek değerli güvenlik hedefi haline gelir.
GitOps Supply Chain Riski
Saldırgan Git repository'yi ele geçirirse production manifest'ini değiştirebilir.
Örneğin malicious image veya privileged pod ekleyebilir.
Bu nedenle;
branch protection,
signed commit,
code review,
CI/CD security
önemlidir.
CI/CD Pipeline Kubernetes Güvenliğinde Neden Kritiktir?
Pipeline genellikle production cluster'a deployment yetkisine sahiptir.
Bu credential ele geçirilirse saldırgan doğrudan workload deploy edebilir.
Bu nedenle CI/CD identity minimum yetkili olmalı ve secret'lar sıkı korunmalıdır.
Kubernetes Secret CI/CD Loglarına Sızabilir mi?
Evet.
Yanlış pipeline configuration secret değerini console log'a yazabilir.
Bu nedenle log masking ve secret scanning önemlidir.
Ayrıca uzun ömürlü cluster admin token pipeline içinde tutulmamalıdır.
Image Tag Olarak “latest” Kullanmak Riskli mi?
latest değişken bir tag olabilir.
Bugün aynı tag başka image'a işaret edebilir.
Bu deployment reproducibility ve supply chain güvenliğini azaltabilir.
Digest veya immutable version tag kullanımı daha kontrollü olabilir.
Image Digest Nedir?
Image'ın cryptographic hash değeridir.
Deployment belirli digest'e bağlanırsa aynı image'ın çalıştırıldığı daha güvenli şekilde doğrulanabilir.
Bu supply chain integrity için değerlidir.
Admission Control ile Image Policy Nasıl Uygulanır?
Örneğin policy:
Sadece kurumsal registry.
Sadece signed image.
Critical CVE içeren image deploy edilemez.
latest tag yasak.
Bu şekilde image security production deployment noktasında enforce edilir.
Vulnerability Fix Yoksa Image Deploy Edilebilir mi?
Risk bazlı istisna süreci olabilir.
Örneğin;
CVE application path'inde değil,
compensating control var,
vendor fix yayınlamadı.
Bu durumda risk owner onayıyla exception verilebilir.
Ancak süreli ve izlenebilir olmalıdır.
Exception Management Nedir?
Security policy'ye geçici istisna verilmesi sürecidir.
Örneğin application privileged container gerektiriyor olabilir.
İstisna için;
business justification,
owner,
expiry date,
compensating control
tanımlanmalıdır.
Süresiz exception güvenlik açığına dönüşebilir.
Kubernetes Security Assessment Nedir?
Kubernetes Security Assessment, cluster'ın;
architecture,
RBAC,
network,
secret,
workload,
node,
logging,
runtime
güvenlik seviyesinin sistematik değerlendirilmesidir.
Bu çalışma sadece CVE scan değildir.
Configuration ve privilege ilişkileri daha önemlidir.
Kubernetes Security Assessment Nasıl Yapılır?
Genel akış şu şekilde olabilir:
1. Cluster Architecture Review
Managed/self-managed yapı.
2. API Exposure
Control plane erişimi.
3. RBAC Analysis
Kullanıcı ve service account permission'ları.
4. Workload Security
Root, privileged, capabilities.
5. Network Policy
Pod communication.
6. Secret Management
Credential güvenliği.
7. Image Security
Vulnerability ve registry kontrolleri.
8. Runtime Security
Detection coverage.
9. Logging
Audit ve SIEM entegrasyonu.
10. Attack Path Analysis
Pod'dan cluster/cloud'a geçiş yolları.
Bu yaklaşım gerçek risk görünümü sağlar.
Kubernetes Pentest ile Security Assessment Arasındaki Fark
Security Assessment
Konfigürasyon ve posture'u analiz eder.
Kubernetes Penetration Test
Yetkilendirilmiş saldırı teknikleriyle bu hataların ne kadar istismar edilebilir olduğunu test eder.
Örneğin assessment:
overprivileged service account bulur.
Pentest:
bu account üzerinden secret veya cloud resource erişimi mümkün mü?
sorusunu doğrular.
Container Security Assessment Nedir?
Image,
Dockerfile,
registry,
runtime,
privilege,
secret
alanlarının güvenlik değerlendirmesidir.
Kubernetes kullanmayan container platformlarında da uygulanabilir.
CIS Docker Benchmark Nedir?
Docker host ve container configuration için güvenlik önerileri sağlar.
Örneğin;
daemon,
filesystem,
logging,
container privilege
gibi alanları kapsayabilir.
Ancak modern managed container ortamlarında bütün maddeler birebir uygulanamayabilir.
Kubernetes Security KPI'ları Nelerdir?
Örnek metrikler:
Privileged Container Count
Root Container Percentage
Cluster-Admin User Count
Overprivileged Service Account Count
Critical Image Vulnerability Count
Public API Endpoint Count
Network Policy Coverage
Unsigned Image Count
Runtime Detection Coverage
Audit Logging Coverage
Bu metrikler güvenlik posture'un zaman içerisinde izlenmesine yardımcı olabilir.
Network Policy Coverage Nasıl Ölçülür?
Örneğin production namespace'lerin kaçında default-deny policy bulunduğu ölçülebilir.
Ama sayı tek başına yeterli değildir.
Policy yanlış yazılmışsa uygulama iletişimi yine gereğinden geniş olabilir.
Bu nedenle security validation gerekir.
Kubernetes Security Score Kullanılabilir mi?
Yönetim görünürlüğü için;
RBAC,
Workload,
Network,
Image,
Runtime,
Logging
alanları puanlanabilir.
Ancak tek bir privileged internet-facing pod bütün ortalama skordan daha önemli olabilir.
Bu nedenle score + critical attack path birlikte sunulmalıdır.
Kubernetes Raporunda Neler Olmalıdır?
Profesyonel rapor şu alanları içerebilir:
Executive Summary
İş ve teknik risk özeti.
Cluster Architecture
EKS, AKS, GKE veya self-managed yapı.
Control Plane Security
API ve etcd riskleri.
RBAC & Identity
Kullanıcı ve service account yetkileri.
Workload Hardening
Root, privileged ve capability bulguları.
Network Security
Network Policy ve exposure.
Secrets
Credential güvenliği.
Image & Supply Chain
Registry ve vulnerability riskleri.
Runtime Detection
CWPP/SOC görünürlüğü.
Attack Path Analysis
Pod → Cluster → Cloud yolları.
Remediation Roadmap
Öncelikli iyileştirmeler.
Kubernetes Güvenliğinde En Büyük Hata Nedir?
En yaygın hata:
“Managed Kubernetes kullanıyoruz, güvenlik provider'ın sorumluluğunda.”
varsayımıdır.
Provider control plane'in bazı katmanlarını koruyabilir.
Ancak application ve workload konfigürasyonu yine kuruma aittir.
Bir pod;
root,
privileged,
cluster-admin service account
ile çalışıyorsa provider bunu iş ihtiyacı mı yoksa hata mı diye bilemez.
Bu nedenle Kubernetes Security Shared Responsibility Model içerisinde değerlendirilmelidir.
Container ve Kubernetes İçin Temel Güvenlik Kontrolleri
Güçlü yaklaşım şu katmanları içerebilir:
Trusted Images
Güvenilir registry ve image signing.
Image Scanning
CVE ve dependency analizi.
Non-Root Containers
Minimum runtime privilege.
Pod Security
Privileged ve dangerous configuration kontrolü.
RBAC
Least Privilege.
Network Policies
Workload segmentation.
Secret Management
Vault ve short-lived credential.
Admission Control
Policy as Code.
Runtime Security
CWPP/eBPF tabanlı detection.
Audit & SIEM
Merkezi visibility.
Continuous Validation
KSPM ve security assessment.
Bu katmanlar birlikte çalışmalıdır.
Container Security Lifecycle Nasıl Olmalıdır?
Container güvenliği yalnızca production runtime'da başlamamalıdır.
Daha doğru model:
Code
↓
Dependency Scan
↓
Dockerfile Security
↓
Image Build
↓
Image Scan
↓
Image Sign
↓
Registry
↓
Admission Policy
↓
Runtime Security
↓
Monitoring
↓
Incident Response
Bu yapı Secure Software Supply Chain yaklaşımını destekler.
Kubernetes Security ile DevSecOps Arasındaki İlişki
Kubernetes config çoğu zaman YAML veya Helm chart olarak source control'da tutulur.
Bu nedenle security kontrolleri CI/CD içerisine alınabilir.
Örneğin;
manifest scanning,
RBAC review,
secret scan,
policy validation
deployment öncesinde yapılabilir.
Bu Shift Left Kubernetes Security yaklaşımıdır.
Runtime Validation Neden Hâlâ Gereklidir?
Pipeline güvenli olabilir.
Ancak administrator production'da manuel değişiklik yapabilir.
Ya da saldırgan runtime'da API üzerinden yeni pod oluşturabilir.
Bu nedenle:
Shift Left + Runtime Security + KSPM
birlikte kullanılmalıdır.
Kubernetes Attack Path Analizi Neden Geleceğin Ana Konularından Biri?
Çünkü modern cloud-native mimarilerde risk tek bir platform içinde kalmaz.
Saldırı zinciri şöyle olabilir:
Internet
↓
Web Application Vulnerability
↓
Container
↓
Kubernetes Service Account
↓
Secret
↓
Cloud IAM
↓
Managed Database
Bu zincir;
Application Security,
Container Security,
Kubernetes Security,
Cloud IAM,
Data Security
alanlarını aynı anda içerir.
Saldırgan açısından bunlar ayrı departmanlar değildir.
Tek bir saldırı yoludur.
Bu nedenle modern güvenlik de aynı bütünlükte değerlendirilmelidir.
Sonuç: Kubernetes Güvenliği Pod Güvenliğinden Daha Fazlasıdır
Kubernetes güçlü bir orchestration platformudur.
Ama güvenliği yalnızca:
“Image'da CVE var mı?”
sorusuyla ölçülemez.
Daha doğru sorular şunlardır:
Pod root mu çalışıyor?
Privileged mı?
Hangi service account'u kullanıyor?
Bu service account hangi secret'ları okuyabiliyor?
Network üzerinde hangi servislerle konuşabiliyor?
Cloud IAM yetkisi var mı?
Runtime'da şüpheli process tespit ediliyor mu?
API Server aktiviteleri SOC tarafından görülüyor mu?
Gerçek Container ve Kubernetes Security;
Secure Build + Least Privilege + RBAC + Network Isolation + Secret Security + Admission Control + Runtime Detection + Cloud IAM Security + Continuous Validation
yaklaşımıyla oluşturulur.
Ve container dünyasındaki kritik uygulamaların arka tarafında çoğu zaman başka bir yüksek değerli sistem daha bulunur:
Veritabanı.
Uygulamanız güvenli olabilir.
Kubernetes cluster'ınız sıkılaştırılmış olabilir.
Cloud IAM doğru olabilir.
Ancak database yanlış yapılandırılmışsa;
müşteri verileri,
finansal kayıtlar,
kimlik bilgileri,
ticari sırlar
yine risk altında olabilir.
Bu nedenle sıradaki kritik konu doğrudan verinin kendisine gidiyor.
İlgili Makaleler
Sistem ve Bulut Güvenliği

Sistem ve Bulut Güvenliği Nedir? Kurumsal Altyapılar Nasıl Korunur?
Sistem ve bulut güvenliği bir ürün değil, sürekli yönetilen bir disiplindir. Bu bölümde paylaşılan sorumluluk modelini, hardening ve baseline'ı, kimlik güvenliğini ve CSPM/CWPP/CNAPP kavramlarını ele alıyoruz.

Sunucu Güvenliği Nedir? Windows ve Linux Server Hardening Nasıl Yapılır?
Güvenli sunucu, güvenli kurulumdan fazlasıdır. Bu bölümde Windows ve Linux hardening'i, CIS Benchmark ve baseline'ı, RDP/SSH güvenliğini, yetkili erişimi ve loglama katmanlarını ele alıyoruz.

Active Directory Güvenliği Nedir? Domain, Yetki ve Kimlik Riskleri Nasıl Önlenir?
Active Directory güvenliği kimlik grafiğini korumaktır. Bu bölümde Kerberos ve NTLM risklerini, ACL ve delegation'ı, LAPS/gMSA ve tiering'i, Attack Path analizini ve AD kurtarma planını ele alıyoruz.

Microsoft 365 ve Entra ID Güvenliği Nasıl Sağlanır?
Microsoft 365 ve Entra ID guvenligi nasil saglanir? MFA, kosullu erisim, PIM, OAuth yonetisimi, oturum guvenligi ve kimlik olay mudahalesi bir arada.

Cloud Security Nedir? AWS, Azure ve Google Cloud Güvenliği Nasıl Sağlanır?
Cloud security nedir? AWS, Azure ve Google Cloud'da IAM, network, storage, logging ve CSPM katmanlari nasil guvenli hale getirilir?

Cloud IAM Güvenliği Nedir? Yetki, Rol ve Privileged Access Riskleri Nasıl Yönetilir?
Cloud IAM guvenligi nedir? AWS, Azure ve GCP'de asiri yetki, privilege escalation, service account riskleri ve CIEM yaklasimi.
Bu konuda profesyonel destek mi arıyorsunuz?
Uzman ekibimiz ücretsiz danışmanlık için sizi en kısa sürede arasın.