Middle+
Kādas prakses jūs zināt, lai uzlabotu lietojumprogrammas drošību Kubernetes?
sobes.tech AI
Atbilde no AI
- Izmantojiet tīkla politiku, lai kontrolētu trafiku starp podiem.
- Pielietojiet resursu kvotas un limitus, lai ierobežotu podu resursu patēriņu.
- Atspējojiet privilēģētu režīmu konteineriem.
- Samaziniet piešķirtās tiesības Service Accounts.
- Izmantojiet slepenos datus, lai glabātu jutīgas informācijas.
- Regulāri skenējiet konteineru attēlus ievainojamībām.
- Pielietojiet Security Context Constraints (SCC) OpenShift vai Pod Security Policies (PSP) (novecojušas) / Pod Security Standards Kubernetes.
- Izmantojiet klastera audita rīkus, piemēram, Kubesec vai OpenSCAP.
- Ieviesiet minimālo privilēģiju principu klasterī un lietojumprogrammās.
- Segmentējiet podus un nosaukumu telpas.
- Izmantojiet nemainīguma principu izvietojumos.
Piemērs, kā izmantot tīkla politiku:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-backend
spec:
podSelector:
matchLabels:
app: backend # Tiek piemērots tikai podiem ar šo marķējumu
ingress:
- from:
- podSelector:
matchLabels:
app: frontend # Atļauj ienākošo trafiku tikai no frontend podiem
ports:
- protocol: TCP
port: 8080 # Atļauj trafiku tikai uz šo portu
Piemērs, kā izmantot drošības kontekstu:
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000 # Palaist pod ar lietotāja ID 1000
runAsGroup: 3000 # Palaist ar grupas ID 3000
fsGroup: 2000 # Failu sistēma piederēs grupai 2000
containers:
- name: sec-ctx-demo
image: busybox
command: [ "sh", "-c", "sleep 1h" ]
securityContext:
allowPrivilegeEscalation: false # Aizliegt privilēģiju paaugstināšanu
readOnlyRootFilesystem: true # Padarīt saknes failu sistēmu tikai lasāmu