Está utilizando Kubernetes. Estupendo ¿Qué le parece su seguridad?
Todos sabemos que Kubernetes se ha convertido en una de las mejores plataformas de orquestación de contenedores de la actualidad. Más del 80% de las organizaciones actuales aprovechan Kubernetes de una forma u otra. Simplemente automatiza las configuraciones de aprovisionamiento y la gestión de los contenedores.
Pero aparte de la sencillez, la seguridad es una de las partes más cruciales de cualquier aplicación en contenedores. Debe saber cómo proporcionar una seguridad robusta a las aplicaciones que se ejecutan en el clúster Kubernetes. Los problemas de seguridad han aumentado exponencialmente en los últimos años, por lo que este ámbito está en el punto de mira de todas las organizaciones.
Si conoce los fundamentos de Kubernetes, entonces sabrá que, por defecto, Kubernetes asigna una dirección IP a cada puerto de los clústeres y proporciona seguridad basada en IP. Pero Kubernetes sólo proporciona las medidas de seguridad básicas. Por desgracia, cuando se habla de la supervisión avanzada de la seguridad y de la aplicación de las normas por parte de los administradores, Kubernetes no proporciona ese nivel de seguridad. Pero, afortunadamente, muchos escáneres de código abierto de terceros para Kubernetes pueden ayudarle a proteger sus clústeres Kubernetes.
He aquí algunas ventajas de utilizar escáneres de Kubernetes:
- Identifica las desconfiguraciones y vulnerabilidades en el clúster, los contenedores y los pods
- Proporciona soluciones para corregir las configuraciones erróneas y eliminar las vulnerabilidades
- Proporciona una visión en tiempo real de la salud del clúster.
- Da más confianza al equipo de DevOps para desarrollar y desplegar las aplicaciones en un clúster Kubernetes
- Ayuda a evitar fallos en el clúster identificando el problema en una fase temprana.
Exploremos las siguientes herramientas que le ayudarán a encontrar vulnerabilidades de seguridad y errores de configuración para proporcionar seguridad a sus aplicaciones en contenedores.
Trivy
Trivy es una herramienta de escaneo de vulnerabilidades de Aqua Security capaz de escanear Kubernetes, AWS, imagen de contenedor, imagen virtual Git repo (remotamente), y más.
Trivy es compatible con la mayoría de los lenguajes de programación y sistemas operativos más populares, e incluso puede ayudarle a encontrar problemas de seguridad y errores de configuración en los archivos IaC.
Kube Bench
Kube Bench es una de las herramientas de seguridad de calidad de código abierto que comprueba si sus despliegues cumplen el punto de referencia de seguridad del CIS (Centro para la Seguridad en Internet).
Admite las pruebas de referencia para varias versiones de Kubernetes. Además, también señala los errores y ayuda a solucionarlos. Proporciona la solución para arreglar los errores. Esta herramienta también comprueba que la autorización y la autenticación de los usuarios sean correctas y que los datos estén cifrados de forma segura. Se asegura de que el despliegue permitido hasta permite el CIS principal.
Características de Kube Bench:
- Escrito como aplicación Go
- Prueba para maestros y nodos Kubernetes
- Disponible como contenedor
- Las pruebas se definen en YAML, más fácil de ampliar y actualizar
- Admite salida en formato JSON
Checkov
Checkov es una herramienta de seguridad utilizada para evitar configuraciones erróneas de la nube durante el tiempo de compilación para Kubernetes, Terraform, Cloudformation, Serverless framework y otros lenguajes de infraestructura como código. Está escrito en Python y su objetivo es aumentar la adopción de la seguridad y el cumplimiento de las mejores prácticas.
Puede ejecutar exploraciones utilizando Checkov para analizar la infraestructura como código.
Características de Checkov:
- De código abierto y fácil de usar
- Más de 500 políticas de seguridad incorporadas
- Cumplimiento de las mejores prácticas para AWS, Azure y Google Cloud
- Soporta múltiples formatos de salida – CLI, JUnit XML, JSON
- Integra escaneos a sus pipelines ci/cd
- Ejecuta escaneos para la carpeta de entrada que contiene sus archivos Terraform & Cloudformation
MKIT
MKIT son las siglas de Managed Kubernetes Inspection Tool. Esta herramienta le ayuda a identificar rápidamente los principales riesgos de seguridad para los clústeres Kubernetes y sus recursos. Dispone de formas rápidas y sencillas de evaluar los errores de configuración en el clúster y las cargas de trabajo.
La herramienta viene con una interfaz que se ejecuta en http://localhost:8000
por defecto. Le ofrece una vista de las comprobaciones fallidas y de las comprobaciones superadas. En la sección de recursos afectados, obtendrá los detalles de los recursos afectados y no afectados.
Características de MKIT:
- Construido utilizando todas las bibliotecas y herramientas de código abierto
- Fácil de instalar y utilizar
- Admite varios proveedores de Kubernetes: AKS, EKS y GKE
- Almacena datos sensibles dentro del contenedor
- Proporciona una interfaz web
Kubei
Kubei se utiliza para evaluar los riesgos inmediatos en un clúster Kubernetes. La mayor parte de Kubei está escrita en el lenguaje de programación Go. Cubre todos los puntos de referencia de Docker del CIS.
Escanea todas las imágenes utilizadas por el clúster Kubernetes, pods de aplicación, pods de sistema, etc. Dispone de múltiples opciones para personalizar el escaneado en términos de nivel de vulnerabilidad de interés, velocidad del escaneado, alcance del escaneado, etc. Con la interfaz gráfica de usuario que proporciona, podrá ver todas las vulnerabilidades que encuentra en el clúster y cómo mitigarlas.
Características de Kubei:
- Escáner de vulnerabilidades en tiempo de ejecución de Kubernetes de código abierto
- Escanea las imágenes públicas alojadas en su registro
- Proporciona el estado en tiempo real de la salud del clúster
- Interfaz de usuario web para la visualización de los escaneos
- Proporciona múltiples opciones personalizadas para el escaneado
Kube Scan
Kube Scan es un escáner de contenedores que viene como un contenedor en sí mismo. Usted lo instala en un nuevo clúster, tras lo cual escanea las cargas de trabajo que se están ejecutando actualmente en su clúster y le muestra la puntuación de riesgo y los detalles del riesgo en la amigable interfaz web. La puntuación de riesgo se califica de 0 a 10, 0 significa que no hay riesgo y 10 que hay un riesgo alto.
La fórmula utilizada y las reglas de puntuación empleadas por Kube scan se basan en KCCSS, el Sistema de Puntuación de Configuración Común de Kubernetes, que es un marco de trabajo de código abierto. Es similar a CVSS (Common Vulnerability Scoring System). Utiliza más de 30 configuraciones de seguridad como políticas de Kubernetes, capacidades, niveles de privilegio y crea una línea base de riesgo para proporcionar una puntuación de riesgo. La puntuación de riesgo también se basa en la facilidad de explotación o el alto impacto y alcance de la explotación.
Características de Kube Scan:
- Herramienta de puntuación de evaluación de riesgos de código abierto
- Interfaz web con evaluación de riesgos y detalles de la puntuación de riesgos
- Se ejecuta como un contenedor en el clúster.
- Vuelve a escanear el clúster cada 24 horas
Kubeaudit
Kubeaudit, como su nombre indica, es una herramienta de auditoría de clústeres Kubernetes de código abierto. Encuentra las desconfiguraciones de seguridad en los recursos de Kubernetes y le indica cómo resolverlas. Está escrita en lenguaje Go para utilizarla como un paquete Go o como una herramienta de línea de comandos. Puede instalarlo en su máquina utilizando brew con un solo comando.
Sugiere varias prácticas, como ejecutar las aplicaciones como usuario no root, dar acceso de sólo lectura al sistema de archivos root, evitar dar más privilegios a las aplicaciones en el clúster para prevenir problemas de seguridad comunes. Dispone de una extensa lista de auditores utilizados para comprobar los problemas de seguridad del clúster Kubernetes, como el SecurityContext de los pods.
Características de Kubeaudit:
- Herramienta de auditoría de Kubernetes de código abierto
- Proporciona tres modos diferentes – manifiesto, local, clúster, para auditar el clúster
- Proporciona el resultado de la auditoría en tres niveles de gravedad – Error, Advertencia, Información
- Utiliza varios auditores incorporados para auditar contenedores, pods, espacios de nombres
Kubesec
Kubesec es una herramienta de análisis de riesgos de seguridad de código abierto para los recursos Kubernetes. Valida la configuración y los archivos de manifiesto utilizados para el despliegue y las operaciones del clúster Kubernetes. Puede instalarlo en su sistema utilizando su imagen de contenedor, su paquete binario, un controlador de admisión en Kubernetes o un plugin kubectl.
Características de Kubesec:
- Una herramienta de análisis de riesgos de código abierto
- Viene con un servidor HTTP incluido que se ejecuta en segundo plano en el 8080 por defecto.
- Ejecuta Kubesec-as-a-Service a través de HTTPS en v2.kubesec.io/scan
- Puede escanear múltiples documentos YAML en un único archivo de entrada.
Conclusión
Estas herramientas tienen como objetivo mantener el clúster Kubernetes y sus recursos seguros y dificultar a los hackers la irrupción en las aplicaciones que se ejecutan dentro del clúster. Los escáneres le ayudarán a desplegar las aplicaciones en el clúster con mayor confianza. Por lo tanto, anímese a probar estas herramientas e identifique las vulnerabilidades en ellas antes de que lo haga un hacker.