Desarrolla de forma segura con Snyk y GKE Autopilot
Jay Yeras
14 de diciembre de 2021
0 minutos de lecturaHabla con cualquier cliente del sector tecnológico y, en algún momento, seguro surgirá la palabra Kubernetes. En cuanto a la orquestación, la automatización de implementaciones, el escalamiento y la administración de aplicaciones en contenedores para responder a la creciente demanda de los clientes, Kubernetes ofrece extensibilidad y flexibilidad. Este beneficio clave de la tecnología Kubernetes, o K8s para abreviar, junto con el hecho de que K8s se desarrolló para ejecutar cargas de trabajo de producción en Google, explica por qué su adopción se ha extendido tanto en la industria.
Google Kubernetes Engine (GKE) se creó con el singular espíritu innovador de Google para ofrecer a los clientes un servicio administrado que permite ejecutar cargas de trabajo de Kubernetes en Google Cloud. Con el reciente lanzamiento de GKE Autopilot, los clientes pueden aumentar la eficiencia operativa gracias a un nuevo modo de operación que reduce los costos operativos y ofrece configuraciones de clúster optimizadas que siguen las prácticas recomendadas, se escalan y admiten cargas de trabajo de producción.
Aplicaciones modernas
Al crear aplicaciones modernas, hay distintas capas que conforman la aplicación. Por ejemplo, es probable que cualquier carga de trabajo en contenedores incluya al menos cuatro elementos distintos: la imagen del contenedor, el código de la aplicación, las dependencias de código abierto y la configuración de la aplicación. Cada una de estas capas puede convertirse en un vector de ataque que un agente malicioso podría aprovechar mediante vulnerabilidades, exploits y errores de configuración.
La plataforma Snyk está diseñada para ayudar a los desarrolladores a crear software seguro en toda la pila de aplicaciones nativas de la nube, incluidos el código, el código abierto, los contenedores, Kubernetes y la infraestructura como código (IaC).
Seguridad integral
Obtener visibilidad de las posibles vulnerabilidades en las distintas capas de tu aplicación es solo el punto de partida. Snyk ofrece a los desarrolladores información práctica que cumple con los requisitos básicos de visibilidad, priorización y recomendaciones de corrección. Encontrar problemas de seguridad es bueno, pero contar con un método confiable para solucionarlos es aún mejor. Snyk amplía las capacidades de seguridad al permitir que los desarrolladores eliminen vulnerabilidades de las imágenes de contenedores, ya sea actualizándolas a una imagen base más segura o reconstruyendo la aplicación cuando la imagen base está desactualizada.
Snyk reúne las vulnerabilidades de las aplicaciones y los contenedores. Es posible que no siempre tengas acceso al código fuente original que se ejecuta en tus contenedores, pero sigue siendo importante conocer las vulnerabilidades de las dependencias de tu código. Snyk puede detectar y monitorear dependencias de código abierto de los lenguajes más populares como parte del análisis de contenedores, además de detectar errores de configuración en los manifiestos de Kubernetes.
Análisis de cargas de trabajo
Snyk ya está disponible en Google Cloud Marketplace. Los clientes con un plan Business o Enterprise de Snyk pueden habilitar fácilmente nuestra integración con Kubernetes y comenzar a proteger sus cargas de trabajo en GKE, incluidos los clústeres de Autopilot, con solo unos clics. En esta publicación, te guiaremos por el proceso para aprovisionar un clúster de GKE Autopilot, implementar una aplicación de ejemplo y usar el gráfico de Helm de snyk-monitor.
Veamos algunos ejemplos de pasos básicos que puedes ejecutar en una terminal o en Cloud Shell para implementar Snyk Container en GKE Autopilot.
Crea el espacio de nombres
Crea el secreto
Agrega el repositorio de Helm
Instala el gráfico
Al ejecutar estos comandos, se implementará Snyk en GKE Autopilot para analizar y monitorear las cargas de trabajo.

Revisa los hallazgos
Los proyectos monitoreados por Snyk te proporcionarán un informe resumido que ofrece una vista general de las distintas capas de tu aplicación, junto con el total de vulnerabilidades agrupadas por nivel de gravedad. En este caso, vemos dos implementaciones de Kubernetes asociadas con una aplicación de ejemplo que incluyen información sobre la imagen del contenedor y las dependencias de código abierto del código de la aplicación.

Si analizamos en detalle una de las implementaciones, podemos ver una vista ampliada con información adicional. Por ejemplo, podemos revisar datos contextuales detallados sobre las vulnerabilidades detectadas en nuestra aplicación y los errores de configuración de nuestros manifiestos de Kubernetes. Gracias a las optimizaciones integradas de GKE Autopilot, reducimos de inmediato algunos errores de configuración al aplicar automáticamente límites de memoria y CPU durante la implementación. En nuestro ejemplo, el archivo manifest omitió intencionalmente la definición de un contexto de seguridad, pero las prácticas recomendadas de seguridad de Kubernetes y la capacidad para aplicarlas varían según el cliente. Por eso es aún más importante ofrecer visibilidad sobre estos problemas y, sobre todo, recomendaciones para resolverlos.

Al profundizar en los hallazgos de seguridad de la imagen del contenedor que usa nuestra aplicación, los desarrolladores obtienen una ruta rápida para corregirlos gracias a una recomendación de actualización adecuada. Así, pueden decidir rápidamente y con conocimiento qué imagen les conviene para mitigar los problemas de seguridad.

Estos hallazgos, junto con los resultados del análisis de composición de software (SCA), ofrecen a los desarrolladores una cobertura integral de las distintas capas de las aplicaciones modernas nativas de la nube.
El motor de IA de Snyk Code utiliza un proceso especial que combina el aprendizaje automático basado en millones de confirmaciones de código abierto con los comentarios de personas del equipo de investigación de seguridad de Snyk, lo que permite generar un informe aún más completo.
Conclusión
La plataforma Snyk funciona sin problemas con GKE Autopilot, una revolución en Kubernetes administrado. Los clientes pueden comenzar rápidamente a proteger las cargas de trabajo en GKE Autopilot con la integración de Kubernetes de Snyk Container y aprovechar Snyk CLI con Google Cloud Build, además de las integraciones con Google Container Registry, Google Artifact Registry y alguna de las distintas integraciones de Snyk con repositorios Git y SCM.
Para obtener más información sobre cómo crear cargas de trabajo de Kubernetes de forma segura, regístrate para obtener una cuenta gratuita de Snyk.
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.
