lunes, 2 de mayo de 2016

Despliegue de un sistema de mensajería instantánea sobre Windows (I)

Descripción

Nuestro objetivo es el despliegue de un sistema de mensajería instantánea open source en entorno Windows.

En concreto pretendemos con este post desplegar openFire de Ignite Realtime en nuestra red, openFire es un sistema de sistema de mensajería instantánea open source compilado para varios sistemas operativos, entre ellos Windows.


¿Para qué necesitamos un sistema de mensajería instántanea dentro de nuestra red?

La respuesta obvia es para facilitar la comunicación entre los integrantes de un grupo, en el caso de los departamentos de IT puede ser una herramienta extremadamente útil en casos de deslocalización física , casos en que el correo es demasiado lento para ser tratado con celeridad.

Otra ventaja de un sistema de este tipo es la recepción de alarmas de monitorización de sistemas. El gran problema de estos sistemas es saber qué algo está sucediendo y que las personas adecuadas han recibido las alarmas, derivando la salida de las alarmas de monitorización a este sistema nos aseguramos que la comunicación llega en tiempo.

En la última parte del artículo veremos como integrar Zabbix con el servidor openFire.

OpenFire/Spark

OpenFire es el servidor de mensajería instantánea y chat open source (Apache License) desarrollado por Ignite Realtime, este servidor implementa el protocolo estándar XMPP (Extensible Messaging and Presence Protocol, basado en XML)  , también conocido como Jabber.

Es un servidor sencillo pero adecuado para un entorno empresarial, sobre todo por la inclusión de seguridad y soporte de LDAP.

Spark, por su parte es el cliente de Jabber desarrollado por la misma compañía y se integra perfectamente con OpenFire.

Ademñas de Spark existen multitud de clientes de Jabber, desde un interface web que instalaremos en el propio servidor hasta clientes para Android.

Instalación del servidor: OpenFire

Utilizamos OpenFire de ignite realtime en la última versión disponible en la fecha : v4.0.2 que podremos bajar de la propia web de ignite: https://www.igniterealtime.org


Una vez descargado el instalador (aproximadamente 56 MB) procedemos a lanzarlo


Una vez finalizado vemos la ventana de control de openFire desde donde podemos arrancar y parar el servicio así como el acceso a la consola de administración.



Al ser una primera instalación debemos configurar unas cuantas cosas más :
Idioma


Dominio de mensajería, puertos y encriptación :


Configuración de la base de datos:
Optamos por una configuración sencilla con una bbdd embedida en el software.


Este punto es interesante, si disponemos de Active Directory u otros servidores LDAP podremos configurarlo en este punto:



En nuestro caso optamos por vincularlo a Active Directory:



Introducimos los datos requeridos y realizamos el test Settings, durante unos segundos largos la pantalla queda difuminada realizando el test de conexiones, una vez terminado el test con éxito continuamos.



En este punto podremos tener problemas en dos frentes:
  • Con el Domain Controller elegido
    • En el caso de sistemas en que exista más de un DC, debemos seleccionar el que ostente los roles de Global Catalog y Operation Master.
    • En las pruebas realizadas hemos tenido problemas en el paso final de añadir usuarios administradores.
  • Con las notaciones de los DN pero básicamente es:
    • Base DN: origen de la raíz de búsqueda de los objetos del Active Directorio
    • OU="UnidadOrganizativaUsuarios",DC="dominio",DC="com"
    • Administrator DN:
      • Ubicación completa hasta el usuario que será administrador del sistema de mensajería
    • Ha de tener permisos de búsqueda en el directorio.
      • CN="userLogin",OU="UnidadOrgn",...,OU="UnidadOrg1",OU="UnidadOrganizativaUsuarios",DC="dominio",DC="com"

En los Domain Controllers del Active Directory se puede encontrar la herramienta ADSI edit (dentro de Administrative tools), desde ella podemos navegar por la jerarquía del directorio y nos irá mostrando el Distinguished Name de cada objeto, los parámetros Host y administrator a los que nos referimos.

En el siguiente paso definiremos el nombre mostrado a los usuarios de Active Directorio en el sistema de mensajería así como los filtros que queramos establecer sobre los mismos.

En primera instancia nos interesa dejarlo así para probar el sistema, siempre podremos volver posteriormente a la configuración para añadir filtros.



El último paso relativo al Active Directory es establecer la proyección de los campos de Active Directory para que los recopile el sistema de mensajería.

Dejamos todo por defecto.



Para finalizar la configuración debemos establecer el/los usuarios de Active Directory que serán administradores del sistema de mensajería, para ello introducimos los nombres de usuarios del Active Directory y pulsamos Continue para finalizar el setUp.






Lanzamos la consola de administración desde un navegador y nos loggeamos con el usuario administrador definido en el punto anterior:




Existen diversos errores comunes que pueden ocasionar fallos en el arranque de la consola :

  • Permisos en el directorio de instalación de OpenFire:
    • Verificar la consola si hay errores de creación de ficheros de Log
    • Aunque no es muy ético, salimos del paso dando permisos de Update/Read a Everyone.
  • Error en la página jsp relativa a la BBDD
    • Reinicia el server...
    • Al entrar en la consola volverá a pedir parámetros de configuración pero esta vez funcionará.
  • Puertos Abiertos
    • Habilitar siempre el Firewall del server y permitir el paso de los siguientes puertos
    • 5222-5223, 5229, 5262-5263, 5269, 5275-5276, 7070-7071, 7443, 7777, 9090-9091

Instalación del servicio Windows

Para ejecutar OpenFire como servicio debe instalarse previamente, para ellos debemos abrir un command prompt como administrator (Run as Administrator) y lanzar la siguiente instrucción:




Para evitar problemas de inicio de sesión puede ser necesario modificar el servicio y autenticarlo con las credenciales de usuario con que abrimos la consola de OpenFire.

Instalar SparkWeb

SparkWeb es un servicio web que hace las veces de cliente simple de Jabber, en este caso instalamos el complemento en el mismo server que aloja OpenFire.

En nuestro caso es un Windows 2008R2 y utilizaremos IIS como webServer.

Secuencia de pasos:
  • Agregar Rol Web Server al servidor Windows 2008R2, en caso de no estar ya añadido
  • Descargar sparkWeb de la web de IgniteRealtime (http://www.igniterealtime.org/projects/index.jsp)
  • Descomprimir la carpeta y moverla dentro de c:\inetpub
  • Agregar un nuevo sitio web y establecer como página default SparkWeb.html
  • Bindings: verifica que los puertos utilizados estén libres.
  • Start webSite.
Ahora sólo falta acceder al nuevo sitio mediante un navegador web:





En siguientes entregas veremos el cliente Spark y la integración con Zabbix.

No hay comentarios:

Publicar un comentario