Middle+
Kubernetes-те қолданбаның қауіпсіздігін арттыру үшін қандай тәжірибелерді білесіз?
sobes.tech AI
AI-дан жауап
- Трафикті бақылау үшін желі саясаттарын пайдалану.
- Ресурстарды пайдалану шектеулерін қою үшін ресурстар квоталары мен шектеу диапазондарын қолдану.
- Контейнерлер үшін артықшылық режимін өшіру.
- Қызметтік есептік жазбаларға берілетін құқықтарды азайту.
- Құпия деректерді сақтау үшін құпиялылық кілттерін пайдалану.
- Қауіпсіздікке арналған контейнерлердің суреттерін тұрақты сканерлеу.
- OpenShift-те қауіпсіздік контексті шектеулері (SCC) немесе Pod қауіпсіздік саясаттары (PSP) (ескірген) / таза Kubernetes-те Pod қауіпсіздік стандарттарын қолдану.
- Кубесек немесе OpenSCAP сияқты кластерді аудиттеу құралдарын пайдалану.
- Кластер деңгейінде және қолданбаларда ең аз құқықтар принципін енгізу.
- Подтар мен атау кеңістіктерін сегменттеу.
- Жарияланымдар үшін өзгермейтіндікті пайдалану.
Желі саясатының мысалы:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-backend
spec:
podSelector:
matchLabels:
app: backend # Бұл лейбл бар подтарға ғана қолданылады
ingress:
- from:
- podSelector:
matchLabels:
app: frontend # Тек frontend подтарынан кіретін трафикті рұқсат етеді
ports:
- protocol: TCP
port: 8080 # Бұл портқа ғана трафикті рұқсат етеді
Қауіпсіздік контекстінің мысалы:
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000 # Контейнерді 1000 пайдаланушы ID-мен іске қосу
runAsGroup: 3000 # Контейнерді 3000 топ ID-мен іске қосу
fsGroup: 2000 # Файл жүйесі 2000 тобына тиесілі болады
containers:
- name: sec-ctx-demo
image: busybox
command: [ "sh", "-c", "sleep 1h" ]
securityContext:
allowPrivilegeEscalation: false # Артықшылықты арттыруды тыйым салу
readOnlyRootFilesystem: true # Негізгі файл жүйесін тек оқу режимінде жасау