Seguridad de contenedores y Kubernetes
Analice imágenes en busca de vulnerabilidades, configure Pod Security Standards y utilice políticas de red en Kubernetes.
Seguridad de contenedores y Kubernetes es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.
Descripción general de la seguridad de contenedores
Los contenedores comparten el kernel del host, por lo que están menos aislados que las máquinas virtuales. La seguridad de los contenedores abarca la higiene de las imágenes (sin paquetes vulnerables), la protección en tiempo de ejecución (detección de comportamientos anómalos), las políticas de red (restricción de la comunicación entre pods) y la configuración de RBAC.
Análisis de imágenes con Trivy
Trivy analiza las imágenes de contenedor en busca de CVE de paquetes del sistema operativo, vulnerabilidades de dependencias de aplicaciones, configuraciones incorrectas y secretos. Intégrelo en CI/CD para bloquear las imágenes con vulnerabilidades críticas antes de que lleguen a producción.
trivy image nginx:latest
trivy image --severity CRITICAL,HIGH myapp:v1.2Prácticas recomendadas para Dockerfile
Utilice imágenes base mínimas (alpine, distroless). Ejecute como un usuario sin privilegios (USER 1000). Evite COPY . .; especifique los archivos concretos. Las compilaciones en varias etapas reducen el tamaño de la imagen final. Analice las imágenes antes de publicarlas. Nunca codifique secretos ni credenciales en las capas.
FROM node:18-alpine
RUN addgroup -S app && adduser -S app -G app
USER app
COPY --chown=app:app . .
CMD ["node", "server.js"]RBAC de Kubernetes
Kubernetes RBAC controla el acceso al servidor de API. ClusterRoles y Roles definen permisos sobre recursos (pods, secrets, deployments). ClusterRoleBindings y RoleBindings los asignan a usuarios, grupos o ServiceAccounts. Evite cluster-admin salvo para la automatización.
Estándares de seguridad de pods
PSS define tres perfiles: Privileged (sin restricciones), Baseline (restricciones mínimas) y Restricted (reforzado). Aplíquelos mediante etiquetas de namespace del controlador de admisión PodSecurity. El perfil Restricted impide ejecutarse como root, no permite la escalada de privilegios y exige sistemas de archivos de solo lectura.
Políticas de red
De forma predeterminada, todos los pods pueden comunicarse con los demás. Las NetworkPolicies de Kubernetes definen reglas de entrada y salida por selector de pod. Implemente políticas de denegación predeterminada y permita explícitamente solo las rutas de comunicación necesarias para limitar el alcance de una intrusión.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all
spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]Gestión de secretos en Kubernetes
Los Secrets de Kubernetes están codificados en base64, pero no cifrados, de forma predeterminada. Habilite el cifrado en reposo para etcd. Utilice External Secrets Operator o Vault Agent Injector para obtener secretos de HashiCorp Vault o de administradores de secretos en la nube, en lugar de utilizar Secrets de Kubernetes.
Controladores de admisión
Los controladores de admisión interceptan las solicitudes a la API antes de que se creen los objetos. OPA/Gatekeeper aplica políticas personalizadas (por ejemplo, exigir etiquetas específicas o bloquear contenedores privilegiados). Kyverno proporciona políticas como código con una sintaxis YAML más sencilla para las restricciones de seguridad habituales de K8s.
Seguridad en tiempo de ejecución con Falco
Falco detecta comportamientos anómalos en tiempo de ejecución mediante eBPF: shells iniciadas en contenedores, conexiones salientes inesperadas, archivos escritos en /etc, intentos de escalada de privilegios y ejecución de herramientas de ataque conocidas. Las reglas de alerta se pueden personalizar en YAML.
Registros de auditoría de Kubernetes
Habilite los registros de auditoría del servidor de API para registrar cada solicitud con el usuario, la acción, el recurso y la marca de tiempo. Reenvíelos a un SIEM para detectar actividad inusual en la API: listado de tokens de ServiceAccount, enumeración de secretos, escalada de roles y uso de kubectl exec en pods de producción.
Seguridad de la cadena de suministro con Cosign
Firme las imágenes de contenedor con Cosign (Sigstore) para garantizar la integridad de la cadena de suministro. Los controladores de políticas (Connaisseur, Kyverno) pueden exigir que solo se admitan en el clúster imágenes firmadas procedentes de registros de confianza, bloqueando la descarga de imágenes no confiables.
Comprobación de conocimientos
¿Qué consigue una Kubernetes NetworkPolicy con un podSelector vacío y policyTypes Ingress/Egress?
Resumen
La seguridad de los contenedores y de Kubernetes requiere proteger la cadena de suministro de imágenes, aplicar RBAC y los estándares de seguridad de pods, implementar políticas de red, gestionar correctamente los secretos y utilizar detección en tiempo de ejecución para identificar ataques que eludan los controles preventivos.
Preguntas frecuentes
¿La lección «Seguridad de contenedores y Kubernetes» es gratis?
Sí — el texto completo de «Seguridad de contenedores y Kubernetes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Seguridad de contenedores y Kubernetes»?
Analice imágenes en busca de vulnerabilidades, configure Pod Security Standards y utilice políticas de red en Kubernetes. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cyber Security Academy?
No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Seguridad de contenedores y Kubernetes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?
Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- IAM en la nube: roles, políticas y mínimo privilegio
- Errores comunes de configuración en la nube
- Gestión de la postura de seguridad en la nube (CSPM)
- Seguridad de contenedores y Kubernetes