Cómo integrar Snyk y Bitbucket Cloud para adoptar DevSecOps
Simon Maple
Responsable de departamento tecnológico de campo de Snyk
Adopta un enfoque de DevSecOps integrando Snyk en Bitbucket Cloud y Jira.
Snyk se integra con varios productos de Atlassian para mejorar los flujos de trabajo y las canalizaciones de los equipos de DevSecOps. En este tutorial, se detallan las pautas para incluir la seguridad desde el principio del desarrollo con Atlassian Bitbucket y Snyk. Estas técnicas permiten a tu equipo analizar sus cargas de trabajo basadas en contenedores y aplicaciones al ritmo de DevSecOps. Aprenderás a usar estos patrones para incluir la seguridad en todas las etapas de la canalización.
Duración
Lectura de 15 minutos.
Público
- Desarrolladores
- Ingenieros de DevOps y DevSecOps
- Equipos de seguridad de aplicaciones y desarrollo de aplicaciones
Requisitos previos
Tener una cuenta de Snyk, que puedes crear aquí.
Tienes una cuenta de Atlassian Bitbucket. Inicia sesión aquí o comienza aquí.
Paso 1: Configura tu entorno
Instala la CLI de Snyk
La interfaz de línea de comandos (CLI) de Snyk autentica tu equipo utilizando tu cuenta de Snyk. La herramienta de CLI te ayuda a encontrar y corregir vulnerabilidades conocidas en tus dependencias, tanto de forma manual como en tu canalización de CI/CD. Puedes consultar las instrucciones completas para instalar la CLI en el sitio web de Snyk en varios formatos para sistemas operativos y entornos populares. Por ejemplo, la CLI está disponible con brew mediante estos comandos:
brew tap snyk/tap
brew install snyk
Una vez que instales la CLI, lleva a cabo la autenticación con el siguiente comando:
snyk auth
Este comando abre una pestaña del navegador para completar el proceso de autenticación. Puedes proceder a analizar tu repositorio haciendo clic en el botón Autenticar. Una vez finalizada la autenticación, puedes volver a tu terminal y continuar con el trabajo.
Recursos de laboratorio adicionales
Los ejercicios de este tutorial incluyen una serie de comandos o fragmentos de código que se publicarán en las páginas correspondientes del módulo, así como código fuente y plantillas que estarán disponibles en un repositorio público de Bitbucket. Una vez configurada tu cuenta de Bitbucket Cloud, tienes que copiar estos recursos en tu cuenta. Para hacerlo, sigue estos pasos:
Bifurca el repositorio
Haz clic aquí para bifurcar el repositorio remoto en tu cuenta de Bitbucket. La documentación de Atlassian ofrece instrucciones detalladas sobre cómo bifurcar un repositorio.
Clona la bifurcación de forma local
Una vez completada la bifurcación, debes clonar el repositorio que has bifurcado. Consulta la documentación de Atlassian sobre cómo clonar un repositorio para obtener instrucciones detalladas.
Paso 2: Conecta Snyk a Bitbucket
En esta sección, conectaremos Snyk con Bitbucket para analizar nuestra aplicación de Bitbucket en busca de vulnerabilidades de código abierto.
¿En qué consiste el análisis de composición de software (SCA)?
El análisis de composición de software (SCA) es una herramienta de gestión de componentes de código abierto que genera un informe en el que figuran todos los componentes de código abierto de una aplicación, incluidas las dependencias directas e indirectas. Con una herramienta de SCA, los equipos de desarrollo pueden llevar un control de los componentes de código abierto introducidos en un proyecto y analizarlos rápidamente.
Aunque son prácticos y su uso está generalizado, los componentes de código abierto han sido tradicionalmente difíciles de supervisar. Como resultado, los desarrolladores se han basado en procesos manuales, como correos electrónicos y hojas de cálculo, para mitigar la situación. Sin embargo, estos procesos manuales ponen en peligro las ventajas que aporta el código abierto y son una solución incompleta. Una estrategia mejor es utilizar una herramienta de SCA que proporcione información inmediata sobre cada componente.
¿Por qué utilizar una herramienta de SCA?
Los componentes de código abierto son pilares fundamentales del desarrollo de software en prácticamente todos los sectores. Independientemente del tamaño que tenga tu organización, el SCA contribuye a identificar componentes de código abierto en las aplicaciones que resultan fundamentales para tu empresa. Las herramientas de SCA permiten a los desarrolladores hacer lo siguiente:
1. Comprender las dependencias utilizadas en las aplicaciones.
2. Aplicar políticas de seguridad y conformidad en todas las fases del ciclo de vida del desarrollo de software.
3. Solucionar de forma proactiva las posibles vulnerabilidades del código fuente.
4. Mejorar la eficiencia del equipo y la seguridad de la empresa.
Paso 3: Crea una contraseña para la aplicación
Tendrás que crear una contraseña de la aplicación para conceder acceso a Snyk a tu repositorio y habilitar la integración de Bitbucket Cloud en Snyk.
Para crear una contraseña de la aplicación, sigue estos pasos:
1. En tu avatar, en la parte inferior izquierda, haz clic en “Configuración personal”.
2. En “Gestión de accesos”, haz clic en “Contraseñas de aplicaciones”.
3. Haz clic en Crear contraseña de aplicación.
4. Pon un nombre a la contraseña de la aplicación que indique qué aplicación la usará.
5. Selecciona el acceso y los permisos específicos que quieres que tenga esta contraseña de la aplicación.
- Cuenta:
lectura
- Pertenencia al equipo:
lectura
- Proyectos:
lectura
- Repositorios:
lectura y escritura
- Solicitudes de incorporación de cambios:
lectura y escritura
- Webhooks:
lectura y escritura
6. Copia la contraseña generada y guárdala o pégala en la aplicación a la que quieres dar acceso, ya que solo se mostrará esta vez.
Paso 4: Añade variables de repositorio
Debes definir variables de repositorio a nivel de repositorio, a las que luego se hará referencia en tu canalización. Constarán de lo siguiente:
- SNYK_TOKEN: token de API de Snyk para autenticarte con tu cuenta de Snyk. Es una variable segura.
- IMAGE: nombre de la imagen del contenedor. No es una variable segura.
Las demás variables son para operaciones de canalización mejoradas y no se tratan en este tutorial.
Paso 5: Obtén tu token de API de Snyk
1. Obtención de token de API de Snyk
En la consola de Snyk, ve a Settings (Configuración) y, en el menú General, haz clic en Copy (Copiar) para copiar el Organization ID (ID de la organización).
Una vez que hayas copiado tu token, vuelve a la interfaz de usuario de Bitbucket Cloud y define la variable de repositorio SNYK_TOKEN
.
Paso 6: Habilita la integración de Bitbucket
En la consola de Snyk, ve a Integraciones y selecciona Bitbucket Cloud.
En la página de integración de Bitbucket Cloud, introduce tu nombre de usuario de Bitbucket en el campo Nombre de usuario y la contraseña de la aplicación de Bitbucket generada en el paso anterior en el campo Contraseña de la aplicación. A continuación, haz clic en Guardar.
Una vez que hayas conectado correctamente tus cuentas de Snyk y Bitbucket, recibirás un mensaje de confirmación y se te ofrecerá la opción de añadir tu repositorio de Bitbucket Cloud a Snyk.
Sigue leyendo para aprender a importar un repositorio de Bitbucket Cloud y analizarlo con Snyk.
Analiza y supervisa tu aplicación de Bitbucket
El análisis de tu aplicación en busca de vulnerabilidades en tus dependencias de código abierto comienza en la fuente. En la sección anterior, hemos habilitado la integración de Snyk en Bitbucket, por lo que podemos importar nuestro primer proyecto.
Paso 7: Añade repositorios de Bitbucket Cloud a Snyk
En la última pantalla de la sección anterior, haz clic en Añadir tu repositorio de Bitbucket Cloud a Snyk.
Busca el repositorio que bifurcaste en el módulo Configurar entorno. Haz clic en la casilla de verificación para seleccionarla y, a continuación, haz clic en el botón Añadir repositorio seleccionado para importar tu proyecto.
Paso 8: Revisa el informe de vulnerabilidades
Debería aparecer el recuento de vulnerabilidades en función de packages.json, así como información detallada de cada una de ellas. Haz clic en el proyecto que acabas de analizar y revisa los resultados en Snyk. No solo recibirás contexto como la gravedad y madurez de los exploits de las vulnerabilidades, sino también las siguientes potentes funciones:
- Fix this vulnerability (Corregir esta vulnerabilidad) te permite corregir una vulnerabilidad mediante la actualización de las dependencias directas o la aplicación de parches.
- La Priority Score (Puntuación de prioridad) te ayuda a dar prioridad a las correcciones de forma eficaz. La puntuación, que oscila entre 1 y 1000, se basa en un algoritmo propio que procesa una amplia variedad de factores, como la puntuación de CVSS, la disponibilidad de una corrección, la existencia de exploits conocidos, la antigüedad de la vulnerabilidad y si se puede acceder a ella.
- La integración con Jira te permite crear incidencias en Jira.
Descubre más integraciones para Atlassian Open DevOps.
Compartir este artículo
Siguiente tema
Lecturas recomendadas
Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.