Aller au contenu

Terrascan (archivé)

Contenu d'archive

Ce contenu concerne Terrascan, archivé par Tenable en novembre 2025 (dernière version 1.19.9, plus aucun correctif ni mise à jour des politiques), et est conservé à titre indicatif ou historique. Pour analyser ton IaC, privilégie Trivy (trivy config), Checkov ou KICS.

Terrascan est un outil open-source d'analyse statique de code conçu pour examiner les configurations d'Infrastructure as Code (IaC). Il aide à identifier les vulnérabilités de sécurité, les violations de conformité et les écarts par rapport aux meilleures pratiques dans le code IaC.

Terrascan prend en charge divers frameworks IaC, notamment Terraform, Kubernetes et Helm, et peut être intégré dans des pipelines CI/CD pour une surveillance continue.

Fonctionnalités principales de Terrascan

  • Support multi-cloud : Terrascan est compatible avec plusieurs cloud providers, tels qu'AWS, Azure et Google Cloud Platform, ce qui le rend polyvalent pour les déploiements multi-cloud.

  • Analyse de code Terraform : Terrascan peut analyser des configurations Terraform pour détecter des violations de politiques, comme l'absence de verrous de ressources ou des configurations de sécurité inadéquates.

  • Analyse de chartes Helm : Il peut être utilisé pour analyser des chartes Helm et identifier des problèmes de sécurité, tels que des configurations de conteneurs non sécurisées.

  • Analyse de manifestes Kubernetes : Terrascan peut examiner des manifestes Kubernetes pour s'assurer que les meilleures pratiques de sécurité sont respectées, comme l'évitement de l'exécution de conteneurs avec des privilèges élevés.

  • Intégration CI/CD : Terrascan peut être intégré dans des pipelines CI/CD, des environnements de développement intégrés (IDE) et d'autres flux de travail de développement et de déploiement, permettant une analyse automatisée du code IaC.

Utilisation de Terrascan - Local

Après l'installation, pour analyser ton code IaC, place-toi dans le répertoire contenant tes fichiers de configuration et exécute :

terrascan scan

La première fois que tu utilises Terrascan, si le flag -p n'est pas spécifié, il téléchargera les dernières politiques depuis le référentiel Terrascan. Tu peux mettre à jour ton environnement local avec les dernières politiques en exécutant terrascan init.

Utilisation de Terrascan - GitlabCI

Exemple de code en CI/CD :

1
2
3
4
5
6
7
terrascan-terraform-iac:
    stage: sast
    image: 
        name:  tenable/terrascan:1.19.9
        entrypoint: [""]
    script:
        - terrascan scan

Rapport d'analyse Terrascan sur du code Terraform

Création de politiques personnalisées :

Terrascan utilise le moteur Open Policy Agent (OPA), permettant de créer des politiques personnalisées en utilisant le langage de requête Rego. Les politiques personnalisées peuvent être définies dans des fichiers .rego, avec des fichiers de configuration JSON associés pour spécifier leur application et leur niveau de sévérité. Pour découvrir Rego, vois Définir des policies avec OPA.

Comparaison avec d'autres outils :

  • Terrascan vs Checkov : Les deux sont des outils d'analyse statique open-source pour l'IaC. Checkov se concentre davantage sur Terraform mais peut analyser plusieurs types de fichiers, y compris CloudFormation et Kubernetes. Checkov est construit en Python, tandis que Terrascan utilise Go et des politiques écrites en Rego.

  • Terrascan vs tfsec : tfsec est un autre outil d'analyse statique open-source écrit en Go, dont les politiques personnalisées s'écrivaient en YAML ou JSON. Il est désormais intégré à Trivy, dont les checks personnalisés s'écrivent en Rego.

En résumé, Terrascan est un outil puissant pour s'assurer que ton infrastructure en tant que code est sécurisée et conforme aux normes, en détectant les problèmes potentiels avant le déploiement de l'infrastructure.