
Laboratorio práctico que demuestra el endurecimiento de contenedores Kubernetes comparando implementaciones predeterminadas frente a implementaciones con seguridad mejorada de una aplicación vulnerable de toma de notas.
Este repositorio contiene una aplicación muy simple y vulnerable utilizada para demostrar las diferencias entre desplegar esta aplicación con la configuración predeterminada en un clúster de Kubernetes, frente a agregar algunas configuraciones de seguridad adicionales que NO solucionarán las vulnerabilidades de la aplicación, pero que restringirán a un atacante de hacer cosas malas.
Para probarlo tú mismo, necesitas acceso a un clúster de Kubernetes, porque esta aplicación es altamente vulnerable no quieres desplegarla en un clúster real a menos que dicho clúster esté adecuadamente aislado.
Si quieres usar minikube, puedes simplemente ejecutar el script init.sh proporcionado o ir paso a paso:
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
¡Diviértete!