Políticas de red y mínimo privilegio
Restrinja el tráfico entre contenedores con políticas de red de denegación predeterminada, reglas explícitas de autorización y el principio de mínimo privilegio aplicado a las redes.
Políticas de red y mínimo privilegio es una lección gratuita de DevOps Bootcamp 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 DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Permitir todo de forma predeterminada es arriesgado
De forma predeterminada, los contenedores de un clúster normalmente pueden comunicarse con cualquier otro contenedor. Un pod comprometido puede acceder así a bases de datos y servicios internos sin restricciones. Las políticas de red cierran esa puerta.
Mínimo privilegio para la red
El principio del mínimo privilegio también se aplica al tráfico: un servicio solo debe aceptar e iniciar las conexiones que realmente necesita, y ninguna más.
¿Qué es una política de red?
Una NetworkPolicy es un objeto de Kubernetes que selecciona pods por etiqueta y especifica qué tráfico de entrada y salida está permitido. Un plugin de CNI (Calico, Cilium) la aplica.
Necesita un CNI que aplique las reglas
Al igual que Ingress necesita un controlador, NetworkPolicies necesitan un CNI que las admita. En un plugin que las ignore, las reglas no tendrán ningún efecto y no se mostrará ningún error.
Denegar el tráfico de entrada de forma predeterminada
Empiece denegando todo el tráfico entrante a un namespace y permita después solo lo necesario. Un podSelector vacío coincide con todos los pods.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
spec:
podSelector: {}
policyTypes:
- IngressPermitir tráfico específico
Ahora permita que solo los pods frontend accedan a la API en el puerto 8080. Todo lo demás seguirá bloqueado.
spec:
podSelector:
matchLabels:
app: api
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- port: 8080Restringir el tráfico de salida
También puede limitar el tráfico saliente; por ejemplo, permitir que un pod se conecte únicamente a la base de datos para evitar que un pod secuestrado se comunique con un servidor externo.
spec:
podSelector:
matchLabels:
app: api
policyTypes:
- Egress
egress:
- to:
- podSelector:
matchLabels:
app: dbSelectores de namespace
Las reglas pueden coincidir mediante namespaceSelector para permitir tráfico entre namespaces solo desde namespaces de confianza; es útil para servicios de plataforma compartidos.
from:
- namespaceSelector:
matchLabels:
team: platformPermitir DNS
Un problema habitual: una denegación estricta predeterminada del tráfico de salida también bloquea DNS y rompe la resolución de nombres. Recuerde permitir UDP/TCP 53 hacia kube-dns.
egress:
- to: []
ports:
- protocol: UDP
port: 53Más allá de Kubernetes
Los usuarios de Docker obtienen un beneficio relacionado con las redes definidas por el usuario: solo los contenedores de la misma red pueden comunicarse entre sí, lo que aísla las aplicaciones no relacionadas.
docker network create --internal backendMentalidad de confianza cero
Las redes con mínimo privilegio le acercan a la confianza cero: suponga que la red es hostil, autentique y autorice cada conexión y no permita nada de forma predeterminada.
Comprobación rápida
¿Cuál es una estrategia sensata para empezar con las políticas de red?
Resumen
Ahora puede restringir el tráfico de forma segura:
- Aplique la denegación predeterminada y luego reglas explícitas de permiso
- Controle el tráfico de entrada y salida por etiqueta/namespace
- Recuerde permitir DNS; se necesita un CNI que aplique las reglas
- Las redes internas de Docker proporcionan un aislamiento similar
Las redes con mínimo privilegio reducen el alcance del impacto de cualquier brecha.
Preguntas frecuentes
¿La lección «Políticas de red y mínimo privilegio» es gratis?
Sí — el texto completo de «Políticas de red y mínimo privilegio» 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 DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Políticas de red y mínimo privilegio»?
Restrinja el tráfico entre contenedores con políticas de red de denegación predeterminada, reglas explícitas de autorización y el principio de mínimo privilegio aplicado a las redes. Practicas DevOps Bootcamp 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 DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp 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 «Políticas de red y mínimo privilegio»?
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 DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp 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
- Análisis de seguridad de imágenes de contenedor
- Seguridad de contenedores en tiempo de ejecución
- Gestión de Secrets y RBAC
- Políticas de red y mínimo privilegio