Glosario de Automatización • Proxy inverso (DMZ SCADA)

¿Qué es un proxy inverso en una DMZ SCADA?

Ingeniería Merobix • • 8 min de lectura

Cuando una HMI web o un portal de historiador dentro de la red OT necesita ser alcanzable desde la empresa o desde internet, la forma cruda es reenviar un puerto directo al servidor interno, exponiéndolo. Un proxy inverso en la DMZ industrial hace el mismo trabajo de manera mucho más segura: se sienta al frente, acepta la conexión de afuera, y solo pasa las solicitudes examinadas hacia la aplicación interna oculta. Esta guía explica el rol del proxy inverso en una DMZ SCADA, terminar el cifrado, verificar la autenticación antes de que algo llegue al back end, y ocultar los hosts internos, y por qué es un diseño más fuerte que un reenvío de puerto crudo.

Volver al glosario

Proxy inverso (DMZ SCADA) en una línea: Un proxy inverso en una DMZ SCADA es un intermediario de capa de aplicación que publica una HMI web o un portal de historiador internos a la empresa o a internet en nombre del servidor de back end oculto. Acepta la conexión de afuera, termina TLS, puede preverificar la autenticación, y reenvía solo las solicitudes permitidas a la aplicación interna, que nunca se expone directamente. Esto es más seguro que un reenvío de puerto crudo porque el proxy inspecciona y controla el tráfico en la capa de aplicación en lugar de pasar paquetes a ciegas al host interno.

Publicar una HMI web sin exponer el back end

Un proxy inverso funciona parándose al frente de un servicio interno y presentándose al mundo exterior como el destino. Cuando un usuario en la empresa o en internet solicita la HMI web, se conecta al proxy inverso en la DMZ, no al servidor interno; el proxy recibe la solicitud, decide si la honra, y de ser así hace su propia conexión a la aplicación interna y releva la respuesta de regreso. Desde la perspectiva del usuario está hablando con la HMI, pero en realidad solo está hablando siempre con el proxy, que media cada intercambio.

Esta indirección es lo que mantiene al servidor interno fuera del borde expuesto. La HMI o el portal de historiador de back end se sienta dentro de la red OT sin ruta directa desde afuera; lo único que el mundo exterior puede alcanzar es el proxy en la DMZ, colocado deliberadamente como un intermediario controlado entre zonas. La DMZ misma es la red de amortiguamiento entre los lados de empresa y OT, y poner el proxy ahí significa que el tráfico externo termina en ese amortiguamiento en lugar de penetrar hasta la aplicación interna, manteniendo al servidor real a un salto controlado de distancia de cualquier cosa no confiable.

Ocultar el host interno es un beneficio de seguridad por derecho propio. Como las partes de afuera nunca se conectan al servidor interno y nunca aprenden su dirección ni sus detalles directamente, no pueden sondearlo ni atacarlo como podrían con un servicio directamente expuesto; solo pueden alcanzar el proxy, que no revela nada de la topología interna más allá de lo que decide. Esta ocultación reduce la superficie de ataque al proxy endurecido mismo, en lugar de dejar la aplicación de back end, con toda su propia superficie, abierta al mundo.

Terminación TLS y preverificación de autenticación

Terminar TLS en el proxy significa que la conexión cifrada del usuario externo termina en el proxy inverso, que descifra el tráfico ahí antes de decidir qué hacer con él. Esto le da al borde de la DMZ un único lugar bien administrado para manejar certificados y hacer cumplir cifrado fuerte para cada conexión externa, en lugar de depender de que cada aplicación interna lo haga correctamente. También significa que el proxy puede de verdad ver las solicitudes que maneja, lo cual es el prerequisito para inspeccionarlas y controlarlas en la capa de aplicación, algo imposible si el tráfico se pasara todavía cifrado y opaco.

La preverificación de autenticación es la función de mayor valor que la terminación habilita. Como el proxy ve la solicitud, puede exigir que el usuario se autentique antes de permitir que cualquier tráfico llegue a la aplicación interna, actuando como una compuerta que las solicitudes no autenticadas nunca pasan. Esto significa que la HMI o el portal interno solo es contactado por solicitudes que ya se probaron a sí mismas en el borde, así que un atacante ni siquiera puede empezar a interactuar con la aplicación de back end sin primero pasar la autenticación del proxy. El servidor interno queda protegido no solo por estar oculto sino por ser alcanzable únicamente a través de un punto de control que examina quién pregunta.

Juntas, la terminación y la preverificación convierten al proxy en un guardián activo en lugar de un relevo pasivo. Hace cumplir el cifrado, exige identidad, y decide solicitud por solicitud qué se permite pasar, todo antes de que la aplicación interna se involucre. Ese control de capa de aplicación es la esencia del rol del proxy inverso: no solo mueve tráfico, lo entiende y lo gobierna, aplicando política al nivel de solicitudes y sesiones en lugar de al nivel de paquetes de red crudos.

Por qué le gana a un reenvío de puerto crudo en una arquitectura SCADA

Un reenvío de puerto crudo es la alternativa que el proxy inverso mejora, y el contraste es marcado. El reenvío de puertos simplemente mapea un puerto externo al puerto del servidor interno, así que una conexión de afuera se pasa directo a la aplicación interna sin inspección; lo que llegue a ese puerto se entrega al back end tal cual. El servidor interno queda en efecto expuesto directamente, solo que en una dirección distinta, y el firewall que hace el reenvío opera al nivel de paquete, decidiendo solo si pasa el tráfico, no qué contiene el tráfico ni si el emisor está autorizado.

El proxy inverso difiere precisamente porque trabaja en la capa de aplicación. No reenvía a ciegas; termina, inspecciona, autentica, y luego releva solo lo que pasa sus verificaciones, así que la aplicación interna nunca está en contacto directo con tráfico externo no examinado. Este es un modelo de seguridad fundamentalmente distinto del filtrado de paquetes: el firewall de la DMZ controla cuáles flujos se permiten al nivel de red, mientras que el proxy inverso controla qué se les permite hacer a esos flujos al nivel de solicitudes e identidad. Los dos son capas complementarias, y el proxy agrega el control consciente de la aplicación que el filtrado de paquetes de un firewall no puede dar por sí solo.

En una arquitectura SCADA de nube, gran parte de esta preocupación de publicación la maneja la plataforma en lugar de ensamblarse por sitio. Merobix ya entrega su HMI web a los navegadores sobre conexiones cifradas y autenticadas desde infraestructura administrada, así que el patrón que un proxy inverso provee, terminación TLS, autenticación antes de que se alcance la aplicación, y activos internos mantenidos fuera del borde expuesto, está integrado en cómo la plataforma sirve sitios remotos de petróleo y gas en lugar de ser un proxy que cada operador deba levantar en su propia DMZ. Para una operación de campo distribuida, eso significa que el rol de publicación segura que un proxy inverso juega para un portal en sitio es inherente a un SCADA de nube que se diseñó desde el principio para presentar pantallas de forma segura al mundo exterior.

Preguntas frecuentes

¿En qué se diferencia un proxy inverso de un firewall de DMZ?

Un firewall de DMZ filtra al nivel de red, decidiendo cuáles paquetes y flujos se permiten entre zonas con base en direcciones y puertos. Un proxy inverso trabaja en la capa de aplicación, terminando la conexión, inspeccionando las solicitudes reales, autenticando al usuario, y reenviando solo lo que pasa sus verificaciones al servidor interno oculto. Son complementarios: el firewall controla cuál tráfico puede fluir, mientras que el proxy controla qué se le permite hacer a ese tráfico una vez permitido.

¿Por qué es más seguro un proxy inverso que reenviar el puerto a una HMI web?

El reenvío de puertos mapea un puerto externo directo al servidor interno, exponiéndolo directamente y pasando el tráfico sin inspección; el firewall solo decide si pasa los paquetes, no qué contienen ni quién los envió. Un proxy inverso en cambio termina la conexión, puede exigir autenticación antes de que algo llegue al back end, y oculta el host interno para que nunca sea contactado directamente. Ese examen de capa de aplicación es un control que un reenvío de puerto crudo simplemente no puede dar.

¿Qué logra la terminación TLS en el proxy?

Termina la conexión cifrada en el proxy inverso, así que el cifrado se administra en un lugar endurecido en el borde de la DMZ para cada conexión externa en lugar de dejarlo a cada aplicación interna. Descifrar ahí también deja que el proxy de verdad vea las solicitudes, que es lo que hace posibles la inspección de capa de aplicación y las preverificaciones de autenticación. Sin terminación el tráfico seguiría opaco y el proxy no podría hacer cumplir identidad ni política antes de que llegara a la HMI o al portal interno.

Más en Fundamentos de SCADA
DMZ de SCADA  •  Agregar un tag en SCADA  •  Configurar alertas por SMS  •  Configurar una alarma en SCADA  •  Notificación de alarma por correo  •  Todo en Fundamentos de SCADA →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →