
Laboratorio pratico che dimostra l'hardening dei container Kubernetes confrontando le distribuzioni predefinite con quelle potenziate per la sicurezza di un'applicazione vulnerabile per prendere appunti.
Questo repository contiene un'applicazione molto semplice e vulnerabile utilizzata per dimostrare le differenze tra il deployment di questa applicazione con le impostazioni predefinite su un cluster Kubernetes, rispetto all'aggiunta di alcune impostazioni di sicurezza aggiuntive che NON risolveranno le vulnerabilità dell'applicazione, ma limiteranno un attaccante dal fare cose dannose.
Per provarlo da soli, è necessario l'accesso a un cluster Kubernetes, perché questa applicazione è altamente vulnerabile non si vuole distribuirla in un cluster reale a meno che tale cluster non sia adeguatamente isolato.
Se si desidera utilizzare minikube, è sufficiente eseguire lo script init.sh fornito o procedere passo dopo passo:
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
Divertitevi!