HashiConf 2023 : éviter les failles malgré les strates du cloud
Lors de sa conférence à San Francisco, l’éditeur HashiCorp a déroulé les nouvelles fonctions de ses logiciels de sécurité, censées garantir que les clés servant à passer de service en service ne tombent pas dans de mauvaises mains.
« Le problème avec la sécurité et les réseaux des plateformes que vous déployez en cloud est que, désormais, vous devez prendre en compte une quinzaine de couches de contrôle pour que deux services distants se parlent. » Tels sont les mots avec lesquels Armon Dadgar (en photo), le co-fondateur et directeur technique de l’éditeur HasiCorp, a lancé la seconde journée de l’événement HashiConf 2023 qui se tient cette semaine à San Francisco.
Le premier jour, l’éditeur avait tâché de convaincre l’auditoire que sa solution d’Infrastructure-as-Code Terraform valait bien mieux que ses forks en Open source soutenus par la Linux Foundation. Pour le second, l’éditeur s’est attelé à valoriser les nouveautés de l’autre volet de sa gamme de logiciels : ceux consacrés à la sécurité. Comme pour Terraform, ceux-ci sont soit installables sur site, soit utilisables en SaaS. Dans le premier cas, ils sont commercialisés avec le qualificatif « Enterprise ». Dans le second, ils portent l’acronyme HCP.
« Nos applications évoluent, mais notre ambition est toujours la même : scripter d’abord le déploiement d’une plateforme sur site ou en cloud pour exécuter vos applications, et, ensuite, gérer son cycle de vie. Nous faisons cela pour les deux pans essentiels de cette plateforme : son infrastructure et sa sécurité », a poursuivi Armon Dadgar.
« Seulement voilà. En cloud, il n’est plus possible de gérer quels serveurs peuvent communiquer ensemble en se basant juste sur la hiérarchie des adresses IP. La sécurité se contrôle avec les identités, et plus particulièrement avec des clés qui donnent accès à des API. Or, plus votre projet est ambitieux, plus ces clés deviennent ingérables », dit-il en rappelant que l’un des principaux trous de sécurité des applications web correspond à l’écriture en clair, dans leur code, des clés qui donnent accès aux services annexes.
Pour résoudre ces défis complexes de sécurité, HashiCorp agrémente Vault d’une extension Vault Radar de déminage automatique, le décline enfin officiellement en version SaaS et ajoute une fonction de synchronisation des clés, nécessaire quand les applications s’exécutent au travers de plusieurs clouds. Ces annonces sont complétées par le lancement d’ADP, pour ingérer des secrets externes, ainsi que la mise à jour de Boundary (accès distant) et de Consul (réseau mesh).
HCP Vault Secrets enfin disponible en SaaS
Produit phare de sécurité chez HashiCorp, Vault est à la base un registre qui stocke, gère et contrôle l’accès aux « secrets », c’est-à-dire les clés d’API, certificats, mots de passe et autres données sensibles. Il livre ces secrets à la demande, de manière chiffrée, quand une requête est effectuée via le système d’identification de l’infrastructure ou du service sous-jacents (Active Directory, Kubernetes, GitHub ou encore tous les systèmes d’authentification des clouds publics).
Jusqu’ici, Vault n’était commercialisé qu’en version Enterprise. La version SaaS, baptisée HCP Vault Secrets, sort enfin officiellement de son statut de beta. Mieux, celle-ci disposait en exclusivité d’un service HCP Vault Secrets Sync – pour synchroniser sur une infrastructure cloud les secrets qui ont entretemps été mis à jour sur une autre infrastructure cloud – et celui-ci se décline désormais dans la version sur site Vault Enterprise.
Toutefois, il s’agit encore pour l’heure d’une fonction en version beta. Vault Secrets Sync ne sait actuellement synchroniser que les secrets d’AWS, Azure, GCP et GitHub.
Vault Radar pour nettoyer les failles de sécurité
« Mais aussi puissant que puisse être Vault, il ne pouvait jusqu’ici rien contre les failles laissées par les développeurs ou les DevOps dans leur code, éventuellement publié sur des dépôts Gits publics. Pour résoudre ce problème, nous avons racheté cette année BluBracket et nous en faisons aujourd’hui un nouveau produit baptisé Vault Radar », annonce sur scène James Bayer, qui dirige la R&D chez HashiCorp.
Pour l’heure uniquement disponible en SaaS pour un public restreint, HCP Vault Radar est un service qui scanne tous les codes pour détecter et enlever tous les secrets qui s’y trouvent. En l’occurrence, il propose de les déplacer dans Vault Secrets. À date, il ne sait fouiller que parmi les répertoires des configurations de Terraform, les contrôleurs de version des dépôts de type Git et les ressources listées dans AWS Configuration Manager.
En plus des secrets classiques, Vault Radar repère également les failles courantes d’un script Terraform, mais aussi tout ce qui pourrait causer des fausses alertes lors de l’exécution et tout ce qui s’apparente à des informations personnelles.
ADP pour importer des identifiants historiques dans Vault
Vault bénéficie de deux autres améliorations. En cloud, le module Advanced Data Protection (ADP) sort aussi de son statut de beta. Il s’agit d’un outil pour intégrer à HCP Vault Secrets les clés chiffrées et autres jetons de connexion, qui ne sont normalement pas prévus pour.
« Nous devons considérer que les entreprises ont un historique sur site avec des systèmes de sécurité qui ne sont pas du tout transposables sur Vault, parce qu’ils sont portés par un matériel, un système, ou même une application maison qui n’ont aucune connaissance de l’API de Vault. Pour ces cas de figure, nous avons créé ADP qui permet de faire passer Vault pour quelque chose de plus classique », raconte Chris Van Wesep, le directeur produit d’AshiCorp.
En l’occurrence, ADP peut faire trois choses : ouvrir vers le service Vault un port KMIP (Key Management Interoperability Protocol), importer dans Vault les clés chiffrées d’AWS KMS, d’Azure Key Vault et de Google Cloud KMS (module Key Management Secrets Engine, ou KMSE), ou encore importer et chiffrer tout le reste (module Transform).
L’autre amélioration concerne l’interface graphique de Vault lui-même. Dans sa nouvelle version 1.5, le logiciel propose le même environnement pour les versions Enterprise et HCP, avec de nouveaux tableaux de métriques sur les accès et des raccourcis qui simplifient l’accès à certaines fonctions.
Boundary 0.13, l’interface qui simplifie la connexion aux services distants
Vault délivre les identifiants dont une application a besoin pour se connecter à des services, mais encore faut-il pouvoir présenter ces identifiants aux services eux-mêmes, sans que leur sécurité soit compromise. Y compris quand il faut traverser plusieurs infrastructures avant d’atteindre une cible.
Pete PacentDirecteur produit, Boundary.
« Ce rôle est d’ordinaire rempli par un SSO. Sauf qu’un SSO n’est pas nécessairement prévu pour gérer tous les services sur lesquels les développeurs veulent authentifier leurs applications. Résoudre ce problème est la raison d’être de notre produit Boundary », résume Pete Pacent, le directeur produit de Boundary.
Boundary n’est pas nouveau. Sa fonction consiste à remplacer les identifiants par des jetons d’accès éphémères dont l’interception par des oreilles malveillantes ne servirait à rien. Les droits d’accès sont par ailleurs gérés depuis une console censée éviter l’usurpation d’identité.
« Dans 99 % des cas, l’usurpation d’un identifiant n’est même pas le fait d’une attaque. Il s’agit juste d’utilisateurs internes qui se servent des identifiants des autres pour contourner des interdictions d’accès qui les empêchent de travailler », ajoute Pete Pacent.
La double nouveauté, en revanche, est que le client du nouveau Boundary 0.13 – qui sert donc de SSO aux développeurs – dispose désormais d’un terminal intégré et qu’il peut se greffer à un annuaire LDAP, équivalent sous Linux d’Active Directory. Précisons que le client Boundary se connectait historiquement à Active Directory, à Okta ou à tout autre annuaire qui n’avait besoin que d’un login et d’un mot de passe.
« Concernant la connexion à un annuaire LDAP, il s’agissait de l’une des fonctionnalités les plus demandées par la communauté Open source. Quant au terminal intégré, il s’agit tout simplement d’éviter aux développeurs d’avoir à ouvrir manuellement une connexion SSH depuis un Shell pour se connecter sur un serveur distant, avant de revenir dans leur environnement de travail », explique le directeur produit de Boundary.
HCP Central, la console du réseau Mesh Consul 1.17 pour surveiller les accès
Boundary va de pair avec Consul, le système de réseau mesh propre à HashiCorp. Consul gère en temps réel les DNS (selon des adresses IP ou selon les API qu’il découvre), crée des réseaux TCP/IP virtuels entre les ressources d’infrastructure d’une même application, route les requêtes, surveille le trafic, répartit la charge, et, surtout, se charge de transporter les jetons de connexions.
Dans sa nouvelle version 1.17, la version SaaS HCP Consul se dote d’une console baptisée Central qui permet de superviser tous les accès, y compris ceux vers les clusters de serveurs qui ne sont pas gérés par Terraform. Et, ce, sans avoir besoin de passer par une authentification externe.