Kubescape es un nuevo herramienta de código abierto de ARMO, que le permite automatizar escaneos de clústeres de Kubernetes para identificar problemas de seguridad. Kubescape audita su clúster según las recomendaciones de protección publicadas por NSA y CISA.
Aquí se explica cómo instalar Kubescape y comenzar a verificar su clúster. Los escaneos regulares pueden ayudar a resolver problemas antes de que los atacantes los utilicen.
Descargando Kubescape
Contenidos
Kubescape se distribuye actualmente como un binario preconstruido para Windows, macOS y Ubuntu. Puedes descargarlo directamente desde página de lanzamientos de GitHub del proyecto.
También hay un script de instalación automatizado que puede pegar en su terminal. Esto obtendrá el binario correcto para su sistema y lo agregará a su ruta.
curl -s https://raw.githubusercontent.com/armosec/kubescape/master/install.sh | /bin/bash
Intente ejecutar kubescape para verificar que la instalación esté completa. Verá una sinopsis de los comandos disponibles.
Analizando su clúster
Kubernetes se conecta a su clúster mediante archivos de configuración estándar de Kubectl. Coloque la variable de entorno KUBECONFIG en su shell para hacer referencia al archivo de configuración del clúster que desea verificar:
exportar KUBECONFIG=.kube/my-cluster.yaml
Kubescape se quejará de que «no se pudo cargar la configuración de Kubernetes» si esta variable no está configurada o el archivo especificado no es válido. Actualice la variable KUBECONFIG cada vez que ejecute Kubescape si desea verificar varios clústeres.
Los escaneos se inician con el comando de escaneo. Debe indicar el marco de protección contra el que desea escanear. Actualmente, nsa es la única opción admitida.
kubescape scan framework nsa –exclude-namespaces kube-system,kube-public
Kubescape verificará todos los recursos en su clúster, excepto los recursos en espacios de nombres omitidos por el indicador –exclude-namespaces. Se recomienda que enumere los espacios de nombres de Kubernetes integrados aquí, ya que no podrá resolver ningún problema que encuentre.
Su primera verificación de Kubescape puede llevar algún tiempo, ya que la herramienta necesita descargar las definiciones de su marco. Definen las pruebas en las que califica su grupo. Una vez que se complete el escaneo, verá una salida de color en su terminal que detalla cualquier problema descubierto.
resultados del escaneo
Cada prueba fallida produce su propia sección de salida con una lista de características sospechosas, una descripción del problema y una sugerencia de solución. Una tabla en la parte inferior del informe proporciona un resumen de todas las pruebas realizadas, la cantidad de funciones que fallaron y el porcentaje general de éxito.
Kubescape verifica más de 20 posibles debilidades según la lista identificada por la NSA. O informe de la NSA proporciona una descripción de los temas tratados y la justificación de su inclusión. Algunos de los principales problemas que comprueba Kubescape incluyen:
- Oportunidades de escalada de privilegios
- Contenedores que se ejecutan en modo privilegiado
- Contenedores que funcionan con recursos peligrosos
- Tablero expuesto de Kubernetes
- Contenedores ejecutándose como raíz
- Credenciales contenidas en archivos de configuración
- Plano de control fijado incorrectamente
Ejecutar Kubescape le permite verificar el estado de su clúster con respecto a las pautas de mejores prácticas actuales, lo que le brinda más confianza de que no está poniendo en riesgo sus datos y cargas de trabajo.
Comprobación de archivos de manifiesto
Kubescape puede funcionar sin una conexión de clúster. Puede verificar los manifiestos de recursos almacenados como archivos YAML locales, lo que le permite verificar la seguridad antes de aplicarlos al clúster. Agregue un argumento adicional después del nombre de la estructura para especificar los archivos que desea verificar:
marco de análisis de kubescape nsa k8s/*.yaml
Puede usar una URL como la ruta del archivo para verificar los archivos almacenados de forma remota, como en un repositorio de Git.
Es mejor utilizar el modo de análisis de clúster predeterminado cuando se realiza una auditoría de seguridad integral. Los escaneos de manifiesto se incorporan idealmente a las canalizaciones de CI. Usado de esta manera, puede evitar la introducción involuntaria de nuevas vulnerabilidades al actualizar sus funciones e implementarlas en su clúster.
Escaneos sin conexión
Kubescape está diseñado para uso online, ya que necesita descargar definiciones de marco antes de completar un escaneo. Puede guardar manualmente la estructura para facilitar los escaneos fuera de línea. Debe intentar actualizar el archivo periódicamente para que no se vuelva obsoleto.
Descargue el archivo del marco de la NSA:
marco de descarga de kubescape nsa –salida nsa.json
Ahora verifique su clúster usando el archivo descargado:
marco de análisis de kubescape nsa –use-from nsa.json
el indicador –use-from le indica a Kubescape que cargue definiciones de estructura desde el archivo especificado. También está –use-default que intentará usar el archivo en caché local en la ubicación predeterminada cuando esté disponible. Kubescape vuelve a descargar las últimas definiciones del servidor cuando no se encuentran archivos.
formatos de salida
Kubescape genera salidas a su terminal de forma predeterminada, pero también puede producir informes en formato JSON o Junit. Agregue el indicador -f para especificar el modo deseado:
marco de análisis de Kubescape nsa -f json marco de análisis de Kubescape nsa -f junit
La última opción genera un archivo XML que pueden utilizar las herramientas de informes de prueba que funcionan con el formato Junit. Esto le permite alimentar escaneos de Kubescape en sus soluciones de informes de prueba existentes para visualización y agregación.
La salida se envía al flujo de salida estándar de su terminal, independientemente del formato de informe que especifique. Agregue el indicador -o para proporcionar una ruta de archivo para guardar:
marco de análisis de kubescape nsa -f json -o informe.json
Los mensajes de progreso normales de Kubescape se pueden desactivar con el indicador -s. Esto es útil en escenarios de CI en los que no desea contaminar los registros de trabajo con caracteres ASCII.
Conclusión
Kubescape le permite evaluar la seguridad de sus clústeres de Kubernetes según las pautas publicadas por la NSA. La sencilla herramienta de código abierto proporciona un único comando para evaluar su entorno frente a más de 20 comprobaciones principales.
Kubescape no busca vulnerabilidades dentro de los contenedores que ejecuta en su clúster. Necesitará otra herramienta como Docker Scan o Trivy para hacer esto. La ejecución de un motor de análisis de contenedores junto con Kubescape proporciona la imagen más completa de la postura de seguridad de su entorno.