2025-01-01Hünkar Döner

EKS İçin Network Policy Yönetimi: Podlar Arası Güvenlik Duvarı

SecurityNetwork PolicyCalicoEKS
E

EKS İçin Network Policy Yönetimi

Kubernetes'te varsayılan olarak "Flat Network" yapısı vardır. Yani, bir Namespace'teki herhangi bir Pod, başka bir Namespace'teki herhangi bir Pod ile konuşabilir. Bu, geliştirme ortamları için kolaylık olsa da, güvenlik açısından (Zero Trust) kabul edilemez.

Amazon EKS üzerinde podlar arası trafiği kontrol etmek için Network Policy kaynaklarını kullanmalısınız.

Network Policy Nasıl Çalışır?

Network Policy, podlar için bir güvenlik duvarı (Firewall) gibi davranır. Trafiğin nereden gelip (Ingress) nereye gidebileceğini (Egress) etiketler (labels) üzerinden tanımlarsınız.

EKS'te Network Policy Desteği

EKS, varsayılan olarak (VPC CNI ile) Network Policy desteklemezdi. Ancak yakın zamanda AWS, VPC CNI eklentisine bu özelliği getirdi. Alternatif olarak, endüstri standardı Calico da kullanılabilir.

Örnek Senaryo: Frontend -> Backend Erişimi

Backend podlarına sadece Frontend podlarından gelen trafiğe izin verelim, diğerlerini reddedelim.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend-only
  namespace: my-app
spec:
  podSelector:
    matchLabels:
      app: backend
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - protocol: TCP
      port: 8080

Default Deny (Varsayılan Red)

Güvenliği sıkılaştırmak için önce tüm trafiği reddeden bir "Default Deny" politikası uygulayın, ardından sadece gerekli izinleri (Allow) açın.

Network Policy, Kubernetes Danışmanlığı verdiğimiz müşterilerimizde ilk kontrol ettiğimiz güvenlik katmanıdır.