Kubernetes veri düzlemi sağlamlaştırmanızı koruma
Bu sayfada, kubernetes veri düzlemi sağlamlaştırmaya ayrılmış Bulut için Microsoft Defender güvenlik önerileri kümesinin nasıl kullanılacağı açıklanmaktadır.
İpucu
Kubernetes kümeleri ve düğümleri için görünebilecek güvenlik önerilerinin listesi için kapsayıcı önerilerini gözden geçirin.
İş yükü korumanızı ayarlama
Bulut için Microsoft Defender,Kubernetes için Azure İlkesi.
Önkoşullar
- Azure için Gerekli FQDN/uygulama kurallarını ekleyin.
- (AKS olmayan kümeler için) Mevcut bir Kubernetes kümesini Azure Arc'a bağlayın.
Kubernetes veri düzlemi sağlamlaştırmayı etkinleştirme
Kubernetes için Azure İlkesi iki yoldan biriyle etkinleştirebilirsiniz:
- Plan/bağlayıcı ayarlarını kullanarak tüm geçerli ve gelecekteki kümeler için etkinleştirme
- Mevcut kümelerde Kubernetes için Azure İlkesi dağıtma
Plan/bağlayıcı ayarlarını kullanarak kubernetes için Azure İlkesi geçerli ve gelecekteki tüm kümeler için etkinleştirme
Not
Bu ayarı etkinleştirdiğinizde Kubernetes podları için Azure İlkesi kümeye yüklenir. Bunu yaptığınızda podların kullanması için az miktarda CPU ve bellek ayrılır. Bu ayırma maksimum kapasiteye ulaşabilir ancak kaynak üzerindeki CPU ve belleğin geri kalanını etkilemez.
Not
EKS'de küme yöneticisinin kümenin kendisine yeni bir IAM rolü için izin eklemesini gerektiren bir sınırlama nedeniyle bağlayıcı aracılığıyla AWS'nin etkinleştirilmesi desteklenmez.
Azure abonelikleri veya şirket içi için etkinleştirme
Kapsayıcılar için Microsoft Defender'ı etkinleştirdiğinizde, "Kubernetes için Azure İlkesi" ayarı Azure Kubernetes Hizmeti ve ilgili abonelikteki Azure Arc özellikli Kubernetes kümeleri için varsayılan olarak etkinleştirilir. İlk yapılandırmada ayarı devre dışı bırakırsanız, daha sonra el ile etkinleştirebilirsiniz.
Kapsayıcılar planının altındaki "Kubernetes için Azure İlkesi" ayarlarını devre dışı bırakmışsanız, aboneliğinizdeki tüm kümelerde etkinleştirmek için aşağıdaki adımları izleyebilirsiniz:
Azure Portal’ında oturum açın.
Bulut için Microsoft Defender> Environment ayarlarına gidin.
Uygun aboneliği seçin.
Defender planları sayfasında Kapsayıcılar'ın Açık olarak ayarlandığından emin olun.
Ayarlar'ı seçin.
Ayarlar ve İzleme sayfasında "Kubernetes için Azure İlkesi" seçeneğini Açık konuma getirin.
GCP projeleri için etkinleştirme
GcP bağlayıcısında Kapsayıcılar için Microsoft Defender'ı etkinleştirdiğinizde, ilgili projede Google Kubernetes Altyapısı için "Azure Arc için Azure İlkesi Uzantısı" ayarı varsayılan olarak etkinleştirilir. İlk yapılandırmada ayarı devre dışı bırakırsanız, daha sonra el ile etkinleştirebilirsiniz.
GCP bağlayıcısı altında "Azure Arc için Azure İlkesi Uzantısı" ayarlarını devre dışı bırakmışsanız, GCP bağlayıcınızda etkinleştirmek için aşağıdaki adımları izleyebilirsiniz.
Mevcut kümelerde Kubernetes için Azure İlkesi dağıtma
Mevcut Kubernetes kümelerinde Kubernetes için Azure İlkesi Öneriler sayfasından el ile yapılandırabilirsiniz. Etkinleştirildikten sonra sağlamlaştırma önerileri kullanılabilir duruma gelir (bazı önerilerin çalışması için başka bir yapılandırma gerekir).
Not
AWS için bağlayıcıyı kullanarak uygun ölçekte ekleme yapmak mümkün değildir, ancak Azure Arc özellikli Kubernetes kümelerinin Kubernetes için Azure ilke uzantısının yüklü olması önerisini kullanarak tüm mevcut kümelere veya belirli kümelere yüklenebilir.
Kubernetes Azure İlkesi belirtilen kümelere dağıtmak için:
Öneriler sayfasında ilgili öneriyi arayın:
Gök mavisi-
"Azure Kubernetes Service clusters should have the Azure Policy add-on for Kubernetes installed"
GCP -
"GKE clusters should have the Azure Policy extension"
.AWS ve Şirket içi -
"Azure Arc-enabled Kubernetes clusters should have the Azure policy extension for Kubernetes extension installed"
.İpucu
Öneri farklı güvenlik denetimlerine dahil edilir ve sonraki adımda hangisini seçtiğiniz önemli değildir.
Herhangi bir güvenlik denetiminden, eklentiyi yükleyebileceğiniz kaynakları görmek için öneriyi seçin.
İlgili kümeyi seçin ve Düzelt'i seçin.
Öneri paketini görüntüleme ve yapılandırma
Kubernetes için Azure İlkesi yüklemesi tamamlandıktan yaklaşık 30 dakika sonra, Bulut için Defender her birinin ilgili güvenlik denetiminde gösterildiği gibi aşağıdaki öneriler için kümelerin sistem durumunu gösterir:
Not
Kubernetes için Azure İlkesi ilk kez yüklüyorsanız, bu öneriler öneriler listesinde yeni eklemeler olarak görünür.
İpucu
Bazı önerilerin etkili bir şekilde kullanılabilmesi için Azure İlkesi aracılığıyla özelleştirilmesi gereken parametreleri vardır. Örneğin Kapsayıcı görüntülerinin yalnızca güvenilen kayıt defterlerinden dağıtılması önerisinden yararlanmak için güvenilir kayıt defterlerinizi tanımlamanız gerekir. Yapılandırma gerektiren öneriler için gerekli parametreleri girmezseniz iş yükleriniz iyi durumda değil olarak gösterilir.
Not
Defender algılayıcısı ve Azure İzleyici Aracısı (AMA) gibi Microsoft bileşenleri varsayılan olarak kube-system ad alanında dağıtılır. Bu kurulum, bunların veri düzlemi önerilerinde uyumsuz olarak işaretlenmemesini sağlar. Ancak, farklı bir ad alanına yüklenen üçüncü taraf satıcı araçları uyumsuz olarak işaretlenebilir. Üçüncü taraf satıcıları bu önerilerin dışında tutmak için ad alanlarını dışlama listesine ekleyebilirsiniz.
Öneri adı | Güvenlik Denetimi | Yapılandırma gerekli |
---|---|---|
Kapsayıcı CPU ve bellek sınırları zorunlu kılınmalıdır | Uygulamaları DDoS saldırılarına karşı koruma | Evet |
Kapsayıcı görüntüleri yalnızca güvenilen kayıt defterlerinden dağıtılmalıdır | Güvenlik açıklarını düzeltin | Evet |
Kapsayıcılar için en az ayrıcalıklı Linux özellikleri zorunlu kılınmalıdır | Erişimi ve izinleri yönetme | Evet |
Kapsayıcılar yalnızca izin verilen AppArmor profillerini kullanmalıdır | Güvenlik yapılandırmalarını düzeltme | Evet |
Hizmetler yalnızca izin verilen bağlantı noktalarını dinlemelidir | Yetkisiz ağ erişimini kısıtlama | Evet |
Konak ağı ve bağlantı noktalarının kullanımı kısıtlanmalıdır | Yetkisiz ağ erişimini kısıtlama | Evet |
Pod HostPath birim bağlamalarının kullanımı bilinen bir listeyle kısıtlanmalıdır | Erişimi ve izinleri yönetme | Evet |
Ayrıcalık yükseltmesi olan kapsayıcılardan kaçınılmalıdır | Erişimi ve izinleri yönetme | Hayır |
Hassas konak ad alanlarını paylaşan kapsayıcılardan kaçınılmalıdır | Erişimi ve izinleri yönetme | Hayır |
Kapsayıcılar için sabit (salt okunur) kök dosya sistemi zorunlu kılınmalıdır | Erişimi ve izinleri yönetme | Hayır |
Kubernetes kümelerine yalnızca HTTPS üzerinden erişilebilir olmalıdır | Aktarımdaki verileri şifreleme | Hayır |
Kubernetes kümeleri, API kimlik bilgilerini otomatik bağlamayı devre dışı bırakmalıdır | Erişimi ve izinleri yönetme | Hayır |
Kubernetes kümeleri varsayılan ad alanını kullanmamalıdır | En iyi güvenlik yöntemlerini uygulayın | Hayır |
Kubernetes kümeleri CAPSYSADMIN güvenlik özellikleri vermemelidir | Erişimi ve izinleri yönetme | Hayır |
Ayrıcalıklı kapsayıcılardan kaçınılmalıdır | Erişimi ve izinleri yönetme | Hayır |
Kapsayıcıları kök kullanıcı olarak çalıştırmaktan kaçınılmalıdır | Erişimi ve izinleri yönetme | Hayır |
Özelleştirilmesi gereken parametrelerle ilgili öneriler için parametreleri ayarlamanız gerekir:
Parametreleri ayarlamak için:
Azure Portal’ında oturum açın.
Bulut için Microsoft Defender> Environment ayarlarına gidin.
Uygun aboneliği seçin.
Bulut için Defender menüsünden Güvenlik ilkesi'ni seçin.
İlgili ödevi seçin. Varsayılan atamadır
ASC default
.Parametreler sekmesini açın ve değerleri gerektiği gibi değiştirin.
Gözden geçir ve kaydet'i seçin.
Kaydet'i seçin.
Önerilerden herhangi birini zorunlu kılmak için:
Öneri ayrıntıları sayfasını açın ve Reddet'i seçin:
Kapsamı ayarlamak için bölme açılır.
Kapsamı ayarlayın ve Reddetmek için değiştir'i seçin.
Kümeleriniz için hangi önerilerin geçerli olduğunu görmek için:
Bulut için Defender varlık envanteri sayfasını açın ve kaynak türü filtresini Kubernetes hizmetleri olarak ayarlayın.
Araştırmak ve kullanılabilir önerileri gözden geçirmek için bir küme seçin.
İş yükü koruma kümesinden bir öneri görüntülediğinizde, kümenin yanında etkilenen podların sayısı ("Kubernetes bileşenleri") listelenir. Belirli podların listesi için kümeyi ve ardından Eylem gerçekleştir'i seçin.
Zorlamayı test etmek için aşağıdaki iki Kubernetes dağıtımını kullanın:
Bunlardan biri, iş yükü koruma önerileri paketiyle uyumlu, iyi durumda bir dağıtım içindir.
Diğeri ise iyi durumda olmayan ve önerilerle uyumlu olmayan bir dağıtım içindir.
Örnek .yaml dosyalarını olduğu gibi dağıtın veya kendi iş yükünüzü düzeltmek için başvuru olarak kullanın.
İyi durumda dağıtım örneği .yaml dosyası
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis-healthy-deployment
labels:
app: redis
spec:
replicas: 3
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
annotations:
container.apparmor.security.beta.kubernetes.io/redis: runtime/default
spec:
containers:
- name: redis
image: <customer-registry>.azurecr.io/redis:latest
ports:
- containerPort: 80
resources:
limits:
cpu: 100m
memory: 250Mi
securityContext:
privileged: false
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1000
---
apiVersion: v1
kind: Service
metadata:
name: redis-healthy-service
spec:
type: LoadBalancer
selector:
app: redis
ports:
- port: 80
targetPort: 80
İyi durumda olmayan dağıtım örneği .yaml dosyası
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis-unhealthy-deployment
labels:
app: redis
spec:
replicas: 3
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
hostNetwork: true
hostPID: true
hostIPC: true
containers:
- name: redis
image: redis:latest
ports:
- containerPort: 9001
hostPort: 9001
securityContext:
privileged: true
readOnlyRootFilesystem: false
allowPrivilegeEscalation: true
runAsUser: 0
capabilities:
add:
- NET_ADMIN
volumeMounts:
- mountPath: /test-pd
name: test-volume
readOnly: true
volumes:
- name: test-volume
hostPath:
# directory location on host
path: /tmp
---
apiVersion: v1
kind: Service
metadata:
name: redis-unhealthy-service
spec:
type: LoadBalancer
selector:
app: redis
ports:
- port: 6001
targetPort: 9001
Sonraki adımlar
Bu makalede Kubernetes veri düzlemi sağlamlaştırmayı yapılandırmayı öğrendiniz.
İlgili malzemeler için aşağıdaki sayfalara bakın: