- 1. Explicación de la seguridad de la red en la nube
- 2. Seguridad de la red en la nube
- 3. Seguridad de la red Kubernetes
- 4. Seguridad del plano de control de Kubernetes
- 5. Mejores prácticas de seguridad de la red para contenedores y Kubernetes
- 6. Preguntas frecuentes sobre la seguridad de la red en nube
¿Qué es la seguridad de la red en nube?
La seguridad de la red en la nube es un aspecto fundamental para salvaguardar las aplicaciones en contenedores y sus datos en el panorama informático moderno. Se trata de asegurar la comunicación y las configuraciones de red para estas aplicaciones, independientemente de la plataforma de orquestación que se utilice. La seguridad de la red en la nube aborda la segmentación de la red, los espacios de nombres, las redes superpuestas, el filtrado del tráfico y el cifrado para contenedores. Mediante la implementación de tecnologías y mejores prácticas de seguridad de la red en la nube, las organizaciones pueden prevenir eficazmente los ataques basados en la red, como el criptojacking, el ransomware y BotNetC2, que pueden afectar tanto a las redes de cara al público como a las redes internas utilizadas por los contenedores para intercambiar datos.
Explicación de la seguridad de la red en la nube
Todas las cargas de trabajo se ejecutan en la misma pila de red y protocolos, independientemente de si se ejecutan en servidores bare-metal, máquinas virtuales o en contenedores. En otras palabras, las cargas de trabajo en contenedores están sujetas a muchos de los mismos ataques basados en la red que las aplicaciones heredadas: cryptojacking, ransomware, BotNetC2, etc.
Sin embargo, las amenazas a la seguridad basadas en la red pueden afectar a los contenedores de dos maneras: a través de las redes públicas que conectan las aplicaciones a Internet y a través de las redes internas que los contenedores Kubernetes utilizan para intercambiar datos entre sí.
La seguridad de la red en la nube se centra en asegurar la comunicación y las configuraciones de la red para las aplicaciones en contenedores en general, independientemente de la plataforma de orquestación. Aborda aspectos como la segmentación de la red, los espacios de nombres, las redes superpuestas, el filtrado del tráfico y el cifrado para contenedores.
La seguridad de la red Kubernetes se centra en la seguridad de la red dentro de un clúster Kubernetes y abarca características específicas de Kubernetes, como políticas de red, controles de entrada y salida, aislamiento de espacios de nombres, control de acceso basado en roles (RBAC) e implementación de mallas de servicios.
La detección de indicios de actividad maliciosa en ambos tipos de redes requiere tanto seguridad de contenedores como seguridad de la red Kubernetes. Como se trata de ámbitos distintos, merecen discusiones separadas para cubrir sus aspectos únicos. En esta sección, profundizaremos en los diversos aspectos de la seguridad de la red en la nube en lo que respecta a los contenedores y hablaremos de las mejores prácticas para salvaguardar su entorno.
Seguridad de la red en la nube
Una vez implementados, los contenedores deben protegerse de los intentos de robo de datos y recursos informáticos propios. La seguridad de la red en la nube restringe de forma proactiva la comunicación no deseada y evita que las amenazas ataquen sus aplicaciones una vez implementadas.
Los firewalls de nueva generación en contenedores, la seguridad de aplicaciones web y API (WAAS), y las herramientas de microsegmentación inspeccionan y protegen todo el tráfico que entra y sale de los contenedores (de norte a sur y de este a oeste), garantizando una visibilidad completa de capa 7, y el control sobre el entorno Kubernetes. Además, los firewalls en contenedores se adaptan dinámicamente a los rápidos cambios de tamaño y exigencias de la infraestructura de contenedores para proporcionar seguridad y ancho de banda a las operaciones empresariales.

Segmentación de la red
La segmentación de la red es la práctica de dividir una red en segmentos más pequeños y aislados para limitar el acceso no autorizado, contener las amenazas potenciales y mejorar el rendimiento general de la red. En los entornos en contenedores, los equipos de seguridad pueden lograr la segmentación de la red mediante diversos métodos.
Espacios de nombres en red
Los espacios de nombres de red proporcionan aislamiento entre contenedores mediante la creación de una pila de red independiente para cada uno, incluyendo sus propias interfaces de red, tablas de enrutamiento y reglas de firewall. Al aprovechar los espacios de nombres de red, puede evitar que los contenedores interfieran entre sí en las configuraciones de red y limitar su visibilidad únicamente a los recursos de red necesarios.
Redes superpuestas
Las redes superpuestas crean una capa de red virtual sobre la red física existente, lo que permite a los contenedores comunicarse entre distintos hosts como si estuvieran en la misma red. Entre las soluciones populares de redes superpuestas para contenedores se incluyen el controlador superpuesto integrado de Docker, Flannel y Weave.
Particiones de red y grupos de seguridad
Las particiones de red y los grupos de seguridad pueden segmentar aún más las redes de contenedores creando límites lógicos y aplicando reglas de firewall específicas para restringir el tráfico entre segmentos.
Filtrado de tráfico y reglas de firewall
Los firewall de nueva generación en contenedores impiden que el malware entre y se propague dentro del clúster, al tiempo que evitan las conexiones maliciosas salientes utilizadas en la exfiltración de datos y los ataques de mando y control (C2). Aunque las herramientas de seguridad por turnos proporcionan protección en tiempo de implementación contra las vulnerabilidades conocidas, los firewalls de nueva generación en contenedores proporcionan protección contra las vulnerabilidades desconocidas y sin parches.
El filtrado del tráfico y las reglas del firewall son esenciales para controlar el flujo de tráfico entre los contenedores, así como entre los contenedores y el host.
Filtrado de entrada y salida
El filtrado de salida controla el tráfico saliente de un contenedor, mientras que el filtrado de entrada controla el tráfico entrante a un contenedor. Aplicando el filtrado de entrada y salida, puede limitar la exposición de sus contenedores a las amenazas externas y restringir su comunicación sólo a los servicios necesarios.
Aplicación de reglas de firewall al tráfico de contenedores
Las reglas del firewall pueden aplicarse a varios niveles, incluido el nivel de host, contenedor y red. Puede utilizar iptables o firewalld de Linux, por ejemplo, para crear reglas que gobiernen el tráfico de los contenedores y protejan su infraestructura de accesos no autorizados y actividades maliciosas.
Equilibrio de la carga y enrutamiento del tráfico
El equilibrio de carga y el enrutamiento del tráfico son importantes para distribuir el tráfico entre varios contenedores y garantizar una alta disponibilidad de sus aplicaciones. Se pueden utilizar soluciones como HAProxy, NGINX o los servicios integrados de Kubernetes para dirigir el tráfico al contenedor adecuado en función de reglas predefinidas y comprobaciones de estado.
Cifrado y comunicación segura
Cifrar y asegurar la comunicación entre contenedores, y entre éstos y el host, es vital para proteger los datos sensibles y mantener la integridad de sus aplicaciones.
Seguridad de capa de transporte (TLS) para el tráfico de contenedores
TLS proporciona encriptación y autenticación para los datos transmitidos a través de una red. Mediante la implementación de TLS para el tráfico de contenedores, puede garantizar que los datos transmitidos entre los contenedores y entre éstos y el host están cifrados y a salvo de escuchas o manipulaciones. Puede conseguirlo utilizando herramientas como OpenSSL o Let's Encrypt para generar y administrar certificados TLS para sus contenedores.
Asegurar la comunicación entre contenedores
Para asegurar la comunicación entre contenedores, puede utilizar soluciones nativas de contenedores como las redes cifradas integradas de Docker o herramientas de terceros como Cilium, que proporciona seguridad de la red consciente de la API para contenedores. Estas soluciones le permiten implementar el cifrado, la autenticación y la autorización para el tráfico de contenedor a contenedor.
Asegurar la comunicación entre contenedores y hosts
Garantizar una comunicación segura entre los contenedores y el host puede lograrse utilizando mecanismos de cifrado y autenticación a nivel del host, como API protegidas por SSH o TLS, para controlar el acceso a las interfaces de administración de contenedores y a los sistemas de almacenamiento de datos.
Seguridad de la red Kubernetes
Políticas de red
Las políticas de red son una característica clave de Kubernetes que le permite controlar el flujo de tráfico dentro de su clúster y entre éste y las redes externas. Las herramientas modernas permiten a los equipos de seguridad definir políticas que determinan esencialmente a quién y a qué se permite acceder a un microservicio determinado. Las organizaciones necesitan un marco para definir esas políticas y asegurarse de que se mantienen de forma coherente en un entorno de aplicaciones de contenedores altamente distribuido.
Definición y aplicación de políticas de red
Las políticas de red de Kubernetes se definen mediante archivos YAML, que especifican el tráfico permitido entre componentes como pods, servicios y espacios de nombres. Una vez definidas, estas políticas pueden aplicarse mediante plugins de red compatibles con la API de políticas de red de Kubernetes, como Calico o Cilium.
Lista blanca y lista negra de tráfico
Las políticas de red pueden utilizarse para poner en lista blanca o negra el tráfico entre los componentes de su cluster basándose en criterios que incluyen etiquetas de pod, direcciones IP o espacios de nombres. Establecerlas le permitirá controlar qué servicios pueden comunicarse entre sí y evitar el acceso no autorizado a datos o recursos sensibles.
Aislamiento y segmentación del espacio de nombres
Aplicando políticas de red a nivel de espacio de nombres, puede aislar y segmentar aplicaciones o entornos dentro de su cluster, restringiendo el tráfico sólo a los componentes necesarios y previniendo posibles riesgos de seguridad.
Controles de entrada y salida
Controlar el tráfico de entrada y salida es fundamental para administrar el flujo de datos que entran y salen de su clúster Kubernetes y protegerlo de amenazas externas.
Controladores de entrada y equilibrio de carga
Los controladores de entrada en Kubernetes gestionan el enrutamiento del tráfico externo a los servicios apropiados dentro de su clúster basándose en reglas predefinidas. El equilibrio de carga puede lograrse mediante servicios integrados en Kubernetes o soluciones de terceros como NGINX y HAProxy. Estas soluciones le permiten enrutar el tráfico en función de criterios como la ruta, el host o las cabeceras. También le permiten proporcionar la terminación TLS y otras características de seguridad.
Mejores prácticas de acceso de entrada
- Corrija la política predeterminada de Kubernetes "any-any-any allow" aplicando una política deny-all para cada espacio de nombres.
- Impida que los servicios acepten tráfico entrante directamente de IPs externas a menos que haya un equilibrador de carga o un entrante conectado. Permita únicamente el tráfico entrante procedente de los equilibradores de carga o de los entrantes.
- Limite el tráfico a protocolos y puertos específicos según los requisitos del servicio (por ejemplo, HTTP/HTTPS para los servicios web, UDP 53 para el servicio DNS).
- Aceptar tráfico sólo de otros servicios (pods) que los consuman, ya sea en el mismo espacio de nombres o desde otro.
- Para crear una política de entrada desde un pod en otro espacio de nombres, añada una etiqueta al espacio de nombres.
Administración del tráfico de salida
Controlar el tráfico de salida de su clúster Kubernetes es esencial para evitar la fuga de datos y garantizar que las conexiones salientes se restringen únicamente a los destinos requeridos. Puede conseguirlo utilizando políticas de red de salida, que le permiten definir reglas para el tráfico de salida de sus pods o espacios de nombres. Además, se pueden utilizar puertas de enlace de salida o soluciones proxy como Squid para controlar y supervisar el tráfico de salida de su clúster.
Mejores prácticas de acceso a la salida
- Comprenda la necesidad de cada servicio externo utilizado por sus microservicios. Productos como Prisma Cloud Compute Defender pueden ayudar a identificar los flujos externos comprometidos por los microservicios.
- Si un pod necesita conectarse a un nombre DNS (FQDN) sin una dirección IP fija, utilice un firewall o proxy externo, ya que las políticas de red de Kubernetes sólo admiten direcciones IP.
- Impida el tráfico saliente de los pods que no necesiten conexiones externas para reducir el riesgo de exfiltración de datos o de descarga de binarios maliciosos.
- Aplique una política de bloqueo de salida si no tiene dependencias externas, pero asegúrese de que los servicios esenciales, como el servicio DNS de Kubernetes, permanezcan conectados al aplicar las políticas de salida.
La microsegmentación basada en la identidad ayuda a restringir la comunicación entre aplicaciones en las Capas 3 y 4, mientras que los firewalls de nueva generación en contenedores realizan una inspección profunda de paquetes de Capa 7 y analizan todo el tráfico permitido para identificar y prevenir amenazas conocidas y desconocidas.
Políticas y seguridad del DNS
DNS es parte integral de la red Kubernetes, ya que proporciona la resolución de nombres para los servicios y otros componentes dentro de su clúster. Garantice la seguridad e integridad de su infraestructura DNS para evitar ataques como la falsificación DNS o el envenenamiento de caché.
Kubernetes proporciona políticas DNS integradas para controlar el comportamiento de la resolución DNS dentro de su clúster, y también puede utilizar proveedores DNS externos o soluciones de seguridad DNS como DNSSec para mejorar la seguridad de su infraestructura DNS.
Malla de servicios y cifrado de redes
La malla de servicios es una capa de infraestructura dedicada que proporciona funciones de red avanzadas, como el enrutamiento del tráfico, el equilibrio de la carga y la seguridad para sus microservicios y aplicaciones en contenedores.
Implementación de la malla de servicios
Las soluciones de malla de servicios como Istio y Linkerd pueden integrarse con su clúster Kubernetes para proporcionar capacidades de red avanzadas y mejorar la seguridad de sus aplicaciones en contenedores. Estas soluciones ofrecen funciones como TLS mutuo, control de acceso y cifrado del tráfico, que pueden ayudar a proteger sus aplicaciones, en particular los microservicios, de diversas amenazas a la seguridad.
TLS mutuo (mTLS) para una comunicación segura
El TLS mutuo (mTLS) es un protocolo de seguridad en el que tanto el cliente como el servidor se autentifican mutuamente antes de establecer una conexión segura. A diferencia del TLS tradicional, en el que sólo el servidor es autenticado por el cliente, el mTLS añade una capa adicional de seguridad al exigir que el cliente presente un certificado. El requisito añadido verifica que ambas partes son quienes dicen ser, lo que puede ayudar a evitar accesos no autorizados, fugas de datos y ataques de intermediario.
Observabilidad y control del tráfico en la red
Las soluciones de malla de servicios también proporcionan observabilidad y control sobre el tráfico de su red, lo que le permite supervisar el rendimiento y la seguridad de sus aplicaciones casi en tiempo real. La identificación temprana de accesos no autorizados, patrones de tráfico inusuales y otros posibles problemas de seguridad significa que puede tomar medidas correctivas tempranas para mitigar los riesgos.
Cifrar el tráfico y los datos sensibles
Para garantizar la confidencialidad e integridad de los datos dentro de su cluster, es esencial implementar técnicas de encriptación tanto para las comunicaciones internas como externas.
IPsec para cifrar la comunicación entre hosts
IPsec protege el tráfico del cluster encriptando las comunicaciones entre todos los hosts maestros y nodos. Tenga en cuenta la sobrecarga de IPsec y consulte la documentación de su orquestación de contenedores para habilitar las comunicaciones IPsec dentro del clúster. Importe los certificados necesarios a la base de datos de certificados correspondiente y cree una política para asegurar la comunicación entre los hosts de su cluster.
Configuración de la unidad de transmisión máxima (MTU) para la sobrecarga IPsec
Ajuste la MTU de la ruta o de la conmutación para acomodar la sobrecarga de la cabecera IPsec. Por ejemplo, si el cluster opera en una red Ethernet con una unidad de transmisión máxima (MTU) de 1500 bytes, modifique el valor de la MTU de la SDN para tener en cuenta la sobrecarga de encapsulación de IPsec y SDN.
Activación de TLS para la comunicación API en el clúster
Kubernetes asume que la comunicación API dentro del cluster está encriptada por defecto utilizando TLS. La mayoría de los métodos de instalación crean y distribuyen los certificados necesarios a los componentes del cluster. Tenga en cuenta, sin embargo, que algunos componentes y métodos de instalación pueden habilitar puertos locales sobre HTTP. Los administradores deben mantenerse informados sobre la configuración de cada componente para identificar y abordar el tráfico potencialmente inseguro.
Seguridad del plano de control de Kubernetes
Los planos de control, en particular en los clústeres Kubernetes, son objetivos privilegiados de los ataques. Para mejorar la seguridad, refuerce los siguientes componentes mediante la inspección y la configuración adecuada:
- Nodos y sus perímetros
- Nodos maestros
- Componentes básicos
- APIs
- Cabinas de cara al público
Aunque la configuración por defecto de Kubernetes proporciona un cierto nivel de seguridad, la adopción de las mejores prácticas puede reforzar el clúster para las cargas de trabajo y la comunicación en tiempo de ejecución.
Políticas de red (reglas de firewall)
La red plana de Kubernetes permite que todas las implementaciones alcancen a otras implementaciones por defecto, incluso a través de espacios de nombres. Esta falta de aislamiento entre pods significa que una carga de trabajo comprometida podría iniciar un ataque a otros componentes de la red. La implementación de políticas de red puede proporcionar aislamiento y seguridad.
Política de seguridad del Pod
Kubernetes permite que los pods se ejecuten con varias configuraciones inseguras por defecto. Por ejemplo, ejecutar contenedores privilegiados con permisos de root en el host es de alto riesgo, al igual que utilizar los espacios de nombres y el sistema de archivos del host o compartir la red del host. Las políticas de seguridad de los pods permiten a los administradores limitar los privilegios y permisos de un pod antes de permitir su implementación en el cluster. Aislar los pods no dependientes para que no se comuniquen entre sí mediante políticas de red ayudará a evitar el movimiento lateral a través de los contenedores en caso de que se produzca una brecha.
Cifrado de secretos
Las distribuciones base de Kubernetes no cifran los secretos en reposo por defecto (aunque los servicios gestionados como GKE sí lo hacen). Si un atacante consigue acceder al almacén de valores clave (normalmente Etcd), podrá acceder a todo lo que haya en el clúster, incluidos los secretos sin cifrar. La encriptación del almacén de estado del cluster lo protege contra la exfiltración de datos en reposo.
Control de acceso basado en funciones
Aunque el RBAC no es exclusivo de Kubernetes, debe configurarse correctamente para evitar que el clúster se vea comprometido. RBAC permite un control granular sobre los componentes del cluster a los que puede acceder un pod o un usuario. Al restringir lo que los usuarios y los pods pueden ver, actualizar, eliminar y crear dentro del cluster, RBAC ayuda a limitar el daño potencial de un compromiso.
Cómo abordar la seguridad del plano de control mediante el parcheo virtual
Minimizar el acceso a nivel de administrador a los planos de control y asegurarse de que su servidor API no está expuesto públicamente son los aspectos básicos de seguridad más importantes.
Los equipos de DevOps y SecOps pueden identificar vulnerabilidades en los paquetes de aplicaciones, pero mitigar estos riesgos lleva tiempo. Los paquetes vulnerables deben sustituirse o parchearse y probarse antes de su implementación, lo que deja el entorno expuesto hasta que se resuelva el problema. Soluciones como Prisma Cloud automatizan el mapeo de vulnerabilidades para cada carga de trabajo con el fin de proporcionar parches virtuales para las vulnerabilidades conocidas. Utilizando su componente WAAS , la solución ajusta las políticas de inspección del tráfico para detectar y bloquear los exploits remotos basados en HTTP.
Mejores prácticas de seguridad de la red para contenedores y Kubernetes
Como resumen de las áreas tratadas, las siguientes prácticas recomendadas sirven como lista de comprobación para garantizar que sus equipos están equipados para salvaguardar sus aplicaciones y datos contenidos de las amenazas basadas en la red.
Supervisión y registro del tráfico de red
Vigilar de cerca el tráfico de su red es primordial para detectar y responder a los incidentes de seguridad y mantener la salud general de su entorno en contenedores.
Soluciones centralizadas de registro y supervisión
La implementación de una solución centralizada de registro y supervisión para su entorno de contenedores y Kubernetes, como ELK Stack, Prometheus o Prisma Cloud, puede ayudarle a recopilar, analizar y visualizar los datos de tráfico de la red procedentes de diversas áreas. El fácil acceso a la información centralizada de los datos le permitirá identificar tendencias, detectar anomalías y obtener información sobre el rendimiento y la seguridad de su infraestructura.
Detección y respuesta a incidentes de seguridad
Supervisar el tráfico de la red y establecer alertas para actividades inusuales o sospechosas permite detectar y responder rápidamente a incidentes relacionados con accesos no autorizados, filtración de datos y otras actividades maliciosas. Los equipos de seguridad están equipados para tomar las medidas adecuadas, como aislar los componentes afectados, bloquear las IP maliciosas o actualizar las reglas del firewall a tiempo.
Visualización y análisis del tráfico de red
La visualización y el análisis de los datos de tráfico de su red pueden ayudarle a identificar patrones y tendencias que pueden indicar riesgos potenciales para la seguridad. Se pueden utilizar herramientas como Kibana, Grafana o cuadros de mando personalizados para crear representaciones visuales del tráfico de su red, lo que le permitirá detectar anomalías e investigar incidentes de seguridad con mayor eficacia.
Configuraciones de red seguras
El endurecimiento de las configuraciones de su red y la implementación de fuertes controles de acceso son vitales para proteger su entorno de contenedores y Kubernetes de las amenazas a la seguridad.
Endurecimiento de la configuración de red del host y de la nube
Mantener la seguridad de su entorno requiere garantizar configuraciones de red seguras tanto para su host de contenedores como para los contenedores individuales. Las medidas esenciales implican desactivar los servicios de red no utilizados, limitar el acceso a la red sólo a los componentes necesarios y aplicar parches de seguridad y actualizaciones a su sistema operativo anfitrión y al tiempo de ejecución del contenedor.
Controles de acceso a la red y autenticación
Para evitar accesos no autorizados y mantener la integridad de su entorno de contenedores y Kubernetes, es esencial implementar fuertes controles de acceso y mecanismos de autenticación. Las medidas clave pasan por utilizar el control de acceso basado en roles (RBAC) para administrar los permisos de los usuarios en Kubernetes, incorporar la autenticación multifactor (MFA) y emplear soluciones de seguridad de la red, como VPN o firewalls, para limitar el acceso a su entorno.
Evaluaciones periódicas de la seguridad de la red
Las evaluaciones periódicas de la seguridad de la red -escaneos de vulnerabilidades, pruebas de penetración y auditorías de seguridad- son imprescindibles cuando se trata de identificar posibles puntos débiles en su entorno de contenedores y Kubernetes. Los aspectos clave de estas evaluaciones implican el examen de las configuraciones de la red, las reglas del firewall y las políticas de seguridad para garantizar el cumplimiento de las mejores prácticas del sector y los requisitos de conformidad.
Si sigue estas prácticas recomendadas e implementa medidas eficaces de seguridad de la red, podrá fortificar su entorno de contenedores y Kubernetes frente a posibles amenazas basadas en la red y garantizar la seguridad e integridad de sus aplicaciones y datos.
Preguntas frecuentes sobre la seguridad de la red en nube
MTU, o unidad máxima de transmisión, se refiere al mayor tamaño de un paquete de datos que puede transmitirse a través de una red. Es un parámetro que contribuye a determinar la eficacia y el rendimiento de la comunicación de datos a través de las redes. El protocolo de control de transmisión (TCP) utiliza la MTU para determinar el tamaño máximo de cada paquete en las transmisiones por Internet.
Para acomodar la sobrecarga adicional del encabezado introducida por el cifrado y el encapsulado, es necesario ajustar el valor de la MTU cuando se utiliza IPsec para una comunicación segura. Por ejemplo, si el clúster Kubernetes funciona en una red Ethernet con una MTU por defecto de 1500 bytes, el valor de la MTU debe reducirse para tener en cuenta la sobrecarga de encapsulación IPsec y SDN. El ajuste evita la fragmentación de paquetes y garantiza una transmisión de datos más eficaz y segura.