Sobes.tech
Middle+

¿Qué prácticas conoces para mejorar la seguridad de la aplicación en Kubernetes?

sobes.tech AI

Respuesta de la IA

  • Uso de políticas de red para controlar el tráfico entre pods.
  • Aplicación de cuotas de recursos y rangos límite para restringir el consumo de recursos por los pods.
  • Desactivación del modo privilegiado para los contenedores.
  • Minimización de los privilegios otorgados a las cuentas de servicio.
  • Uso de secretos para almacenar datos sensibles.
  • Escaneo regular de las imágenes de los contenedores en busca de vulnerabilidades.
  • Aplicación de restricciones de contexto de seguridad (SCC) en OpenShift o políticas de seguridad de pods (PSP) (obsoletas) / estándares de seguridad de pods en Kubernetes puro.
  • Uso de herramientas para auditoría del clúster, como Kubesec o OpenSCAP.
  • Implementación del principio de privilegios mínimos a nivel de clúster y aplicaciones.
  • Segmentación de pods y espacios de nombres.
  • Uso de inmutabilidad para despliegues.

Ejemplo de uso de la política de red:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend-to-backend
spec:
  podSelector:
    matchLabels:
      app: backend # Solo se aplica a pods con esta etiqueta
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend # Permite tráfico entrante solo desde pods frontend
    ports:
    - protocol: TCP
      port: 8080 # Permite tráfico solo en este puerto

Ejemplo de uso del contexto de seguridad:

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1000 # Ejecutar el contenedor como usuario con ID 1000
    runAsGroup: 3000 # Ejecutar el contenedor como grupo con ID 3000
    fsGroup: 2000 # El sistema de archivos pertenecerá al grupo 2000
  containers:
  - name: sec-ctx-demo
    image: busybox
    command: [ "sh", "-c", "sleep 1h" ]
    securityContext:
      allowPrivilegeEscalation: false # Prohibir la escalada de privilegios
      readOnlyRootFilesystem: true # Hacer que el sistema de archivos raíz sea de solo lectura