diff --git a/k8s/malicious-pod.yaml b/k8s/malicious-pod.yaml new file mode 100644 index 00000000..128f1789 --- /dev/null +++ b/k8s/malicious-pod.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Pod +metadata: + name: malicious +spec: + volumes: + - name: slash + hostPath: + path: / + containers: + - image: alpine + name: alpine + securityContext: + privileged: true + command: + - sleep + - "1000000000" + volumeMounts: + - name: slash + mountPath: /hostfs + restartPolicy: Never diff --git a/slides/wek8s/security.md b/slides/wek8s/security.md new file mode 100644 index 00000000..33d2aa31 --- /dev/null +++ b/slides/wek8s/security.md @@ -0,0 +1,19 @@ +## Security in the context of wek8s + +- The wek8s dev clusters have permissive policies + + (so that we can easily experiment and try things) + +- This means that we need to be particularly careful about unknown sources + +- Check the provenance of images, YAML bundles, Helm Charts, etc.: + + - does it come from the website / documentation / repository of a trusted vendor? + + - is it maintained; how often does it get updates? + +- For images: + + - is the source (Dockerfile or otherwise) available? + + - are they checked by an automated vulnerability scanner? diff --git a/slides/wwrk.yml b/slides/wwrk.yml index 56136854..3988de79 100644 --- a/slides/wwrk.yml +++ b/slides/wwrk.yml @@ -100,6 +100,7 @@ chapters: - k8s/localkubeconfig.md - k8s/accessinternal.md - k8s/dashboard.md + - wek8s/security.md - k8s/healthchecks.md - k8s/helm.md - k8s/create-chart.md