Cómo ya he comentado en otras ocasiones, para publicar los distintos servicios Web de Lync debemos utilizar un Proxy Inverso o Reverse-Proxy, para ello he publicado distintos artículos sobre IIS ARR y TMG:
- Lync Server: Reverse-Proxy requisito indispensable
- ¿Qué debemos tener en cuenta si tenemos un Proxy en nuestra red cuando implementamos Lync Server?
- Cómo podemos publicar nuestros servicios de Lync (Exchange, WAC, …) vía reverse-proxy (IIS ARR)
- Publicar los servicios Web de Lync Server 2013 mediante TMG 2010
Pues ahora tocaba hacerlo con Web Application Proxy, un nuevo servicio disponible desde Windows Server 2012 que viene disponible con el Rol de Acceso Remoto. En este caso voy a mostraros como configurarlo pero ya con la versión de Windows Server Technical Preview. Para ello debemos configurar el servicio de federación (AD FS) en uno de los servidores internos de la red, y además configurar el servidor que hará de Proxy Inverso como un AD-FS Proxy. Necesitamos AD-FS para almacenar la configuración del Web Application Proxy y para la configuración de la autorización. Aquí os dejo como casi siempre un esquema de red en donde tenemos los elementos necesarios para configurar este servicio, además os he puesto a la derecha varias opciones de donde podemos situar el Proxy Inverso en nuestra red:
Para configurar Web Applicatio Proxy debemos hacerlo en varias fases que veremos a continuación y son las siguientes:
- Configuración AD FS en un servidor unido al dominio
- Configuración de AD FS Proxy en el servidor que será nuestro proxy inverso con Web Application Proxy
Los requisitos para esta configuración son los siguientes:
- Servidor unido a un dominio (o un controlador de dominio, pero no sería lo más idóneo)
- Una entidad certificadora, puesto que no necesitamos certificados públicos para la configuración de AD FS puesto que será interno
- Un servidor que no esté en el dominio en donde agregaremos el rol de Acceso remoto en donde se configurará el Web Application Proxy y el servicio de Federación.
Como la configuración del Web Application Proxy se almacenará vía AD FS, será lo primero que tenemos que hacer. Para ello utilizaremos un servidor con Windows Server 2012 R2 y agregaremos el rol de AD FS, por lo que desde el Administrador del servidor pulsamos en Administrar – Agregar Roles y pulsamos en Siguiente
Seleccionamos Instalacikón basada en características o en roles y pulsamos en Siguiente
Selecionamos el servidor sobre el cual queremos realizar la configuración de un nuevo rol y pulsamos en Siguiente
Ahora debemos seleccionar Serviciosde federación de Active Directory y pulsamos en Siguiente
Si seleccionar nada, pulsamos en Siguiente
Pulsamos en Siguiente
Para iniciar el proceso de instalación, pulsamos en Instalar
Una vez que finalice la instalación del rol de Federación, debemos iniciar el asistente de configuración, para ello pulsamos en Configure el servicio de federación en este servidor
Como es nuestro primer servidor de federación, seleccionaremos Crear el primer servidor de federación de una granja de servidores de federación y pulsamos en Siguiente
Seleccionamos una cuenta con permisos de administrador de dominio y pulsamos en Siguiente
Previo a este paso, debemos tener instalado en el servidor un certificado para poder utilizarlo en el servicio de federación, este certificado puede ser privado puesto que únicamente (en este artículo) será utilizado para conectarse el Web Application Proxy. Aquí os dejo un artículo como configurar una CA en Windows Server 2012: Windows Server 2012, Instalación de una CA
Una vez que ya tenemos nuestro certificado, únicamente debemos seleccionarlo (o importarlo en este momento), escribir un nombre para el servicio de federación (debéis crear el registro DNS correspondiente) y escribir un nombre para este servicio.
Ahora debemos especificar una cuenta de dominio (sin privilegios) como cuenta de servicio, si queréis ampliar información sobre la cuenta de servicio aquís tenéis un KB de MSFT https://technet.microsoft.com/en-us/library/hh831782.aspx. Una vez que hemos creado la cuenta y la hemos configurado, pulsamos en Siguiente
Debemos crear una base de datos para la configuración, bien podemos crearla usando Windows Internal Database o utilizando un servidor de SQL. En este caso utilizaremos la opción de Crear una base de datos en este servidor que usa Windows Internal Database
Por último, nos muestra un resumen de la configuración que vamos a realizar a través del asistente, si todo está correcto, pulsamos en Siguiente
Se comprueban los requisitos del sistema para verificar que nuestro servidor cumple con todos ellos, si es así pulsamos en Configurar para iniciar el proceso
Una vez que se ha completado el proceso de instalación, nos los mostrará con la siguiente pantalla, para cerrar esta ventana pulsamos en Cerrar
Ahora lo único que nos queda es probar que el servicio funciona correctamente, para ello accedemos a la siguiente URL: https://adfs.asirlab.com/adfs/ls/IdpInitiatedSignon.aspx y pulsamos en Iniciar sesión
Nos solicitará credenciales y se las especificamos para comprobar que funciona correctamente
Si todo ha salido bien, veremos una pantalla similar a esta. Ahora sí que damos por finalizada la configuración de AD FS que necesitamos para almacenar la configuración del AD FS Proxy que será el servidor que tiene el rol de Proxy Inverso (Web Application Proxy)
Hasta ahora hemos completado la primera parte de la configuración que necesita nuestro Proxy Inverso, por lo que ahora debemos realizar las distintas configuraciones en el propio servidor que hará de proxy. Antes comentaros que el debería tener la siguiente configuración:
- Dos tarjetas de Red con una subred IP diferente en cada interface
- Sólo configurar la puerta de enlace y servidores DNS públicos (8.8.8.8 u otro público) en la interface que tengamos como externa
- Si tenemos una DMZ o distintas VLAN internas, debemos configurar las rutas estáticas necesarias para que desde la interface interna podamos tener conexión con las redes privadas en donde tenemos los servidores que vamos a publicar y el acceso al servicio de AD FS
- Un certificado para configurarlo en las reglas de publicación del Proxy Inverso
- Un certificado (o el mismo que el de la publicación de servicios si procede) para el servicio de Federación
- Modificar el fichero HOSTS del equipo para que pueda resolver los distintos nombres de los servidores que vamos a publicar o que necesitemos tener acceso (AD FS)
- El FQDN del servidor debería ser con el sufijo del dominio interno que tenemos
Una vez dicho esto, vayamos paso a paso configurando todo lo necesario para configurar el rol de Acceso Remoto y preparar la configuración del Web Application Proxy. Para ello, una vez configuradas la tarjetas de red del servidor, establezcamos el FQDN del servidor y modifiquemos el fichero HOSTS del servidor:
Seleccionamos el servidor sobre el cual vamos a querer agrear el rol de acceso remoto, en este caso es el servidor sobre el cual estamos conectados y pulsamos en Next
Seleccionamos el Rol de Remote Access y pulsamos en Next
No seleccionaremos nada y pulsamos en Next para continuar con la instalación
Pulsamos en Next
Ahora debemos seleccionar el servicio que queremos instalar dentro del ROL de Remote Access que previamente hemos seleccionado, por lo que marcamos la casilla de Web Application Proxy
Nos muestra los componentes que tiene que agregar adicionalmente al servicio de Web Application Proxy y pulsamos en Add Features
ahora ya tenemos todo lo necesario para continuar, para ello pulsamos en Next
Nos muestra un resumen de lo que se va a instalar, si estamos de acuerdo pulsamos en Install para iniciar el proceso
Una vez que termine la instalación, nos mostrará la siguiente pantalla en donde nos mostrará una opción de configuración del Web Application Proxy para ellos pulsamos en Open the Web Application Proxy Wizard
Una vez abierto el asistente de configuración, nos mostrará una pantalla en donde nos indica que debemo configurar inicialmente el servicio de federación, para iniciar el proceso pulsamos en Next
Si tanto la URL, como las credenciales y el certificado presentado están correctos, nos mostrará la siguiente pantalla indicándonos que se ha completado de forma correcta.
Ahora lo único que nos queda es crear las reglas de publicación necesarias para nuestro Lync, para ello pulsamos en Publish
Pulsamos en Next
Cómo para los servicios de Lync no utilizamos preautenticación, seleccionamos Pass-through y pulsamos en Next
Debemos cubrir los siguientes campos disponibles en la publicación del servicio:
- Nombre: Será el nombre descriptivo que tendrá la regla de publicación
- External URL: Dirección web del servicio que vamos publicar, en este caso voy a publicarlos servicios web externos de Lync y este es el FQDN que había establecido en la topología de Lync (lync.asirlab.com)
- External Certificate: Es el certificado que vamos a presentar a los usuarios externos cuando se conecten a los distintos servicios de Lync
- Backend serve URL: Dirección web del servidor que vamos a publicar, al igual que hacemos con otros proxy debemos especificar la URL y el puerto 4443 que se corresponde con el sitio web externo que tenemos en nuestros front-END
Ahora que ya tenemos todos los campos cubiertos, pulsamos en Next
Nos muestra un resumen de la configuración que se va a aplicar vía powershell (Add-WebApplicationProxyApplication) y para que se cree la regla de publicación pulsamos en Publish
Y por último en Close y ya tenemos nuestra primera regla de publicación de los servicios web de Lync
Y aqui tenemos nuestra primera de Lync en el Web Application Proxy, ahora tendremos que hacer todas las necearias como por ejemplo:
- meet.asirlab.com (Reuniones en línea)
- dialin.asirlab.com (Conferencias Telefónicas)
- lyncdiscover.asirlab.com (Cliente Lync Móvil)
- office.asirlab.com (Office Web App)
- mail.asirlab.com (EWS de Exchange)
Por mostraros una diferente a Lync, aquí tenéis la regla de publicación del Office Web, en mi caso he puesto la dirección externa y el servidor interno siempre con la misma URL pero puede ser diferente sin problema alguno.
Claramente lo que nos quedaba por haacer es probar que podíamos conectarnos, por lo que tratamos de conectarmos por ejemplo a la URL de las reuniones en línea y vemos que funciona perfectamente.
Algo que debemos hacer es configurar el tiempo de desconexión de las conexiones que pasan por el Proxy, como por ejemplo el cliente Lync Móvil. Si recordáis había pulicado este articulo sobre las desconexiones del cliente Lync móvil através del IIS ARR (Cliente Lync Móvil 2013: La información del servidor ha cambiado. Reinicia Lync). Por defecto MSFT recomendaba poner un valor de 200 segundos
y con este valor los clientes Lync de móvil cuando no tenían la aplicación en primer plano a los 200 segundos se desconectaban y claro eso genera problemas a los usuarios finales que deben reconectar cada poco tiempo. Para esto se configuraban las desconexiones a los 960 segundos, algo más razonable y que permite tener la aplicación en segundo plano iniciada durante un tiempo prudencial:
Por lo que debemos cambiarlo a 950 y así ajustarlo de forma adecuada, para ello ejecutamos el siguiente cmdlet: Set-WebApplicationProxyAppliation -ID xxxxxx.xxxxxx.xxxxxx.xxxxxxx -InactiveTransactionsTimeouts 950. El ID de la aplicación lo veis con ejecutando el cmdlet Get-WebApplicationProxyApplication -Name Lync | fl
De esta forma el valor por defecto de desconexión establecido a 300 segundos (más que la recomendación de 200 segundos en el IIS ARR), lo hemos pasado a 950.
Lo que debemos hacer es crear una reglapara el tráfico HTTP de entrada y listo, ya tendremos acceso a los servicios web publicados en el PROXY através del puerto 80 en TCP
Si ahora volvemos a conectarmos al servicio web publicado, ya tendremos acceso al mismo
Por último hacer un breve comentario sobre las tres posibles (hay más, pero como norma general) ubicación del Proxy Inverso en nuestra red, he esquematizado los más habituales:
Opción 3: Menos común y la peor opción, es tener el proxy con dos interfaces en la misma subred, no tiene ni sentido tenerlo así. El proxy también puede funcionar con una sola IP, por lo que es lo mismo que tener dos interfaces con la misma subred. Es común en las empresas pequeñas tener este esquema, porque tienen un router y una interface LAN que está en la misma subred IP que la red interna para que los equipos se puedan conectar a internet. Pero si bien es cierto que con este escenario no tenemos una capa de seguridad a nivel de filtrado IP, puesto que si un atacante compromenten el Proxy, por lo menos a nivel IP ya se encuentra en la misma subred. Esto facilitará al atacanque descrubrir distintos servicios de la red local, los equipos, etc… si estuviese en otra subred IP se podrían aplicar de forma "más efectiva" distintos filtrados, porque realmente el Proxy Inverso solo necesita comunicarse con los equipos de la red coporativa que van publicar sus servicios a internet (para más cosas, pero vamos por se escueto)
Y ya dicho esto, ahora que cada uno tome las decisiones que crea oportunas para situar su Proxy Inverso en su red, el riesgos que quiera asumir cada uno ya …
Os dejo algunos artículos que os podrían ser de interés con respecto al Proxy Inverso para una topología de Lync:
- Lync Server: Reverse-Proxy requisito indispensable
- ¿Qué debemos tener en cuenta si tenemos un Proxy en nuestra red cuando implementamos Lync Server?
- Cómo podemos publicar nuestros servicios de Lync (Exchange, WAC, …) vía reverse-proxy (IIS ARR)
- Publicar los servicios Web de Lync Server 2013 mediante TMG 2010
- Cliente Lync Móvil 2013: La información del servidor ha cambiado. Reinicia Lync
- Certificados SAN o Wildcard para nuestra implementación de Lync Server
- Cómo publicar todos los servicios de Lync, Exchange y WAC únicamente con una IP Pública
- Lync Server 2013: Error de publicación de WAC vía TMG 2010