Microsoft Lync Server
Header

Seguramente muchos de vosotros utilizáis Lync como sustituto de vuestras antiguas PBX, y en vez de utilizar las líneas RTB/RDSI/PRI tenéis un SIP Trunk con un ITSP (Internet Telephony Service Provider) para realizar vuestras llamadas a la PSTN. ¿Pero cuantos de vosotros os preocupa la seguridad del SIP TRUNK? ¿Qué medidas estáis adoptando? Desde mi punto de vista es algo que debemos tener muy en cuenta, sobre todo en entornos en los cuales atravesamos la WAN para conectarnos con nuestro ITSP (Lync Server: Direct SIP, Trunk SIP e Inter-Trunk Routing). En el poder capturar tráfico SIP y digitalizarlo es un proceso sencillo, teniendo las herramienta adecuada es casi cuestión de segundos.

Tenemos múltiples herramientas de análisis de tráfico de red, y que encima son capaces de convertir esos paquetes RTP en ficheros de audio (wav, mp3, etc..) para que podamos reproducirlos con total claridad. Aquí os muestro una captura (el audio me lo reservo) de Wireshark (www.wireshark.org). La captura se realiza interceptando tráfico RTP de un SIP TRUNK sin TLS, por lo que para el wireshark será una tarea sencilla:

vpn_con_certificados_ndes_35.png

Una vez que tenemos el tráfico deseado capturado, solo tenemos que convertir estos paquetes en ficheros de audio o reproducirlos directamente, para ello vamos al menú Telephony – VoIP Callsvpn_con_certificados_ndes_36.png
y aquí tenemos las llamadas de VoIP detectadas

vpn_con_certificados_ndes_37.png
Si queremos revisar flujo de las comunicaciones de esta llamada, pulsamos en Flown y mirad que "bonito"

vpn_con_certificados_ndes_39.png
Y si queremos escuchar la conversación de esa llamada, pulsamos en Player y luego en Decode

vpn_con_certificados_ndes_38.png

ya tenemos la conversación preparada para se reproducirla, pulsamos en la pista que queremos reproducir y se habilitará el botón de Play

vpn_con_certificados_ndes_40.png

Aquí lo único "complicado" ha sido interceptar el SIP Trunk y que desde una tercera máquina (mi portátil) he podido capturar el tráfico de red. Si implementamos un SIP TRUNK vía TCP, esto es lo que puede ocurrir si alguien nos intercepta este tráfico de red y es capaz de capturarlo. Por desgracia muchos ITSP es como os van a entregar el SIP TRUNK, así que siempre que sea posible solicitarles alguna de estas medidas de seguridad:

– Establecer una VPN con IPSec Site-to-Site

– Protocolo de Transport  SIP mediante TLS

En el caso de que no podamos obtener un SIP Trunk mediante alguno de los dos escenarios comentados, deberíamos realizar ciertas configuraciones (igualmente siempre recomendadas):

  • Añadir una segunda tarjeta de red al mediation server, para configurar el SIP Trunk mediante esa tarjeta y situarla en una DMZ.
  • Crear una subred lo más pequeña posible en el número de direcciones disponibles para hosts (/30), de tal forma que solo exista conectivdad "local" entre el dipositivo de seguridad y el mediation server. Ni hay que decir que la subred debe ser diferente a la de la red local
  • Establecer una puerta de enlace solo en la interface de red que utilizaremos para conectarnos al ITSP, y para el resto de redes utilizar rutas estáticas con interface de salida (Edge Lync: Configuración de Red (Parte I), mirad el esquema de host seguro)
  • Deshabilitar protocolos innecesarios o más bien solo dejar los necesarios: Protocolo de Internet versión 4 o 6, Programador de Paquetes QoS (si se ha implementado)
  • Configurar el filtrado de IP Origen (IP del ITSP) en la regla de publicación de vuestro dispositivo de seguridad
  • Definir únicamente los puertos necesarios en la regla de publicación, tanto de entrada como de salida
  • En la regla de publicación del SIP Trunk, definir la franja horaria en la que la regla estará activa y permitirá que se pueda utilizar el SIP Trunk
  • Habilitar la inspección del protocolo SIP siempre que sea posible y vuestro dispositivo de seguridad lo soporte
  • Habilitar registro de LOGS y configurar ciertas alertas (las justas y necesarias, porque sino luego se terminarán no revisando) a un servidor de recolección de registros (Syslog)

Como ya sabéis existen varias formas de conectar a Lync a una PBX o ITSP o Gateway de Voz, mediante SIP Trunk o Direct SIP. En este artículo de hace unas semanas había explicado las diferencias: Lync Server: Direct SIP, Trunk SIP e Inter-Trunk Routing. En todo caso por resumir aquí os dejo la explicación de las diferencias entre ambos términos:

Trunk SIP: Conexiones SIP entre dos dispositivos independientes,  por ejemplo nuestro servidor Lync y un ITSP o enlaces SIP entre dos sedes conectadas mediante VPN, MPLS, etc.
 
Direct SIP: Son conexiones SIP entre dos dispositivos que se conectan de forma directa en la misma red local, por ejemplo nuestro servidor Lync y un enlace de red telefónica conmutada (RTC) o un sistema IP-PBX. Pero siempre de forma local, en ningún momento se conecta fuera de la red local

Teniendo en cuenta esta, veamos que debemos hacer si configuramos un Direct SIP entre Lync y una IP-PBX:

  • Configurar en nuestros switch L2 o L3 una VLAN de Voz
  • Añadir una segunda tarjeta de red al mediation server y conectarla a la VLAN de Voz
  • Conectar la tarjeta de red de la IP-PBX  la VLAN de Voz
  • Deshabilitar protocolos innecearios o más bien solo dejar los necesarios: Protocolo de Internet versión 4 o 6, Programador de Paquetes QoS (si se ha implementado)
  • Crear una subred lo más pequeña posible en el número de direcciones disponibles para hosts (/30) si solo disponemos de un Mediation y una IP-BPX
  • Configurar Port-Security en los puertos del switch si lo soporta
  • Si tenemos un switch L3 filtremos el Inter-VLAN Routing con ACL u otro mecanismo
  • Evitar subir la VLAN por algún puerto troncal configurado en el Switch

Estas son algunas de las mediadas que creo que se deberían adoptar como básicas, pero entiendo que también es cuestión del hardware del que dispongáis. Sobre todo en entornos en los que no podemos utilizar TLS, que es lo que utiliza Lync por defecto. Además, como veis en las capturas de Wireshark se utilizan RTP (Real Time Protocol) pero en Lync por defecto utiliza SRTP (Secure Real Time Protocol). Aquí os dejo una tabla resumen de  la utilización de TLS o SRTP:

Tipo de tráfico Protegido por
Entre servidores
MTLS
De cliente a servidor
TLS
Mensajería instantánea y presencia
TLS (si se ha configurado para TLS)
Audio, vídeo y uso compartido de escritorio
SRTP
Uso compartido de escritorio (señalización)
TLS
Conferencia web
TLS
Descarga del contenido de las reuniones, descarga de la libreta de direcciones y expansión de grupos de distribución
HTTPS

 

Como podemos apreciar el tráfico de las conversaciones de audio serán encriptadas por defecto. Podemos cambiar este comportamiento (NO RECOMENDADO) con el siguiente cmdlet:

Set-CsMediaConfiguration [-EncryptionLevel <SupportEncryption | RequireEncryption | DoNotSupportEncryption>]

Si queremos ver la configuración actual escribimos el siguiente cmdlet:

Get-CsMediaConfiguration

vpn_con_certificados_ndes_41.png

Más info: http://technet.microsoft.com/es-es/library/gg398580.aspx

Como podéis observar yo he actualizado el EncryptionLevel a SupportEncryption porque es necesario para poder comunicase con sistemas de mensajeria pública (MSN). Para ello se tienen que ejecutar los dos siguientes cmdlets:

Set-CsMediaConfiguration -EncryptionLevel SupportEncryption

Set-CsExternalAccessPolicy Global -EnablePublicCloudAccess $true -EnablePublicCloudAudioVideoAccess $true

Más info: http://technet.microsoft.com/es-es/library/gg398177(v=ocs.14).aspx

Además en cada configuración de puerta de enlace IP/RTC es donde especificaremos el protocolo de transporte SIP:  TCP o TLS

vpn_con_certificados_ndes_42.png

Siempre que sea posible, claramente debemos utilizar TLS. Si bien también es cierto, que no todos los Gateway de Voz o IP-PBX a los que nos queremos conectar soportan TLS de ahí que busquemos alternativas que nos permitan garantizar el aislamiento del tráfico de red de posibles escuchas o  llamadas fraudulentas. Se  pueden aplicar más medidas de seguridad, pero para ello se necesaria hardware específico y más carga administrativa en algunos casos, la idea inicial del artículo era dar una visión sencilla de lo que debemos hacer como mínimo para proteger vuestro sistema. Si bien es cierto que Lync ya tiene implementado sus mecanismos de seguridad, pero cuando queremos conectarlos con otros sistemas ya habéis visto que puede ser vulnerable.

Debemos ser conscientes que existen múltiples formas de atacar a los sistemas de telefonía, por lo menos debemos tener claro ciertos conceptos antes de implementar este tipo de servicios en cualquier cliente.

Espero que os sea de utilidad!!!

Algo que siempre debemos monitorizar en una integración de Lync  con la UM de Exchange, es la utilización de este servicio por parte de los usuarios. De tal forma que podamos revisar ciertos aspectos que debemos tener en cuenta, como la calidad de las llamadas, la carga de trabajo del servidor, etc.. Ahora en Exchange 2013 tenemos la posibilidad de forma sencilla, de tener ciertas estadísticas de la utilización de la mensajería unificada. Para ello nos vamos al Centro de Administración de Exchange (ECP) – Mensajería Unificada – Estadísticas de llamadas, y odemos mostrar las estadísticas de las llamadas a nivel global o por usuario

registro_llamadas_UM_Exch_2.png
Ahora tenemos tres opciones de filtrado:
  • Mostrar: Diariamente (90 días) – Mensualmente (12 Meses) – Todo
  • Plan de marcado de mensajería Unificada: Elegimos el plan de marcado sobre el cual queramos sacar las estadísticas
  • Puerta de enlace IP de mensajería unificad: Elegimos la puerta de enlace sobre la cual queremos que se nos muestren los resultados filtrados
Una vez que vayamos elgiendo las distintas opciones, ya se van aplicando los filtros y nos va mostrando los datos en la parte inferior:

registro_llamadas_UM_Exch_3.png

Ahora podemos explotar los datos de desde una Excel que ya nos muestra para su descarga, primero debemos exportar los datos a CSV  y luego importarlos en la plantilla que debemos descargarnos desde el vinculo que tenemos disponibles en la misma pantalla:

registro_llamadas_UM_Exch_4.png
Ahora abrimos la excel y vemos que en la primera hoja tenemos la ayuda de como debemos utilizarla

registro_llamadas_UM_Exch_5.png
Por último lo que debemos hacer es exportar los datos que hemos filtrado anteriormente, para ello podemos hacerlo de dos formas:

Exportar día: Exportaremos a CSV el día selecionado

Copiar todas las filas al portapapeles: Copiará todas las filas al portapapales y luego podremos pegarlo estos en una excel para guadarlo como CSV y luego importarlo en la plantilla que nos hemos descargado.

registro_llamadas_UM_Exch_6.png

Una vez que tenemos nuestro CSV, abrimos la plantilla de Excel y pulsamos en Import CSV

registro_llamadas_UM_Exch_7.png
y automáticamente cubirá las distintas hojas

CDRs:  The imported call data records for the day

registro_llamadas_UM_Exch_8.png

Top Auto Attendants: A list of the auto attendants in your system that are used most frequently.

registro_llamadas_UM_Exch_16.png

Top Callers: A list of the most frequent callers, sorted by frequency.

registro_llamadas_UM_Exch_9.png

Top Recipients: A list of the recipients who were called most frequently, sorted by   frequency.

registro_llamadas_UM_Exch_10.png

Total Calls per Hour: The total number of calls and the average NMOS score per hour.

registro_llamadas_UM_Exch_11.png

Dashboard: A set of graphs that chart the reports listed above.

registro_llamadas_UM_Exch_12.png
registro_llamadas_UM_Exch_13.png

registro_llamadas_UM_Exch_14.png

A parte de la exportación a CSV, podemos ver la información detalla de la llamada

registro_llamadas_UM_Exch_17.png
Como os comentaba al principio del artículo, podemos ver la estadísticas de llamadas a nivel de global o por usuario, ahora vamos a ver las llamadas por usuario. Para ello vamos igualmente  al Centro de Administración de Exchange (ECP) – Mensajería Unificada – Estadísticas de llamadas – Registros de llamadas de usuarios. Ahora debemos seleccionar un usuario desde el botón  Seleccionar un usuario…  y nos mostrará el registro de llamadas de los últimos 90 días

registro_llamadas_UM_Exch_18.png

Ahora solo tenemos dos opciones disponibles:

  • Copiar todas las filas al portapapeles

registro_llamadas_UM_Exch_20.png

  • Detalles de la calidad de audio

registro_llamadas_UM_Exch_21.png

Creo que puede ser de mucha utilidad, ahora cada uno que le de el enfoque necesario para implementación. Además, siempre es bueno tener esto en cuenta a la hora de habilitar la UM para integrarlo con Lync: Impacto de habilitar la Mensajería Unificada de Exchange  a los usuarios de Lync

Espero que os sea de utilidad!!!

Desvio de Llamadas

abril 29th, 2013 | Posted by Santiago Buitrago in Lync Server - (0 Comments)

Una opción muy interesante es el desvío de llamadas, tenemos varias opciones que vamos a comentar a continuación:

 Desvio_Llamadas.png

La primera opción es desactivar el desvío de llamadas, las llamadas sonarán directamente en el propio cliente de Lync. Por defecto se establece como número principal el de trabajo, y se puede configurar que sino contesta la llamada se desvie a:

– Buzón de Voz

– Teléfono de trabajo

– Delegado

– Número nuevo o contacto 

Además de configurar el timeout de la llamada antes de redirigirla, por defecto son 10 segundos.

Ahora vamos a ver las otras dos opciones: 

"Desviar mis llamadas a"  y ahí podemos elegir entre varias opciones:

– Buzón de Voz (si lo tenemos habilitado): Voice Mail de Exchange

– Números de teléfonos asignados: Los números que tiene el usuario en su ficha, a excepción del teléfono de trabajo puesto que se supone que la llamada es a dicho número

– Usuario/s delegados: Usuarios a lo scuales se les permite recibir o realizar llamadas en mi nombre

– Nuevo número o contacto: Nos permite escribir un número diferente a los establecidos anterioremente en su ficha

– Mis Delegados: A todos los usuarios delegados para la gestión de las llamadas del usuario

"LLamar simultaneamente a"  y ahí podemos elegir entre varias opciones:

– Números de Teléfonos asignados: Los números que tiene el usuario en su ficha (Móvil, Trabajo)

– Usuario/s delegados: Usuarios a lo scuales se les permite recibir o realizar llamadas en mi nombre

 -Nuevo número : Nos permite escribir un número diferente a los establecidos anterioremente en su ficha
 
– Mis Delegados: A todos los usuarios delegados para la gestión de las llamadas del usuario
 
– Mi grupo de llamada de equipo: un grupo de usuarios delegado para mis llamadas

Si se configura el Desvío de llamadas, al conectar una llamada, el autor de la llamada verá el número configurado para recibir las llamadas desviadas. Esto solo pasa con las llamadas de Lync a Lync.

Además podemos configurar el desvío de llamadas y establecer cuando se aplicará, todo el tiempo o en función de su horario laboral establecido en el Outlook

Desvio_Llamadas_1.png

Espero que les sea de uitlidad!!!

 Lync Server 2010 requiere varios atributos y clases nuevos y modifica algunos de los ya existentes.

  • Extensiones de esquema:
    • Extensiones de objetos de usuario
    • Extensiones para las clases de Office Communications Server 2007 y de Office Communications Server 2007 R2 con el fin de mantener la compatibilidad con versiones anteriores.
  • Datos (almacenados en el esquema extendido de Lync Server y en las clases de esquema existentes):
    • Identificador uniforme de recursos (URI) de SIP del usuario y otros parámetros de usuario
    • Objetos de contacto para aplicaciones como Grupo de respuesta y Operador de conferencia
    • Un puntero al Almacén de administración central
    • Cuenta de autenticación Kerberos (un objeto de equipo opcional)

  

En la tabla siguiente se describen las clases de Active Directory que agrega Lync Server 2010.

Clases agregadas por Lync Server 2010

Clase Descripción
msRTCSIP-ConnectionPoint
Punto de conexión de servicio (SCP) general para especificar el equipo como un servidor que ejecuta Lync Server.
msRTCSIP-GlobalTopologySetting
El objeto de configuración de topología global.
msRTCSIP-GlobalTopologySettings
Contenedor para abarcar los objetos de configuración de topología global.

 

En la tabla siguiente se describen los atributos de Active Directory que agrega Lync Server 2010.

 

Atributos agregados por Lync Server 2010

Atributo Descripción
msRTCSIP-AcpInfo
Este atributo almacena información sobre el proveedor de servicios de audioconferencia del usuario.
msRTCSIP-DeploymentLocator
Este atributo se usa en una topología de dominio dividido y contiene un nombre de dominio completo (FQDN).
msRTCSIP-GroupingID
Este atributo es un identificador único de un grupo que se usa para agrupar entradas de la libreta de direcciones.
msRTCSIP-OwnerUrn
Este atributo es el nombre de recursos uniforme (URN) del propietario para el contacto de la aplicación.
msRTCSIP-PrivateLine
Este atributo contiene el identificador de dispositivo de un dispositivo de línea privada.
msRTCSIP-TargetUserPolicies
Este atributo almacena los pares nombre-valor para directivas de destino de un usuario de Lync Server.
msRTCSIP-TenantId
Este atributo almacena el identificador único del arrendatario. Este identificador debe ser único en todos los arrendatarios.
msRTCSIP-UserPolicies
Este atributo almacena pares nombre-valor para directivas de usuario.
msExchUCVoiceMailSettings
Este atributo de varios valores contiene la configuración del correo de voz. Este atributo se comparte con Mensajería unificada de Exchange (UM).

 

 
En la tabla siguiente se describen las clases de Active Directory que modifica Lync Server 2010.

Clases modificadas por Lync Server 2010

Clase Cambio Clase o atributo
Organizational-Unit
add: mayContain
msRTCSIP-TenantId
User
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
msRTCSIP-AcpInfo
msRTCSIP-GroupingID
msRTCSIP-OwnerUrn
msRTCSIP-TargetUserPolicies
msRTCSIP-TenantId
msRTCSIP-UserPolicies
msRTCSIP-DeploymentLocator
msRTCSIP-PrivateLine
Contact
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
add: mayContain
msRTCSIP-AcpInfo
msRTCSIP-GroupingID
msRTCSIP-OwnerUrn
msRTCSIP-TargetUserPolicies
msRTCSIP-TenantId
msRTCSIP-UserPolicies
msRTCSIP-DeploymentLocator
msRTCSIP-PrivateLine
Group
add: mayContain
add: mayContain
msRTCSIP-GroupingID
msRTCSIP-TenantId
msRTCSIP-GlobalTopologySetting
add: mayContain
add: mayContain
add: mayContain
msRTCSIP-BackEndServer
msRTCSIP-ExtensionData
msRTCSIP-ServerVersion
Mail-Recipient*
add: mayContain
msExchUCVoiceMailSettings

 

Fuente: http://technet.microsoft.com/es-es/library/gg398944.aspx 

Vamos a ver como podemos cambiar el aspecto del formulario que nos presenta Lync por defecto para las reuniciones online. Soy un enamorado de cambiar este tipo de pantallas y dejar todo corporativo, los fondos de pantalla, las pantallas de login de los equipos, los formularios del TMG, etc.. y como no también las de Lync, por lo menos en la medida de lo posible.

Como sabemos el formato por defecto de Lync es el siguiente: (no os quedéis con lo del error porque he accedido directamente a la URL sin ninguna reunión programada)

Lync_Meeting.png
Básicamente para hacer algo sencillito vamos a cambiar el logo de Lync, el color del texto y quitar el logo de Office. Para ello tenemos que acceder a los directorios de instalación de Lync para buscar los ficheros que debemos modificar:

Logo: CommunicatorLogoType.png

Hoja de Estilos: ReachClient.css

C:\Program Files\Microsoft Lync Server 2010\Web Components\Join Launcher\Int\Resources

C:\Program Files\Microsoft Lync Server 2010\Web Components\Join Launcher\Ext\Resources

C:\Program Files\Microsoft Lync Server 2010\Web Components\Reach\Int\Resources

C:\Program Files\Microsoft Lync Server 2010\Web Components\Reach\Ext\Resources
 
En el código HTML de las páginas no se especifica el tamaño de las imágenes que podemos cambiar por el fichero CommunicatorLogoType.png, pero hay que tener cuidado para no modificar el tamaño del formulario si queremos utilizar el que ya tenemos. Es cuestión de ir probando distintos tamaños hasta que veáis que no modificar el formulario y está a vuestro gusto. Para el resto de imágenes os dejo aqui una captura de pantalla en donde indico lo que debéis modificar:
 
Lync_Meeting-1.png
Y por último si queremos tener nuestro tipo de letra corporativa y nuestros colores, debemos modificar la hoja de estilos en el fichero ReachClient.css.
 
Los cambios en los estilos solo se han realizado sobre colores, se cambian los colores existentes por los colores corporativos de la empresa:
 
#97233f
#555555
 
A continuación se indica las etiquetas de los estilos modificados:
Lync_Meeting-2.png
Lync_Meeting-3.png
Y como resultado quedaría así:
Lync_Meeting_Asir.png
Este artículo la mitad es de Belén Francisco (una  compañera de la empresa) que se ha encargado de modificar las CSS y el logo, que si fuera por mi gusto por el diseño …..
 
Espero que les sea de utilidad!!