Translated ['src/pentesting-cloud/azure-security/az-basic-information/az

This commit is contained in:
Translator
2025-05-11 15:09:06 +00:00
parent a1c02e4fbf
commit fdd6c85445
4 changed files with 122 additions and 54 deletions

View File

@@ -4,12 +4,38 @@
## Outils pour analyser un cluster
### [**Steampipe - Conformité Kubernetes](https://github.com/turbot/steampipe-mod-kubernetes-compliance)
Il effectuera **plusieurs vérifications de conformité sur le cluster Kubernetes**. Il inclut le support pour CIS, l'Agence de sécurité nationale (NSA) et le rapport technique de cybersécurité de l'Agence de cybersécurité et de sécurité des infrastructures (CISA) pour le renforcement de Kubernetes.
```bash
# Install Steampipe
brew install turbot/tap/powerpipe
brew install turbot/tap/steampipe
steampipe plugin install kubernetes
# Start the service
steampipe service start
# Install the module
mkdir dashboards
cd dashboards
powerpipe mod init
powerpipe mod install github.com/turbot/steampipe-mod-kubernetes-compliance
# Run the module
powerpipe server
```
### [**Kubescape**](https://github.com/armosec/kubescape)
[**Kubescape**](https://github.com/armosec/kubescape) est un outil open-source K8s fournissant une vue unique multi-cloud K8s, incluant l'analyse des risques, la conformité de sécurité, un visualiseur RBAC et le scan des vulnérabilités d'image. Kubescape analyse les clusters K8s, les fichiers YAML et les charts HELM, détectant les erreurs de configuration selon plusieurs cadres (comme le [NSA-CISA](https://www.armosec.io/blog/kubernetes-hardening-guidance-summary-by-armo), [MITRE ATT\&CK®](https://www.microsoft.com/security/blog/2021/03/23/secure-containerized-environments-with-updated-threat-matrix-for-kubernetes/)), les vulnérabilités logicielles et les violations RBAC (contrôle d'accès basé sur les rôles) aux premières étapes du pipeline CI/CD, calcule instantanément le score de risque et montre les tendances de risque au fil du temps.
[**Kubescape**](https://github.com/armosec/kubescape) est un outil open-source K8s fournissant une vue unique multi-cloud de K8s, incluant l'analyse des risques, la conformité de sécurité, un visualiseur RBAC et le scan des vulnérabilités d'image. Kubescape scanne les clusters K8s, les fichiers YAML et les charts HELM, détectant les erreurs de configuration selon plusieurs cadres (comme le [NSA-CISA](https://www.armosec.io/blog/kubernetes-hardening-guidance-summary-by-armo), [MITRE ATT\&CK®](https://www.microsoft.com/security/blog/2021/03/23/secure-containerized-environments-with-updated-threat-matrix-for-kubernetes/)), les vulnérabilités logicielles et les violations RBAC (contrôle d'accès basé sur les rôles) aux premiers stades du pipeline CI/CD, calcule instantanément le score de risque et montre les tendances de risque au fil du temps.
```bash
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
kubescape scan --verbose
```
### [**Popeye**](https://github.com/derailed/popeye)
[**Popeye**](https://github.com/derailed/popeye) est un utilitaire qui analyse les clusters Kubernetes en direct et **signale les problèmes potentiels avec les ressources et configurations déployées**. Il assainit votre cluster en fonction de ce qui est déployé et non de ce qui est stocké sur le disque. En scannant votre cluster, il détecte les erreurs de configuration et vous aide à vous assurer que les meilleures pratiques sont en place, évitant ainsi de futurs maux de tête. Il vise à réduire la charge cognitive à laquelle on fait face lors de l'exploitation d'un cluster Kubernetes en production. De plus, si votre cluster utilise un serveur de métriques, il signale les allocations de ressources sur/sous-utilisées et tente de vous avertir si votre cluster manque de capacité.
### [**Kube-bench**](https://github.com/aquasecurity/kube-bench)
L'outil [**kube-bench**](https://github.com/aquasecurity/kube-bench) est un outil qui vérifie si Kubernetes est déployé de manière sécurisée en exécutant les vérifications documentées dans le [**CIS Kubernetes Benchmark**](https://www.cisecurity.org/benchmark/kubernetes/).\
@@ -22,7 +48,7 @@ Vous pouvez choisir de :
### [**Kubeaudit**](https://github.com/Shopify/kubeaudit)
L'outil [**kubeaudit**](https://github.com/Shopify/kubeaudit) est un outil en ligne de commande et un package Go pour **auditer les clusters Kubernetes** pour diverses préoccupations de sécurité.
**[DÉPRÉCIÉ]** L'outil [**kubeaudit**](https://github.com/Shopify/kubeaudit) est un outil en ligne de commande et un package Go pour **auditer les clusters Kubernetes** pour diverses préoccupations de sécurité.
Kubeaudit peut détecter s'il s'exécute dans un conteneur dans un cluster. Si c'est le cas, il essaiera d'auditer toutes les ressources Kubernetes dans ce cluster :
```
@@ -32,13 +58,26 @@ Cet outil a également l'argument `autofix` pour **corriger automatiquement les
### [**Kube-hunter**](https://github.com/aquasecurity/kube-hunter)
L'outil [**kube-hunter**](https://github.com/aquasecurity/kube-hunter) recherche des faiblesses de sécurité dans les clusters Kubernetes. L'outil a été développé pour accroître la sensibilisation et la visibilité des problèmes de sécurité dans les environnements Kubernetes.
**[DÉPRÉCIÉ]** L'outil [**kube-hunter**](https://github.com/aquasecurity/kube-hunter) recherche des faiblesses de sécurité dans les clusters Kubernetes. L'outil a été développé pour accroître la sensibilisation et la visibilité des problèmes de sécurité dans les environnements Kubernetes.
```bash
kube-hunter --remote some.node.com
```
### [Trivy](https://github.com/aquasecurity/trivy)
[Trivy](https://github.com/aquasecurity/trivy) dispose de scanners qui recherchent des problèmes de sécurité, et des cibles où il peut trouver ces problèmes :
- Image de conteneur
- Système de fichiers
- Dépôt Git (à distance)
- Image de machine virtuelle
- Kubernetes
### [**Kubei**](https://github.com/Erezf-p/kubei)
[**Kubei**](https://github.com/Erezf-p/kubei) est un outil de scan de vulnérabilités et de référence CIS Docker qui permet aux utilisateurs d'obtenir une évaluation des risques précise et immédiate de leurs clusters Kubernetes. Kubei scanne toutes les images utilisées dans un cluster Kubernetes, y compris les images des pods d'application et des pods système.
**[Semble non maintenu]**
[**Kubei**](https://github.com/Erezf-p/kubei) est un outil de scan de vulnérabilités et de benchmark CIS Docker qui permet aux utilisateurs d'obtenir une évaluation des risques précise et immédiate de leurs clusters Kubernetes. Kubei scanne toutes les images utilisées dans un cluster Kubernetes, y compris les images des pods d'application et des pods système.
### [**KubiScan**](https://github.com/cyberark/KubiScan)
@@ -52,21 +91,17 @@ kube-hunter --remote some.node.com
- **`find-secrets`** : Qui essaie d'identifier des secrets dans les ressources K8s telles que les Pods, ConfigMaps et Secrets.
- **`test-imds-access`** : Qui essaiera d'exécuter des pods et d'accéder aux métadonnées v1 et v2. AVERTISSEMENT : Cela exécutera un pod dans le cluster, soyez très prudent car vous ne voudrez peut-être pas faire cela !
## **Audit IaC Code**
### [**Popeye**](https://github.com/derailed/popeye)
[**Popeye**](https://github.com/derailed/popeye) est un utilitaire qui scanne un cluster Kubernetes en direct et **signale les problèmes potentiels avec les ressources et configurations déployées**. Il assainit votre cluster en fonction de ce qui est déployé et non de ce qui est stocké sur le disque. En scannant votre cluster, il détecte les erreurs de configuration et vous aide à vous assurer que les meilleures pratiques sont en place, évitant ainsi de futurs maux de tête. Il vise à réduire la charge cognitive à laquelle on fait face lors de l'exploitation d'un cluster Kubernetes dans la nature. De plus, si votre cluster utilise un serveur de métriques, il signale les allocations de ressources excessives ou insuffisantes et tente de vous avertir si votre cluster manque de capacité.
## **Audit du code IaC**
### [**KICS**](https://github.com/Checkmarx/kics)
[**KICS**](https://github.com/Checkmarx/kics) trouve **des vulnérabilités de sécurité**, des problèmes de conformité et des erreurs de configuration d'infrastructure dans les **solutions Infrastructure as Code suivantes** : Terraform, Kubernetes, Docker, AWS CloudFormation, Ansible, Helm, Microsoft ARM et spécifications OpenAPI 3.0.
[**KICS**](https://github.com/Checkmarx/kics) trouve des **vulnérabilités de sécurité**, des problèmes de conformité et des erreurs de configuration d'infrastructure dans les **solutions Infrastructure as Code** suivantes : Terraform, Kubernetes, Docker, AWS CloudFormation, Ansible, Helm, Microsoft ARM et spécifications OpenAPI 3.0
### [**Checkov**](https://github.com/bridgecrewio/checkov)
[**Checkov**](https://github.com/bridgecrewio/checkov) est un outil d'analyse de code statique pour l'infrastructure en tant que code.
Il scanne l'infrastructure cloud provisionnée à l'aide de [Terraform](https://terraform.io), du plan Terraform, de [Cloudformation](https://aws.amazon.com/cloudformation/), de [AWS SAM](https://aws.amazon.com/serverless/sam/), de [Kubernetes](https://kubernetes.io), de [Dockerfile](https://www.docker.com), de [Serverless](https://www.serverless.com) ou de [ARM Templates](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/overview) et détecte les erreurs de configuration de sécurité et de conformité à l'aide d'un scan basé sur des graphes.
Il analyse l'infrastructure cloud provisionnée à l'aide de [Terraform](https://terraform.io), du plan Terraform, de [Cloudformation](https://aws.amazon.com/cloudformation/), de [AWS SAM](https://aws.amazon.com/serverless/sam/), de [Kubernetes](https://kubernetes.io), de [Dockerfile](https://www.docker.com), de [Serverless](https://www.serverless.com) ou de [ARM Templates](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/overview) et détecte les erreurs de configuration de sécurité et de conformité à l'aide d'une analyse basée sur des graphes.
### [**Kube-score**](https://github.com/zegl/kube-score)
@@ -76,8 +111,8 @@ Pour installer :
| Distribution | Commande / Lien |
| --------------------------------------------------- | --------------------------------------------------------------------------------------- |
| Binaries préconstruits pour macOS, Linux et Windows | [GitHub releases](https://github.com/zegl/kube-score/releases) |
| Docker | `docker pull zegl/kube-score` ([Docker Hub)](https://hub.docker.com/r/zegl/kube-score/) |
| Binaries préconstruits pour macOS, Linux et Windows | [Releases GitHub](https://github.com/zegl/kube-score/releases) |
| Docker | `docker pull zegl/kube-score` ([Docker Hub](https://hub.docker.com/r/zegl/kube-score/)) |
| Homebrew (macOS et Linux) | `brew install kube-score` |
| [Krew](https://krew.sigs.k8s.io/) (macOS et Linux) | `kubectl krew install score` |
@@ -105,15 +140,15 @@ Utilisateur ou K8s ServiceAccount > Authentification > Autorisation > C
- Évitez l'accès anonyme.
- NodeRestriction ; Pas d'accès depuis des nœuds spécifiques à l'API.
- [https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction)
- Cela empêche essentiellement les kubelets d'ajouter/supprimer/mettre à jour des étiquettes avec un préfixe node-restriction.kubernetes.io/. Ce préfixe d'étiquette est réservé aux administrateurs pour étiqueter leurs objets Node à des fins d'isolement des charges de travail, et les kubelets ne seront pas autorisés à modifier les étiquettes avec ce préfixe.
- Et aussi, permet aux kubelets d'ajouter/supprimer/mettre à jour ces étiquettes et préfixes d'étiquettes.
- Prévient essentiellement les kubelets d'ajouter/retirer/mettre à jour des étiquettes avec un préfixe node-restriction.kubernetes.io/. Ce préfixe d'étiquette est réservé aux administrateurs pour étiqueter leurs objets Node à des fins d'isolement des charges de travail, et les kubelets ne seront pas autorisés à modifier les étiquettes avec ce préfixe.
- Et aussi, permet aux kubelets d'ajouter/retirer/mettre à jour ces étiquettes et préfixes d'étiquettes.
- Assurez-vous avec des étiquettes de l'isolement sécurisé des charges de travail.
- Évitez que des pods spécifiques n'accèdent à l'API.
- Évitez l'exposition de l'ApiServer à Internet.
- Évitez l'accès non autorisé RBAC.
- Port de l'ApiServer avec pare-feu et liste blanche d'IP.
### Durcissement de SecurityContext
### Durcissement du SecurityContext
Par défaut, l'utilisateur root sera utilisé lorsqu'un Pod est démarré si aucun autre utilisateur n'est spécifié. Vous pouvez exécuter votre application dans un contexte plus sécurisé en utilisant un modèle similaire à celui-ci :
```yaml
@@ -146,14 +181,14 @@ allowPrivilegeEscalation: true
### Renforcement Général
Vous devez mettre à jour votre environnement Kubernetes aussi souvent que nécessaire pour avoir :
Vous devriez mettre à jour votre environnement Kubernetes aussi souvent que nécessaire pour avoir :
- Dépendances à jour.
- Correctifs de bogues et de sécurité.
[**Cycles de publication**](https://kubernetes.io/docs/setup/release/version-skew-policy/) : Chaque 3 mois, il y a une nouvelle version mineure -- 1.20.3 = 1(Majeur).20(Minor).3(patch)
**La meilleure façon de mettre à jour un Cluster Kubernetes est (depuis** [**ici**](https://kubernetes.io/docs/tasks/administer-cluster/cluster-upgrade/)**) :**
**La meilleure façon de mettre à jour un cluster Kubernetes est (depuis** [**ici**](https://kubernetes.io/docs/tasks/administer-cluster/cluster-upgrade/)**) :**
- Mettre à niveau les composants du nœud maître en suivant cette séquence :
- etcd (toutes les instances).
@@ -163,4 +198,11 @@ Vous devez mettre à jour votre environnement Kubernetes aussi souvent que néce
- cloud controller manager, si vous en utilisez un.
- Mettre à niveau les composants du nœud de travail tels que kube-proxy, kubelet.
## Surveillance et sécurité de Kubernetes :
- Kyverno Policy Engine
- Cilium Tetragon - Observabilité de sécurité basée sur eBPF et application en temps réel
- Politiques de sécurité réseau
- Falco - Surveillance et détection de sécurité en temps réel
{{#include ../../../banners/hacktricks-training.md}}