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
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
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.
• 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.
• 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.
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
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.
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
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 NCapas 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
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
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:
• 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
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/junitntro.html.
Nikto, “Intro al escáner de web Nikto”,http://www.securityartwork.es/2014/02/26/escanerdewebsnikto/.
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.