
Praktisches Labor, das die Härtung von Kubernetes-Containern demonstriert, indem es Standard- vs. sicherheitsverbesserte Bereitstellungen einer verwundbaren Notizanwendung vergleicht.
Dieses Repository enthält eine sehr einfache und anfällige Anwendung, die dazu dient, die Unterschiede zwischen der Bereitstellung dieser Anwendung mit den Standardeinstellungen in einem Kubernetes-Cluster und dem Hinzufügen einiger zusätzlicher Sicherheitseinstellungen zu demonstrieren, die die Schwachstellen der Anwendung NICHT beheben, aber einen Angreifer daran hindern, schädliche Dinge zu tun.
Um dies selbst auszuprobieren, benötigen Sie Zugriff auf einen Kubernetes-Cluster, da diese Anwendung sehr anfällig ist. Sie möchten diese nicht in einem echten Cluster bereitstellen, es sei denn, dieser Cluster ist ordnungsgemäß isoliert.
Wenn Sie minikube verwenden möchten, können Sie einfach das bereitgestellte Skript init.sh ausführen oder Schritt für Schritt vorgehen:
minikube start --extra-config=apiserver.authorization-mode=RBAC --network-plugin=cni --memory=4096 --vm-driver=virtualbox --kubernetes-version v1.15.0
minikube ssh -- sudo mount bpffs -t bpf /sys/fs/bpf
kubectl create -f https://raw.githubusercontent.com/cilium/cilium/1.6.5/install/kubernetes/quick-install.yaml
eval $(minikube docker-env)
docker build -t notes:v1 .
docker build -t notes:v2 -f Dockerfile.v2 .
kubectl apply -f kube/v1-deploy.yaml -f kube/v1-service.yaml -f kube/v2-deploy.yaml -f kube/v2-service.yaml
Viel Spaß!