Skip to main content

Utiliser Open Policy Agent (OPA) pour la sécurité et la conformité du cloud

Écrit par
blog hero iac drift purple

9 octobre 2019

0 minutes de lecture

Note de la rédaction

Cet article est paru à l’origine sur fugue.co. Fugue a rejoint Snyk en 2022 et constitue un élément clé de Snyk IaC.

Tout comme les difficultés liées à la gestion de grandes infrastructures cloud ont conduit au développement de l’infrastructure as code, la nécessité de garantir la sécurité et la conformité de ces environnements a donné naissance au policy as code. Les environnements d’infrastructure cloud sont tout simplement trop vastes, complexes et dynamiques pour être sécurisés à l’aide d’approches traditionnelles, comme les audits manuels et les listes de contrôle.

Malheureusement, la plupart des langages de policy as code sont propriétaires et fermés, et proposés par des fournisseurs cloud. Ils enferment les clients dans leur écosystème, sont incompatibles avec les autres frameworks de politiques que l’entreprise peut utiliser, et leur application à des cas d’usage spécifiques peut s’avérer très difficile.

Open Policy Agent (OPA) est un moteur de politiques polyvalent et open source, et Rego est son langage déclaratif de politiques. Associé à Fugue, il offre une flexibilité maximale pour mettre en œuvre des politiques d’infrastructure cloud. En avril 2019, la Cloud Native Computing Foundation (CNCF) a accepté OPA en tant que projet hébergé au niveau incubation.

Chez Fugue, nous utilisons OPA et Rego comme framework de policy as code dans notre solution SaaS dédiée à la sécurité et à la conformité du cloud, et les résultats sont tout simplement remarquables. OPA est principalement utilisé pour développer des politiques de contrôle d’accès pour Kubernetes, mais nous l’exploitons largement pour de nombreux autres cas d’usage liés aux infrastructures cloud sur Amazon Web Services (AWS) et Microsoft Azure. Vous pouvez lire notre annonce ici.

L’adoption d’OPA et de Rego nous a permis de proposer à nos clients des fonctionnalités de policy as code puissantes et flexibles, notamment la possibilité de créer facilement et rapidement des politiques personnalisées pour les infrastructures cloud.

Les fonctionnalités de règles personnalisées de Fugue, qui s’appuient sur OPA, permettent aux utilisateurs de :

  • Créer et gérer des règles d’infrastructure cloud personnalisées définies par l’utilisateur dans OPA Rego, via l’API, l’interface CLI et l’interface web de Fugue

  • Valider et tester les règles personnalisées au fur et à mesure de leur rédaction, grâce à des messages d’erreur utiles qui font gagner du temps

  • Valider en continu la conformité aux règles personnalisées et aux frameworks de politiques prêts à l’emploi, et en rendre compte

Voici quelques exemples de politiques personnalisées utilisant OPA avec Fugue :

  • Vérifier que les buckets S3 ne sont ni publics ni non chiffrés

  • Définir les régions cloud autorisées

  • Définir les images de machine autorisées (par exemple, les AMI)

  • S’assurer que les journaux de flux VPC sont configurés

  • Définir les tailles d’instances autorisées (par exemple, EC2)

  • Vérifier que les politiques IAM respectent le principe du moindre privilège

  • Définir les règles d’entrée autorisées pour les groupes de sécurité

Par exemple, si un groupe de sécurité ne doit pas autoriser l’accès au port 9200 depuis n’importe où, la règle peut s’exprimer ainsi :

deny {
  input.ingress[i].from_port <= 9200
  input.ingress[i].to_port >= 9200
  input.ingress[ij.cidr_blocks[_]=="0.0.0.0/0"
}

La plupart des organisations doivent également se conformer à un ou plusieurs référentiels, c’est pourquoi Fugue propose une prise en charge prête à l’emploi, via OPA, des CIS Foundations Benchmarks (AWS et Azure), du RGPD, de HIPAA, d’ISO 27001, de NIST 800-53, de PCI et de SOC 2.

Fugue exécute chaque jour des millions d’évaluations de règles de sécurité avec OPA. Nous avons donc beaucoup investi dans les outils destinés aux développeurs et nous contribuerons à les reverser à la communauté open source. OPA nous enthousiasme, tout comme la possibilité de nous impliquer davantage dans cet important projet open source.

Une sécurité IaC pensée pour les développeurs

Snyk sécurise votre infrastructure en tant que code, du cycle de développement logiciel à l’exécution dans le cloud, grâce à un moteur unifié de politiques sous forme de code. Chaque équipe peut ainsi développer, déployer et exploiter ses applications en toute sécurité.