Magic Quadrant™ para la gestión de acceso privilegiado 2025: Netwrix reconocida por cuarto año consecutivo. Descarga el informe.

Plataforma
Centro de recursosBlog
Contenedores de Windows Server 2016

Contenedores de Windows Server 2016

Sep 27, 2018

Windows Server 2016 introduce la tecnología de contenedores para aislar aplicaciones, reducir superficies de ataque y mejorar la escalabilidad. Los contenedores de Windows Server comparten el núcleo del sistema operativo anfitrión para una aislación de procesos ligera, mientras que los contenedores Hyper-V añaden separación a nivel de máquina virtual para una seguridad mejorada. Con la integración de Docker y soporte para Nano Server, los contenedores agilizan el desarrollo y las operaciones mientras refuerzan el principio de mínimo privilegio y mejoran la seguridad impulsada por la identidad.

Puede mejorar la seguridad de la infraestructura de desarrollo de su aplicación reduciendo el tamaño y el alcance de los recursos de aplicación y cómputo. Una forma de hacer esto es contenerizar las cargas de trabajo. Los contenedores de Windows Server y Microsoft Hyper-V le permiten aislar las cargas de trabajo entre sí y del sistema operativo. Incluso si un contenedor es comprometido por un atacante, será difícil para el atacante acceder al sistema operativo anfitrión. Los contenedores también proporcionan un entorno estandarizado para los equipos de desarrollo, prueba y producción.

Descargue la guía gratuita:

Contenedores

Los contenedores proporcionan un entorno operativo aislado y portátil para aplicaciones. Desde la perspectiva de la aplicación, un contenedor parece ser un sistema operativo Windows completo e aislado con su propio sistema de archivos, dispositivos y configuración. Por lo tanto, en muchos aspectos, los contenedores son como máquinas virtuales porque ejecutan un sistema operativo, admiten un sistema de archivos y puedes acceder a ellos a través de una red de manera similar a cualquier otra máquina física o máquina virtual.

Los contenedores son entornos virtuales que comparten el núcleo del sistema operativo anfitrión pero proporcionan aislamiento en el espacio de usuario, por lo que ofrecen un entorno ideal en el cual una aplicación puede ejecutarse sin afectar al resto de los componentes en modo usuario del sistema operativo y sin que los otros componentes en modo usuario afecten a la aplicación. Utilizando contenedores, los desarrolladores pueden crear y probar aplicaciones rápidamente en un entorno aislado mientras utilizan solo unos pocos recursos del sistema operativo. Esto significa que los contenedores no necesitan todos los procesos y servicios que un sistema operativo en una máquina virtual podría utilizar.

Windows Server 2016 soporta dos tipos de contenedores:

  • Contenedores de Windows Server. Estos contenedores proporcionan aislamiento de aplicaciones mediante la tecnología de aislamiento de procesos y espacios de nombres. Los contenedores de Windows Server comparten el kernel del sistema operativo con el host del contenedor y con todos los demás contenedores que se ejecutan en el host.
  • Contenedores Hyper-V. Estos contenedores amplían el aislamiento que proporcionan los contenedores de Windows Server ejecutando cada contenedor en una VM altamente optimizada.

El uso de contenedores tiene múltiples beneficios. El tamaño reducido del sistema operativo significa que hay que mantener menos componentes del sistema operativo, lo que a su vez resulta en menos riesgos potenciales de seguridad. El tamaño reducido del sistema operativo también ayuda a mejorar la escalabilidad.

Contenido relacionado seleccionado:

Docker

Para ejecutar una carga de trabajo de aplicación en un contenedor, debes usar Docker. Docker es una colección de herramientas de código abierto y servicios basados en la nube que proporcionan un modelo común para empaquetar (contenerizar) el código de la aplicación en una unidad estandarizada para el desarrollo de software. Esta unidad estandarizada, o contenedor Docker, es un software que está envuelto en un sistema de archivos completo que incluye todo lo que necesita para ejecutarse, incluyendo código, entorno de ejecución, herramientas del sistema, bibliotecas del sistema y cualquier otra cosa que puedas instalar en un servidor. Debes descargar Docker por separado; no forma parte del medio de instalación de Windows Server 2016.

Nano Server

Microsoft Nano Server es una opción de instalación relativamente nueva para Windows Server 2016. Es un sistema operativo ligero diseñado para su uso con instancias de contenedores virtualizados. No tiene interfaz de usuario; debes administrar Nano Server de forma remota utilizando PowerShell, pero este PowerShell es diferente al estándar. A partir de la versión de Windows Server 1803, Nano Server está disponible solo como una imagen de sistema operativo basada en contenedores, y debes ejecutarlo como un contenedor en un host de contenedores, como Docker. Puedes solucionar problemas de estos nuevos contenedores Nano utilizando Docker y ejecutarlos en IoT Core.

Una instancia de Nano Server no puede funcionar como un controlador de dominio de Active Directory. En particular, no admite las siguientes características:

  • Política de grupo
  • Agrupamiento de tarjetas de interfaz de red
  • Adaptadores de bus anfitrión virtual
  • Acceso del servidor proxy a internet
  • System Center Configuration Manager
  • System Center Data Protection Manager

Nano Server admite los siguientes roles:

  • Servicios de archivos
  • Hyper-V
  • IIS
  • Servidor DNS

FAQ

¿Cómo aseguras los contenedores de Windows Server 2016 contra la escalada de privilegios?

Asegurar contenedores Windows comienza con la identidad, porque Data Security That Starts with Identity significa controlar quién puede acceder a qué en el nivel del contenedor. Los contenedores de Windows Server 2016 se ejecutan con aislamiento de procesos por defecto, lo que proporciona cierta protección, pero necesitas controles de seguridad en capas para prevenir ataques de privilege escalation.

Primero, implemente los principios de privilegio mínimo ejecutando contenedores con cuentas de usuario no administrador siempre que sea posible. Utilice la directiva USER en su Dockerfile para especificar una cuenta de bajo privilegio y evite ejecutar contenedores como Local System o Administrator a menos que sea absolutamente necesario. Configure los límites de recursos del contenedor para prevenir ataques de agotamiento de recursos que podrían llevar a la escalada de privilegios.

Implemente cuentas de servicio administradas por grupo (gMSAs) para contenedores que requieren autenticación de dominio – esto proporciona gestión automática de contraseñas y reduce la exposición de credenciales. Configure políticas de Windows Defender Application Control para restringir qué aplicaciones pueden ejecutarse dentro de sus contenedores, creando una barrera adicional contra la ejecución de código malicioso.

Para un aislamiento mejorado, utilice contenedores Hyper-V en lugar de contenedores de Windows Server al manejar datos sensibles. Los contenedores Hyper-V proporcionan un aislamiento a nivel de hardware que hace que el movimiento lateral sea mucho más difícil para los atacantes. Monitoree continuamente los eventos de acceso y autenticación de contenedores – no se puede gestionar lo que no se puede ver, y detectar comportamientos riesgosos antes de que se conviertan en una violación requiere visibilidad en tiempo real de la actividad del contenedor.

Habilite el reenvío de eventos de Windows para centralizar los registros de seguridad de contenedores y configure el monitoreo del registro de eventos de seguridad para fallos de autenticación, intentos de escalada de privilegios y creación de procesos sospechosos dentro de los contenedores. El escaneo regular de seguridad de las imágenes de contenedores antes del despliegue ayuda a prevenir que vulnerabilidades conocidas alcancen los entornos de producción.

¿Cuáles son las implicaciones de Identity Management de los contenedores de Windows?

Los contenedores de Windows heredan el contexto de seguridad del host, lo que crea desafíos únicos de Identity Management que impactan directamente en tu Data Security Posture Management. A diferencia de las VM tradicionales, los contenedores comparten el kernel del sistema operativo del host, por lo que las credenciales de un contenedor comprometido pueden afectar potencialmente a todo el sistema del host.

Los procesos del contenedor se ejecutan bajo cuentas de usuario específicas de Windows, y estas identidades determinan a qué datos y recursos del sistema puede acceder cada contenedor. Cuando implementas contenedores a gran escala, básicamente estás multiplicando tu superficie de ataque de identidad – cada contenedor se convierte en un posible punto de entrada para el robo de credenciales o ataques de movimiento lateral.

El impacto práctico es que su estrategia de identidad de contenedores necesita integrarse con su programa de gobernanza de identidad más amplio. Utilice cuentas de servicio administradas por grupo (gMSAs) para procesos de contenedores que requieran autenticación de dominio – las gMSAs proporcionan gestión automática de contraseñas y eliminan la necesidad de almacenar credenciales en imágenes de contenedores. Implemente controles de acceso basados en identidad que traten las identidades de contenedores como cualquier otra cuenta privilegiada en su entorno, con rotación adecuada, monitoreo y aplicación del principio de mínimo privilegio.

Considere los desafíos específicos de identidad en contenedores, como la persistencia de credenciales a través de reinicios de contenedores, métodos seguros de inyección de credenciales y la gestión de ciclos de vida de cuentas de servicio en entornos de contenedores dinámicos. Su solución de Identity Management debe proporcionar visibilidad sobre qué contenedores están utilizando qué identidades y a qué recursos están accediendo.

¿Cómo auditas el acceso y los permisos de contenedores Windows?

Una auditoría efectiva de contenedores requiere visibilidad tanto en las actividades a nivel de host como a nivel de contenedor – porque los atacantes están iniciando sesión, no solo irrumpiendo. Los contenedores de Windows generan eventos de seguridad a través del sistema estándar de registro de eventos de Windows, pero es necesario configurar un registro adicional para capturar actividades específicas de contenedores.

Habilite el registro del tiempo de ejecución de contenedores para rastrear eventos de creación, modificación y eliminación de contenedores. Configure el Registro de Eventos de Windows para capturar eventos de autenticación, intentos de escalada de privilegios y patrones de acceso a recursos dentro de los contenedores. Concéntrese en monitorear patrones de acceso inusuales, como contenedores accediendo a archivos fuera de sus volúmenes de datos esperados o realizando conexiones de red inesperadas.

La clave es correlacionar la actividad del contenedor con su estrategia de monitoreo de seguridad más amplia. Los eventos de acceso al contenedor deben alimentar su programa de gobernanza de identidad y acceso junto con el monitoreo tradicional de cuentas de usuario. Configure alertas automatizadas para comportamientos de alto riesgo en contenedores, como intentos de acceder a repositorios de datos sensibles o escalar privilegios más allá del alcance previsto del contenedor. Este enfoque proactivo le ayuda a detectar comportamientos riesgosos antes de que se conviertan en una violación.

Implemente la auditoría del sistema de archivos para directorios sensibles a los que los contenedores no deberían acceder y monitoree los eventos de creación de procesos dentro de los contenedores para detectar lanzamientos de ejecutables no autorizados. Utilice el registro de PowerShell para capturar actividades administrativas dentro de los contenedores, particularmente para aquellos que ejecutan scripts de automatización o herramientas administrativas.

¿Cuáles son las mejores prácticas de monitoreo de seguridad de contenedores de Windows que debe seguir?

El monitoreo de la seguridad de contenedores requiere un enfoque diferente al monitoreo tradicional de servidores porque los contenedores son efímeros y crean superficies de ataque dinámicas. Comience con el monitoreo de referencia de los eventos del ciclo de vida del contenedor – creación, inicio, detención y eliminación – para establecer patrones operativos normales.

Monitoree el tráfico de red tanto en el nivel del host como del contenedor para detectar patrones de comunicación inusuales que podrían indicar movimiento lateral o intentos de exfiltración de datos. Siga las métricas de consumo de recursos como CPU, memoria y uso de disco para identificar posibles ataques de denegación de servicio o actividades de criptominería dentro de los contenedores.

Implemente monitoreo en tiempo real de los cambios en el sistema de archivos de contenedores, especialmente para aquellos que no deberían estar escribiendo en disco. Utilice Windows Performance Toolkit y herramientas de monitoreo específicas para contenedores para rastrear la ejecución de procesos dentro de los contenedores, vigilando procesos no autorizados o intentos inesperados de escalada de privilegios. El objetivo es mejorar la visibilidad y el control – necesita ver lo que está sucediendo en su entorno de contenedores para tomar acciones de seguridad efectivas.

Configure la monitorización de eventos de seguridad específicos de contenedores, como la extracción de imágenes de registros no autorizados, contenedores que se ejecutan con privilegios excesivos o contenedores que intentan acceder a los recursos del sistema anfitrión. Establezca alertas para contenedores que se desvíen de sus patrones de comportamiento esperados, como realizar conexiones de red a destinos inusuales o consumir recursos más allá de los umbrales normales.

¿Cómo solucionas problemas de autenticación en contenedores de Windows?

Los problemas de autenticación de contenedores a menudo provienen de cuentas de servicio mal configuradas o una gestión de credenciales inadecuada entre el host y los entornos de contenedores. Comience por verificar que su contenedor esté utilizando la identidad de Windows correcta – revise el contexto de seguridad bajo el cual se ejecutan los procesos del contenedor utilizando herramientas como Process Monitor o Windows Event Viewer.

Los fallos de autenticación comunes ocurren cuando los contenedores no pueden acceder a los recursos del dominio debido a problemas de delegación de credenciales. Si su contenedor necesita autenticarse en Active Directory u otros servicios de dominio, asegúrese de estar utilizando cuentas de servicio gestionadas por grupo (gMSAs) en lugar de cuentas de servicio tradicionales. Las gMSAs proporcionan gestión automática de contraseñas y están diseñadas específicamente para escenarios de contenedores.

Revise los registros de eventos de Windows tanto en el host del contenedor como en los controladores de dominio para detectar errores relacionados con la autenticación. Busque identificaciones de eventos relacionadas con fallos de inicio de sesión, problemas de autenticación de Kerberos o problemas de autenticación NTLM. Utilice herramientas como Network Monitor o Wireshark para capturar el tráfico de autenticación e identificar dónde se está rompiendo la cadena de autenticación. Recuerde que los problemas de autenticación de contenedores a menudo indican problemas más amplios de Identity Management que podrían afectar su postura general de seguridad.

Verifique que su host de contenedor esté debidamente unido al dominio y que las características de Windows requeridas (como el módulo de Active Directory para PowerShell) estén instaladas. Compruebe la resolución DNS dentro de los contenedores para asegurarse de que puedan alcanzar los controladores de dominio. Si utiliza la delegación de credenciales, confirme que la cuenta del host de contenedor tiene los permisos de delegación necesarios en Active Directory.

Compartir en

Aprende más

Acerca del autor

Asset Not Found

Dirk Schrader

Vicepresidente de Investigación de Seguridad

Dirk Schrader es un Resident CISO (EMEA) y VP de Security Research en Netwrix. Con 25 años de experiencia en seguridad informática y certificaciones como CISSP (ISC²) y CISM (ISACA), trabaja para promover la ciberresiliencia como un enfoque moderno para enfrentar las amenazas cibernéticas. Dirk ha trabajado en proyectos de ciberseguridad en todo el mundo, comenzando en roles técnicos y de soporte al inicio de su carrera y luego pasando a posiciones de ventas, marketing y gestión de productos tanto en grandes corporaciones multinacionales como en pequeñas startups. Ha publicado numerosos artículos sobre la necesidad de abordar la gestión de cambios y vulnerabilidades para lograr la ciberresiliencia.