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