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.
- Confirma que el cluster de Kubernetes y los namespaces en cuestión están dentro del alcance acordado.
- Obtén un kubeconfig con al menos acceso de lectura y confirma que Helm puede llegar al cluster (`helm list --all-namespaces`).
- Para cada release de interés, extrae sus valores y su manifiesto renderizado con `helm get values` y `helm get manifest`.
- 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.