Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Network security

Son Güncelleme:Oct 06, 2026

ACK kümelerini güvence altına almak için pod trafiğini ağ ilkeleriyle kısıtlayın ve iletim halindeki verileri şifreleyin.

Ağ ilkeleri ve güvenlik grupları

Ağ ilkeleri ve güvenlik grupları farklı katmanlarda çalışır. Derinlemesine savunma sağlamak amacıyla bunları birlikte kullanın.

Mekanizma Kapsam En uygun olduğu durumlar
Ağ ilkeleri Pod'dan pod'a trafik (doğu-batı trafiği) ve pod'lar ile harici hizmetler arasındaki trafik Mikroservisler, ad alanları veya belirli pod'lar arasındaki iletişimi kısıtlama
Güvenlik grupları Düğümler, diğer VPC kaynakları ve harici IP adresleri arasındaki düğüm düzeyi ve Sanal Özel Cloud (VPC) düzeyi trafik Altyapı katmanında kümeye gelen ve kümeden giden erişimi kontrol etme

Altyapı düzeyindeki erişimi kısıtlamak için güvenlik gruplarını, küme içinde ayrıntılı pod düzeyinde yalıtımı uygulamak için ağ ilkelerini kullanın.

Ağ ilkeleriyle pod'dan pod'a trafiği kısıtlama

Varsayılan olarak bir Kubernetes kümesindeki tüm pod'lar serbestçe iletişim kurabilir; bu durum güvenlik riskleri oluşturur. Ağ ilkeleri, pod'lar arasındaki (doğu-batı) trafiği ve pod'lar ile harici hizmetler arasındaki trafiği kısıtlar.

Ağ ilkeleri, kaynak ve hedef pod'ları tanımlamak için pod seçicileri ve etiketleri kullanır. Her ilke, IP adresine, bağlantı noktasına, protokole veya bunların herhangi bir kombinasyonuna göre filtreleme yapabilir.

Terway ağ eklentisiyle, ağ ilkelerini kullanarak trafiği IP adresi veya bağlantı noktası düzeyinde kontrol edebilirsiniz. Ayrıca bkz. Kubernetes Network Policy Recipes.

Önemli

Yalnızca Terway kümeleri Kubernetes ağ ilkelerini destekler. 100'den fazla düğümü olan kümelerde ilke proxy'si denetim düzlemi yükünü artırabilir. Bkz. Terway modundaki büyük bir ACK kümesi için NetworkPolicy özelliğinin performansını iyileştirme.

Önerilen yaklaşım: varsayılan olarak reddet, ardından izin ver

En az ayrıcalık ilkesini uygulayın: Varsayılan olarak tüm trafiği reddedin, ardından her iş yükünün ihtiyaç duyduğu öğelere yalnızca izin verecek kurallar ekleyin.

  1. Varsayılan bir reddetme ilkesi oluşturun -- Ad alanındaki tüm gelen ve giden trafiği engelleyin.

  2. DNS sorgularına izin verin -- Pod'ların çalışması için DNS çözümlemesi gerekir.

  3. Belirli trafiğe izin verin -- Yalnızca her iş yükünün gerektirdiği yolları açın.

Adım 1: Varsayılan bir reddetme ilkesi oluşturma

Bir ad alanındaki tüm gelen ve giden trafiği reddetmek için bir ağ ilkesi oluşturun veya genel bir ilke için Calico kullanın.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
  namespace: default
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress

Adım 2: DNS sorgularına izin verme

Varsayılan bir reddetme ilkesiyle pod'lar DNS adlarını çözümleyemez. CoreDNS'e DNS sorgularına izin veren bir ilke oluşturun.

  1. kube-system ad alanına bir etiket ekleyin:

       kubectl label namespace kube-system name=kube-system
  2. UDP bağlantı noktası 53 üzerinden CoreDNS'e giden trafiğe izin veren bir ağ ilkesi oluşturun:

       apiVersion: networking.k8s.io/v1
       kind: NetworkPolicy
       metadata:
         name: allow-dns-access
         namespace: default
       spec:
         podSelector:
           matchLabels: {}
         policyTypes:
         - Egress
         egress:
         - to:
           - namespaceSelector:
               matchLabels:
                 name: kube-system
           ports:
           - protocol: UDP
             port: 53
Önemli

Bkz. Ağ İlkeleri.

Adım 3: Belirli pod'lardan gelen trafiğe izin verme

Reddetme ve DNS ilkeleri yerindeyken, trafiğe yalnızca yetkili pod'lardan gelen isteklere izin verin. Yaygın kullanım senaryoları:

  • Bir uygulamaya erişime yalnızca belirli mikroservislerin izin vermesi.

  • Bir veritabanına erişime yalnızca belirli uygulamaların izin vermesi.

Bu örnekte bir pod oluşturulur ve gelen trafik app: bookstore etiketine sahip pod'larla sınırlandırılır.

  1. app=bookstore ve role=api etiketlerine sahip bir pod oluşturun:

       kubectl run apiserver --image=nginx --labels="app=bookstore,role=api" --expose --port=80
  2. Gelen trafiğe yalnızca app: bookstore etiketine sahip pod'lardan izin veren bir ağ ilkesi uygulayın:

       kind: NetworkPolicy
       apiVersion: networking.k8s.io/v1
       metadata:
         name: api-allow
       spec:
         podSelector:
           matchLabels:
             app: bookstore
             role: api
         ingress:
         - from:
             - podSelector:
                 matchLabels:
                   app: bookstore
  3. app=bookstore etiketine sahip olmayan pod'ların erişiminin reddedildiğini doğrulayın:

       kubectl run test-$RANDOM --rm -i -t --image=alpine -- sh
       / # wget -qO- --timeout=2 http://apiserver
       wget: download timed out
  4. app=bookstore etiketine sahip pod'ların sunucuya erişebildiğini doğrulayın:

       kubectl run test-$RANDOM --rm -i -t --image=alpine --labels="app=bookstore,role=frontend" -- sh
       / # wget -qO- --timeout=2 http://apiserver
       <!DOCTYPE html>
       <html><head>

Bir ad alanında pod'lar arasında özel kurallar ekleme

Bir ad alanı içindeki pod iletişimine izin verdikten sonra, daha ayrıntılı kontrol sağlamak üzere özel kurallar eklemek için Kubernetes Network Policy Recipes kaynağını kullanın.

Güvenlik gruplarıyla düğüm düzeyi trafiği kontrol etme

ACK, ana ve çalışan düğümler arasında; çalışan düğümler, diğer VPC kaynakları ve harici IP adresleri arasındaki trafiği yönetmek için güvenlik gruplarını kullanır.

ACK, bir küme oluşturduğunuzda düğüm iletişimi için otomatik olarak bir güvenlik grubu oluşturur. En az ayrıcalık ilkesini uygulamak için önerilen gelen ve giden kuralları ekleyin.

Bkz. Farklı senaryolarda güvenlik gruplarını yapılandırma ve Güvenlik grubu yapılandırma.

Akış günlükleriyle trafiği izleme ve analiz etme

VPC akış günlükleri, esnek ağ arabirimlerinin (ENI) gelen ve giden trafiğini kaydeder. Akış günlüklerini şu amaçlarla kullanın:

  • Erişim kontrol listesi (ACL) kurallarını doğrulama

  • Ağ trafiğini izleme

  • Ağ sorunlarını giderme

  • Bir VPC'deki kaynaklar (pod'lar dahil) arasındaki anormal trafiği belirleme

Bkz. Akış günlüklerine genel bakış.

İletim halindeki verileri şifreleme

  • Service Mesh (ASM)

    Service Mesh (ASM), hizmetler arasındaki verileri şifreler. ASM aşağıdakileri destekler:

    • Hizmetler arasında Karşılıklı Taşıma Katmanı Güvenliği (mTLS) kimlik doğrulaması

    • Hizmet ağ geçitlerinde HTTPS ve dinamik sertifika yükleme için Envoy Secret Discovery Service (SDS)

    • Application High Availability Service (AHAS) ile entegre olan ASM örneklerindeki uygulamalar için trafik yönetimi

    • İz haritalama, çağrı sayma, topoloji ve bağımlılık analizi için Tracing Analysis ile entegre olan dağıtılmış izleme

  • TLS for Ingress

    Ingress aracılığıyla dışa açılan hizmetler için HTTPS'yi etkinleştirin. TLS'yi yapılandırmak için bir Secret kullanma.