¿Que es Azure Application Gateway?
App Gateway es uno de los servicios de Load Balance que existen en Azure. En este caso, estamos hablando de un balanceo de carga de tráfico web a nivel de capa 7 (capa de Aplicación del modelo OSI). A diferencia de un balanceador de capa 4 (capa de transporte), que solo rutea el trafico segun dirección IP y puerto, Azure App Gateway puede generar reglas de ruteo a partir de atributos de un request HTTP como el URI path o el host header. Por ejemplo podríamos generar una regla diferente para el path /images/* y /video/* del domain contoso.com, como puden ver en la imagen debajo.
Aquí encontaran todos los features que nos provee un App Gateway en Azure.
¿Que es TLS/SSL Termination?
Transport Layer Security (TLS), previamente conocido como Secure Sockets Layer (SSL) es un standard de seguridad que asegura trafico encriptado entre un Web Server y el navegador.
El Application Gateway de Azure nos ofrece la posibilidad de encriptar el tráfico desde internet al Gateway y desde el Gateway hasta el backend, proporcionando así una encriptación de extremo a extremo con TLS/SSL (end-to-end TLS/SSL Encryption).
También podemos optar por terminar el tráfico encriptado en el propio Gateway y mantener la comunicación entre el App Gateway y el Backend sin encriptación. Este último proceso se conoce como TLS/SSL Termination.
Azure App Gateway recibe el trafico encriptado desde internet. Luego termina la sesión TLS/SSL y desencrypta la información. Esta configuración se realiza a nivel de Listener.
Al rutear el trafico de nuevo hacia el backend el Gateway vuelve a encryptar el trafico segun la configuración. Esto se especifica a nivel de Backend Settings.
¿Por qué utilizar TLS/SSL Termination?
Manejo de certificados: Una de las mayores ventajas que encontraremos en este tipo de configuraciones es de carga administrativa. Cuando tenemos una gran cantidad de publicaciones y backend pools con settings diversos. Mantener los certificados no solo en el Gateway sino en los backends servers es una tarea ardua. Esto nos permitirá ahorrar tiempo y dinero.
Mejora de Performance: el decrypt de TLS/SSL incial del handshake es el mayor pico de performance. Si se hace en los servidores backend, cada cambio de servidor requiere re-autenticar, evitar este proceso mejorará la performance y permitirá una mejor utilización de los backends.
Los certificados que soportan TLS/SSL Termination son CA, EV, Wildard y Self-signed.
En caso de que el escenario no permita TLS/SSL Termination por razones de requerimiento de compliance, seguridad o compatibilidad con la Aplicación de Backend, Azure App Gateway tiene la capacidad de encriptación end-to-end.
En el proximo post configuraremos TLS/SSL Termination en Azure App Gateway en un escenario de prueba.
Leave a Reply