Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi
Varsayılan olarak reddeden ağ ilkeleri, açık izin kuralları ve en az ayrıcalık ilkesini ağ iletişimine uygulayarak konteynerler arası trafiği kısıtlayın.
Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Varsayılan Olarak Açık Olmak Risklidir
Varsayılan olarak, bir kümedeki kapsayıcılar genellikle diğer tüm kapsayıcılarla iletişim kurabilir. Böylece güvenliği ihlal edilmiş bir Pod, veritabanlarına ve iç hizmetlere serbestçe ulaşabilir. Ağ politikaları bu kapıyı kapatır.
Ağda En Az Ayrıcalık
En az ayrıcalık ilkesi trafik için de geçerlidir: bir hizmet yalnızca gerçekten ihtiyaç duyduğu bağlantıları kabul etmeli ve kurmalıdır — daha fazlasını değil.
Ağ Politikası Nedir?
Bir NetworkPolicy, pod'ları etikete göre seçen ve hangi gelen ve giden trafiğe izin verileceğini belirleyen bir Kubernetes nesnesidir. Bir CNI eklentisi (Calico, Cilium) bunu uygular.
Uygulama Yapan Bir CNI Gereklidir
Giriş'in bir denetleyiciye ihtiyaç duyması gibi, NetworkPolicies de bunları destekleyen bir CNI gerektirir. Bunları yok sayan bir eklentide kurallar sessizce etkisiz kalır.
Gelen Trafiği Varsayılan Olarak Reddetme
Bir ad alanına gelen tüm trafiği reddederek başlayın, ardından yalnızca ihtiyaç duyduğunuz trafiği açın. Boş bir podSelector her pod'la eşleşir.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
spec:
podSelector: {}
policyTypes:
- IngressBelirli Trafiğe İzin Verme
Şimdi yalnızca ön yüz pod'larının 8080 numaralı bağlantı noktasındaki API'ye ulaşmasına izin verin. Diğer her şey engellenmiş olarak kalır.
spec:
podSelector:
matchLabels:
app: api
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- port: 8080Giden Trafiği Kısıtlama
Giden trafiği de sınırlayabilirsiniz; örneğin bir pod'un yalnızca veritabanına ulaşmasına izin vererek ele geçirilmiş bir pod'un dışarıya bağlantı kurmasını önleyebilirsiniz.
spec:
podSelector:
matchLabels:
app: api
policyTypes:
- Egress
egress:
- to:
- podSelector:
matchLabels:
app: dbAd Alanı Seçicileri
Kurallar, yalnızca güvenilir ad alanlarından gelen ad alanları arası trafiğe izin vermek için namespaceSelector ile eşleşebilir; bu, paylaşılan platform hizmetleri için kullanışlıdır.
from:
- namespaceSelector:
matchLabels:
team: platformDNS'ye İzin Verme
Yaygın bir tuzak şudur: katı bir varsayılan giden trafik reddi DNS'yi de engeller ve ad çözümlemeyi bozar. kube-dns'ye UDP/TCP 53 üzerinden izin vermeyi unutmayın.
egress:
- to: []
ports:
- protocol: UDP
port: 53Kubernetes'in Ötesi
Docker kullanıcıları, kullanıcı tanımlı ağlar sayesinde benzer bir avantaj elde eder: yalnızca aynı ağdaki kapsayıcılar birbirlerine ulaşabilir ve ilgisiz uygulamalar yalıtılır.
docker network create --internal backendSıfır Güven Yaklaşımı
En az ayrıcalıklı ağ kullanımı sizi sıfır güven yaklaşımına taşır: ağın düşmanca olduğunu varsayın, her bağlantının kimliğini doğrulayın ve yetkilendirin, varsayılan olarak hiçbir şeye izin vermeyin.
Hızlı Kontrol
Ağ politikaları için mantıklı bir başlangıç stratejisi nedir?
Özet
Artık trafiği güvenli biçimde kısıtlayabilirsiniz:
- Varsayılan reddetme uygulayın, ardından açık izin kuralları ekleyin
- Gelen ve giden trafiği hem etikete hem de ad alanına göre denetleyin
- DNS'ye izin vermeyi unutmayın; uygulama yapan bir CNI gereklidir
- Docker iç ağları benzer bir yalıtım sağlar
En az ayrıcalıklı ağ kullanımı, herhangi bir güvenlik ihlalinin etkilenebileceği alanı daraltır.
Sıkça Sorulan Sorular
“Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi” dersi ücretsiz mi?
Evet — “Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi” dersinde ne öğreneceğim?
Varsayılan olarak reddeden ağ ilkeleri, açık izin kuralları ve en az ayrıcalık ilkesini ağ iletişimine uygulayarak konteynerler arası trafiği kısıtlayın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kapsayıcı İmajı Güvenlik Taraması
- Çalışma Zamanında Kapsayıcı Güvenliği
- Gizli Bilgi Yönetimi ve RBAC
- Ağ İlkeleri ve En Az Ayrıcalıklı Ağ İletişimi