Que fait Analyse des journaux d'audit Kubernetes ?
Quand l'utiliser
- Lors de l'investigation d'incidents de sécurité nécessitant l'analyse des journaux d'audit Kubernetes
- Lors de la construction de règles de détection ou de requêtes de chasse aux menaces pour ce domaine
- Lorsque les analystes SOC ont besoin de procédures structurées pour ce type d'analyse
- Lors de la validation de la couverture de surveillance pour des techniques d'attaque connexes
Prérequis
- Familiarité avec les concepts et outils de sécurité des conteneurs
- Accès à un environnement de test ou de laboratoire pour une exécution sécurisée
- Python 3.8+ avec les dépendances requises installées
- Autorisation appropriée pour toute activité de test
Instructions
Analyser les fichiers journaux d'audit Kubernetes (format JSON lines) pour détecter les événements pertinents pour la sécurité, notamment les accès non autorisés, l'escalade de privilèges et l'exfiltration de données.
import json
with open("/var/log/kubernetes/audit.log") as f:
for line in f:
event = json.loads(line)
verb = event.get("verb")
resource = event.get("objectRef", {}).get("resource")
user = event.get("user", {}).get("username")
if verb == "create" and resource == "pods/exec":
print(f"Exécution dans un pod par {user}")
Événements clés à détecter :
- pods/exec et pods/attach (accès shell aux conteneurs)
- Accès aux secrets (get/list/watch)
- Création de clusterrolebindings (escalade RBAC)
- Création de pods privilégiés
- Accès anonyme ou système:non-authentifié
Exemples
# Détecter l'énumération de secrets
if verb in ("get", "list") and resource == "secrets":
print(f"Accès secret : {user} -> {event['objectRef'].get('name')}")