herramienta para la migración y administraci n de

13
Herramienta para la Migración y Administración de Servicios Telemáticos (HMAST) María Leisy González Carrera 1 , Yurenia Hernández Blanco 1 , Yadiel Pérez Villazón 1 , Jailen García González 1 1 Centro de Soluciones Libre. Universidad de las Ciencias Informáticas, Carretera a San Antonio de los Baños, km 2 ½ , Torrens, Boyeros, La Habana, Cuba. CP.: 19370. mlcarrera}@uci.cu, [email protected][email protected], [email protected] Resumen. Los procesos de migración realizados por el Centro de Software Libre en las diferentes instituciones cubanas requieren el cambio de las plataformas privativas instaladas en los servidores para sistemas GNU/Linux. En la actualidad el administrador de los servicios telemáticos de la empresa o institución donde se realiza el proceso de migración administra los servidores, provocando en ocasiones que sea una tarea engorrosa y la existencia de pérdida de datos o no darse cuenta en algún cambio de los ficheros de configuración el cual haya afectado la ejecución de los servicios de estos servidores. La presente investigación tiene como objetivo desarrollar una herramienta sobre tecnologías libres, que de forma remota, realice el proceso de migración de los servidores y su administración. Para ello, se realiza un estudio de las principales herramientas existentes para la administración y migración de servicios telemáticos con el objetivo de obtener sus mejores funcionalidades y adicionarlas al producto final. También se documentan las tecnologías, herramientas y lenguajes de programación utilizados, todo guiado por la metodología de desarrollo SXP. Palabras clave: administración, migración, servicios telemáticos, servidores 1. Introducción En la actualidad, el país cubano se encuentra inmerso en un proceso de migración. Este comenzó en Abril de 2004, con la aprobación del “Acuerdo 084/2004” por el Consejo de Ministros, donde se indica al Ministerio de la Informática y las Comunicaciones (MIC) ordenar el proceso paulatino de migración de Cuba a Software Libre. Posteriormente se crea en el año 2005 el Grupo Ejecutivo Nacional para la Migración presidido por el ministro del MIC, en el cual, el Centro de Software Libre (CESOL) tiene un papel fundamental pues pertenece al Grupo Técnico para la Migración definido en el mismo [Villazón 2013]. El proceso de migración ejecutado con una distribución cubana se ha realizado en empresas e instituciones del país tales como: Empresa de Proyectos (EPRO), Empresa Nacional de Investigaciones Aplicadas (ENIA), Diseño Ciudad Habana (DCH), Empresa Constructora de Obras de Arquitectura e Industriales No. 3 (ECOAIN 3), Centro de Cibernética Aplicada a la Medicina (CECAM), entre otras. Estas tienen instalado en la mayoría de sus servidores Windows Server en alguna de sus variantes, lo que provoca la existencia de una gran dependencia tecnológica hacia estas plataformas. Por lo que uno de los retos para estos organismos lo constituye la migración y administración de los servicios telemáticos hacia tecnologías libres, priorizando la

Upload: others

Post on 18-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Herramienta para la Migración y Administraci n de

Herramienta para la Migración y Administración deServicios Telemáticos (HMAST)

María Leisy González Carrera1, Yurenia Hernández Blanco1, Yadiel PérezVillazón1, Jailen García González1

1Centro de Soluciones Libre. Universidad de las Ciencias Informáticas, Carretera a SanAntonio de los Baños, km 2 ½ , Torrens, Boyeros, La Habana, Cuba. CP.: 19370.

mlcarrera}@uci.cu, [email protected][email protected],[email protected]

Resumen. Los procesos de migración realizados por el Centro de Software Libre enlas diferentes instituciones cubanas requieren el cambio de las plataformasprivativas instaladas en los servidores para sistemas GNU/Linux. En la actualidadel administrador de los servicios telemáticos de la empresa o institución donde serealiza el proceso de migración administra los servidores, provocando en ocasionesque sea una tarea engorrosa y la existencia de pérdida de datos o no darse cuenta enalgún cambio de los ficheros de configuración el cual haya afectado la ejecución delos servicios de estos servidores. La presente investigación tiene como objetivodesarrollar una herramienta sobre tecnologías libres, que de forma remota, realiceel proceso de migración de los servidores y su administración. Para ello, se realizaun estudio de las principales herramientas existentes para la administración ymigración de servicios telemáticos con el objetivo de obtener sus mejoresfuncionalidades y adicionarlas al producto final. También se documentan lastecnologías, herramientas y lenguajes de programación utilizados, todo guiado porla metodología de desarrollo SXP.

Palabras clave: administración, migración, servicios telemáticos, servidores

1. Introducción

En la actualidad, el país cubano se encuentra inmerso en un proceso de migración. Estecomenzó en Abril de 2004, con la aprobación del “Acuerdo 084/2004” por el Consejode Ministros,  donde se indica al  Ministerio  de la Informática y las Comunicaciones(MIC)   ordenar   el   proceso   paulatino   de   migración   de   Cuba   a   Software   Libre.Posteriormente se crea en el año 2005 el Grupo Ejecutivo Nacional para la Migraciónpresidido por el ministro del MIC, en el cual, el Centro de Software Libre (CESOL)tiene un papel fundamental pues pertenece al Grupo Técnico para la Migración definidoen el mismo [Villazón 2013].

El proceso de migración ejecutado con una distribución cubana se ha realizadoen   empresas   e   instituciones   del   país   tales   como:   Empresa   de   Proyectos   (EPRO),Empresa   Nacional   de   Investigaciones   Aplicadas   (ENIA),   Diseño   Ciudad   Habana(DCH), Empresa Constructora de Obras de Arquitectura e Industriales No. 3 (ECOAIN3), Centro de Cibernética Aplicada a la Medicina (CECAM), entre otras. Estas tieneninstalado en la mayoría de sus servidores Windows Server en alguna de sus variantes, loque provoca la existencia de una gran dependencia tecnológica hacia estas plataformas.Por   lo   que   uno   de   los   retos   para   estos   organismos   lo   constituye   la   migración   yadministración   de   los   servicios   telemáticos   hacia   tecnologías   libres,   priorizando   la

Page 2: Herramienta para la Migración y Administraci n de

distribución cubana GNU/Linux Nova. Además, diversas empresas cubanas presentanbajas prestaciones en sus máquinas servidoras.

Debido a  la   importancia  que  tiene  el  uso de  una herramienta  que pueda serutilizada en la ejecución de los procesos de migración de los servicios telemáticos en lasempresas   e   instituciones   cubanas,   la   presente   investigación   tiene   como   objetivo:desarrollar una herramienta que permita la migración y administración de los serviciostelemáticos en dichas instituciones.

2. Materiales y métodos

El método teórico Analítico–Sintético empleado en la presente investigación permitesistematizar en el estudio de las herramientas que administran y migran los serviciostelemáticos. Además, es utilizado en el estudio de diversas fuentes bibliográficas paraextraer   los   elementos  más   importantes   que   se   relacionan   con   la   administración  deservidores.  Teniendo   en   cuenta   las   características   de   cada  una  de   las   herramientasestudiadas se realiza una selección de las principales funcionalidades que debe cumplirla herramienta a desarrollar.

2.1. Herramientas homólogas existentes

Actualmente existe una gran variedad de aplicaciones que permiten la administración deservicios telemáticos. Para el proceso de selección de las funcionalidades que requierela herramienta a desarrollar se realiza un estudio de las herramientas Wedmin, YaST yZentyal. A continuación se detallan cada una de estas herramientas:

2.1.1. Webmin

Webmin es una interfaz web para administrar y configurar sistemas con distribucionesGNU/Linux de forma  local  y remota.  Esta se debe ser  instalada  en cada servidor aadministrar. Además se puede abrir mediante cualquier navegador que soporte tablas,formularios y Java para el módulo de administración de archivos, usando una conexiónmediante SSL por el  puerto 10000. Esta herramienta permite  la configuración de lamayoría de los servicios telemáticos mediante módulos entre los cuales se encuentra:Apache   WebServer,   BIND   DNS   Server,   CVS   Server,   DHCP   Server,   FTP,   Proxy,Jabber, entre otros, para un total de 27 módulos [Webmin]. 

La herramienta  brinda  la  posibilidad  de configurar  sus  módulos,  permitiendocambiar  el  acceso  a   los   ficheros  con  los  que  trabaja,   los  cuales  al   ser  modificadospueden ocasionar que el módulo no funcione correctamente. Lo mismo sucede con losarchivos de configuración de los servicios, que también pueden ser editados. La ayudaque se ofrece a los usuarios no está completa, pues en algunos casos, como el módulode SSH se explica solo los términos que son pocos usados, representando estos un bajopor ciento respecto al número de configuraciones que se muestra en la interfaz. En otrosmódulos la ayuda no está implementada de igual forma, pues se ofrece la del servicioque se esté trabajando y no cómo trabajar en la ventana que se encuentra situado, siendoengorroso el trabajo con el mismo.

Se considera  que el  Webmin  no es  adaptable  a   las  empresas  e   institucionescubanas,   debido   a   que   el   trabajo   con   el  mismo  es   complicado  por   la   cantidad   de

Page 3: Herramienta para la Migración y Administraci n de

configuraciones   que   tiene   en   cada   interfaz   de   usuario.   Además   los   módulosdesarrollados   hace   varios   años   no   han   sido   actualizados,   por   lo   que   puede   causarproblemas cuando se va a administrar un servicio que en Webmin tiene una versión ylos   repositorios   tienen   otra.   Esta   herramienta   tiene   en   cuenta   cada   detalle   deconfiguración de los servicios de redes, por lo que para usar el mismo es necesario quese   tengan   conocimientos   avanzados   respecto   a   la   administración   de   servidores.Tampoco está escrita la ayuda sobre el trabajo en todos los módulos. 

2.1.2. YaST

YaST (acrónimo de Yet another Setup Tool, cuya traducción es "Otra Herramienta deConfiguración Más") es la herramienta de instalación y configuración de openSUSE ySUSE Linux Enterprise. Es popular por su facilidad de uso y atractiva interfaz gráfica,así como por la capacidad de configurar el sistema rápidamente durante la instalacióny/o una vez   terminado  esta.  Es  un proyecto  de  código abierto,  el  cual  está  bajo   lalicencia   GPL,   patrocinado   y   desarrollado   activamente   por   Novell.   YaST   es   laherramienta   con   la   que   interactúa   durante   la   instalación   de   openSUSE.   Se   utilizatambién para configurar sus dispositivos, el entorno de red, los servicios del sistema, laseguridad. Todas estas tareas pueden realizarse desde el Centro de Control de  YaST[YaST].

YaST2   es   la   interfaz   desarrollada   en   QT   para   la   gestión   de   los   serviciostelemáticos que ofrece dicho sistema operativo. La misma está conformada de formamodular,  pero  en  este   caso   los  módulos  no  se   activan  y  desactivan  como en  otrasherramientas similares, sino que hay que instalar y desinstalar cada uno a medida que senecesiten. La instalación de un módulo no significa que se instale el servicio, pues esaopción  la  brinda cuando  se  quiere   configurar  el  mismo.  Entre   los  módulos  para   laadministración   de   servidores   (según   información   publicada   en   el   sitio   oficial   deopenSuse) se pueden encontrar los siguientes:

• DNS y Nombre del Host: Configurar el Nombre del Host (Hostname) y nombrede servidores.

• Servidor DHCP: Configurar un Servidor DHCP.

• Servidor HTTP: Configurar un Servidor Web.

• Hostnames: Asignar nombres de host y alias para las direcciones IP.

• Cliente Kerberos: Configurar un cliente Kerberos.

• Cliente LDAP: Configurar el cliente LDAP.

• Agente de transferencia de correo: Configurar correo.

• Servidor NFS: Configurar un servidor NFS.

• Servidor NIS: Configurar un servidor NIS.

• Cliente NTP: Configurar un cliente NTP.

• Servicios de Red (xinetd): Configurar servicios de Red (xinetd).

• Proxy: Configurar un servidor Proxy.

Page 4: Herramienta para la Migración y Administraci n de

• Administración remota: Instalar la configuración remota.

• Encaminamiento o Routing: Configurar un Rourting.

• Servidor Samba: Configurar el servidor Samba.

• Servidor TFTP: Configurar un servidor TFTP.

Cuando se ejecuta algún módulo de los antes expuestos, lo primero que hace esverificar   si   está   instalado  y   leer   los   archivos  de   configuración  para   comprobar   loscambios realizados desde  la última vez que se ejecutó.  En caso de detectar  alguno,informa al usuario donde se encuentra la modificación y advierte la posibilidad de quepueden ser borrados. La ayuda en los módulos antes mencionados está conformada porpequeños diálogos, donde se describen las opciones que se muestran en la ventana queesté activa en el momento que se seleccionó la opción Ayuda. Aunque siempre brinda laposibilidad  de  ver   la  ayuda,  esta  no suele  ser   lo  más  explicativa  posible,  sino que,muestra lo mismo que se tiene en pantalla sin decir para qué se puede usar cada opciónde configuración mostrada [YaST].

Se considera que esta herramienta no se puede adaptar a las características quetienen   las   empresas   e   instituciones   cubanas  ya  que   solo   está   desarrollada   para   lasdiferentes   versiones   de   openSUSE,   por   lo   tanto,   habría   que   instalar   este   sistemaoperativo en los servidores y no la distribución cubana GNU/Linux Nova Server que esla propuesta para instalar en dichas empresas. Además YaST fue creado principalmentepara la administración completa del sistema operativo desde una sola aplicación,  nopara la administración de servidores.

2.1.3. Zentyal

Zentyal es desarrollada con el objetivo de acercar GNU/Linux a las PYMES (Pequeñasy medianas empresas) y permitirles aprovechar su potencial como servidor de empresa.Es  la  alternativa  en código abierto  a  Windows Small  Business  Server,  basado en   ladistribución  Ubuntu.  Esta  permite   a   los   informáticos  de  una   institución  administrartodos los servicios telemáticos necesarios en su infraestructura de servidores, tales comoel   acceso   a   Internet,   la   seguridad   de   la   red,   la   compartición   de   recursos,   lascomunicaciones, entre otros, de forma sencilla y a través de una única plataforma.

Este producto informático tiene un conjunto de funcionalidades entre los cualesse destacan los siguientes:

• Gestión   de   red:   cortafuego,   servidor   DHCP,   servidor   NTP,   servidor   DNS,soporte para VPN, proxy HTTP.

• Servidor de correo: POP3 e IMAP con SSL/TLS, filtro antispam y antivirus,webmail.

• Comunicaciones:   FTP,   servidor   VoIP,   Voicemail   y   servidor   Jabber   demensajería instantánea.

• Compartición de recursos y trabajo en grupo: servidor de archivos, servidor deimpresión y groupware (agenda, contactos).

• Gestión centralizada de usuarios mediante LDAP, sincronización con Directoriode Windows.

Page 5: Herramienta para la Migración y Administraci n de

• Reportes y monitoreo del sistema, además del envío de notificaciones vía correo,RSS o Jabber.

• Respaldos de configuraciones y datos de manera remota.

• Autoridad de certificación.

La gestión de Zentyal se realiza por medio de un navegador web, por lo tanto,resulta accesible desde cualquier equipo que se disponga en la red. Al ser una soluciónmodular resulta lo bastante flexible para cubrir cualquier necesidad que se tenga en laempresa, ya sea para crear una infraestructura más segura o un servidor de impresióndedicado. También cuenta con una ayuda sencilla que se muestra en la parte superiorizquierda de la mayoría de sus módulos, pero esta solo describe, de forma muy general,para qué sirve el módulo en el que se encuentra y no qué se puede hacer en cada opciónde configuración necesaria [Zentyal]. 

Los autores del presente trabajo consideran que esta herramienta no se puedeadaptar a las necesidades de las empresas e instituciones cubanas, pues a diferencia delWebmin que tenía muchas configuraciones, esta tiene muy pocas con respecto a las quese necesitan. Ejemplo de esto es cuando se adiciona un host virtual, no permite cambiarla dirección donde va a estar lo que se quiere compartir. También hay que destacar queeste sistema no reconoce los cambios que se realicen directamente en los ficheros, porlo que todo lo que se necesite hacer tiene que ser por medio de su interfaz. En caso deescribir   directamente   en   los   ficheros,   Zentyal   lo   borra   cuando   guarda   susconfiguraciones. Esto puede causar problemas ya que muchos administradores tienenficheros   de   configuración   guardados   y   cuando   quieren   restablecerlos   no   pueden,haciendo que los mismos sean completamente dependientes de este sistema para realizarcualquier cambio.

Zentyal se debe instalar en cada servidor a administrar, por defecto instala unservidor web (Apache) y uno de base de datos (Postgres), esto es innecesario cuando sequiere tener  un servidor dedicado a otro servicio.  Este sistema no permite gestionarcorrectamente  un   servidor  DHCP porque  bloquea  algunas  opciones  que  en  muchasocasiones son necesarias. Por ejemplo, no se puede adicionar una nueva subred que noesté   enmarcada   en   la   que   se   instaló   el   servidor.   Solo   permite   las   actualizacionesautomáticas del DHCP con el servidor DNS que él instala y no con otro. En caso dequerer   realizar  actualizaciones  con garantía  de  calidad  de  Zentyal  o  de  uno de  suscomponentes, hay que adquirir una de las versiones empresariales o profesionales, pueslos   que   ofrece   la   comunidad   de   Zentyal   no   son   aprobados   por   esta   organización,teniendo que pagar por la actualización y soporte del mismo. 

2.1.4. Comparación de las herramientas

En   la  Tabla   1  como   se   puede   apreciar   se   realiza   un   análisis   comparativo   de   lasherramientas que anteriormente fueron descritas. Se puede percatar que la herramientaYaST es desarrollada solamente para las diferentes versiones de openSUSE, por tanto,los autores de la presente investigación deciden no utilizar dicha herramienta. Ademásla herramienta que se propone es para la distribución cubana GNU/Linux Nova que seemplea en los procesos de migración, aunque esta puede ser instalada en distribucionesde GNU/Linux Ubuntu.

Page 6: Herramienta para la Migración y Administraci n de

Las herramientas (ver  Figura 1) deben estar instaladas en cada servidor que sedesea administrar, es decir, si se tienen 50 servidores para administrar o configurar susdiferentes servicios telemáticos, el proceso de instalación en cada uno de estos seríacostoso   en   tiempo.   Además,   Zentyal   no   detecta   los   cambios   en   los   ficheros   deconfiguración cuando se realizan de forma manual,  permitiendo afectar el servicio oeliminando el archivo que no reconozca. Ninguna de las tres herramientas realizan elproceso de migración de los servicios a administrar.

Tabla 1: Comparación de las herramientas

Criterios Webmin YaST Zentyal

Sistema Operativo GNU/Linux openSUSE Ubuntu

Licencia BSD GPL GPL

Facilidad de uso Baja Media Alta

¿Requiere estar instalada en el servidor que sedesea a administrar?

Si Si Si

Recubrimiento funcional Alto Medio Medio

Seguridad Media Alta Alta

Detectar cambios manuales en los archivos Si Si No

Migración de servicios homólogos en Windows 

No No No

Nota:   Facilidad   de   uso   (amigable   y   flexible   para   el   usuario),   Recubrimiento   funcional   (cantidad   defuncionalidades) y Seguridad (protección de la infraestructura computacional)

Figura 1: Instalación de las herramientas en cada servidor

Page 7: Herramienta para la Migración y Administraci n de

2.2. Tecnologías, herramientas y metodología de desarrollo 

Para   el   desarrollo   de   la   herramienta   se   adquieren   requisitos   funcionales   de   lasherramientas antes expuestas. Se emplean un conjunto de lenguajes de programacióntales como: Java para la  programación de las  funcionalidades  del   lado del servidor,JavaScript para manipular las interfaces del lado del cliente y lograr dinamismo en laaplicación, y CSS para aplicar estilos a las vistas que se presentan al usuario. Tambiénse utilizan tecnologías y herramientas, Netbeans entorno de desarrollo integrado en suversión  8.0,  Spring   framework   en   su  versión  4.0   encargado  de   la   parte   lógica  delnegocio de la aplicación,  Augeas para escribir en ficheros de configuración y jQuerylibrería de JavaScript para lograr el funcionamiento dinámico de la aplicación. 

JMeter para analizar las prestaciones de los recursos dinámicos y estáticos, talescomo objetos Java, bases de datos y para emular grandes niveles de concurrencia sobreel   servidor   [JMeter].   JUnit   para   asegurar   que   los   métodos   individuales   del   códigofuncionen correctamente.  El  soporte   integrado del   IDE NetBeans  para   la  unidad deJUnit framework de pruebas, permite rápida y fácilmente crear pruebas JUnit y suites deprueba [JUnit].  Nikto para ecanear   las vulnerabilidades de la herramienta.  Entre suscaracterísticas:   soporta  SSL  y  una  configuración  para  usarlo  a   través  de  un  proxy.Comprueba la existencia de elementos desfasados en un servidor. Tiene la posibilidadde exportar un informe en formato csv, html, xml. Permite escanear los puertos de unservidor  a   través  de un Mapeador de redes (Nmap).  El   tipo de escaneado se puedemodificar o “tunear” para excluir las vulnerabilidades que no interesen [Nikto].

La metodología de desarrollo empleada es SXP, compuesta por las metodologíaságiles SCRUM y XP que ofrecen una estrategia tecnológica, a partir de la introducciónde   procedimientos   ágiles   que   permiten   actualizar   los   procesos   de   software  para   elmejoramiento de la actividad  productiva,  fomentando el desarrollo de la creatividad,aumentando el nivel de preocupación y responsabilidad de los miembros del equipo yayudando al líder del proyecto a tener un mejor control del mismo [Peñalver 2008].

SCRUM es una forma de gestionar un equipo de manera que trabaje de formaeficiente y de tener siempre medidos los progresos, de forma que se sepa por donde seanda. XP más bien es una metodología encaminada para el desarrollo; consiste en unaprogramación rápida o extrema, cuya particularidad es tener como parte del equipo, alusuario final, pues es uno de los requisitos para llegar el éxito del proyecto [Ayra yReyes 2009].

3. Resultados y discusión

La investigación propone una herramienta que permite la administración de serviciostelemáticos con la distribución cubana GNU/Linux Nova, siendo esta la que se empleaen los procesos de migración. Además, en futuras versiones se requiere de la migraciónde dichos servicios. La Herramienta para la Migración y Administración de ServiciosTelemáticos (HMAST) administra sus servicios de forma local y remota, y el modo deinstalación  se  puede apreciar  en   la  Figura  2.  La  herramienta  HMAST no  introduceelementos (procesos, programas, ficheros, base de datos) ajenos o innecesarios para elfuncionamiento del servicio telemático en los servidores de manera que se optimice eluso de los recurso en el servidor.

Page 8: Herramienta para la Migración y Administraci n de

Esta puede ser utilizada tanto por usuarios avanzados como por aquellos queposeen  conocimientos  básicos  asociados  a   los   servicios   telemáticos  en  GNU/Linux,pues toda la interfaz está  en idioma Español y las variables  de configuración tienennombres intuitivos que facilitan la inferencia de su funcionalidad. Además, incluye unaayuda que indica los valores admisibles,  así  como una recomendación de cuál  es elvalor más adecuado en cada caso. Al introducir errores en el sistema no se guardan loscambios en el servidor y se le notifica al usuario para que sean corregidos, al  igualocurre cuando se ha modificado un archivo.

La   herramienta   está   compuesta   por   cinco   módulos   (DHCP,   MySQL,   SSH,Bácula  y  Apache)  y  el   sistema base  que permite   la   administración  de   los  usuariosservidores  y   la   gestión  de   los  módulos  de   los   servidores   añadidos   (ver  Figura  3).Además   el   sistema  muestra   los   roles   creados  correspondientes   a   cada  módulo  y  alsistema base, y brinda acceso a la configuración del servidor para el envío de correo. 

Figura 2: Modo de ejecución de HMAST

Figura 3: Mostrar listado de módulos

Page 9: Herramienta para la Migración y Administraci n de

Todos   los  módulos   implementan   las   funcionalidades  de   instalar,   desinstalar,iniciar,   reiniciar  y  detener  el   servicio.  Otras   funcionales   son:  mostrar  el  estado  delservicio  y aplicar,  comprobar  y descartar   los cambios  en las  configuraciones  de losservicios. El módulo SSH no realiza las funcionalidades de instalar, iniciar y desinstalarel servicio porque para poder conectarse a una PC el servicio SSH debe estar instalado,de no ser así, no se realiza la conexión. 

El sistema presenta una arquitectura N­Capas orientada al dominio (ver  Figura4). La interacción entre sus componentes se realiza a través de interfaces y utilizandoinyección de dependencias. 

La responsabilidad de la capa Presentación es presentar al usuario los conceptosde negocio mediante  una  interfaz de usuario (IU),  facilitar   la  explotación de dichosprocesos, informar sobre la situación de los procesos de negocio e implementación delas reglas de validación de dicha interfaz. 

La capa  Aplicación  realiza llamadas a servicios de capas inferiores (dominio),los servicios que publica (servicios de aplicación) tienen la responsabilidad. Esta ubicaoperaciones de trazas, seguridad, envío de correos electrónicos, cuando no forman parteestricta del negocio. 

La capa Dominio constituye el hilo conductor de la aplicación, sus componentessolo   dependen   la   capa   Infraestructura   transversal   (están   totalmente   desacoplados).Además, implementa la lógica de dominio (reglas de negocio), es responsable de lasvalidaciones, define las interfaces de persistencia a datos (contratos de repositorio) perono los implementa y sus componentes no están ligados a tecnologías específicas. 

La   capa  Persistencia  es   responsable   de   contener   el   código   necesario   parapersistir   los   datos.   Los   principales   componentes   que   contiene   la   capa   son   losrepositorios: son clases que implementan los contratos de repositorios definidos en lacapa de dominio. Los repositorios se diferencias de las clases de persistencia a datostradicionales en que los primeros almacenan la información que se está procesando enmemoria, solo persisten los datos realmente cuando se les ordena explícitamente; en lasclases tradicionales cuando se invoca un método estas se salvan constantemente en labase de dato (fichero, xml).

Figura 4: Arquitectura de HMAST

Page 10: Herramienta para la Migración y Administraci n de

La capa Infraestructura transversal es la encargada de promover la reutilizaciónde código, esta alberga las operaciones de seguridad, logging, monitorio del sistema,mecanismos de persistencia reutilizables, validadores genéricos, en fin, todas aquellasoperaciones que se puedan llamar desde otras capas. 

3.1. DHCP

El módulo DHCP se encarga de gestionar los ámbitos y las asignaciones estáticas, asícomo, configurar de manera general el servicio. La configuración general es la que se leindica  al  servicio  para  un buen funcionamiento.  El  ámbito  es   la  configuración  másimportante   que   se   realiza   en   el   servidor   DHCP,   ya   que   de  él  dependen   lasconfiguraciones que se le  asignan a los clientes. Si en el servicio no se ha añadido unámbito este no podrá ser iniciado. Las opciones de las asignaciones estáticas permitenestablecer configuraciones para clientes específicos teniendo en cuenta la dirección dela tarjeta de red con la que se accede. La configuración y administración de los registrosdel servicio se hace necesario para el monitoreo de las asignaciones de IP.

3.2. MySQL

El módulo MySQL una vez instalado el servicio en el servidor añadido al sistema ofrecelas   siguientes   opciones:   general,   avanzada,   registros   y   seguridad.   En   general   seencuentran las variables que son primordiales para que el servidor funcione, como es elpuerto de escucha y las rutas de los directorios de datos del servidor y de las bases dedatos.  En configuración  avanzada  se  encuentran   las  variables  que   intervienen  en   laasignación   de   memoria   caché   para   los   procesos   que   ejecute   el   servidor.   En   laconfiguración de los registros se muestran los registros para monitorizar los procesosdel servidor, así como configurar las ruta de los directorios que van a contener estosregistros. En la configuración de seguridad se encuentran las variables que intervienenen la propia seguridad del servidor.

3.3. Bácula

Este módulo permite gestionar la configuración general del servicio, muestra y edita lasconfiguraciones del gestor de copias, permite instalar y desinstalar el servicio en losclientes y en los almacenamientos. También posibilita al administrador las gestiones delos conjuntos de archivos,  las programaciones de copias de seguridad,  las copias deseguridad,   las   agrupaciones   de   volúmenes,   los   dispositivos   y   configuraciones   dealmacenamiento. Otras funcionalidades del módulo son: ejecutar y detener las copias deseguridad, mostrar estado y reporte de las copias de seguridad, mostrar qué   trabajosestán corriendo o finalizados en el gestor de copias de seguridad, y listar los archivos ydirectorios salvados en determinada copia de seguridad.

3.4. SSH

Este módulo permite gestionar la autenticación y conexión del servicio, la gestión de lasllaves públicas y direciones de los ficheros de las mismas, la gestión de los usuarios ygrupos   permitidos   a   conectarse   por   dicho   servicio.   También   permite   gestionar   lasconfiguraciones avanzadas y la gestión de los usuarios y grupos denegados a conectarsea dicho servicio.

3.5. Apache

Page 11: Herramienta para la Migración y Administraci n de

El módulo gestiona los hosts virtuales. Cuando adiciona o edita un host virtual se tieneen cuenta las gestiones de: los archivos índices de los directorios, las alias de directorio,el permiso de acceso de directorios y ficheros, las alias del nombre y los puerto TCPpara   la   conexión   del   servicio.   También   gestiona   las   configuraciones   del   servidorprincipal   y   sus   conexiones.   Además,   permite   gestionar   los   módulos   demultiprocesamiento Prefork, Worker y Event.

4. Verificación y validación

La herramienta es sometida a un conjunto de pruebas durante su proceso de desarrollo.Las pruebas que se realizan son: pruebas de unidad, pruebas de integración descendientede   forma   primero   em   anchura,   pruebas   de   aceptación,   pruebas   de   seguridad   y   laspruebas de rendimiento y resistencia.

Los   errores   que   se   detectan   de   manera   general   en   la   aplicación   durante   elproceso de ejecución de las pruebas unitarias a través de JUnit fueron: 

• algunas   de   las   expresiones   regulares   establecidas   no   están   implementadascorrectamente. Ejemplo: la expresión implementada en el método isAIpAddress. 

• existen condiciones lógicas incorrectas en los métodos y mal posicionadas.   

• el cálculo para convertir de KB a GB es incorrecto. Este error fue introducido enla implementación de la fórmula.

• en   algunos  casos   los  mensajes   no   están   en   correspondencia   con   los   erroresdetectados. 

• no se muestra el mensaje de error cuando que se compara un valor entero conuna   cadena.   Este   error   fue   encontrado   en   uno   de   los   métodos   de   laimplementación de la herramienta.

Las   no   conformidades   que   se   detectan   en   las   pruebas   de   integracióndescendiente de forma primero en anchura fueron: 

• cuando se adicionó  el módulo Bácula no se redireccionó  para la página de lafuncionalidad Instalar ya que el servicio no estaba instalado y no redireccionópara la página principal si ya se encuentra instalado el servicio.

• no se actualiza la tabla de la lista de los módulos que han sido adicionados alservidor.

• cuando se instala, no se puede ver las configuraciones generales del servicio.

• luego de corregir  la anterior no conformidad, se detectó  que los vínculos delmenú lateral que tienen relación con las configuraciones generales no funcionanya que las páginas todavía no tenían la nueva estructura del sistema base.

• al  cerrar   la  pestaña  de   trabajo  del   servicio  y  no  salir  de   la  aplicación,  si  eladministrador desea acceder al área del servicio se le indica que el módulo noestá activo en el sistema.

En la ejecución de las pruebas de aceptación el cliente junto con el equipo dedesarrollo detectan las siguientes no conformidades: 

Page 12: Herramienta para la Migración y Administraci n de

• no se actualiza la lista de módulos en el instante que se adicionó el módulo alservidor, 

• la aplicación permite enviar correo con campos vacíos que son obligatorios, 

• el sistema permite adicionar un servidor que ya existe, con el mismo nombre ydirección IP, 

• la aplicación no permite editar ni eliminar a los usuarios a partir de diez en lalista de usuarios, 

• se muestra un error al tratar de iniciar el servicio MySQL en el servidor,   

• se instala el servicio MySQL pero lanza un error al concluir la instalación, ydicho mensaje debe ser escrito en el idioma de Español.

La vulnerabilidad que se detecta en las pruebas de seguridad (ver  Figura 5) através  de   la  herramienta  Nikto   fue  que existe   incompatibilidad  entre   la  versión delcontrolador  de   aplicaciones  del   servidor   jetty   (9.2.2.v20140723)  con   la  versión  delgestor base de datos (40.7.2.2.41) causando un falso positivo.

En la Tabla 2 se muestran los resultados obtenidos en cinco pruebas ejecutadasmediante la herramienta JMeter realizas para 5, 50 y 100 usuarios que acceden a lapágina de inicio del sistema tras realizar la autenticación. En cada una de las pruebas seregistra el  rendimiento  que representa  la cantidad de peticiones  por segundo que escapaz de atender el sistema. Los resultados muestran que con la configuración descritaanteriormente el sistema tiene un mejor comportamiento para una carga de 50 usuarios,donde la media de peticiones atendidas por segundo es de 38.98.

Figura 5: Resultado de pruebas de seguridad a la herramienta HMAST

Page 13: Herramienta para la Migración y Administraci n de

Tabla 2. Resultados de las pruebas de rendimiento y resistencia

Usuario R1 R2 R3 R4 R5 Media

5 30.09 38.59 40.08 39.20 38.15 37.38

50 42.45 40.21 37.61 39.09 35.55 38.98

100 38.67 36.00 38.29 39.90 38.36 38.24

5. Conclusiones

Los   resultados  obtenidos  demostraron  que  el   desarrollo  de   la   herramienta  HMASTpuede  garantizar   la   administración   de   los   servicios   telemáticos   en   las   diferentesempresas   e   instituciones   cubanas   con   el   uso   de   la   distribución   GNU/Linux   Nova.Durante   la   investigación   se  analizan   diferentes   herramientas   existentes   para   laadministración   de   servidores,   lo   cual,   permite   identificar   las   características   yfuncionalidades que se ajustan a las necesidades del pueblo cubano para integrarlas alproducto. La herramienta desde un servidor permite que el administrador de serviciostelemáticos de la empresa o institución administre todos los servidores que contenganlos servicios DHCP, MySQL, SSH, Bácula y Apache. Además, cualquier cambio que serealice en algún fichero de configuración ya sea introducido manualmente o a través dela  misma  herramienta   se   le  notifica   al   administrador.  El   diseño  y  ejecución  de  unconjunto de pruebas realizadas aseguraron la calidad del producto final. 

6. Referencias

Ayra, A. S. y Reyes, A. D. R. (2009) “Propuesta de técnicas de estimación y métricaspara   la   metodología   ágil   SXP”,   Tesis   de   Grado,   Universidad   de   las   CienciasInformáticas (UCI), Ciudad de La Habana, Cuba.

JMeter, “The Apache Software Foundation”, http://jmeter.apache.org.

JUnit,  Writing   JUnit  Tests   in  NetBeans   IDE.  https://netbeans.org/kb/docs/java/junit­ntro.html.

Nikto,   “Intro   al   escáner   de   web   Nikto”,http://www.securityartwork.es/2014/02/26/escaner­de­webs­nikto/.

Peñalver, G. M. R. (2008) “Metodología ágil para proyectos de software libre” Tesis deGrado, Universidad de las Ciencias Informáticas (UCI), Ciudad de La Habana, Cuba.

Villazón, P.  V.,  Vitier,  A., et  al  (2013) “El proceso de migración a aplicaciones decódigo   abierto   en   Cuba   desde   un   enfoque   metodológico”,   Revista   Cubana   deCiencias   Informáticas   (RCCI),   Vol   7,   No   4,   p.   2.,   http://rcci.uci.cu/index.php?journal=rcci&page=article&op=view&path[]=287&path[]=244.

Webmin, http://www.webmin.com/.

YaST, https://es.opensuse.org/Portal:YaST.

Zentyal, https://wiki.zentyal.org/wiki/Es/3.5/Primeros_pasos_con_Zentyal.