Cluster SetupUse Network security policies to restrict cluster level accessUse CIS benchmark to review the security configuration of Kubernetes components (etcd, kubelet, kubedns, kubeapi)Properly set up Ingress objects with security controlProtect node metadata and endpointsMinimize use of, and access to, GUI elementsVerify platform binaries before deployingCluster HardeningRestrict access to Kubernetes APIUse Role Based Access Controls to minimize exposureExercise caution in using service accounts e.g. disable defaults, minimize permissions on newly created onesUpdate Kubernetes frequentlySystem HardeningMinimize host OS footprint (reduce attack surface)Minimize IAM rolesMinimize external access to the networkAppropriately use kernel hardening tools such as AppArmor, seccompMinimize Microservice VulnerabilitiesSetup appropriate OS level security domainsManage Kubernetes secretsUse container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)Implement pod to pod encryption by use of mTLSSupply Chain SecurityMinimize base image footprintSecure your supply chain: whitelist allowed registries, sign and validate imagesUse static analysis of user workloads (e.g.Kubernetes resources, Docker files)Scan images for known vulnerabilitiesMonitoring, Logging and Runtime SecurityPerform behavioral analytics of syscall process and file activities at the host and container level to detect malicious activit
What you'll learn
implement Kubernetes security configurations
set up Ingress objects with security controls
restrict access to the Kubernetes API
manage Kubernetes secrets
minimize microservice vulnerabilities
perform behavioral analytics for monitoring malicious activities
Course objectives
to equip students with the skills to improve Kubernetes cluster security
to teach best practices for managing application security within a Kubernetes environment