Analyser les modèles ARM à la recherche d’erreurs de configuration avec Snyk CLI
Lauren Place
10 novembre 2021
0 minutes de lectureGérer des ressources applicatives à grande échelle peut s’avérer complexe. C’est pourquoi de nombreuses équipes DevOps et AppSec privilégient un framework déclaratif plutôt que d’écrire des scripts individuels pour déployer et gérer leurs ressources, et en contrôler les accès.
Dans les environnements Azure, Azure Resource Manager (ARM) est la couche de gestion qui permet aux équipes de gérer leur infrastructure as code (IaC) à l’aide de modèles ARM déclaratifs. Elle permet de centraliser la gestion, le déploiement et la sécurité des ressources Azure, et sa popularité n’a cessé de croître au fil des ans. Selon notre dernier rapport sur l’état de la sécurité des applications cloud natives, plus de 30 % des équipes déclarent utiliser Azure Resource Manager comme outil IaC de prédilection.
Compte tenu de la grande popularité d’ARM, nous sommes ravis d’annoncer que vous pouvez désormais utiliser Snyk Infrastructure as Code (Snyk IaC) pour détecter et corriger les erreurs de configuration dans les fichiers JSON ARM. En corrigeant ces problèmes tôt dans le cycle de développement logiciel, les équipes de sécurité et de développement peuvent éviter les revues de code lentes et manuelles, ainsi que le processus fastidieux de correction d’une vulnérabilité beaucoup plus tard dans le cycle.
Découvrons quelques exemples de workflows avec Snyk IaC et ARM.
Analyser des modèles ARM avec Snyk CLI
Pour effectuer des tests, nous avons préparé cet exemple de dépôt, qui contient des fichiers de modèles ARM aux formats JSON et Bicep. Vous pouvez cloner le dépôt, puis tester les fichiers ARM avec Snyk CLI.
Pour commencer avec Snyk CLI, vous pouvez créer un compte gratuit, puis installer Snyk CLI avec npm. Si Node.js est installé sur votre machine, vous pouvez l’installer en exécutant : npm install snyk@latest -g
Si vous utilisez Yarn : yarn global add snyk

Détecter les erreurs de configuration dans les fichiers Bicep ARM
Bicep est un langage spécifique à un domaine (DSL) qui utilise une syntaxe déclarative pour déployer des ressources Azure. Il offre une syntaxe concise, une sécurité des types fiable et la possibilité de réutiliser le code. En plus d’analyser les fichiers JSON ARM, vous pouvez également analyser les fichiers Bicep en les convertissant en JSON à l’aide de Bicep CLI.
Commencez par vérifier que Bicep CLI est installé, puis utilisez la commande az bicep build -f {file_name}.bicep pour convertir un fichier de configuration ARM du format Bicep au format JSON. Une fois le fichier converti, vous pouvez l’analyser comme n’importe quel autre fichier JSON ARM.

Tirer parti des règles de sécurité de configuration de Snyk
Bien sûr, la fonctionnalité d’analyse IaC ne suffit pas. La profondeur et l’étendue des règles de sécurité sont essentielles pour vous fournir des retours de sécurité complets et détecter les erreurs de configuration avant le déploiement de vos ressources. L’équipe dédiée de Snyk en ingénierie de la sécurité étudie, valide et ajoute de nouvelles règles : plus de 100 règles sécurisent votre environnement Azure, et ce nombre continue d’augmenter.
Nos équipes d’ingénierie de la sécurité associent les bonnes pratiques reconnues à la recherche de première main pour ajouter continuellement de nouvelles règles. Ces bonnes pratiques s’appuient sur les normes des fournisseurs cloud et des communautés, telles que les référentiels CIS, ainsi que sur les bonnes pratiques Azure. Côté recherche en sécurité, nous appliquons des techniques de modélisation des menaces aux principaux modes d’utilisation. Par exemple, nous examinons les paramètres des offres Kubernetes gérées afin de déterminer comment éviter les faiblesses en renforçant correctement l’IaC.
Pour consulter les règles Snyk IaC, accédez aux Paramètres de votre organisation Snyk, puis sélectionnez Infrastructure as Code dans le menu de gauche. Pour limiter l’affichage à Azure, sélectionnez Azure dans les onglets sous Paramètres de gravité. Nous nous efforçons de rédiger des règles indépendantes du format ; la plupart de celles que vous voyez s’affichent donc quels que soient les filtres sélectionnés.

Vous pouvez également consulter la liste complète de nos règles de sécurité ARM dans la section Règles de sécurité de notre site.

Évitez les erreurs de configuration ARM avec Snyk IaC
Ces nouvelles fonctionnalités sont accessibles à tous, y compris aux utilisateurs de l’offre gratuite de Snyk. Pour commencer, rien de plus simple :
Connectez-vous à votre compte snyk.io ou inscrivez-vous gratuitement.
Vérifiez que vous disposez de la version mise à jour de Snyk CLI (v.CLI 1.749.0) ou installez Snyk CLI.
Analysez vos fichiers ARM : commencez avec la commande principale pour analyser votre IaC :
snyk iac test <path-to-file-or-folder>
Pour en savoir plus sur les différentes options d’analyse proposées, consultez la documentation de Snyk ou la documentation de la CLI en exécutant : snyk iac --help
Nous aimerions connaître votre avis sur la prise en charge d’ARM dans Snyk CLI. Publiez vos commentaires ou retours sur le forum de la communauté Snyk.
Sécurisez votre infrastructure dès la source
Snyk automatise la sécurité et la conformité de l’IaC dans vos workflows, et détecte les ressources dont la configuration a dérivé ou qui sont manquantes.
