Implementación de un modelo Zero Trust en un entorno Cloud híbrido simulado

Bookmark (0)
Please login to bookmark Close

En un mundo tecnológico que se mueve hacia configuraciones híbridas y distribuidas, las empresas se enfrentan al reto de asegurar recursos que están fuera de su red Tradicional. El auge del trabajo a distancia, el uso de servicios en la nube y la variedad de dispositivos han hecho que los sistemas de seguridad antiguos ya no sean útiles. Ante esto, el modelo Zero Trust ha surgido como una solución completa que asume que ningún acceso es confiable desde el principio, aplicando la idea de “nunca confiar, siempre verificar” como la base de cualquier plan de seguridad digital. Este modelo, impulsado por organizaciones como el NIST, se basa en la verificación continua, el acceso mínimo necesario, la división estricta y la visión completa del sistema.
Este proyecto busca diseñar, implementar y evaluar una estructura de red híbrida bajo el modelo Zero Trust, simulada en un ambiente de laboratorio cerrado. La implementación se realizó en un nodo Proxmox VE dentro de VMware, configurando varias máquinas virtuales y contenedores LXC que representan tanto servicios locales como servicios simulados en la nube. La estructura lógica incluye control de identidad, verificación unificada, división de la red, control del tráfico y reglas de acceso estrictas. Entre los servicios implementados, destacan: • Un servidor OpenLDAP para la administración central de identidades, organizado por departamentos (marketing, IT, recursos humanos, ventas, finanzas) y con usuarios definidos dentro del dominio corporativo zts.org. • Un sistema de verificación unificada a través de Keycloak, configurado como proveedor OIDC, asignando atributos LDAP como employeeType para aplicar el control de acceso según el rol. • Una aplicación web desarrollada en Python (Flask) con una interfaz en CSS y Bootstrap, que muestra contenido y funciones diferentes según el rol del usuario (empleado o administrador), incluyendo mensajería privada y canales para cada departamento. • Una base de datos PostgreSQL que maneja tanto el soporte de la aplicación como el almacenamiento de usuarios internos y sesiones verificadas desde Keycloak. • Un proxy HTTP Squid que filtra y limita el tráfico de salida, permitiendo solo el acceso a dominios corporativos y servicios autorizados. • Un firewall pfSense, configurado con reglas de acceso mínimas que simulan una separación lógica entre LAN y WAN dentro de la misma red virtualizada, siguiendo los principios de Zero Trust. El ambiente se diseñó con el objetivo de reducir la exposición, usando una sola interfaz de red puenteada (vmbr0) para todos los servicios, y controlando la comunicación entre nodos solo a través de reglas específicas. Se decidió no activar TLS en el servidor LDAP debido a que el ambiente es cerrado y controlado, dejando esta decisión documentada como una limitación aceptable para el laboratorio, y señalando los ajustes necesarios para una implementación real. Durante las pruebas, se confirmó que el proceso de verificación y autorización funciona correctamente: el usuario se verifica en Keycloak, los atributos LDAP se asignan bien, y la aplicación web cambia su funcionamiento según el rol. Además, se comprobó la división del tráfico a través del firewall y el bloqueo efectivo de la navegación no autorizada a través del proxy. Aunque funciones como la vigilancia en tiempo real (Wazuh, Suricata) o el uso de VPN (WireGuard) no se implementaron por completo, se documentaron como sugerencias para mejorar el ambiente en el futuro, asegurando que se pueda ampliar y adaptar a situaciones reales más complejas.
En conclusión, este proyecto prueba que es posible implementar un modelo Zero Trust en ambientes simulados, usando solo herramientas de código abierto y recursos accesibles. El resultado es una estructura que funciona, está dividida y es segura, que muestra los principios básicos del modelo y que se puede usar como base para aprender o como ambiente de prueba para futuras investigaciones.
ABSTRACT
In a technological landscape increasingly moving toward hybrid and distributed configurations, organizations face the challenge of securing resources that lie beyond the traditional corporate network perimeter. The rise of remote work, the adoption of cloud services, and the diversity of devices have rendered legacy security models obsolete. In response to this shift, the Zero Trust model has emerged as a comprehensive solution that assumes no access is inherently trustworthy, applying the principle of “never trust, always verify” as the foundation of any modern cybersecurity strategy. This model, advocated by institutions such as the NIST [1], is based on continuous verification, least privilege access, strict segmentation, and full visibility into system activity.
This project aims to design, implement, and evaluate a hybrid network architecture following the Zero Trust model, simulated within a closed laboratory environment. The implementation was carried out using a Proxmox VE node hosted on VMware, deploying multiple virtual machines and LXC containers that simulate both on-premise and cloud-like services. The logical architecture includes identity control, federated authentication, network segmentation, traffic control, and strictly enforced access policies.
The deployed services include:
• An OpenLDAP server for centralized identity management, structured by departments (marketing, IT, human resources, sales, and finance), with users defined under the corporate domain zts.org.• A federated authentication system via Keycloak, configured as an OIDC provider, mapping LDAP attributes such as employeeType to enforce role based access control.• A Python Flask web application with a CSS/Bootstrap-based frontend, delivering role-specific content and functionalities, including private messaging and departmental communication channels.• A PostgreSQL database supporting both the application backend and the storage of internal users and authentication sessions provided by Keycloak.• An HTTP proxy (Squid) that filters and restricts outbound traffic, allowing access only to approved corporate domains and essential internal services.• A pfSense firewall, configured with minimal access rules to simulate logical LAN/WAN separation within the same virtualized network, in alignment with Zero Trust principles.
The environment was designed to minimize exposure, using a single bridged network interface (vmbr0) for all services, while inter-node communication was strictly governed by explicitly defined rules. The decision was made not to enable TLS in the LDAP server, as the environment is entirely closed and controlled. This limitation is acknowledged and documented, with guidance provided for adapting the setup to a production scenario.
During testing, the authentication and authorization process was validated successfully: users authenticated through Keycloak, LDAP attributes were correctly mapped, and the web application dynamically adjusted its behavior based on user roles. Network segmentation through the firewall and outbound traffic control via the proxy were also verified effectively.
While features such as real-time monitoring (Wazuh, Suricata) and VPN connectivity (WireGuard) were not fully implemented, they have been documented as future improvements to enhance scalability and applicability in more complex, real-world deployments.
In conclusion, this project demonstrates the feasibility of deploying a Zero Trust-based architecture in a simulated environment using only open-source tools and accessible resources. The result is a functioning, segmented, and secure infrastructure that illustrates the core principles of Zero Trust and serves as a valuable foundation for educational purposes or as a testbed for further research.

​En un mundo tecnológico que se mueve hacia configuraciones híbridas y distribuidas, las empresas se enfrentan al reto de asegurar recursos que están fuera de su red Tradicional. El auge del trabajo a distancia, el uso de servicios en la nube y la variedad de dispositivos han hecho que los sistemas de seguridad antiguos ya no sean útiles. Ante esto, el modelo Zero Trust ha surgido como una solución completa que asume que ningún acceso es confiable desde el principio, aplicando la idea de “nunca confiar, siempre verificar” como la base de cualquier plan de seguridad digital. Este modelo, impulsado por organizaciones como el NIST, se basa en la verificación continua, el acceso mínimo necesario, la división estricta y la visión completa del sistema.
Este proyecto busca diseñar, implementar y evaluar una estructura de red híbrida bajo el modelo Zero Trust, simulada en un ambiente de laboratorio cerrado. La implementación se realizó en un nodo Proxmox VE dentro de VMware, configurando varias máquinas virtuales y contenedores LXC que representan tanto servicios locales como servicios simulados en la nube. La estructura lógica incluye control de identidad, verificación unificada, división de la red, control del tráfico y reglas de acceso estrictas. Entre los servicios implementados, destacan: • Un servidor OpenLDAP para la administración central de identidades, organizado por departamentos (marketing, IT, recursos humanos, ventas, finanzas) y con usuarios definidos dentro del dominio corporativo zts.org. • Un sistema de verificación unificada a través de Keycloak, configurado como proveedor OIDC, asignando atributos LDAP como employeeType para aplicar el control de acceso según el rol. • Una aplicación web desarrollada en Python (Flask) con una interfaz en CSS y Bootstrap, que muestra contenido y funciones diferentes según el rol del usuario (empleado o administrador), incluyendo mensajería privada y canales para cada departamento. • Una base de datos PostgreSQL que maneja tanto el soporte de la aplicación como el almacenamiento de usuarios internos y sesiones verificadas desde Keycloak. • Un proxy HTTP Squid que filtra y limita el tráfico de salida, permitiendo solo el acceso a dominios corporativos y servicios autorizados. • Un firewall pfSense, configurado con reglas de acceso mínimas que simulan una separación lógica entre LAN y WAN dentro de la misma red virtualizada, siguiendo los principios de Zero Trust. El ambiente se diseñó con el objetivo de reducir la exposición, usando una sola interfaz de red puenteada (vmbr0) para todos los servicios, y controlando la comunicación entre nodos solo a través de reglas específicas. Se decidió no activar TLS en el servidor LDAP debido a que el ambiente es cerrado y controlado, dejando esta decisión documentada como una limitación aceptable para el laboratorio, y señalando los ajustes necesarios para una implementación real. Durante las pruebas, se confirmó que el proceso de verificación y autorización funciona correctamente: el usuario se verifica en Keycloak, los atributos LDAP se asignan bien, y la aplicación web cambia su funcionamiento según el rol. Además, se comprobó la división del tráfico a través del firewall y el bloqueo efectivo de la navegación no autorizada a través del proxy. Aunque funciones como la vigilancia en tiempo real (Wazuh, Suricata) o el uso de VPN (WireGuard) no se implementaron por completo, se documentaron como sugerencias para mejorar el ambiente en el futuro, asegurando que se pueda ampliar y adaptar a situaciones reales más complejas.
En conclusión, este proyecto prueba que es posible implementar un modelo Zero Trust en ambientes simulados, usando solo herramientas de código abierto y recursos accesibles. El resultado es una estructura que funciona, está dividida y es segura, que muestra los principios básicos del modelo y que se puede usar como base para aprender o como ambiente de prueba para futuras investigaciones.
ABSTRACT
In a technological landscape increasingly moving toward hybrid and distributed configurations, organizations face the challenge of securing resources that lie beyond the traditional corporate network perimeter. The rise of remote work, the adoption of cloud services, and the diversity of devices have rendered legacy security models obsolete. In response to this shift, the Zero Trust model has emerged as a comprehensive solution that assumes no access is inherently trustworthy, applying the principle of “never trust, always verify” as the foundation of any modern cybersecurity strategy. This model, advocated by institutions such as the NIST [1], is based on continuous verification, least privilege access, strict segmentation, and full visibility into system activity.
This project aims to design, implement, and evaluate a hybrid network architecture following the Zero Trust model, simulated within a closed laboratory environment. The implementation was carried out using a Proxmox VE node hosted on VMware, deploying multiple virtual machines and LXC containers that simulate both on-premise and cloud-like services. The logical architecture includes identity control, federated authentication, network segmentation, traffic control, and strictly enforced access policies.
The deployed services include:
• An OpenLDAP server for centralized identity management, structured by departments (marketing, IT, human resources, sales, and finance), with users defined under the corporate domain zts.org.• A federated authentication system via Keycloak, configured as an OIDC provider, mapping LDAP attributes such as employeeType to enforce role based access control.• A Python Flask web application with a CSS/Bootstrap-based frontend, delivering role-specific content and functionalities, including private messaging and departmental communication channels.• A PostgreSQL database supporting both the application backend and the storage of internal users and authentication sessions provided by Keycloak.• An HTTP proxy (Squid) that filters and restricts outbound traffic, allowing access only to approved corporate domains and essential internal services.• A pfSense firewall, configured with minimal access rules to simulate logical LAN/WAN separation within the same virtualized network, in alignment with Zero Trust principles.
The environment was designed to minimize exposure, using a single bridged network interface (vmbr0) for all services, while inter-node communication was strictly governed by explicitly defined rules. The decision was made not to enable TLS in the LDAP server, as the environment is entirely closed and controlled. This limitation is acknowledged and documented, with guidance provided for adapting the setup to a production scenario.
During testing, the authentication and authorization process was validated successfully: users authenticated through Keycloak, LDAP attributes were correctly mapped, and the web application dynamically adjusted its behavior based on user roles. Network segmentation through the firewall and outbound traffic control via the proxy were also verified effectively.
While features such as real-time monitoring (Wazuh, Suricata) and VPN connectivity (WireGuard) were not fully implemented, they have been documented as future improvements to enhance scalability and applicability in more complex, real-world deployments.
In conclusion, this project demonstrates the feasibility of deploying a Zero Trust-based architecture in a simulated environment using only open-source tools and accessible resources. The result is a functioning, segmented, and secure infrastructure that illustrates the core principles of Zero Trust and serves as a valuable foundation for educational purposes or as a testbed for further research. Read More