Kubernetes, k8s (pour k, 8 caractères, s) ou encore « kube », est une plateforme Open Source qui automatise l’exploitation des conteneurs Linux. Elle permet d’éliminer de nombreux processus manuels associés au déploiement et à la mise à l’échelle des applications conteneurisées. En d’autres termes, Kubernetes vous aide à gérer facilement et efficacement des clusters au sein desquels vous aurez rassemblé des groupes d’hôtes exécutant des conteneurs Linux. Ces clusters peuvent couvrir des hôtes situés dans des clouds publics, privés ou hybrides. C’est la raison pour laquelle Kubernetes est la plateforme idéale pour héberger les applications cloud-native qui requièrent une mise à l’échelle rapide, comme la diffusion de données en continu et en temps réel via Apache Kafka.
L’objectif principal de cette formation est de vous faire passer haut la main la certification kubernetes “Certified Kubernetes Security Specialist”
La large adoption de kubernetes a entrainé un énorme enjeux autour de la sécurité de votre cluster. Cette certification vous donne les compétences concrètes pour adresser ces problématiques de sécurité autour des micro-services en général et de kubernetes en particulier.
Cette formation est destinée:
- aux développeurs
- aux administrateurs systèmes et réseaux
- aux managers et chef de projet IT
- aux experts sécurité
En effet, ce cours n’est pas seulement destiné à ceux qui veulent passer la certification mais à toute personne souhaitant sécuriser son infrastructure et assimiler les mécanisques internes (natifs à k8s) permettant de sécuriser votre SI.
Prérequis:
- avoir de bonnes bases sur Docker (https://eazytraining.fr/cours/introduction-a-docker/)
- avoir de bonnes bases sur kubernetes (https://eazytraining.fr/cours/kubernetes-les-bases-pour-devops/)
- avoir de solides connaissances sur l’administration kubernetes (https://eazytraining.fr/cours/kubernetes-devenez-certified-kubernetes-administrator/)
Durée de la formation : 15 Heures
Ce cours est inspiré des resosurces disponibles sur le repo github de abdennour et walidshaari ! Merci à eux (Thanks a lot guys)
ATTENTION : Pour vous inscrire à l’examen il vous faut être certifié CKA, sans celà la LINUX FOUNDATION ne validera pas votre passage de l’examen
Formateur: Dirane TAFEN (Consultant et Instructeur dans le Cloud et le DevOps)
Note: Ce cours est activement mis à jour afin de répondre au curriculum de la certification. Et plus nous en saurons sur les épreuves d’évaluation, mieux nous ajusterons le cours. Merci pour votre confiance.
Achat en une fois : Si vous souhaitez acheter uniquement cette formation dans notre catalogue vous pouvez l’acheter en one-shoot et y avoir accès à vie en cliquant ici
La viste guidée de la formation en vidéo ! Car vous le méritez bien !
-
Module 00 : Présentation de la formation
-
Module 01 : Cluster Setup
- network policy : pourquoi les networks policy
- network policy : définition d’une network policy
- network policy : isolation d’une application
- network policy : limitation de traffic par rapport au namespace
- network policy : notes utiles
- use cis benchmark : pourquoi la standardisation
- use cis benchmark : le CIS
- use cis benchmark : CIS benchmark kubernetes
- use cis benchmark : kube-bench
- use cis benchmark : réalisation du bench-mark et analyse des resultats
- use cis benchmark : notes utiles
- properly set up ingress objects : rappel sur l’ingress
- properly set up ingress objects : présentation de l’infrastructure
- properly set up ingress objects : installation de l’ingress contoller sur minikube
- properly set up ingress objects : déploiement de l’application
- properly set up ingress objects : création de l’ingress http
- properly set up ingress objects : génération de certificat
- properly set up ingress objects : mise en place du https
- properly set up ingress objects : notes utiles
- minimize use of and access to GUI elements : problèmes des application de gestion de cluster en GUI
- minimize use of and access to GUI elements : deploiement du kubernetes dashboard
- minimize use of and access to GUI elements : accès au dashboard
- minimize use of and access to GUI elements : service account et token
- minimize use of and access to GUI elements : test des serviceaccounts
- minimize use of and access to GUI elements : exposition de l’application à l’extérieur avec kube proxy
- minimize use of and access to GUI elements : notes utiles
- verify plateform binaries before deploying : les binaires de kubernetes
- verify plateform binaries before deploying : notes utiles
-
Module 02 : cluster hardening
- Restrict access to Kubernetes API : kubernetes api workflow
- Restrict access to Kubernetes API : authentification
- Restrict access to Kubernetes API : authorisation
- Restrict access to Kubernetes API : admission contoller
- Restrict access to Kubernetes API : présentation de l’existant
- Restrict access to Kubernetes API : création de l’utilisateur
- Restrict access to Kubernetes API : assignation du rôle
- Restrict access to Kubernetes API : création et gestion d’un service account
- Restrict access to Kubernetes API : tester les droits d’un utilisateur ou serviceaccount
- Restrict access to Kubernetes API : mise en place admission controller
- Restrict access to Kubernetes API : notes utiles
- Exercise caution in using service accounts : les modules kubernetes impliqués dans la gestion des SA
- Exercise caution in using service accounts : admission controller
- Exercise caution in using service accounts : token controller
- Exercise caution in using service accounts : service account controller
- Exercise caution in using service accounts : utilisation des serviceaccount
- Exercise caution in using service accounts : notes utiles
- Update Kubernetes frequently : gérez les versions de votre cluster kubernetes
- Update Kubernetes frequently : les stratégies d’upgrade du cluster
- Update Kubernetes frequently : mise à jour du master node
- Update Kubernetes frequently : mise à jour du worker node
- Update Kubernetes frequently : notes utiles
-
Module 03 : System Hardening
- Minimize host OS footprint : sécurisation des OS
- Minimize host OS footprint : notes utiles
- Minimize IAM roles : IAM least privilege
- Minimize IAM roles : notes utiles
- Minimize external access to the network : acl et firewall
- Minimize external access to the network : aws vpc et security group
- Minimize external access to the network : notes utiles
- Appropriately use kernel hardening tools – APPARMOR : pourquoi apparmor
- Appropriately use kernel hardening tools – APPARMOR : le lien entre apparmor et docker
- Appropriately use kernel hardening tools – APPARMOR : le lien entre apparmor et kubernetes
- Appropriately use kernel hardening tools – APPARMOR : vérification des prérequis apparmor pour kubernetes
- Appropriately use kernel hardening tools – APPARMOR : création et utilisation d’un profile apparmor
- Appropriately use kernel hardening tools – APPARMOR : notes utiles
- Appropriately use kernel hardening tools – SECCOMP : pourquoi seccomp
- Appropriately use kernel hardening tools – SECCOMP : lien entre docker et seccomp
- Appropriately use kernel hardening tools – SECCOMP : lien entre kubernetes et seccomp
- Appropriately use kernel hardening tools – SECCOMP : mise en place de l’audit avec seccomp
- Appropriately use kernel hardening tools – SECCOMP : mise en place du profil violation avec seccomp
- Appropriately use kernel hardening tools – SECCOMP : mise en place du profil fine-grained
- Appropriately use kernel hardening tools – SECCOMP : les profils par defaut
- Appropriately use kernel hardening tools – SECCOMP : différence de syntaxe entre k8s 1-18 et 1-19
- Appropriately use kernel hardening tools – SECCOMP : notes utiles
-
Module 04 : Minimize Microservice Vulnerabilities
- Setup appropriate OS level security – PSP : pourquoi les Pod Security Policy
- Setup appropriate OS level security – PSP : comment s’utilisent les PSP
- Setup appropriate OS level security – PSP : les privilèges possibles
- Setup appropriate OS level security – PSP : mise en oeuvre des PSP
- Setup appropriate OS level security – PSP : notes utiles
- Setup appropriate OS level security – OPA : limites des PSP et pourquoi OPA
- Setup appropriate OS level security – OPA : présentation d’Open Policy Agent
- Setup appropriate OS level security – OPA : présentation de l’architecture et du workflow mis en place
- Setup appropriate OS level security – OPA : génération des certificat du service OPA
- Setup appropriate OS level security – OPA : déploiement d’OPA
- Setup appropriate OS level security – OPA : création du webhook
- Setup appropriate OS level security – OPA : création de la rule et vérification de son fonctionnement
- Setup appropriate OS level security – OPA : notes utiles
- Setup appropriate OS level security – Security context : security context
- Setup appropriate OS level security – Security context : notes utiles
- Manage Kubernetes secrets : pourquoi les secrets
- Manage Kubernetes secrets : type de secret
- Manage Kubernetes secrets : définition des secrets
- Manage Kubernetes secrets : utilisation de secret pour le deploiement de wordpress
- Manage Kubernetes secrets : notes utiles
- Use container runtime sandboxes – gvisor : pourquoi les sandbox
- Use container runtime sandboxes – gvisor : architecture de gvisor
- Use container runtime sandboxes – gvisor : container runtime
- Use container runtime sandboxes – gvisor : mise en place de gvisor
- Use container runtime sandboxes – gvisor : notes utiles
- Use container runtime sandboxes – kata container : pourquoi les kata conteneurs
- Use container runtime sandboxes – kata container : mise en place de kata container
- Use container runtime sandboxes – kata container : notes utiles
- Implement pod to pod encryption : c’est quoi le mTLS
- Implement pod to pod encryption : les attentes liées aux microservices
- Implement pod to pod encryption : les limites de l’approche en library
- Implement pod to pod encryption : service mesh
- Implement pod to pod encryption : solution de service mesh sur le marché
- Implement pod to pod encryption : architecture de istio
- Implement pod to pod encryption : installation de minikube
- Implement pod to pod encryption : méthode d’installation d’istio
- Implement pod to pod encryption : installation d’istio
- Implement pod to pod encryption : présentation de l’application microservice
- Implement pod to pod encryption : déploiement de l’application
- Implement pod to pod encryption : accès à l’application par istio ingress
- Implement pod to pod encryption : gateway et virtual service
- Implement pod to pod encryption : limite de notre service actuel
- Implement pod to pod encryption : traffic management avec les destination rule
- Implement pod to pod encryption : vérification de nos règles subset
- Implement pod to pod encryption : mTLS avec ISTIO
- Implement pod to pod encryption : mTLS par defaut
- Implement pod to pod encryption : les limites du mTLS par defaut
- Implement pod to pod encryption : application de restrictions à l’ensemble du service mesh
- Implement pod to pod encryption : restriction sur un namespace particulier
- Implement pod to pod encryption : création d’exception
- Implement pod to pod encryption : notes utiles
-
Module 05 : Supply Chain security
- Minimize base image footprint : bonnes pratiques docker
- Minimize base image footprint : problématique du build multi-stage
- Minimize base image footprint : explication du build multistage
- Minimize base image footprint : explication du code utilisée
- Minimize base image footprint : mise en application du build multistage
- Minimize base image footprint : distroless
- Minimize base image footprint : notes utiles
- Use static analysis of user workloads – kube-score code analisys : pourquoi faire de l’analyse de code statique sur kubernetes
- Use static analysis of user workloads – kube-score code analisys : mise en place de kube-score
- Use static analysis of user workloads – kube-score code analisys : notes utiles
- Use static analysis of user workloads – polaris infrastucture analysis : problématique de gouvernance d’un cluster k8s
- Use static analysis of user workloads – polaris infrastucture analysis : présentation de polaris
- Use static analysis of user workloads – polaris infrastucture analysis : installation et utilisation du dashboard polaris
- Use static analysis of user workloads – polaris infrastucture analysis : polaris cli
- Use static analysis of user workloads – polaris infrastucture analysis : exemption
- Use static analysis of user workloads – polaris infrastucture analysis : webhook
- Use static analysis of user workloads – polaris infrastucture analysis : notes utiles
- Scan images for known vulnerabilities – synk : problématique liée à la sécurité des images docker
- Scan images for known vulnerabilities – snyk : présentation de snyk
- Scan images for known vulnerabilities – snyk : création du compte snyk partie 1
- Scan images for known vulnerabilities – snyk : création du compte snyk partie 2
- Scan images for known vulnerabilities – snyk : recupération du token
- Scan images for known vulnerabilities – snyk : presentation de l’application
- Scan images for known vulnerabilities – snyk : vulnérabilité applicative
- Scan images for known vulnerabilities – snyk : vulnérabilité de l’image
- Scan images for known vulnerabilities – snyk : notes utiles
- Scan images for known vulnerabilities – anchore : pourquoi anchore et limite des outils classiques de scanning d’images docker
- Scan images for known vulnerabilities – anchore : comment fonctionne anchore
- Scan images for known vulnerabilities – anchore : architecture de anchor
- Scan images for known vulnerabilities – anchore : installation de anchor
- Scan images for known vulnerabilities – anchore : lancement du scan d’images
- Scan images for known vulnerabilities – anchore : observation des résultats du scanning
- Scan images for known vulnerabilities – anchore : intégration k8s + anchore
- Scan images for known vulnerabilities – anchore : installation de anchore à l’aide de helm
- Scan images for known vulnerabilities – anchore : présentation de l’admission controller anchore ainsi que son chart
- Scan images for known vulnerabilities – anchore : déploiement et test de l’adminission controller
- Scan images for known vulnerabilities – anchore : notes utiles
- Scan images for known vulnerabilities – trivy : Quelle place dans l’écosystème DevOps
- Scan images for known vulnerabilities – trivy : Installation de trivy
- Scan images for known vulnerabilities – trivy : Mise en pratique
- Scan images for known vulnerabilities – trivy : notes utiles
-
Module 06 : Monitoring, Logging and Runtime Security
- Perform deep analytical : pourquoi falco
- Perform deep analytical : présentation de falco
- Perform deep analytical : déploiement et utilisation de falco
- Perform deep analytical : notes utiles
- Ensure immutability : c’est quoi un microservice immuable ?
- Ensure immutability : lien avec les security context
- Ensure immutability : mise en pratique avec nginx
- Ensure immutability : notes utiles
- Use Audit Logs to monitor access : pourquoi faire de l’audit sur notre cluster kubernetes
- Use Audit Logs to monitor access : definition de règles d’audit kubernetes
- Use Audit Logs to monitor access : mise en place de l’audit sur notre cluster kubernetes
- Use Audit Logs to monitor access : notes utiles
-
Module 07 : Préparez votre examen