Middle+
Welke praktijken kent u om de veiligheid van de applicatie in Kubernetes te verbeteren?
sobes.tech AI
Antwoord van AI
- Gebruik van netwerkbeleid om het verkeer tussen pods te controleren.
- Toepassing van resourcequota's en limietbereiken om het resourceverbruik door pods te beperken.
- Uitschakeling van de privileged modus voor containers.
- Minimaliseren van de privileges die aan service-accounts worden toegekend.
- Gebruik van secrets voor het opslaan van gevoelige gegevens.
- Regelmatig scannen van containerafbeeldingen op kwetsbaarheden.
- Toepassing van Security Context Constraints (SCC) in OpenShift of Pod Security Policies (PSP) (verouderd) / Pod Security Standards in pure Kubernetes.
- Gebruik van tools voor clusteraudit, zoals Kubesec of OpenSCAP.
- Implementatie van het principe van minimale privileges op cluster- en applicatieniveau.
- Segmentatie van pods en namenruimtes.
- Gebruik van onveranderlijkheid voor deployments.
Voorbeeld van gebruik van netwerkbeleid:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-backend
spec:
podSelector:
matchLabels:
app: backend # Alleen van toepassing op pods met dit label
ingress:
- from:
- podSelector:
matchLabels:
app: frontend # Sta inkomend verkeer alleen toe van frontend pods
ports:
- protocol: TCP
port: 8080 # Sta verkeer alleen toe op deze poort
Voorbeeld van gebruik van Security Context:
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000 # Voer de container uit als gebruiker met ID 1000
runAsGroup: 3000 # Voer de container uit als groep met ID 3000
fsGroup: 2000 # Het bestandssysteem behoort tot groep 2000
containers:
- name: sec-ctx-demo
image: busybox
command: [ "sh", "-c", "sleep 1h" ]
securityContext:
allowPrivilegeEscalation: false # Verbied privilege-escalatie
readOnlyRootFilesystem: true # Maak het root-bestandssysteem alleen-lezen