Kubescape : Guide Technique pour la Sécurité Kubernetes
Guide Technique Kubescape
Introduction
Kubescape est un scanner open-source conçu pour sécuriser les clusters Kubernetes. Il détecte :
- Configurations Kubernetes incorrectes
- Vulnérabilités connues (CVE)
- Non-conformité avec des frameworks de sécurité (NSA, MITRE, SOC2, CIS)
- Mauvaises pratiques DevOps
Fonctionnalités techniques avancées
| Fonctionnalité | Description |
|---|---|
| Shift-left Security | Analyse proactive dès le développement pour détecter les mauvaises configurations YAML et Helm Charts. |
| Intégration IDE/CI-CD | Supporte VSCode, GitHub Actions, GitLab CI/CD, Jenkins, CircleCI, ArgoCD. |
| Scan de clusters actifs | Analyse les clusters en temps réel pour détecter vulnérabilités et configurations incorrectes. |
| Validation YAML/Helm Charts | Vérifie les manifests et charts Helm localement ou depuis un dépôt Git sans cluster actif. |
| Sécurité à l'exécution | Surveillance continue et détection d’anomalies dans les applications déployées. |
| Multi-cloud | Compatible avec AKS, EKS, GKE et distributions Kubernetes auto-hébergées. |
Installation
1. Via script shell
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
2. Via Docker
docker run -it --rm armosec/kubescape:latest scan
3. Déploiement Kubernetes (Pod)
kubectl apply -f https://raw.githubusercontent.com/kubescape/helm-charts/main/charts/kubescape-operator/templates/kubescape-operator.yaml
Frameworks de sécurité supportés
| Framework | Description |
|---|---|
| AllControls | Exécute tous les contrôles disponibles. |
| ArmoBest | Recommandations de l'équipe Kubescape. |
| DevOpsBest | Contrôles essentiels pour la sécurité DevOps. |
| MITRE / NSA / SOC2 | Conformité aux standards des organisations correspondantes. |
| CIS | Contrôles spécifiques pour AKS, EKS et Kubernetes standard. |
Lister les frameworks :
kubescape list frameworks

Scans et Analyses
Scan complet du cluster
kubescape scan
Fonctionnement technique : Kubescape interroge l'API Kubernetes pour collecter tous les objets (Pods, Deployments, Services, ConfigMaps, etc.), applique des contrôles définis par les frameworks, et génère un rapport de conformité et vulnérabilités.

Export HTML pour remédiation
kubescape scan --format html --output results.html
kubescape remediation

Scan sur un framework ou namespace spécifique
kubescape scan framework DevOpsBest --include-namespaces default
Analyse de manifests YAML
kubescape scan *.yaml

Analyse de Helm Charts
kubescape scan https://github.com/AdminTurnedDevOps/PearsonCourses/tree/main/Helm-Charts-For-Kubernetes/Segment3/nginxupdate

kubescape scan framework DevOpsTest https://github.com/kubescape/kubescape
[info] Kubescape scanner starting
[info] Downloading/Loading policy definitions
[success] Downloaded/Loaded policy
[info] Accessing local objects
[info] cloning. repository url: https://github.com/kubescape/kubescape
[warning] failed to collect images vulnerabilities. error: credentials are not configured for any registry adaptor
[success] Done accessing local objects
[info] Scanning Repo
[success] Done scanning Repo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Controls: 10 (Failed: 8, Excluded: 0, Skipped: 0)
Failed Resources by Severity: Critical — 0, High — 2, Medium — 4, Low — 43
+----------+------------------------------------+------------------+--------------------+---------------+--------------+
| SEVERITY | CONTROL NAME | FAILED RESOURCES | EXCLUDED RESOURCES | ALL RESOURCES | % RISK-SCORE |
+----------+------------------------------------+------------------+--------------------+---------------+--------------+
| High | Resources CPU limit and request | 1 | 0 | 16 | 6% |
| High | Resources memory limit and request | 1 | 0 | 16 | 6% |
| Medium | Configured liveness probe | 3 | 0 | 16 | 19% |
| Medium | Container hostPort | 1 | 0 | 16 | 6% |
| Low | Configured readiness probe | 2 | 0 | 16 | 13% |
| Low | K8s common labels usage | 14 | 2 | 16 | 88% |
| Low | Label usage for resources | 14 | 0 | 16 | 88% |
| Low | Pods in default namespace | 13 | 0 | 16 | 81% |
+----------+------------------------------------+------------------+--------------------+---------------+--------------+
| | RESOURCE SUMMARY | 14 | 2 | 16 | 20.27% |
+----------+------------------------------------+------------------+--------------------+---------------+--------------+
FRAMEWORK DevOpsTest
Surveillance et sécurité en production
Kubescape détecte :
- Conteneurs root ou privilèges excessifs
- Pods surconsommant CPU ou RAM
- Services exposés non sécurisés (SSH, API)
- Absence de politiques réseau
Intégration CI/CD
Exemple GitHub Actions
name: Kubescape scanning
on: [push, pull_request]
jobs:
kubescape:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: kubescape/github-action@main
continue-on-error: true
with:
format: sarif
outputFile: results.sarif
- uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif
Compatible avec GitLab CI/CD, Jenkins, CircleCI, ArgoCD et Azure DevOps Pipelines.
Extension VSCode
L’extension Kubescape pour VSCode permet :
- Analyse en temps réel des fichiers YAML et Helm Charts
- Détection instantanée de mauvaises configurations
Conclusion
Kubescape est un outil complet pour sécuriser Kubernetes, combinant :
- Analyse proactive et continue
- Conformité multi-framework
- Intégration IDE et CI/CD
- Analyse des manifests YAML et Helm Charts
- Rapports HTML détaillés pour remédiation