Saltar al contenido
OPS // KITitspentest.sh

E-HEL

Helm

Gestor de paquetes de Kubernetes, usado en una evaluación cloud para inspeccionar configuraciones de charts y releases instaladas en busca de malas configuraciones.

Sitio oficialVolver al catálogo

RESUMEN

Helm (github.com/helm/helm) es el gestor de paquetes de facto para Kubernetes, que empaqueta aplicaciones como charts versionados con un `values.yaml` que controla desde el número de réplicas hasta security contexts, objetos RBAC y servicios expuestos — en una evaluación cloud/Kubernetes, `helm list` en todos los namespaces y `helm get values`/`helm get manifest` en cada release se convierten en un inventario rápido de qué está desplegado realmente y cómo está configurado.

Como los charts suelen instalarse con valores por defecto o apenas revisados, los hallazgos comunes aparecen directamente en esa salida: contenedores corriendo como root, límites de recursos ausentes, ServiceAccounts y bindings de RBAC demasiado permisivos incluidos en un chart, o Services expuestos sin querer vía LoadBalancer/NodePort — todo visible sin necesidad de hacer ingeniería inversa de manifiestos crudos desde cero.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Inventariar cada release instalada en todos los namespaces con `helm list --all-namespaces`.

  • 02

    Revisar los valores efectivos de una release (`helm get values`) en busca de valores por defecto inseguros sin modificar.

  • 03

    Comparar el manifiesto renderizado de una release (`helm get manifest`) contra las recomendaciones de seguridad documentadas del chart.

  • 04

    Revisar los repositorios de charts en uso y las versiones fijadas en busca de releases de charts con vulnerabilidades conocidas.

PRIMEROS PASOS

Con acceso al cluster ya en mano, para inventariar las releases de Helm instaladas y revisar los valores de sus charts en busca de configuraciones inseguras por defecto.

  1. Confirma que el cluster de Kubernetes y los namespaces en cuestión están dentro del alcance acordado.
  2. Obtén un kubeconfig con al menos acceso de lectura y confirma que Helm puede llegar al cluster (`helm list --all-namespaces`).
  3. Para cada release de interés, extrae sus valores y su manifiesto renderizado con `helm get values` y `helm get manifest`.
  4. Marca configuraciones inseguras por defecto (contenedores root, RBAC amplio, Services expuestos) para revisión manual más profunda contra el código del chart.
helm list --all-namespaces && helm get values <release> -n <namespace>

ANTES DE USARLA

Qué revisar antes de lanzarla

Las operaciones de Helm pasan por la API de Kubernetes usando el contexto de kubeconfig actual — quedan sujetas al logging de auditoría que tenga habilitado el cluster, no a un log específico de Helm.

`helm get values` sin `--all` muestra por defecto solo los overrides provistos por el usuario; usa `helm get values --all` para ver la configuración efectiva completa, incluidos los valores por defecto del chart.

Helm puede instalar, actualizar y eliminar releases con la misma facilidad con la que las inspecciona — limítate a subcomandos de solo lectura (`list`, `get`, `status`, `history`) salvo que los cambios estén explícitamente en el alcance.

SIGUE EXPLORANDO

Ver toda la fase →