Analiza plantillas ARM en busca de errores de configuración con Snyk CLI
Lauren Place
10 de noviembre de 2021
0 minutos de lecturaAdministrar recursos de aplicaciones a gran escala puede ser complicado. Por eso, muchos equipos de DevOps y AppSec optan por usar un marco declarativo en lugar de escribir scripts individuales para implementar, administrar y mantener los controles de acceso de sus recursos.
En los entornos de Azure, Azure Resource Manager (ARM) es la capa de administración que permite a los equipos gestionar su infraestructura como código (IaC) mediante plantillas declarativas de ARM. Esto permite centralizar la administración, implementación y seguridad de los recursos de Azure, y su popularidad ha aumentado con los años. Según nuestro informe más reciente State of Cloud Native Application Security, más del 30 % de los equipos dijeron que usan Azure Resource Manager como su herramienta de IaC preferida.
Dada la enorme popularidad de ARM, nos entusiasma anunciar que ahora puedes usar Snyk Infrastructure as Code (Snyk IaC) para encontrar y corregir errores de configuración en archivos JSON de ARM. Al corregir estos problemas en las primeras etapas del ciclo de vida del desarrollo de software, los equipos de seguridad y desarrollo pueden evitar las revisiones de código lentas y manuales, así como el tedioso proceso de corregir una vulnerabilidad mucho más adelante.
Veamos algunos flujos de trabajo de ejemplo con Snyk IaC y ARM.
Analizar plantillas ARM con Snyk CLI
Para hacer pruebas, preparamos este repositorio de ejemplo, que contiene archivos de plantillas ARM en formato JSON y Bicep. Luego puedes clonar el repositorio y probar los archivos ARM con Snyk CLI.
Para comenzar a usar Snyk CLI, puedes crear una cuenta gratis y luego instalar Snyk CLI con npm. Si tienes Node.js instalado localmente, puedes instalarlo con este comando: npm install snyk@latest -g
Si usas Yarn: yarn global add snyk

Identificar errores de configuración en archivos Bicep de ARM
Bicep es un lenguaje específico de dominio (DSL) que usa sintaxis declarativa para implementar recursos de Azure. Ofrece una sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización de código. Además de analizar archivos JSON de ARM, también puedes analizar archivos Bicep si los conviertes a JSON con Bicep CLI.
Primero, asegúrate de tener Bicep CLI instalado y luego usa el comando az bicep build -f {file_name}.bicep para convertir cualquier archivo de configuración ARM del formato Bicep a JSON. Una vez convertido el archivo, puedes analizarlo como cualquier otro archivo JSON de ARM.

Aprovechar las reglas de seguridad de configuración de Snyk
Por supuesto, la funcionalidad de análisis de IaC no es suficiente. La profundidad y el alcance de las reglas de seguridad son importantes para garantizar que recibas comentarios de seguridad completos y detectes errores de configuración antes de implementar tus recursos. El equipo especializado de Security Engineering de Snyk investiga, valida y agrega nuevas reglas: ya hay más de 100 para proteger tu entorno de Azure, y seguimos agregando más.
Nuestros equipos de Security Engineering combinan las prácticas recomendadas conocidas con investigaciones propias para agregar reglas continuamente. Las prácticas recomendadas se basan tanto en estándares de proveedores de nube y de la comunidad, como los parámetros de CIS, como en las prácticas recomendadas de Azure. En cuanto a la investigación de seguridad, usamos técnicas de modelado de amenazas para analizar patrones de uso clave. Por ejemplo, examinamos la configuración de servicios de Kubernetes administrados para determinar qué debilidades se pueden evitar si se refuerza IaC adecuadamente.
Puedes ver las reglas de Snyk IaC en Settings de tu organización de Snyk. En el menú de la izquierda, selecciona Infrastructure as Code. Si quieres limitar la vista solo a Azure, puedes elegir Azure en las pestañas debajo de Severity settings. Procuramos escribir reglas independientes del formato, por lo que la mayoría de las reglas que veas aparecerán sin importar qué opciones selecciones.

También puedes consultar la lista completa de nuestras reglas de seguridad de ARM en la sección Reglas de seguridad de nuestro sitio.

Evita errores de configuración de ARM con Snyk IaC
Estas nuevas funciones están disponibles para todos, incluidos los usuarios del plan gratuito de Snyk. Comenzar es fácil:
Inicia sesión en tu cuenta de snyk.io o regístrate gratis.
Verifica que tengas la versión actualizada de Snyk CLI (v.CLI 1.749.0) o instala Snyk CLI.
Analiza tus archivos ARM: puedes comenzar con el comando principal para analizar tu IaC:
snyk iac test <path-to-file-or-folder>
Obtén más información sobre las distintas opciones de análisis que ofrecemos en la documentación de Snyk o en la documentación de la CLI, con este comando: snyk iac --help
Si tienes comentarios sobre cómo te está funcionando la compatibilidad con ARM en Snyk CLI, nos encantaría conocerlos. Comparte tus comentarios o sugerencias en el foro de Snyk Community.
Protege la infraestructura desde el origen
Snyk automatiza la seguridad y el cumplimiento de IaC en los flujos de trabajo, y detecta recursos con desviaciones de configuración y recursos faltantes.
