Domina las CNAPP para logar una seguridad superior en la nube
Domina las CNAPP para logar una seguridad superior en la nube
Kubernetes es la plataforma líder del sector para la orquestación de contenedores, y su auge está estrechamente ligado a la generalización de la adopción de tecnologías nativas de la nube. Sin embargo, las brechas de seguridad siguen aumentando en todo el mundo, por lo que es necesario instaurar y adherirse a las mejores prácticas de seguridad en los clústeres de Kubernetes, ya sean locales o se alojen en la nube pública.
En este artículo, te ofrecemos una visión general de las recomendaciones clave para implementar las mejores prácticas de seguridad de Kubernetes. Estas prácticas se fundamentan en las "4 C", que están diseñadas para ayudar a las organizaciones a lograr una seguridad óptima en las capas principales de los entornos típicos de Kubernetes.
Las 4 C de la seguridad de Kubernetes
La plataforma Kubernetes ha desempeñado un papel muy importante a la hora de aunar a los equipos de desarrollo y operaciones en la función conocida como DevOps. Por ello, cuando hablamos de la seguridad de Kubernetes, es indispensable tener en cuenta tanto la aplicación como la infraestructura. El marco de seguridad definido por las 4 C aborda exhaustivamente los principios de seguridad en las cuatro capas en las que opera Kubernetes.
Código: el código de la aplicación debe escribirse de acuerdo con rigurosos estándares de seguridad de código y seguir principios de seguridad estándar para aplicaciones, como OWASP Top Ten.
Contenedor: la unidad de trabajo más pequeña dentro de cualquier clúster de Kubernetes es un pod, que contiene uno o varios contenedores que se ejecutan dentro de la misma red local. Cada contenedor que se ejecute dentro de un pod en producción debe utilizar una imagen base y un entorno de ejecución fiables.
Clúster: esta capa se refiere directamente a cómo se configura Kubernetes. Las directivas de acceso y las configuraciones de seguridad de cada clúster de Kubernetes deben diseñarse cuidadosamente.
Nube: como cualquier otro software, Kubernetes se ejecuta en un hardware subyacente. La infraestructura de nube que aloja Kubernetes debe estar debidamente protegida contra ataques.
La guía completa para CNAPP
Descarga la guía completa para CNAPP de CrowdStrike para comprender por qué las plataformas de protección de aplicaciones nativas de la nube son un componente crítico de las estrategias modernas de seguridad en la nube, y aprende a integrarlas en los ciclos de vida de desarrollo.
Descargar ahoraSeguridad del código
Revisiones del código
A medida que se acerca la fecha límite para lanzar una nueva funcionalidad, se descuida en cierta medida la seguridad del código de la aplicación. No importa lo urgente que sea el lanzamiento, la seguridad siempre debería formar parte de los criterios de aceptación de cualquier nueva funcionalidad. Las revisiones de código deben tener en cuenta los aspectos de seguridad con un alto grado de importancia. Además, en el proceso de revisión, deberían participar varios desarrolladores para garantizar que las aplicaciones se adhieran tanto a los estándares de seguridad como a los estándares generales de codificación.
Herramientas de análisis de vulnerabilidades automatizados
Todos los proyectos de software dependen de un conjunto de bibliotecas de terceros. Estas dependencias ahorran tiempo y permiten a los desarrolladores centrarse en la lógica de negocio de la aplicación en lugar de en problemas genéricos que ya se han resuelto. Sin embargo, como ocurre con cualquier otro software, estas bibliotecas pueden contener vulnerabilidades de seguridad. De ahí la importancia de que el análisis continuo de las dependencias de terceros parpa detectar vulnerabilidades y la corrección previa al lanzamiento en producción se integren en la canalización de integración continua/entrega continua (IC/EC) como parte del proceso de desarrollo.
Seguridad de los contenedores
Implementa imágenes de confianza
Las imágenes de contenedor sobre las que se basa la aplicación se crean sobre una imagen de base, que suele contener sus propias dependencias. Para garantizar el máximo nivel de seguridad en el contenedor, se recomienda utilizar la imagen de base más ligera posible (con el menor número de dependencias posible, ya que cada dependencia es un vector de posibles vulnerabilidades de seguridad). Habiendo dicho esto, no es realista deshacerse por completo de estas dependencias, por lo que utilizar imágenes de base de confianza se vuelve esencial.
Lo ideal es recurrir únicamente a imágenes procedentes de fuentes verificadas, como Docker Official Images o Docker Verified Publisher Program.
Escanea periódicamente las imágenes y monitoriza el comportamiento en tiempo de ejecución
Al igual que con las dependencias de las aplicaciones, analiza las imágenes antes de implementarlas en el registro de un contenedor. Kubernetes extraerá estas imágenes y las utilizará para la implementación. Incluso después de la implementación, los tiempos de ejecución de los contenedores deben monitorizarse continuamente para detectar posibles anomalías causadas por malware o accesos no autorizados.
Seguridad de los clústeres
Implementa el RBAC
La seguridad de los clústeres se divide en varias esferas que deben abordarse meticulosamente. Los accesos deben controlarse de forma exhaustiva a través del control de acceso basado en roles (RBAC), de modo que a los operadores de clústeres solo se les otorguen los privilegios necesarios.
Aísla las cargas de trabajo utilizando espacios de nombres
Las cargas de trabajo deben aislarse de manera segura con los espacios de nombres de Kubernetes. El objetivo es garantizar un aislamiento de red adecuado y proporcionar una capa adicional para el control de acceso.
Establece directivas de seguridad de la red y pods
El tráfico de red entre pods y servicios, así como el tráfico de entrada y salida con fuentes externas al clúster, solo debe permitirse si es estrictamente necesario. En ese caso, el tráfico debe cifrarse utilizando protocolos seguros, como TLS. Para simplificar el proceso, se puede recurrir a herramientas de malla de servicios como Istio.
Protege el servidor de API
Todas las actualizaciones y nuevas implementaciones realizadas en el clúster se ejecutan enviando solicitudes a la API de Kubernetes, ya sea manualmente por parte de los ingenieros de DevOps o, automáticamente, a través de la canalización IC/EC, con herramientas como Helm. Por ello, el acceso a la API de Kubernetes debe estar estrictamente controlado y totalmente cifrado.
Habilita el registro de auditorías
En caso de que se produzca algún tipo de comportamiento inesperado en el clúster, se debe habilitar el registro de auditorías para ayudar a identificar la causa raíz. Los logs de auditorías son una fuente completa de registros sobre acciones y eventos, que pueden ayudar a responder preguntas importantes sobre el incidente, como por ejemplo qué ha pasado, cuándo ha pasado y quién lo ha provocado.
Actualiza los componentes de Kubernetes con regularidad
Por último, es importante actualizar Kubernetes de manera rutinaria, incluido todo el software que se ejecuta en el clúster. Hablamos aquí de un requisito básico para alcanzar un nivel óptimo de seguridad, ya que periódicamente se detectan nuevas vulnerabilidades y se lanzan versiones con parches de Kubernetes y sus componentes.
Caso de cliente: Porter Airlines
Lee este caso de cliente y descubre cómo Porter Airlines consolida la seguridad de la nube, la identidad y los endpoints con CrowdStrike.
Descargar ahoraSeguridad de la infraestructura de la nube
Protege el acceso al servidor de API
El servidor de API debe implementar procesos de autenticación estrictos. El nodo del plano de control que lo aloja no debería aceptar tráfico de todas las fuentes.
Refuerza los nodos
La infraestructura que ejecuta Kubernetes debe adherirse a su propio conjunto de medidas de seguridad. Cada instancia de un clúster (denominada nodo) debe implementar un firewall a nivel de instancia que, de ser posible, también forme parte de un firewall a nivel de subred.
Cifra los secretos de Kubernetes
Cifra los secretos de Kubernetes en reposo. Siempre que sea posible, utiliza un administrador de secretos aislado e independiente, como HashiCorp Vault, para almacenar los secretos originales. Los administradores de secretos cuentan con funcionalidades que Kubernetes no tiene, como la rotación automática de secretos y la generación dinámica de secretos. El ecosistema de Kubernetes ofrece muchas definiciones de recursos personalizados (CRD) que facilitan la integración con los administradores de secretos.
Realiza auditorías periódicamente
Debes auditar periódicamente la configuración de la infraestructura de la nube, ya que al ser dinámica por naturaleza, puede cambiar notablemente con el paso del tiempo.
Más información
Explora esta página y programa una demo para saber cómo CrowdStrike Falcon Cloud Security reduce el trabajo de los equipos de seguridad, ofrece protección contra las brechas en la nube y optimiza las implementaciones multinube.
Prácticas adicionales
Además de las 4 C esenciales que acabamos de analizar, hay otras prácticas de seguridad que deben tenerse en cuenta.
Utiliza controladores de admisión
Utilizar controladores de admisión para solicitar la validación al servidor de API proporciona una capa adicional de seguridad para todas las solicitudes entrantes.
Define límites de recursos
En cada implementación, se deberían configurar límites de CPU y memoria. El objetivo no es solo optimizar costes, sino mitigar los riesgos de denegación de servicio, como los ataques de agotamiento de recursos. Los escaladores automáticos de pods también deben configurarse teniendo esto en cuenta.
Habilita funcionalidades completas de monitorización y registro
Configurar los clústeres de Kubernetes para obtener una observabilidad exhaustiva se considera generalmente una buena práctica. El ecosistema de Kubernetes cuenta con varias herramientas, como Prometheus, Grafana, Jaeger y Kiali, que combinadas proporcionan monitorización en tiempo real y métricas detalladas que pueden ser útiles a la hora de investigar problemas de seguridad.
CrowdStrike: tu partner de confianza para la seguridad nativa de la nube
Con más de una década de éxito ininterrumpido, Kubernetes es la plataforma a la que recurren millones de desarrolladores de todo el mundo y que lidera las soluciones de orquestación de contenedores. Ahora bien, en Kubernetes debe aplicarse la seguridad en cada capa para evitar vulnerabilidades que supongan un riesgo activo en producción.
Los cuatro pilares de la seguridad de Kubernetes (las 4 C) y otras medidas adicionales pueden ayudarte a conseguir niveles óptimos de seguridad. Sin embargo, aplicar estas mejores prácticas puede ser complejo sin la ayuda de herramientas como CrowdStrike Falcon® Cloud Security.
CrowdStrike es líder en el sector de la seguridad de la nube, y Falcon Cloud Security es una potente plataforma que simplifica la complejidad de la seguridad de Kubernetes. Para obtener más información sobre cómo CrowdStrike puede ayudar a tu empresa a proteger sus entornos de Kubernetes, prueba nuestra demo interactiva hoy mismo.
Expert Tip
La evaluación de la seguridad de la nube ayuda a las organizaciones a examinar su infraestructura de la nube para determinar si cuentan con los niveles de seguridad y gobernanza adecuados para hacer frente a los retos y riesgos propios.
Más información sobre la evaluación de la seguridad de la nube de CrowdStrike