0Pricing
Kubernetes Basics · Lección

Estándares de seguridad de los Pods

Aplique los estándares de seguridad de los Pods para imponer prácticas recomendadas de seguridad en el nivel del Pod.

Estándares de seguridad de los Pods es una lección gratuita de Kubernetes Basics en CoddyKit. Esta es la lección 3 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 Kubernetes Basics, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kubernetes Basics incluye 4 lecciones en total.

¿Qué es PSS?

Los estándares de seguridad de Pods de Kubernetes (PSS) son un conjunto de directrices y controles para aplicar las prácticas recomendadas de seguridad a sus Pods.

Ayudan a proteger su clúster frente a vulnerabilidades de seguridad habituales y ataques de escalada de privilegios, restringiendo lo que pueden hacer los Pods.

¡Considérelos una lista de comprobación de seguridad para sus Pods!

Tres niveles de seguridad

PSS define tres niveles de seguridad distintos, cada uno con un grado de protección diferente:

  • Privileged: Sin restricciones; es el menos seguro.
  • Baseline: Impide escaladas de privilegios conocidas.
  • Restricted: Aplica prácticas recomendadas de seguridad reforzada.

Estos niveles son acumulativos, lo que significa que Restricted incluye todas las protecciones de Baseline, y Baseline incluye todas las de Privileged (o, más precisamente, no aplica restricciones).

Privileged: acceso sin restricciones

El nivel Privileged de PSS ofrece una política de seguridad sin restricciones.

Esto significa que los Pods que se ejecutan con esta política pueden solicitar cualquier capacidad y tener acceso completo a los recursos y namespaces del host, de forma similar a ejecutarse como root en la máquina host.

Generalmente se considera muy inseguro y solo debería utilizarse para cargas de trabajo a nivel de sistema que requieran absolutamente ese acceso.

Baseline: prevenir exploits

El nivel Baseline de PSS tiene como objetivo evitar escaladas de privilegios conocidas.

Es un buen punto de partida para la mayoría de las aplicaciones definidas por los usuarios.

Entre sus principales restricciones se incluyen:

  • No permite contenedores privilegiados.
  • No permite volúmenes hostPath (excepto tipos seguros específicos).
  • No permite redes del host ni compartir el namespace de PID.
  • Limita las capacidades.

Este nivel ayuda a mitigar muchos vectores de ataque habituales.

Restricted: seguridad reforzada

El nivel Restricted de PSS aplica prácticas recomendadas de seguridad reforzada.

Está diseñado para aplicaciones muy sensibles desde el punto de vista de la seguridad y requiere que los Pods se ejecuten con privilegios mínimos.

Además de las restricciones de Baseline, Restricted aplica las siguientes:

  • Ejecutarse como un usuario que no sea root.
  • Eliminar todas las capacidades de Linux y añadir únicamente las necesarias.
  • Exigir perfiles de seccomp y AppArmor.

Este es el nivel de PSS más seguro y estricto.

Aplicación de PSS mediante Pod Security Admission

Los estándares de seguridad de Pods se aplican mediante una funcionalidad de Kubernetes llamada Pod Security Admission.

Este controlador de admisión intercepta las solicitudes de creación de Pods y las comprueba según el nivel de PSS configurado para el namespace del Pod.

Los niveles de PSS se aplican a los namespaces añadiéndoles etiquetas específicas. Por ejemplo:

kubectl label namespace <namespace-name> pod-security.kubernetes.io/enforce=restricted

Control de la seguridad de los Pods

Para que sus Pods cumplan con PSS, normalmente utilizará el campo securityContext en la definición del Pod.

Este campo permite definir la configuración de privilegios y control de acceso de un Pod o de los contenedores individuales que contiene.

Entre las opciones habituales se incluyen:

  • runAsUser: especifica el ID de usuario del proceso del contenedor.
  • allowPrivilegeEscalation: impide que un proceso obtenga más privilegios que su proceso padre.
  • capabilities: administra las capabilities de Linux.

Ejemplo de Pod no seguro

Veamos una definición de Pod que infringiría el estándar PSS de nivel Baseline debido a su contexto de seguridad. En general, no es segura:

apiVersion: v1
kind: Pod
metadata:
  name: unsafe-pod
spec:
  containers:
  - name: my-container
    image: nginx
    securityContext:
      privileged: true
      # This allows the container to run with root capabilities
      # and access host devices directly.
      # Violates Baseline PSS.

Ejemplo de Pod compatible con Baseline

Así definiría un Pod que cumple con el nivel PSS Baseline. Observe que no incluye privileged: true ni otras restricciones.

Para cumplir de forma aún más estricta con Restricted, añadiría runAsNonRoot: true, readOnlyRootFilesystem: true y eliminaría todas las capabilities.

apiVersion: v1
kind: Pod
metadata:
  name: safe-pod
spec:
  containers:
  - name: my-container
    image: nginx
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      # This Pod runs with minimal privileges and
      # adheres to the Baseline PSS.

Comprobación rápida de PSS

¿Cuál de las siguientes afirmaciones sobre los estándares de seguridad de Pods (PSS) es VERDADERA?

Repaso: estándares de seguridad de Pods

En esta lección, ha aprendido sobre los estándares de seguridad de Pods de Kubernetes (PSS) y su importancia para proteger su clúster.

  • PSS define tres niveles: Privileged, Baseline y Restricted.
  • Baseline impide escaladas de privilegios conocidas y es adecuado para la mayoría de las aplicaciones.
  • Restricted aplica una seguridad reforzada y exige privilegios mínimos.
  • El campo securityContext ayuda a configurar los Pods para que cumplan con PSS.

¡Aplicar PSS es un paso crucial para crear entornos de Kubernetes más seguros!

Preguntas frecuentes

¿La lección «Estándares de seguridad de los Pods» es gratis?

Sí — el texto completo de «Estándares de seguridad de los Pods» 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 Kubernetes Basics, actualiza a CoddyKit PRO. El curso de Kubernetes Basics incluye 4 lecciones en total.

¿Qué aprenderé en «Estándares de seguridad de los Pods»?

Aplique los estándares de seguridad de los Pods para imponer prácticas recomendadas de seguridad en el nivel del Pod. Practicas Kubernetes Basics 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 Kubernetes Basics?

No se requiere experiencia previa. Kubernetes Basics 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 3 de 4.

¿Cuánto tiempo toma la lección «Estándares de seguridad de los Pods»?

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 Kubernetes Basics?

Sí. Cada lección de Kubernetes Basics 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

  1. Control de acceso basado en roles (RBAC)
  2. Network Policies para el aislamiento
  3. Estándares de seguridad de los Pods
  4. Cuentas de servicio e identidad de cargas de trabajo
← Volver a Kubernetes Basics