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