> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Analyse Infrastructure as Code (IaC)

> L'analyse IaC détecte automatiquement les erreurs de sécurité et les secrets exposés dans votre code d’infrastructure avant le déploiement. Elle analyse les fichiers de configuration Kubernetes, Terraform, Docker, CloudFormation et d’autres outils IaC afin d’identifier les risques de sécurité, les violations de conformité et les écarts par rapport aux bonnes pratiques.

## Aperçu

* **Fonctionnement**: l’analyse IaC examine vos fichiers de configuration d’infrastructure afin de détecter les mauvaises configurations de sécurité, les violations de politiques et les secrets codés en dur avant leur mise en production. Elle prend en charge différents formats IaC, notamment les manifestes Kubernetes, les fichiers Terraform, les Dockerfiles et les modèles CloudFormation, et fournit des résultats détaillés avec leur sévérité et des recommandations de remédiation.

* **Public concerné**: cette fonctionnalité s’adresse aux ingénieurs DevOps, aux architectes cloud, aux équipes de sécurité et aux ingénieurs plateforme qui gèrent leur infrastructure sous forme de code. Elle est essentielle pour les équipes qui adoptent des pratiques cloud-native ou des workflows GitOps, ou qui doivent respecter des exigences de conformité dans leurs déploiements d’infrastructure.

## Caractéristiques clés et avantages

* **Couverture IaC complète**: scanne le code d’infrastructure de nombreux formats et plateformes, notamment Kubernetes, Docker, Terraform, CloudFormation, les modèles Azure ARM et les charts Helm

* **Capacités de double détection**:
  * **Détection de mauvaise configuration**: Identifie les configurations non sécurisées, les contrôles de sécurité manquants, les autorisations excessives et les violations de conformité
  * **Détection de secrets**: détecte les identifiants codés en dur, les clés d’API, les tokens et les données sensibles intégrés au code d’infrastructure

* **Informations détaillées sur les résultats**: fournit notamment :
  * Descriptions des problèmes de configuration et impact sur la sécurité
  * Évaluations de gravité (Critique, Élevé, Moyen, Bas)
  * Ressources et emplacements de fichiers affectés
  * Conseils sur la remédiation et recommandations de bonnes pratiques

* **Détection intelligente**: Identifie automatiquement les fichiers IaC dans votre dépôt et applique les vérifications de sécurité appropriées en fonction du type de fichier

## Types d’infrastructure pris en charge

<AccordionGroup>
  <Accordion title="Kubernetes">
    **Motifs de fichiers**: `*.yml`, `*.yaml`, `*.json`

    Détecte des problèmes tels que :

    * Conteneurs privilégiés et capacités non sécurisées
    * Limites de ressources manquantes et contextes de sécurité
    * Secrets exposés dans des manifestes
    * Erreurs de configuration des politiques réseau
  </Accordion>

  <Accordion title="Docker">
    **Motifs de fichiers**: `Dockerfile`, `Containerfile`

    Détecte des problèmes tels que :

    * Exécution en tant qu’utilisateur root
    * Health checks manquants
    * Secrets exposés dans les arguments de build
    * Images de base non sécurisées
  </Accordion>

  <Accordion title="Terraform">
    **Motifs de fichiers**: `*.tf`, `*.tf.json`, `*.tfvars`, `tfplan`, `*.tfplan`

    Détecte des problèmes tels que :

    * Ressources cloud accessibles publiquement
    * Stockage et bases de données non chiffrés
    * Politiques IAM trop permissives
    * Journalisation et surveillance manquantes
  </Accordion>

  <Accordion title="CloudFormation">
    **Motifs de fichiers**: `*.yml`, `*.yaml`, `*.json`

    Détecte des problèmes tels que :

    * Groupes de sécurité ouverts
    * Buckets S3 non chiffrés
    * Journalisation manquante de CloudTrail
    * Configurations non sécurisées des ressources AWS
  </Accordion>

  <Accordion title="Modèles Azure ARM">
    **Motifs de fichiers**: `*.json`

    Détecte des problèmes tels que :

    * Conteneurs de blobs publics
    * Chiffrement désactivé
    * Règles de sécurité réseau faibles
    * Paramètres de diagnostic manquants
  </Accordion>

  <Accordion title="Charts Helm">
    **Motifs de fichiers**: `*.yaml`, `*.tpl`, `*.tar.gz`

    Détecte des problèmes dans les modèles de Helm, similaires aux vérifications de manifestes Kubernetes
  </Accordion>
</AccordionGroup>

## Instructions de configuration

<Note>L’analyse IaC n’est pas activée par défaut. Contactez le support pour activer cette fonctionnalité sur le compte de votre entreprise.</Note>

<Info>Le projet doit contenir au moins un fichier IaC pris en charge pour permettre l’analyse de l’infrastructure.</Info>

### Étapes de configuration

<Steps>
  <Step title="Vérifier les fichiers IaC">
    Assurez-vous que votre projet contient des fichiers d’infrastructure pris en charge dans l’un des formats listés ci-dessus
  </Step>

  <Step title="Configurer le périmètre du scan">
    Choisissez d’inclure l’analyse IaC dans les scans complets ou partiels
  </Step>

  <Step title="Configurer les notifications">
    Configurez les alertes pour les erreurs critiques et les secrets exposés
  </Step>
</Steps>

## Guide d’utilisation

### Flux de travail clés

1. **Découverte automatique**: Le système identifie automatiquement les fichiers IaC dans votre dépôt
2. **Analyse de configuration**: Applique des contrôles de sécurité et des règles de conformité basées sur le type de fichier
3. **Détection des mauvaises configurations**: identifie les problèmes de sécurité, les violations de politiques et les écarts par rapport aux bonnes pratiques
4. **Détection de secrets**: Analyse les identifiants codés en dur et les informations sensibles
5. **Création des problèmes**: Crée un problème de sécurité traçable pour chaque résultat
6. **Rapports**: Génère des rapports complets avec des recommandations de remédiation classées par priorité

### Exemples courants de mauvaise configuration

<CodeGroup>
  ```yaml Kubernetes - Insecure Container theme={null}
  # ❌ Insecure
  apiVersion: v1
  kind: Pod
  spec:
    containers:
    - name: app
      image: myapp:latest
      securityContext:
        privileged: true  # High severity issue
  ```

  ```dockerfile Docker - Running as Root theme={null}
  # ❌ Insecure
  FROM ubuntu:latest
  RUN apt-get update && apt-get install -y myapp
  CMD ["myapp"]  # Running as root
  ```

  ```hcl Terraform - Public S3 Bucket theme={null}
  # ❌ Insecure
  resource "aws_s3_bucket" "data" {
    bucket = "my-data-bucket"
    acl    = "public-read"  # Critical severity issue
  }
  ```
</CodeGroup>

### Niveaux de sévérité

<Warning>**Critique**: Une action immédiate requise, expose des données sensibles ou permet un accès non autorisé</Warning>

* **Élevée**: doit être traité avant le déploiement en raison du risque de sécurité important
* **Moyen**: Devrait être traité lors d’une maintenance régulière, impact modéré sur la sécurité
* **Faible**: amélioration des bonnes pratiques, avec un risque immédiat minimal

## Bonnes pratiques

<Tip>Intégrez le scan IaC dans votre pipeline CI/CD pour détecter les problèmes avant le déploiement.</Tip>

* **Sécurité shift-left**: scanner le code d’infrastructure pendant le développement, et pas seulement avant le déploiement
* **Policy as Code**: définir et appliquer les politiques de sécurité propres à l’organisation
* **Gestion de versions**: conserver tout le code d’infrastructure dans un système de gestion de versions afin de disposer d’une piste d’audit
* **Principe du moindre privilège**: configurer les autorisations minimales nécessaires pour chaque ressource
* **Chiffrement**: Activer le chiffrement au repos et en transit pour toutes les ressources sensibles
* **Revues régulières**: Révision et mise à jour périodiques des politiques de sécurité IaC
* **Gestion des secrets**: utiliser des outils de gestion des secrets (Vault, AWS Secrets Manager) plutôt que de les coder en dur
* **Alignement sur les exigences de conformité**: associer les résultats aux référentiels de conformité pertinents (CIS, SOC2, etc.)

## Dépannage

<AccordionGroup>
  <Accordion title="Aucun problème trouvé mais les fichiers IaC sont présents">
    **Solution**: Vérifier que les fichiers IaC sont dans les formats pris en charge et contiennent une syntaxe de configuration valide

    **Vérification**: assurez-vous que les fichiers ne sont pas corrompus et ne contiennent pas d’erreurs de syntaxe
  </Accordion>

  <Accordion title="Trop de résultats de faible sévérité">
    **Solution**: Concentrez-vous d’abord sur les problèmes critiques et de gravité élevée, puis traitez les points de moindre gravité

    **Vérification**: envisagez d’ajuster les seuils de sévérité en fonction de la tolérance au risque de votre organisation
  </Accordion>

  <Accordion title="Faux positifs de mauvaise configuration">
    **Solution**: examinez le contexte précis de la configuration ; certains résultats peuvent ne pas s’appliquer à votre cas d’usage

    **Vérification**: utilisez des commentaires de suppression ou des exceptions de politique pour les configurations intentionnelles
  </Accordion>

  <Accordion title="Le scan ne détecte pas tous les fichiers IaC">
    **Solution**: Vérifier que les extensions de fichiers correspondent aux motifs pris en charge

    **Vérification**: assurez-vous que les fichiers ne se trouvent pas dans des répertoires ignorés (.gitignore)
  </Accordion>
</AccordionGroup>

## Fonctionnalités associées

* [Analyse des secrets](secret-scanning) - Détection dédiée des secrets dans tous les types de fichiers
* [Analyse des dépendances (SCA)](sca) - Analyse des vulnérabilités pour détecter des dépendances tierces
* [SAST natif de l’IA (BLAST)](blast) - Tests de sécurité applicative du code source
