Aller au contenu principal

Lab 9.4 - Audit de Sécurité

Objectifs du Lab​

À la fin de ce lab, vous serez capable de:

  • Comprendre l'audit de sécurité dans Kubernetes.
  • Vérifier les permissions des utilisateurs et Service Accounts.
  • Examiner les ressources de sécurité.
  • Identifier les problèmes de sécurité potentiels.

Durée Estimée​

45-60 minutes

Prérequis​

  • kubectl installé et configuré.
  • Cluster Kubernetes local fonctionnel.
  • Connaissances sur la sécurité Kubernetes (Chapitres précédents).

Partie 1: Vérification des Permissions​

Étape 1.1: Vérifier les Permissions avec kubectl auth can-i​

Vérifiez vos propres permissions:

# Vérifier toutes vos permissions
kubectl auth can-i --list

# Vérifier des permissions spécifiques
kubectl auth can-i create pods
kubectl auth can-i delete deployments
kubectl auth can-i get secrets

Étape 1.2: Vérifier les Permissions d'un Service Account​

Créez un Service Account et vérifiez ses permissions:

kubectl create serviceaccount test-sa
kubectl auth can-i --list --as=system:serviceaccount:default:test-sa

Partie 2: Audit des Roles et RoleBindings​

Étape 2.1: Lister tous les Roles​

Examinez tous les Roles dans le cluster:

# Roles dans tous les namespaces
kubectl get roles --all-namespaces

# Détails d'un Role spécifique
kubectl describe role <role-name> -n <namespace>

Étape 2.2: Lister tous les RoleBindings​

Examinez tous les RoleBindings:

kubectl get rolebindings --all-namespaces
kubectl describe rolebinding <binding-name> -n <namespace>

Partie 3: Audit des Secrets​

Étape 3.1: Lister les Secrets​

Identifiez tous les Secrets:

kubectl get secrets --all-namespaces

Étape 3.2: Vérifier l'Accès aux Secrets​

Vérifiez qui peut accéder aux Secrets:

kubectl auth can-i get secrets --all-namespaces

Partie 4: Audit des Service Accounts​

Étape 4.1: Lister tous les Service Accounts​

kubectl get serviceaccounts --all-namespaces

Étape 4.2: Examiner les Permissions​

Pour chaque Service Account, vérifiez ses permissions:

kubectl get rolebindings,clusterrolebindings --all-namespaces -o wide | grep <service-account-name>

Partie 5: Vérification de la Configuration de Sécurité​

Étape 5.1: Vérifier les Pod Security Standards​

Vérifiez les namespaces avec PSS:

kubectl get namespaces --show-labels | grep pod-security

Étape 5.2: Vérifier les Network Policies​

Examinez les Network Policies:

kubectl get networkpolicies --all-namespaces

Partie 6: Rapport d'Audit​

Créez un script simple pour générer un rapport:

#!/bin/bash
echo "=== Audit de Sécurité Kubernetes ==="
echo ""
echo "1. Roles et RoleBindings:"
kubectl get roles,rolebindings --all-namespaces
echo ""
echo "2. Service Accounts:"
kubectl get serviceaccounts --all-namespaces
echo ""
echo "3. Secrets:"
kubectl get secrets --all-namespaces | wc -l
echo ""
echo "4. Pod Security Standards:"
kubectl get namespaces --show-labels | grep pod-security

Résumé du Lab​

Dans ce lab, vous avez effectué un audit de sécurité de votre cluster Kubernetes. Vous avez appris à vérifier les permissions, à examiner les ressources de sécurité, et à identifier les problèmes potentiels.


Prochaines Étapes​

Ce module sur la Sécurité et RBAC est maintenant complet. Vous pouvez passer au Module 10 sur Helm et Package Management.

Module 10: Helm et Package Management


Lab créé le: Décembre 2024