Kubernetes Cluster Güvenliği: Nodes, Namespace ve Network Policy

Kubernetes Cluster Güvenliği: Nodes, Namespace ve Network Policy

13 dk okuma23 Temmuz 2026DGTLFACE Editorial

Kubernetes’e geçiş çoğu ekipte “manifest’ler çalışsın” önceliğiyle başlar; güvenlik ayarları ise “sonra bakarız” diye ertelenir. Ancak K8s’te default güvenlik varsayımları, klasik tek sunucu/monolit dünyasından farklı riskler üretir: cluster API erişimi, geniş yetkili servis hesapları, namespaceler arası kontrolsüz iletişim ve pod’ların birbirine sınırsız konuşması gibi. Otel microservice cluster’larında rezervasyon/raporlama; B2B’de API/worker cluster’ları genellikle kritik iş akışlarını taşır. Bu rehber, “ilk 3 katman” olarak RBAC + namespace + NetworkPolicy ile hızlı risk azaltma sağlar; node hardening ve Pod Security ile derinleştirir.

Öne Çıkan Cevap

Kubernetes ölçeklenebilirlik sağlar; ancak default bırakıldığında “her pod her yere konuşabilir, herkes cluster’a bağlanabilir” gibi riskler oluşur. Güvenli başlangıç modeli; kubeconfig erişimini sıkılaştırmak, RBAC ile least-privilege rol matrisi kurmak, namespace’lerle proje/çevre ayrımı yapmak ve NetworkPolicy ile varsayılan trafiği kapatıp sadece gerekli iletişime izin vermektir. Node OS hardening ve Pod Security (context/capabilities) bu modeli tamamlar.

Özet

K8s’te güvenlik; RBAC ile erişimi daraltmak, namespace ile izolasyon kurmak ve NetworkPolicy ile pod trafiğini default-deny yapmaktır. Node hardening ve Pod Security ek katmandır.

Maddeler

  • Hedef kitle: DevOps/SRE, platform mühendisliği, otel IT, B2B SaaS ekipleri
  • KPI: RBAC uyum oranı, namespace izolasyon seviyesi, network policy kapsaması, yetkisiz erişim denemeleri, incident sayısı
  • Entity: Kubernetes Security, Kubeconfig, RBAC, Namespaces, NetworkPolicy, Node Hardening, Pod Security
  • Geo: Türkiye geneli; K8s tabanlı otel, SaaS ve B2B platformları
  • Funnel: ToFu/MoFu (trend + uygulama) → BoFu (analiz)
  • SERP hedefi: Featured snippet + PAA
  • Refresh: 180 gün (K8s sürümleri ve best practice değiştikçe)

Kısa Cevap

Evet risk büyük olabilir; RBAC, namespace izolasyonu ve NetworkPolicy ile “herkes her yere” erişimi kapatın.

Hızlı Özet

  • 1) Cluster-admin erişimini daralt, audit et.
  • 2) Namespace’leri proje+env bazlı ayır.
  • 3) NetworkPolicy ile “herkes her yere”yi kapat.
  • 4) Pod Security standardı koy (non-root, read-only FS hedefi).

1. Kubernetes Güvenlik Temelleri

K8s güvenliği, tek bir ayar değil; katmanlar sistemidir. En pratik okuma sırası:

  1. Cluster erişimi (kubeconfig, API server)
  2. Yetkilendirme (RBAC)
  3. İzolasyon (namespace)
  4. Ağ politikaları (NetworkPolicy/Ingress)
  5. Node ve pod güvenliği (OS hardening, Pod Security)

Kubernetes cluster güvenliği nasıl sağlanır?

Kubernetes güvenliği; cluster API erişimini kısıtlamak, RBAC ile least-privilege rol matrisi kurmak, namespace ile projeleri/ortamları ayırmak ve NetworkPolicy ile pod trafiğini default-deny yapıp sadece gerekli iletişime izin vermekle başlar. Node OS hardening ve Pod Security kontrolleri modeli tamamlar.

Default riskler (neden “sonra bakarız” tehlikeli?)

  • Geniş yetkili servis hesapları
  • Namespaceler arası kontrolsüz erişim
  • Pod’ların sınırsız outbound/ingress trafiği
  • Kubeconfig/cluster credential sızıntısı

☑ Mini Check : İlk 30 gün güvenlik barı

  • Kubeconfig erişimleri kişiye özel ve geri alınabilir mi?
  • Cluster-admin kimlerde? Minimal mi?
  • Namespace’ler proje/ortam bazlı ayrıldı mı?
  • NetworkPolicy var mı (default-deny hedef)?
  • Pod’lar non-root / minimum capability ile mi çalışıyor?

Ne yapmalıyım?

  • Cluster-admin erişimini daralt, audit et.
  • Namespace’leri proje+env bazlı ayır.
  • NetworkPolicy ile “herkes her yere”yi kapat.
  • Pod Security standardı koy (non-root, read-only FS hedefi).
Kubernetes güvenlik temelleri, RBAC ve namespace izolasyonu için bölüm ayırıcı
Kubernetes güvenlik temelleri, RBAC ve namespace izolasyonu için bölüm ayırıcı

2. Cluster ve Node Güvenliği

K8s’te cluster güvenliği API server erişimi ve kubeconfig yönetimiyle başlar. Node güvenliği ise container’ların üzerinde koştuğu zemindir: OS hardening, patch ve runtime kısıtları olmazsa izolasyon zayıflar.

Kubeconfig ve erişim hijyeni

  • Kubeconfig kişiye özel olmalı
  • Eski kullanıcı erişimi hızlı kapatılmalı
  • CI/CD servis hesapları ayrı yönetilmeli
  • Mümkünse IP/konum kısıtı ve MFA ile birlikte düşünülmeli

Node OS hardening

  • Patch yönetimi ve minimal OS yaklaşımı
  • Gereksiz servis kapatma
  • Runtime güvenliği (container runtime policy)
  • Log/metric ajanlarının standardize edilmesi

☑ Mini Check : Cluster/node güvenliği

  • Cluster erişimi (kubeconfig) envanterli mi?
  • Cluster-admin erişimleri kayıtlı mı?
  • Node OS patch rutini var mı?
  • Node’larda gereksiz servisler kapalı mı?
  • Node log/metrics izleniyor mu? (Internal link: /tr/veri-analiz-ve-raporlama)

Ne yapmalıyım?

  • Kubeconfig ve servis hesabı erişimini envanterle.
  • Node’ları “golden baseline” ile harden et.
  • Upgrade/patch sürecini bakım döngüsüyle senkronla (Internal link: /tr/yazilim/bakim-ve-destek).
  • Node gözlemlenebilirliğini (log/metrics) standartlaştır.

3. Namespace ile İzolasyon

Namespace, K8s’te izolasyonun ilk katmanıdır: projeleri, ortamları (staging/prod) ve ekipleri ayırır. Doğru kullanılmazsa “her şey default namespace’de” anti-pattern’i oluşur.

RBAC ve namespace ile neyi izole etmeliyim?

Namespace ile proje ve ortamları ayırmalı; RBAC ile her ekibin/sistemin sadece kendi namespace’ine erişmesini sağlamalısınız. Prod namespace’inde daha sıkı erişim ve deploy kuralları, staging’de daha kontrollü esneklik uygulanabilir. Bu ayrım, hem güvenliği hem operasyonel netliği artırır.

Proje/çevre (env) ayrımı

  • project-a-prod, project-a-staging gibi net isimlendirme
  • Shared servisler için ayrı namespace (observability gibi)
  • Çok tenant’lı B2B’de tenant izolasyonu için ek politika (mimariye göre)

☑ Mini Check : Namespace hijyeni

  • Default namespace boş veya minimum mu?
  • Prod/staging namespace’leri ayrık mı?
  • Ekip bazlı erişim sınırları net mi?
  • Secret/config dağıtımı namespace bazlı mı?
  • Namespace arası iletişim NetworkPolicy ile kontrol ediliyor mu?

Ne yapmalıyım?

  • Default namespace’i “çalışma alanı” olmaktan çıkar.
  • Prod/staging ayrımını isimlendirme + RBAC ile uygula.
  • Shared servisleri ayrı namespace’e al.
  • Namespace bazlı secret yönetimini standardize et.

4. Network Policy ve Ingress Kuralları

Kubernetes’te “asıl büyük risk” çoğu zaman budur: NetworkPolicy yoksa pod’lar birbirine ve dışarıya sınırsız konuşabilir. Bu, lateral movement ve veri sızıntısı riskini büyütür.

NetworkPolicy neden önemli, nasıl kurgulanır?

NetworkPolicy, pod’lar arası trafiği kontrol ederek “default allow” durumunu “default deny” yaklaşımına çevirir. Önerilen kurgulama; önce namespace içinde ve namespace’ler arası iletişimi kapatmak, sonra sadece gerekli servis→servis akışlarına izin vermektir. Ingress kuralları da dış dünyadan iç servislere giriş noktalarını sınırlar ve WAF/rate limit ile tamamlanır.

“Herkesten herkese” trafiği kesmek için pratik yaklaşım

  • İlk adım: default-deny policy (en azından prod)
  • İkinci adım: gerekli allowlist (API gateway→service, service→DB)
  • Üçüncü adım: outbound kontrolü (mümkünse)
  • Dördüncü adım: gözlemle/kalibre et (breakage yönetimi)

Pod Security (context, capabilities, read-only FS) ile tamamlamak

NetworkPolicy yalnız ağdır; pod içi yetkiler de kısıtlanmalıdır:

  • Non-root çalıştırma
  • Minimum capabilities
  • Read-only filesystem hedefi
  • Secret’ların doğru mount edilmesi

☑ Mini Check : Policy seti

  • Prod namespace’lerinde default-deny var mı?
  • Gerekli servis akışları allowlist ile tanımlı mı?
  • Ingress giriş noktaları minimal mi?
  • Pod security context non-root mu?
  • Network policy değişiklikleri versiyonlanıyor mu?

Ne yapmalıyım?

  • Prod’da default-deny ile başla, sonra allowlist ekle.
  • Ingress’i minimal tut; rate limit/WAF ile destekle.
  • Pod security standardı koy (non-root, read-only hedefi).
  • Policy değişikliklerini IaC/review ile yönet.
NetworkPolicy ve ingress kuralları, herkes her yere riskini kapatma bölümü ayırıcı
NetworkPolicy ve ingress kuralları, herkes her yere riskini kapatma bölümü ayırıcı

5. Otel ve B2B İçin K8s Senaryoları

K8s güvenliği, iş akışlarıyla bağlanmadıkça soyut kalır. Otel ve B2B’de tipik cluster senaryoları ve risk noktaları:

Otel — rezervasyon/raporlama microservice cluster’ı

  • Rezervasyon servisi: en kritik; policy en sıkı
  • Raporlama servisi: ağır işler; ayrı namespace/policy ve kaynak limit
  • Entegrasyon servisleri: outbound erişim daraltılmalı
  • Observability: log/metric standardı zorunlu

B2B — API ve worker cluster’ları

  • API gateway: ingress noktası; rate limit + policy
  • Worker’lar: outbound erişim minimal; queue tabanlı
  • Multi-tenant ise: namespace/policy stratejisi daha kritik

Otel ve B2B için K8s cluster güvenlik checklist’i nasıl olmalı?

Checklist; kubeconfig/RBAC erişim hijyeni, namespace izolasyonu, prod’da default-deny NetworkPolicy, ingress giriş noktalarının minimalleştirilmesi, node OS hardening, Pod Security (non-root/capabilities) ve log/metrics izlenebilirliğini içermelidir. Ayrıca upgrade’ler bakım döngüsüyle senkron yürütülmelidir.

Fark yaratan mini bölüm (Trend gerçekliği)

K8s kullanan ekiplerin çoğu ilk aşamada manifest’lere odaklanır; RBAC ve NetworkPolicy “sonra” kalır. Bu rehberin hedefi, “sonra”yı ilk 30–90 güne çekerek saldırı yüzeyini erkenden daraltmaktır.

☑ Mini Check : İlk 90 gün roadmap

  • RBAC least-privilege matrisi çıkarıldı
  • Namespace’ler proje/ortam bazlı ayrıldı
  • Prod default-deny NetworkPolicy var
  • Ingress minimal + korumalı
  • Node hardening + upgrade planı var
  • Log/metrics dashboard’ı hazır

Ne yapmalıyım?

  • RBAC ve namespace’i “ilk sprint” işi yap.
  • Prod default-deny policy’yi erken uygula; allowlist’i iteratif ekle.
  • Upgrade’leri bakım-destek planına bağla (Internal link: /tr/yazilim/bakim-ve-destek).
  • Log/metrics’i raporlama panellerine bağla (Internal link: /tr/veri-analiz-ve-raporlama).
Kubernetes güvenlik katmanları diyagramı API server RBAC namespace network policy node
Kubernetes güvenlik katmanları diyagramı API server RBAC namespace network policy node
Kubernetes güvenlik checklist’i, RBAC namespace ve network policy ile uygulanabilir kontrol seti
Kubernetes güvenlik checklist’i, RBAC namespace ve network policy ile uygulanabilir kontrol seti
RBAC uyumu ve policy kapsaması KPI paneli, K8s cluster güvenlik olgunluğu takibi
RBAC uyumu ve policy kapsaması KPI paneli, K8s cluster güvenlik olgunluğu takibi
K8s güvenlik deliverable seti, RBAC matrisi policy seti upgrade planı ve observability çıktıları
K8s güvenlik deliverable seti, RBAC matrisi policy seti upgrade planı ve observability çıktıları

6. İçerik içi tablo (Örnek RBAC / NetworkPolicy özeti)

Alan → Amaç → Örnek kontrol → Not
AlanAmaçÖrnek kontrol (çerçeve)Not
KubeconfigErişim hijyeniKişi bazlı + offboardingPaylaşılan config yok
RBACLeast privilegeRole/ClusterRole minimalCluster-admin minimum
Namespaceİzolasyonprod/staging ayrımıDefault namespace boş
NetworkPolicyTrafik kontrolüProd default-deny + allowlistLateral movement azaltır
Pod SecurityYetki kısıtınon-root, read-only hedefiPrivileged exception kayıtlı
Node hardeningZemini sağlamlaştırpatch + minimal OSUpgrade planı şart

7. Kubernetes RBAC/Namespace/NetworkPolicy Güvenlik Checklist Şablonunu İndir

CHECKLISTv1.0Checklist + Sprint

Kubernetes RBAC/Namespace/NetworkPolicy Güvenlik Checklist Şablonunu İndir — Yazılım / Sunucu ve Güvenlik (v1.0)

Bu asset; Kubernetes’te en yüksek etkiye sahip üç katmanı (RBAC, namespace izolasyonu, NetworkPolicy) hızlıca standardize etmek için hazırlanmıştır. Default-deny yaklaşımıyla lateral movement riskini azaltır; node hardening ve Pod Security kontrolleriyle tamamlar. Upgrade/bakım döngülerine entegre edilerek sürdürülebilir güvenlik sağlar.

Kim Kullanır?

DevOps/SRE, platform ekibi, otel/B2B microservice ekipleri.

Nasıl Kullanılır?

  1. Cluster erişim envanteri ve RBAC rol matrisini çıkar.
  2. Namespace planını oluştur ve prod’da default-deny NetworkPolicy uygula.
  3. Pod security + node hardening kontrollerini ekleyip periyodik doğrula.

Ölçüm & Önceliklendirme (Kısa sürüm)

  • ▢ ✅ Kubeconfig erişimleri envanterli ve kişi bazlı
  • ▢ ✅ Cluster-admin minimum
  • ▢ ✅ RBAC least-privilege rol matrisi var
  • ▢ ✅ Prod/staging namespace ayrımı var
  • ▢ ✅ Default namespace kullanım dışı/minimum
  • ▢ ✅ Prod’da default-deny NetworkPolicy var
  • ▢ ✅ Allowlist servis akışları tanımlı
  • ▢ ✅ Ingress giriş noktaları minimal + korumalı
  • ▢ ✅ Pod Security (non-root, capabilities) standardı var
  • ▢ ✅ Node hardening + upgrade planı var

PDF içinde: Problem→Kök Neden→Çözüm tablosu + 14 gün sprint planı + önce/sonra KPI tablosu

Checklist Şablonunu İndir Ücretsiz • PDF / Excel

Deliverables listesi

  • RBAC rol matrisi
  • Namespace planı
  • NetworkPolicy seti
  • Pod security standardı
  • Upgrade + observability planı
Kubernetes güvenlik checklist’i, RBAC namespace ve network policy ile uygulanabilir kontrol seti
Kubernetes güvenlik checklist’i, RBAC namespace ve network policy ile uygulanabilir kontrol seti

Bir Sonraki Adım

RBAC, namespace ve network policy’lerle cluster izolasyonunu kurup “herkes her yere” riskini azaltmak isteyen otel ve B2B K8s ekipleri için.

Sık Sorulan Sorular

Kubernetes cluster güvenliği nasıl sağlanır?
Cluster API erişimini kısıtlayın, RBAC ile least privilege uygulayın, namespace ile izolasyon kurun ve NetworkPolicy ile default-deny trafiğe geçip allowlist ile açın. Node hardening ve pod security ile tamamlayın.
RBAC ve namespace ile neyi izole etmeliyim?
Ekip ve projeleri namespace bazında ayırın; prod/staging ayrı olsun. RBAC ile her rolün sadece kendi namespace’inde gerekli işlemleri yapmasına izin verin; cluster-admin minimumda kalsın.
NetworkPolicy neden önemli, nasıl kurgulanır?
Policy yoksa pod’lar sınırsız konuşabilir; lateral movement riski büyür. Prod’da default-deny ile başlayıp sadece gerekli servis→servis akışlarını allowlist ile açmak en pratik yaklaşımdır.
Otel ve B2B için K8s cluster güvenlik checklist’i nasıl olmalı?
Kubeconfig hijyeni, RBAC rol matrisi, namespace ayrımı, default-deny NetworkPolicy, ingress minimizasyonu, pod security standardı, node hardening ve upgrade/observability planını içermelidir.
Kubernetes kullanıyoruz ama güvenlik ayarlarını hiç ellemiyoruz, risk büyük mü?
Evet büyüyebilir; default ayarlarda erişim ve trafik çok geniş kalır. RBAC+namespace+NetworkPolicy ile hızlıca risk azaltmak mümkündür.
Kubernetes Güvenliği: RBAC, Namespace ve NetworkPolicy | DGTLFACE