Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SISTEMAS DE TELECOMUNICACIÓN
VºBº
Fecha de lectura:
Calificación:
El Secretario,
ETSIST de Telecomunicación Campus Sur UPM
RESUMEN
Para este proyecto se ha diseñado una infraestructura virtual, en la cual varios hosts físicos
proporcionarán los recursos necesarios para ejecutar las máquinas virtuales, que se
gestionarán dentro de un almacenamiento compartido.
El objetivo del proyecto es garantizar alta disponibilidad en todos los servicios ofrecidos, y
para ello, se ha demostrado a través de cuatro vías diferentes, una para cada servicio:
Todo el sistema y los servicios ofrecidos estarán garantizados bajo un servidor de dominio.
Este servidor, que también estará redundando para garantizar alta disponibilidad,
proporcionará un servicio único introduciendo todas las máquinas virtuales y sus servicios
bajo un mismo dominio (tfg.local), en el que sólo los usuarios que sean de interés por parte
del cliente tendrán permiso para acceder a cada servicio.
1
ETSIST de Telecomunicación Campus Sur UPM
ABSTRACT
The present project is based on the study, design and implementation of a high availability
security system. In order to carry out the work, a study of the composition of the security
systems and the state of the current technologies will be performed, with the purpose of
finding the best solution to build a practical, current and innovative security system.
The architecture of the project has been designed based on a virtual infrastructure, in which
several physical hosts will provide the necessary resources to run virtual machines. In turn,
these virtual machines will be managed within a shared storage
As for the implementation, it will use VMware vSphere Client, there will be ten virtual
machines with different operating systems (Windows and Linux) managed by this tool, which
will form a secure architecture offering four services to the Client.
The final purpose of the project is assure high availability of all the offered services, and so in
consequence, it has been tested and proved through four different ways, one per each service:
The entire system and its services will be guaranteed under a domain server. This server will
be in redundancy in order to assure high availability. It will provide an unique service to get
in all the virtual machines and their services under a same domain (tfg.local) in which only
the users that are of interest on the part of the client will have permission to access each
service.
Finally, after the design and implementation, the whole system and its services will be tested,
proving again that the system offers high availability in case of any failure.
2
ETSIST de Telecomunicación Campus Sur UPM
ÍNDICE GENERAL
1 INTRODUCCIÓN .......................................................................................................... 12
1.1 Descripción del proyecto ............................................................................................ 12
1.2 Entorno y contextualización ....................................................................................... 12
1.3 Objetivos..................................................................................................................... 13
3.2 Ciberseguridad........................................................................................................ 35
3.2.1 Riesgos y vulnerabilidades ............................................................................. 35
3.2.2 Test de penetración ......................................................................................... 36
3.2.3 Criptografía ..................................................................................................... 37
3.2.4 Certificados ..................................................................................................... 39
3
ETSIST de Telecomunicación Campus Sur UPM
4
ETSIST de Telecomunicación Campus Sur UPM
ÍNDICE DE FIGURAS
5
ETSIST de Telecomunicación Campus Sur UPM
6
ETSIST de Telecomunicación Campus Sur UPM
7
ETSIST de Telecomunicación Campus Sur UPM
8
ETSIST de Telecomunicación Campus Sur UPM
ÍNDICE DE TABLAS
9
ETSIST de Telecomunicación Campus Sur UPM
LISTA DE ACRÓNIMOS
Acrónimo Significado
ACID Atomicity, Consistency, Isolation, Durability
ARP Address Resolution Protocol
CCTV Closed Circuit Television
COTS Commercial Off The Shelf
CPU Central Processing Unit
DDL Data definition language
DHCP Dynamic Host Configuration Protocol
DML Data manipulation language
DMZ Demilitarised Zone
DNS Domain Name System
DVR Digital Video Recorder
FTP File Transfer Protocol
GPS Global Positioning System
HTTP Hypertext Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
ICMP Internet Control Message Protocol
IIS Internet Information Services
IP Internet Protocol
iSCSI Internet Small Computer System Interface
IT Information Technologies
LAN Local Area Network
LDAP Lightweight Directory Access Protocol
LUN Logical Unit Number
MDA Mirrored Disk Array
MMC Microsoft Management Console
MTTF Mean time to Failure
MTTR Mean Time To Repair
MSDTC Microsoft Distributed Transaction Coordinator
NAS Network Attached Storage
NAT Network Address Translation
N/A Non Applicable
NDVR Network Digital Video Recorder
NTP Network Time Protocol
10
ETSIST de Telecomunicación Campus Sur UPM
11
ETSIST de Telecomunicación Campus Sur UPM
1 INTRODUCCIÓN
Muchos de los sistemas de seguridad llevan años instalados, con infraestructuras obsoletas
y tecnología analógica. Lo que pretende este proyecto es diseñar e implantar un sistema de
seguridad con tecnologías actuales compuesto por diferentes servicios integrados: CCTV
(Closed Circuit Television), telefonía y un sistema de almacenamiento, todos ellos
ofreciendo alta disponibilidad y con eficiencia en el uso de los recursos para maximizar su
potencial.
Este enfoque integrado reduce la carga de trabajo del operador, consiguiendo un sistema en
alta disponibilidad que no deja de ofrecer sus servicios en ningún momento,
proporcionando un mayor nivel de confort y seguridad a las personas.
12
ETSIST de Telecomunicación Campus Sur UPM
esto, se hace uso de las tecnologías más avanzadas desarrollando las mejores medidas de
lucha contra este tipo de ataques.
Los datos relacionados con el riesgo asociado a trenes, estaciones, pasillos de tránsito y
centros de control son normalmente recolectados de forma individual y transformados en
información útil para conseguir gestionar la seguridad y las operaciones sin afectar al flujo
de personas. Asimismo, la infraestructura en la gestión de transporte de mercancías y
pasajeros (trenes, barcos, aviones y camiones) comprende un tema crucial para el desarrollo
de cualquier sociedad, permitiendo el libre movimiento de personas y bienes. El diseño de
esta red de transportes es de vital importancia debido a que la seguridad y fiabilidad puede
verse fácilmente comprometida, exponiendo al sistema a eventos maliciosos e inesperados
que interrumpan su normal funcionamiento.
A partir del análisis previo, se observa como el proyecto está alineado a solventar la
problemática asociada a la seguridad de las personas en el mundo del transporte y en
grandes eventos, por lo que el proyecto supone una novedad subjetiva al perseguir
monitorizar en un único centro de control los distintos sistemas de seguridad, creando así un
sistema reticular de control más fiable y seguro que los ya existentes, en donde una única
plataforma de control sea capaz de administrar todos las necesidades del operario, pasajeros
y ciudadanos de a pie.
1.3 Objetivos
Para ello, se quiere diseñar e implementar una arquitectura “on premises” cliente-servidor
en alta disponibilidad y en la que los servicios deben estar operativos en todo momento,
proporcionando una facilidad al operario a la hora de gestionar cualquier tipo de incidente
con un sistema seguro y fiable, gestionando los datos a nivel local.
El cliente debe tener acceso a diferentes servicios, por lo que se deberá diseñar una
arquitectura accesible para el cliente, con un estudio detallado del estado del arte, así como
la implementación y configuración de la arquitectura, materiales necesarios para el
desarrollo del proyecto y un apartado de pruebas y conclusiones de sistema.
13
ETSIST de Telecomunicación Campus Sur UPM
14
ETSIST de Telecomunicación Campus Sur UPM
La seguridad y la salud ocupacional son dos términos que llevan acompañando al ser
humano desde los inicios de la historia. Su comienzo se remonta hace miles de años cuando el
ser humano ponía en riesgo su vida continuamente y era el estado de supervivencia el que nos
permitía proteger la integridad física.
Desde ese momento el ser humano ha ido creando mecanismos de protección que han
evolucionado según las necesidades de la sociedad hasta nuestros días.
A día de hoy el Estado y las empresas son los responsables de proporcionar la seguridad de la
ciudadanía. El Estado debe de garantizar que todo ciudadano esté protegido, se sienta seguro
y no indefenso. Por otro lado, las empresas ofrecen servicios eficientes para garantizar la
sensación de seguridad mediante productos y servicios enfocados a esta meta.
Fue entonces en 1949 cuando la empresa Vericon comercializó el primer sistema CCTV,
aunque con una nueva tecnología con carencias. Por ejemplo, no disponía de sistema de
grabación. Este problema se solucionó en 1951 cuando se comercializó una nueva versión
que permitía grabar y almacenar las imágenes en una cinta de video, a lo que se le llamó VTR
(Video Tape Recorder) [1]. A partir de este momento, al ser comercializados, los sistemas
empezaron a ser utilizados por entidades públicas, militares y empresas privadas. Comenzaron
a usarse para monitorizar el tráfico y las manifestaciones, y su éxito los llevó a emplearlos en
otros ámbitos que requerían control.
Los primeros sistemas de vigilancia electrónica funcionaban de manera análoga por medio de
un cable coaxial (cobre) y emitían una señal sinusoidal entre + 0,5 y -0,5 voltios. A través de
este cable las cámaras enviaban una señal al monitor de control. El principal problema de este
sistema era que el cable creaba mucha interferencia y provocaba que las imágenes llegaran
distorsionadas y con mala calidad.
Su inicio se remonta a la década de los sesenta, pero no es hasta principios del año 2000
cuando se comienza a adoptar más ampliamente. La virtualización solucionó varios
15
ETSIST de Telecomunicación Campus Sur UPM
problemas: las empresas podían dividir los servidores y ejecutar aplicaciones heredadas en
varios tipos y versiones de sistemas operativos. Los servidores se empezaron a utilizar más
eficientemente y, en consecuencia, se redujeron los costes relacionados con las compras, la
instalación, la refrigeración y el mantenimiento.
El software encargado de la virtualización separa los recursos físicos de los entornos virtuales
y se pueden instalar directamente en el hardware (como un servidor), que es la forma más
utilizada para virtualizar en las empresas.
Desde entonces, gracias a la virtualización, los sistemas digitales han ido incrementando su
presencia e implantándose en las empresas. Siguen evolucionando y sustituyendo a los
sistemas analógicos, aunque muchas empresas todavía permanecen con sistemas obsoletos y
sin actualizarse a estas nuevas tecnologías, que permiten una mayor optimización de los
recursos y un incremento de seguridad para todas las personas.
La tecnología avanza, las empresas crecen y el número de datos que hay que
manejar aumenta cuantitativamente. Las bases de datos y el auge de Internet han
permitido la colaboración y el intercambio de información desde cualquier parte del
mundo, ampliando el alcance de bases de datos en todas las organizaciones y
comunidades. Toda la información que se maneja conlleva que la seguridad esté
presente para tener la confianza necesaria en los servicios que se ofrecen por las
empresas.
𝑀𝑇𝑇𝐹
𝐷𝑖𝑠𝑝𝑜𝑛𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑:
(𝑀𝑇𝑇𝐹 + 𝑀𝑇𝑇𝑅)
16
ETSIST de Telecomunicación Campus Sur UPM
Observando:
1. Si el MTTR se acerca a cero y el sistema resuelve las fallas
inmediatamente, la disponibilidad se acercará al 100%.
2. Si el MTTF aumenta, y los fallos en el sistema tardan más en producirse, la
influencia del MTTR se verá disminuida.
17
ETSIST de Telecomunicación Campus Sur UPM
2.2.3 Failover
Para implementar un sistema de alta disponibilidad, hay que tener en cuenta los
diferentes modelos existentes, así como el comportamiento de ambos nodos cuando se
produce un failover [4]:
18
ETSIST de Telecomunicación Campus Sur UPM
Las soluciones de alta disponibilidad deben tener una tolerancia a errores muy
alta pesar de que cualquiera de sus componentes falle. Para ello se duplican los
recursos críticos, evitando que no haya puntos simples de fallo que puedan estropear
los servicios de nuestro sistema.
Antes de activar el centro de respaldo, es importante tener claro que los elementos
hardware redundantes deben ser intercambiables en caliente [5]. Esto quiere decir que,
como primera opción, si por ejemplo se nos estropea un servidor, debe ser tener otro
en el almacén y ser capaces de cambiarlo mientras actúa el servicio redundante, sin
que el cliente perciba ningún percance en su servicio.
Servidor-1 Servidor-2
Cliente
Figura 1: Redundancia de
dispostivos hardware
Para que el hardware del sistema no deje de funcionar, debemos disponer de un SAI
(Sistema de Alimentación Ininterrumpida). Estos sistemas, en el caso de un fallo
eléctrico, proporciona energía a todos los dispositivos que tenga conectados a través
de baterías eléctricas. Según el tipo de alimentación que proporcionan, se pueden
distinguir entre tres tipos de SAI:
19
ETSIST de Telecomunicación Campus Sur UPM
20
ETSIST de Telecomunicación Campus Sur UPM
RAID 0
RAID 1
21
ETSIST de Telecomunicación Campus Sur UPM
RAID 5
Por otro lado, existen también los niveles RAID anidados, donde se unen
diferentes arquitecturas de las nombradas para obtener una mejora de la
redundancia de datos o simplemente por un mayor rendimiento en nuestro sistema
de almacenamiento.
22
ETSIST de Telecomunicación Campus Sur UPM
NAS tiene un hardware dedicado que suele ser la parte principal que se conecta
a una red LAN (Local Area Network). Esta conexión la realiza habitualmente a
través de Ethernet y TCP /IP.
23
ETSIST de Telecomunicación Campus Sur UPM
Las principales características que nos permiten obtener las diferencias más
significativas entre estos dos dispositivos de almacenamiento son [7]:
NAS SAN
Datos a nivel de
TIPO DE DATOS Archivos compartidos
bloque
CABLEADO Cable de fibra
Ethernet LAN
UTILIZADO dedicado
CLIENTES Servidores de
Usuarios finales
PRINCIPALES aplicaciones
A través del
ACCESO A DISCO Acceso directo
dispositivo NAS
24
ETSIST de Telecomunicación Campus Sur UPM
Dentro de los algoritmos, podemos hablar del reparto de peticiones entre los
diferentes servidores a través del método Round Robin, en el cual se reparte la carga
equitativamente entre todos los servidores, o incluso métodos mucho más ideales que
analizan la actividad de cada servidor, la memoria disponible, y otras características en
tiempo real que permiten enviar las peticiones a los servidores que se encuentren en
menor carga operativa en ese momento.
El algoritmo ideal para sistemas con una gran carga de peticiones continuadas será
aquel que sea capaz de analizar:
- Las características de los servidores que dispone
- El tiempo de respuesta de cada uno de ellos, obteniendo un análisis del
retraso en las respuestas y en consecuencia servidores que estén más lentos
o cargados en ese momento.
- La utilización de la CPU
- El uso de memoria
- El número de conexiones abiertas en un mismo servidor
Si no se analizan estos parámetros, se pueden dar casos de peticiones con mucha carga
que se repartan a los servidores menos potentes, y haya un bloqueo de ciertos
servidores.
25
ETSIST de Telecomunicación Campus Sur UPM
Controlar las peticiones a los servidores a través de balanceadores de carga nos aporta
una clara mejora en [5]:
Por último, cabe destacar que en sistemas que requieran alta disponibilidad, la
posibilidad de que falle el balanceador de carga debe estar contemplada, y por lo tanto,
debe redundarse también para ofrecer continuidad en el servicio ofrecido.
26
ETSIST de Telecomunicación Campus Sur UPM
La fortaleza de unir dos o más servidores para ofrecer servicios nos proporciona
diferentes funcionalidades que según las demandas del cliente se implementarán para
tener:
- Alta disponibilidad
- Alto rendimiento
- Escalabilidad
- Equilibrio de carga
Para formar un clúster, aparte de elegir las máquinas (nodos) que vayan a formar el
clúster, hay que definir los siguientes puntos:
- Sistemas operativos a utilizar en los servidores
- Conexiones de red
- Protocolos de comunicación y servicio
- Middleware para relacionar el usuario con el sistema operativo
- Aplicaciones o subsistemas a utilizar
- Topología N-to-N: Los servicios del nodo fallado se distribuyen entre los
diferentes nodos activos. No hay nodos en espera, pero todos deben estar
27
ETSIST de Telecomunicación Campus Sur UPM
Por muchas medidas de seguridad que se tomen y por mucho que se redunde
cada parte del sistema, siempre está la posibilidad de que ocurra alguna catástrofe
natural, un atentado o cualquier situación totalmente imprevisible. Las empresas que
manejen información muy importante, sea del nivel que sea, pero mucho más de
seguridad, deben tener la garantía de que todos sus datos y servicios tienen una vía de
escape en estas situaciones. Para ello, se diseñan centros o salas de respaldo que
absorban las operaciones del centro principal en caso de emergencia.
Para diseñar este centro de respaldo se tienen que tener en cuenta los siguientes
aspectos:
28
ETSIST de Telecomunicación Campus Sur UPM
2.3.1 Virtualización
Estas máquinas virtuales son las que utilizarán los cuatro recursos del hardware
nombrados anteriormente, asignados y modificados según las necesidades por un
usuario. Para optimizar el uso de máquinas virtuales, lo mejor es que se administren
desde una sola consola de administración de virtualización.
De este modo, se puede tener varias máquinas virtuales, con diferentes sistemas
operativos, ejecutándose sobre el mismo ordenador físico.
29
ETSIST de Telecomunicación Campus Sur UPM
La estructura del directorio activo se organiza de forma jerárquica, como se puede ver
en la imagen:
- Recursos, como por ejemplo impresoras.
- Servicios, como correo, Web, FTP, etc.
- Usuarios, los cuales incluyen cuentas para conectarse, grupos de trabajo,
etc.
El dominio trabaja por niveles. En la parte más superior se encuentra el bosque, que se
define como la colección de todos los objetos, atributos y reglas del directorio activo.
Los dominios se identifican por su nombre de estructura DNS( Domain Name System)
y únicamente puede haber un nombre DNS asignado a un dominio.
El dominio ofrece muchas opciones de organización para todos los objetos que
cuelgan de contenedores llamados unidades organizativas, otorgando una capacidad
única al dominio de jerarquía y proporcionando una imagen de la compañía en
términos organizativos y geográficos.
Estas unidades organizativas se pueden agrupar, así como crear usuarios
personalizados con permisos de administrador para cada uno de los contenedores.
30
ETSIST de Telecomunicación Campus Sur UPM
Los tipos básicos de servidores proxy, según el modo de uso y actuación, son los
siguientes [10]:
31
ETSIST de Telecomunicación Campus Sur UPM
Como conclusión, los servidores proxy son una opción muy buena en sistemas que
vayan a realizarse con acceso a Internet. Son servidores configurables que nos
proporcionan un buen rendimiento, seguridad de Internet controlando el tráfico,
anonimato en los clientes y un gran filtrado tanto de información como de acceso a los
usuarios.
Sin embargo, cuando la carga de peticiones es muy alta pueden no rendir con la misma
efectividad. Para que siga siendo igual de efectivo es importante que el servidor proxy
esté actualizado adecuadamente. Por último, controlar la intromisión de un hacker en
una petición entre el ordenador y el proxy también es difícil.
Servidor
Cliente Internet
Proxy
Figura 9: Escenario típico de un servidor proxy
2.3.4 Protocolos
Más adelante, surgiría el modelo TCP/IP que es más sencillo, dividido en 4 capas,
cada una con su correspondencia en el modelo OSI [11].
Los protocolos son métodos estándar que permiten la comunicación entre procesos. Se
basan en reglas y procedimientos que deben respetarse para el envío y recepción de
datos a través de una red. El hecho de que haya muchos protocolos se basa en que es
imposible tolerar todas las comunicaciones existentes y sus características con un
único protocolo. Por ello, en función del número de participantes en la comunicación,
del modo de transmisión de datos, de la jerarquía de los participantes, de la
sincronización de la comunicación y del tipo de conexión, tendremos diferentes
protocolos.
Con una idea general de los protocolos, más adelante se detallarán aquellos que se
vayan a usar en el sistema de seguridad propuesto. En las siguientes imágenes se
pueden observar ambos modelos:
32
ETSIST de Telecomunicación Campus Sur UPM
Aplicación
Presentación Aplicación
Sesión
----------------------------------------------------------------------------------------------------------------------------------------------------------
Transporte Transporte
----------------------------------------------------------------------------------------------------------------------------------------------------------
Red Internet
----------------------------------------------------------------------------------------------------------------------------------------------------------
Enlace de datos
Acceso a la red
Física
- Capa de aplicación: HTTP/S, SSH, NTP y DNS son los más utilizados
- Capa de transporte: Según la orientación a la conexión UDP y TCP
son los más utilizados.
- Capa internet: Destacan IP e ICMP
- Capa de acceso a la red: Los más comunes son los protocolos ARP y
Ethernet
33
ETSIST de Telecomunicación Campus Sur UPM
2.3.5 DMZ
Una zona desmilitarizada o red perimetral es un área local que se ubica entre la
red interna de una organización y una red externa que suele ser internet.
El objetivo de una red DMZ (Demilitarised Zone) es que toda la información que
quiera acceder a nuestra red interna pueda ser analizada y rechazada por ella. Para ello,
se permite el acceso a la red DMZ tanto desde la red interna como la externa, pero la
red DMZ sólo tiene acceso a la red externa. De esta manera, al no poderse conectar los
equipos de la red DMZ a la red interna, realiza una doble función de proteger a la red
interna y dar servicios a la red externa.
Como conclusión, cualquier amenaza que intente llegar a la red interna debe pasar por
la red DMZ, que al no tener acceso a la red interna se convierte en un callejón sin
salida para las amenazas.
En las redes DMZ se suelen colocar servidores que necesitan acceso exterior, como
servidores Web o servidores de dominio.
Firewall externo
Gestor DMZ
Firewall interno
. .. .
34
ETSIST de Telecomunicación Campus Sur UPM
2.4 Ciberseguridad
Por ello se debe asegurar que el producto está libre de vulnerabilidades. Una
vulnerabilidad es una debilidad que puede ser explotada por una tercera persona. Para
localizar vulnerabilidades, hay que tener en cuenta las especificaciones de tu producto,
un seguimiento del desarrollo del mismo y realizar diferentes test de seguridad que
pongan a prueba el sistema.
Los riesgos en la zona verde no serían un problema, los riesgos en la zona amarilla
serían problemáticos en el sistema y los riesgos en la zona roja serían riesgos críticos,
que tendrían mucho impacto y serían altamente probables.
35
ETSIST de Telecomunicación Campus Sur UPM
Los test más utilizados para probar este tipo de sistemas son los siguientes:
36
ETSIST de Telecomunicación Campus Sur UPM
Todas las vulnerabilidades que no se traten se deben incluir en una lista e incluirse en
una evaluación de riesgos.
2.4.3 Criptografía
Uno de los aspectos que se debe tener en cuenta a la hora de abordar un sistema
de seguridad es la criptografía. La criptografía es el arte y técnica que permite proteger
información mediante técnicas de cifrado y descifrado. Con estas técnicas los
mensajes podrán ser vistos sólo por personas elegidas a nuestro interés y que
dispondrán de los medios para descifrar nuestros mensajes.
37
ETSIST de Telecomunicación Campus Sur UPM
38
ETSIST de Telecomunicación Campus Sur UPM
2.4.4 Certificados
La criptografía y los diferentes tipos de cifrado van a ser muy importantes a la hora de
usar certificados en nuestro sistema de seguridad. Un certificado es un medio que
proporcionará la garantía de identidad sobre una persona que envía un mensaje o
petición a un servicio.
La entidad que certifica se denomica autoridad de certificación, y proporciona a la
persona interesada una clave pública para poder realizar procesos de firma y cifrado.
Todos los certificados tienen un número de serie único y un periodo de validez
incluido en el certificado. Los tipos de certificados actuales son:
39
ETSIST de Telecomunicación Campus Sur UPM
Los sistemas operativos han avanzado mucho y actualmente hay que distinguir entre
sistemas operativos cliente y sistemas operativos servidor.
Los sistemas operativos servidor son para arquitecturas más complejas y sirven datos a
sus clientes. Este tipo de servidores ofrecerá aplicaciones a los clientes que puedan
acceder a él y podrá comunicarse con otros servidores para atender solicitudes
específicas. Un ejemplo de sistema operativo servidor es Windows Server o
GNU/Linux.
Los diferentes sistemas operativos que nos podemos encontrar tanto a nivel de cliente
como a nivel de servidor son los siguientes:
40
ETSIST de Telecomunicación Campus Sur UPM
41
ETSIST de Telecomunicación Campus Sur UPM
Para que la base de datos tenga un buen funcionamiento en el sistema, debe disponer
de un gestor de bases de datos que sirva de interfaz entre el usuario y la base de
datos. Aparte de esto, se debe disponer de una redundancia que le haga recuperar los
datos en caso de falla. Los gestores de bases de datos más importantes son MySQL,
Microsoft SQL Server, Oracle, Microsoft Acces y Postgre SQL.
42
ETSIST de Telecomunicación Campus Sur UPM
En sus orígenes, la funcionalidad de estos sistemas era muy básica, tenían poco
rendimiento y eran muy caros. Actualmente, las cámaras vienen con muchísimas
mejoras, desde una alta resolución, opción de zoom…incluso con suplementos como
visión nocturna gracias a la tecnología de rayos infrarrojos. Gracias a este gran avance
de los sistemas CCTV y al avance tecnológico de la sociedad, donde Internet es un
pilar básico y gran información se guarda en él, implantar un buen sistema que permita
controlar y ver un perímetro es totalmente básico a cualquier nivel.
- Cámaras analógicas.
Son las primeras cámaras que fueron
utilizadas para sistemas CCTV y aún se
siguen utilizando. La imagen de la cámara
sale de forma analógica utilizando una
señal de corriente alterna y con amplitud
variable.
43
ETSIST de Telecomunicación Campus Sur UPM
- Cámaras IP:
Se visualizan por internet o a través de
una red local. Tienen un puerto ethernet
con terminal Rj45 y se conectan al router
a través de un cable UTP.
2.5.4 Teléfonía
44
ETSIST de Telecomunicación Campus Sur UPM
Los teléfonos SIP son aquellos teléfonos que funcionan utilizando SIP y RTP (Real-
time Transport) como protocolos de transporte. Es importante diferenciar entre
teléfonos SIP físicos y teléfonos SIP virtuales:
Como requisito, es necesario un servidor que gestione las llamadas en la red, y de eso
se encargan los servidores SIP. Un servidor SIP es el componente principal de una
centralidad IP o PBX IP (Private Branch Exchange), y, aunque no se encarga de la
transmisión de la llamada, sí que tiene funciones importantes, como administrar
privilegios a los usuarios, transferencia de llamadas, registro de llamadas…
Por otro lado, una PBX es una red telefónica privada. Al principio, las PBX
tradicionales se basaban en una red de telefonía privada que funcionaba a través de
diferentes cableados, utilizando una centralita a la que se conectaban las diferentes
extensiones disponibles [16]. Actualmente, esas PBX se encuentran prácticamente
45
ETSIST de Telecomunicación Campus Sur UPM
2.5.5 Sensores
Según si se quiere activar o inactivar la alarma el sensor actuará como puente del
circuito, abriéndolo o cerrándolo, de modo que, si el sensor está activo, el circuito
quedará cerrado y se desencadenará la respuesta. En el caso de varios sensores, estos
deberán instalarse en serie para mantener este efecto.
Dentro de la gran variedad de sensores existentes, los de intrusión, que serían más
útiles en relación al proyecto, son los siguientes [18]:
46
ETSIST de Telecomunicación Campus Sur UPM
47
ETSIST de Telecomunicación Campus Sur UPM
48
ETSIST de Telecomunicación Campus Sur UPM
La arquitectura, después del estudio y el marco tecnológico propuesto, ofrece cuatro servicios
diferentes al cliente. El sistema trabajará “on premises”, es decir, a nivel local y las máquinas
virtuales estarán gestionadas por un servidor de dominio que proporcionará a los usuarios
deseados los permisos para acceder a los servicios.
Por otro lado, para garantizar alta disponibilidad, cada servicio dispone de una arquitectura
que lo soporta diferente a las demás (lo cual caracteriza al sistema), y que le hace estar
altamente disponible y trabajando de una forma eficaz durante el tiempo de ejecución de sus
servicios. La elección de los diferentes sistemas, que se detallarán más adelante en la
implementación, se resume a continuación:
49
ETSIST de Telecomunicación Campus Sur UPM
50
ETSIST de Telecomunicación Campus Sur UPM
2. Directorio activo:
- Sobre distribución Windows Server: Windows Server 2016.
- Creación de un dominio propio: tfg.local.
- Implementación y configuración.
4. Balanceador de carga:
- Sobre sistema operativo Linux: CentOs 7.
- Instalación software HAProxy.
- Configuración: Puertos, servidores a balancear, así como el algoritmo de
balanceo.
- Aplicación para probar el servicio: Postman.
- Interfaz configurabe HAProxy.
- Pruebas y conclusiones.
5. Servicio de telefonía:
- Sobre sistema operativo Linux: CentOs 7.
- Instalación del software Asterisk.
- Instalación del servicio Keepalived.
- Configuración e integración.
- Aplicación para probar el servicio: Zoiper.
- Pruebas y conclusiones.
51
ETSIST de Telecomunicación Campus Sur UPM
Una vez descargado VMware, se van a desplegar 10 máquinas virtuales, a partir de tres
templates de diferentes sistemas operativos. Las templates han sido descargadas de un
repositorio interno de Alstom, pero bastaría con acceder a templates ofrecidas por el
proveedor oficial.
Nombre de la Sistema
Breve descripción de la máquina
máquina virtual operativo
Windows Server
TFG-AD-1 Directorio active-1
2016
Windows Server
TFG-AD-2 Directorio active-2
2016
Windows Server
TFG-SQL-1 Base de datos-1
2016
Windows Server
TFG-SQL-2 Base de datos-2
2016
TFG-NLB-1 Linux- Centos 7 Balanceador de carga-1
TFG-NLB-2 Linux- Centos 7 Balanceador de carga-2
TFG-AST-1 Linux- Centos 7 Asterisk para telefonía-1
TFG-AST-2 Linux- Centos 7 Asterisk para telefonía-2
Windows Server Wowza para video en vivo-1.
TFG-WOWZA-1
2012 R También actuará como seb Server-1
Windows Server Wowza para video en vivo-2.
TFG-WOWZA-2
2012 R También actuará como seb Server-2
52
ETSIST de Telecomunicación Campus Sur UPM
Con el fin de proporcionar un sistema más seguro, así como de facilitar la gestión del
entorno y un sistema de autenticación y autorización robusto, se va a implementar un
directorio activo. Este servicio lo ofrece Windows Server y para ello se van a desplegar dos
máquinas virtuales de este sistema operativo, en concreto Windows Server 2016.
Lo primero que se va a realizar con cada una de las máquinas es asignarles una IP
fija en la red. Para ello, acudir a Open Network and sharing
center/Ethernet/Properties/Internet Protocol Version 4, y ponerla IP deseada dentro del
rango disponible. El gateway que se puede observar es un gateway utilizado a nivel interno
para poder acceder remotamente a las máquinas virtuales y tener un puente entre las
diferentes redes de la empresa.
53
ETSIST de Telecomunicación Campus Sur UPM
La dirección 127.0.0.1 es una dirección de red para referirse a la propia máquina en la que
se está ejecutando el comando.
El objetivo de tener dos máquinas virtuales para gestionar el directorio activo y no una, es
el de proporcionar alta disponibilidad. De esta manera, ambas máquinas estarán
sincronizadas, y todo lo que se guarde en una máquina virtual estará disponible
simultáneamente en la otra:
TFG-AD-1 TFG-AD-2
Replicación
síncrona
172.31.130.16
172.31.130.15
Red
Figura 22: Configuración del directorio activo en el proyecto
54
ETSIST de Telecomunicación Campus Sur UPM
Con las IPs fijas y el nombre que se va a usar a lo largo del proyecto, para la instalación del
directorio activo se deben seguir los siguientes pasos:
Figura 24: Instalación del rol “Active directory domain service” (II)
55
ETSIST de Telecomunicación Campus Sur UPM
3. Seguir los pasos y seleccionar la opción “no crear delegación”, hasta el final de la
instalación:
Figura 25: Instalación del rol “Active directory domain service” (III)
Figura 26: Instalación del rol “Active directory domain service” (IV)
56
ETSIST de Telecomunicación Campus Sur UPM
En el despliegue, se han añadido tres interfaces de red aparte de la red local para la conexión
de las máquinas con los recursos compartidos de una red SAN que formarán parte de la
arquitectura. (SAN_SPA, SAN_SPB e INTRA):
57
ETSIST de Telecomunicación Campus Sur UPM
El primer paso a realizar en todas las máquinas es asignarles una IP fija en el rango de red,
como se realizó en la instalación del dominio activo. En la misma ventana, introducir las IPs
de los servidores de dominio.
58
ETSIST de Telecomunicación Campus Sur UPM
59
ETSIST de Telecomunicación Campus Sur UPM
Con las dos máquinas preparadas, hay que configurar los recursos compartidos (SAN) que
van a utilizar ambos nodos del cluster en los que se apoyarán nuestras bases de datos. Los
recursos compartidos deben proporcionar los siguientes volúmenes LUN (Logical Unit
Number):
- QOURUM: debe tener 1 GB de tamaño. El quorum es el encargado de que los
nodos del clúster trabajen de una forma controlada, sin interrupciones entre ellos y
comportamientos anómalos en la gestión de los servicios ofrecidos.
- MSDTC (Microsoft Distributed Transaction Coordinator): debe tener 2 GB de
tamaño. MSDTC se va a encargar de todas las transaciones establecidas con los
recursos del clúster.
- DATA: Almacenamiento de los datos, en función del proyecto, pero 2 GB como
mínimo.
La conexión con los recursos compartidos se va a realizar a través del siguiente esquema:
La configuración de red IPs que deben tener las máquinas virtuales para acceder a los
recursos compartidos son:
60
ETSIST de Telecomunicación Campus Sur UPM
TFG-SQL-1 TFG-SQL-2
ISM_VAL 172.31.130.18 172.31.130.19
SAN_SPA 192.168.14.8 192.168.14.9
SAN_SPB 192.168.15.8 192.168.15.9
INTRA 192.168.9.18 192.168.9.19
Una vez que las máquinas virtuales están preparadas para acceder a los recursos
compartidos, se van a crear y configurar los mismos a través de la plataforma de HP
“Storage Manament Utility”, que es una herramienta ofrecida por HP al comprarle el
servidor NAS.
Los
pasos seguidos para crear y configurar los volúmenes son:
61
ETSIST de Telecomunicación Campus Sur UPM
62
ETSIST de Telecomunicación Campus Sur UPM
3. Dar permisos a los hosts, a través de la opción “explicit mappings” en cada uno de
los volúmenes creados.
63
ETSIST de Telecomunicación Campus Sur UPM
64
ETSIST de Telecomunicación Campus Sur UPM
Ahora las máquinas virtuales están configuradas y tienen acceso a los recursos
compartidos (SAN). El siguiente paso es crear en el directorio activo un usuario de acceso
a las bases de datos, un usuario de servicio y un grupo en el que se organicen ambas
cuentas:
- SQL_ADMIN: con permisos de administrador en las dos máquinas.
- SQL_SERVICE: cuenta de servicio
Para crear las cuentas de usuario, acceder al directorio activo → tfg.local → crear usuario.
Después, en la cuenta Administrator, añadir SQL ADMIN (va a ser la única cuenta que
trabajará como administrador)
65
ETSIST de Telecomunicación Campus Sur UPM
Con las dos cuentas y el grupo creado, las máquinas virtuales están configuradas y con la
seguridad que ofrece el dominio y sus usuarios para instalar el cluster de Windows. Los pasos
seguidos para la instalación del cluster de Windows son:
1. En las dos máquinas virtuales, ir a Server manager → Manage → Add Roles and
Features → Next:
66
ETSIST de Telecomunicación Campus Sur UPM
67
ETSIST de Telecomunicación Campus Sur UPM
68
ETSIST de Telecomunicación Campus Sur UPM
7. Seleccionar que se hagan todos los test, y que se complete sin errores graves:
69
ETSIST de Telecomunicación Campus Sur UPM
Nombre: TFG-SQLCLUSTER
IP: 172.31.130.17
70
ETSIST de Telecomunicación Campus Sur UPM
11. Acceder al cluster creado, y ver que los discos compartidos están funcionando
correctamente:
12. En el cluster, crear el rol DTC (acorde al recurso MSDTC) que sirve para
coordinar los cambios de nodo en el cluster así como informarse de los estados de
ambos nodos. Al rol se le debe asignar una IP del rango, así como el recurso de
almacenamiento en el que procesar la información (MSDTC):
71
ETSIST de Telecomunicación Campus Sur UPM
13. Como resultado, se puede ver el rol funcionando en el clúster, así como la
finalización de la la instalación y configuración del clúster de Windows:
Por último, para terminar este servicio, hace falta instalar el SQL Server 2017. Los pasos a
seguir son los siguientes:
1. Ejectuar el instalable SQL Server 2017, y pulsar en “New SQL Server failover
cluster installation”:
72
ETSIST de Telecomunicación Campus Sur UPM
Figura 60: Instalación y configuración del failover cluster de SQL. Nodo-1 (II)
73
ETSIST de Telecomunicación Campus Sur UPM
74
ETSIST de Telecomunicación Campus Sur UPM
Figura 64: Instalación y configuración del failover cluster de SQL. Nodo-1 (VI)
Figura 65: Instalación y configuración del failover cluster de SQL. Nodo-1 (VII)
Figura 66: Instalación y configuración del failover cluster de SQL. Nodo-1 (VIII)
75
ETSIST de Telecomunicación Campus Sur UPM
76
ETSIST de Telecomunicación Campus Sur UPM
77
ETSIST de Telecomunicación Campus Sur UPM
78
ETSIST de Telecomunicación Campus Sur UPM
Con el servicio de vídeo en vivo el cliente tendrá acceso a diferentes cámaras en directo.
Aparte, se podrá reproducir un flujo de vídeo unicast-multicast observando el mismo streaming de
vídeo en diferentes aplicaciones. Para ello, se van a desplegar dos máquinas virtuales con sistema
operativo Windows Server 2016. En ambas máquinas se instalará y configurará el software Wowza
Streaming Engine 4.7.5, que proporciona servicios de vídeo en vivo, entre otros. El servicio estará
en alta disponibilidad, gracias a la instalación y configuración de un failover cluster (Activo-pasivo)
de Windows en el cual se instalará el rol ofrecido por Wowza.
El siguiente paso ha sido introducir las máquinas en dominio y asignarles una IP fija, como
se realizó en apartados anteriores. Las IPs asignadas han sido:
- TFG-WOWZA-1: 172.31.130.5
- TFG-WOWZA-2: 172.31.130.6
Una vez que ambas máquinas están metidas en dominio y configuradas a nivel de red, se
debe instalar el failover cluster manager de la misma forma que se realizó en el apartado de
bases de datos. El nombre del failover cluster así como la IP asignada han sido los
siguientes:
- TFG_WOWZA_CLUSTER: 172.31.130.30
Para poder usar Wowza, se debe disponer de cámaras para visualizar vídeo. Se han
seleccionado dos cámaras IP de la marca “Axis”, que estarán conectadas a la red.
79
ETSIST de Telecomunicación Campus Sur UPM
Por último, el proceso para descargar e instalar el software de Wowza así como para tener
el servicio en funcionamiento en caso de failover, es el siguiente:
80
ETSIST de Telecomunicación Campus Sur UPM
81
ETSIST de Telecomunicación Campus Sur UPM
82
ETSIST de Telecomunicación Campus Sur UPM
4.5 Telefonía
83
ETSIST de Telecomunicación Campus Sur UPM
El primer paso realizado ha sido el despliegue de dos máquinas virtuales a partir de dos
plantillas de CentOs 7:
TFG-AST-1
TFG-AST-2
Una vez que se tienen las dos máquinas desplegadas, el primer paso es meter en
dominio ambas máquinas. Para ello, al usar el sistema operativo Linux, se debe usar la
ventana de comandos. Para introducir una máquina Linux en dominio:
84
ETSIST de Telecomunicación Campus Sur UPM
85
ETSIST de Telecomunicación Campus Sur UPM
Con Asterisk instalado, en /etc se encuentra una carpeta llamada “Asterisk” con los
archivos de configuración, los cuales habrá que modificar para nuestro sistema. Los
comandos más importantes a utilizar para la gestión de Asterisk son los siguientes:
86
ETSIST de Telecomunicación Campus Sur UPM
extension 3001(el apartado general es común a todos los sip.conf), y así se haría con
las demás, añadiéndolas debajo:
[general]
udpbindaddr=0.0.0.0:5060
context=default
srvlookup=yes
allowguest=no
alwaysauthreject=yes
[3001]
type=friend
host=dynamic
username=3001
secret=1234
callerid="Iván" <3001>
context=extensiones-internas
canreinvite=no
[general]
static=yes
writeprotect=yes
autofallthrough=yes
clearglobalvars=no
priorityjumping=no
[default]
; Recibe lo que no tiene un contexto propio definido.
; Rechaza todo por seguridad.
exten => _X.,1,Hangup(21)
exten => s,1,Hangup(21)
[extensiones-internas]
; Extensiones internas SIP
exten => _3XXX,1,NoOp(Llamada a terminal interno)
exten => _3XXX,2,Dial(SIP/${EXTEN})
exten => _3XXX,3,Hangup(16)
87
ETSIST de Telecomunicación Campus Sur UPM
88
ETSIST de Telecomunicación Campus Sur UPM
Asterisk sólo este activo en el nodo que está trabajando con la IP virtual. (Archivos de
configuración en ANEXO 1)
Para configurar un balanceador de carga, se han desplegado dos máquinas virtuales con
sistema operativo Linux y distribución CentOs 7. En ellas, se va a proceder a la instalación de
un software llamado HAProxy. HAProxy actúa ofreciendo alta disponibilidad, balanceo de
carga y proxy para comunicaciones TCP y HTTP. Para garantizar alta disponibilidad en la
arquitectura, se configurarán ambos balanceadores en cluster activo/pasivo, de tal forma que,
si el balanceador de carga principal fallase, el segundo balanceador entraría en acción,
manteniendo los servicios disponibles.
89
ETSIST de Telecomunicación Campus Sur UPM
Los nombres asignados a ambas máquinas, así como las direcciones de red son las siguientes:
- Nombre: TFG-NLB-1 IP: 172.31.130.26
- Nombre: TFG-NLB-2 IP: 172.31.130.27
En ambos nodos:
2. Configución del servicio ntp con el directorio activo para que ambas
máquinas virtuales tengan la misma fecha y estén sincronizadas:
# vi/etc/ntp.conf
Una vez hecho esto, se debe reiniciar la máquina, y después seguir los siguiente pasos:
90
ETSIST de Telecomunicación Campus Sur UPM
4. Comprobación de la configuración:
- # corosync-cfgtool –s
- # corosync-cmapctl | grep members
Una vez terminada la instalación y configuración, se puede ver el estado del clúster, así como
la página de estadísticas del balanceador(configurada en el fichero haproxy.conf), que en el
apartado de pruebas servirá para analizar el funcionamiento y el reparto de peticiones entre
los servidores según el algoritmo configurado:
92
ETSIST de Telecomunicación Campus Sur UPM
Para probar el balanceador de carga, se ha decidido utilizar los dos servidores de vídeo
Wowza instalados ya configurados. El objetivo de esta decisión es el de balancear peticiones
HTTP, no el balanceo de flujos de vídeo. Con el uso de estos dos servidores (que soportan
ambas servicios), se va a producir un ahorro de almacenamiento y un aprovechamiento de las
arquitecturas ya montadas. Es decir, los servidores de Wowza van a tener dos servicios
independientes:
Para configurar ambos servidores como servidores web, el proceso es sencillo. En ambos
nodos:
93
ETSIST de Telecomunicación Campus Sur UPM
Por último, debemos habilitar el servidor para que escuche por el puerto configurado en el
balanceador de carga (Puerto 8320).
94
ETSIST de Telecomunicación Campus Sur UPM
Finalmente, se puede ver en la página de estadísticas,la configuración del balanceador con los
dos servidores Wowza. URL de la página de estaísticas:
http://172.31.130.28:8320/haproxy?stats
95
ETSIST de Telecomunicación Campus Sur UPM
Con todo esto, aparte de unificar el sistema y aumentar la seguridad, se pueden crear
usuarios (como se realizó para las bases de datos) y darles permisos exclusivos.
Para probar el funcionamiento de las bases de datos, así como probar que el
servicio ofrece alta disponibilidad con la configuración realizada, se va a hacer uso de
la aplicación SQL Server Management Studio 2017. Los pasos para probar la
arquitectura son:
96
ETSIST de Telecomunicación Campus Sur UPM
El nodo-1 tiene los servicios activos y ambos nodos están activos en el sistema
97
ETSIST de Telecomunicación Campus Sur UPM
Para crear una base de datos, crear una consulta sobre la instancia, y ejecutar el
siguiente comando:
98
ETSIST de Telecomunicación Campus Sur UPM
99
ETSIST de Telecomunicación Campus Sur UPM
5. Ver como se produce el failover y los roles cambian de nodo, así como la
notificación de que el nodo que estaba activo se ha caído
6. Abrir SQL Server Management Studio y entrar a la instancia del clúster de SQL.
100
ETSIST de Telecomunicación Campus Sur UPM
101
ETSIST de Telecomunicación Campus Sur UPM
102
ETSIST de Telecomunicación Campus Sur UPM
5.2.Vídeo en vivo
Para probar esta parte del sistema, se va a hacer uso de la aplicación VLC,
con la cual se accederá a las dos cámaras configuradas a través de la red usando la IP
virtual. La IP virtual estará conectada a uno de los dos servidores Wowza
configurados, y en el momento en el que el servidor que esté funcionando sufra un
bajón (bien por un apagón, o por un error inesperado), la IP virtual será cogida por el
nodo que estaba en modo de espera, gracias al clúster configurado. En el nuevo nodo
se iniciarán los servicios, y será ese el único tiempo que haya que esperar para poder
volver a ver las cámaras.
1. En el nodo activo del cluster, ver el estado tanto de los nodos como de los
servicios de Wowza funcionando:
103
ETSIST de Telecomunicación Campus Sur UPM
Protocolo://[IP-CLUSTER]:[PUERTO]:[Aplicación-
Wowza]/NombreStream.stream
Para la cámara 1:
rtmp://172.31.130.30:1935/live/STR1.stream
Para la cámara 2:
rtmp://172.31.130.30:1935/live/STR2.stream
104
ETSIST de Telecomunicación Campus Sur UPM
105
ETSIST de Telecomunicación Campus Sur UPM
4. Por último, se puede observar como a través de una única cámara puedo ver
el vídeo en varias pantallas (flujo unicast-multicast):
5.3. Telefonía
106
ETSIST de Telecomunicación Campus Sur UPM
107
ETSIST de Telecomunicación Campus Sur UPM
108
ETSIST de Telecomunicación Campus Sur UPM
4. Comprobar que en Asterisk las extensiones han sido registradas. Para ello:
109
ETSIST de Telecomunicación Campus Sur UPM
110
ETSIST de Telecomunicación Campus Sur UPM
Como conclusión, se ha podido apreciar como ante cualquier caída, ya sea del servicio
de asterisk como del servicio keepalived, la arquitectura es capaz de actuar en
consecuencia, y en un breve periodo de tiempo, apenas apreciable, volver a tener
disponible las llamadas entre los clientes
Para los tres casos, se va a trabajar enviando las peticiones a la IP virtual de los
balanceadores de carga (172.31.130.28). Es decir, ni se accederá a los servidores
directamente ni se accederá a un balanceador de carga en concreto.
111
ETSIST de Telecomunicación Campus Sur UPM
CASO 1.
Con la aplicación Postman, se van a enviar siete peticiones HTTP del tipo POST al
balanceador de carga. Para ello , se ha configurado la aplicación utilizando la siguiente
dirección (protocolo, IP virtual, puerto, y servidor web) :
POST http://172.31.130.28:8320/WebSite
Una vez enviadas las siete peticiones, se puede observar en la página de estadísticas
del HAProxy, como el balanceador ha mandado cuatro peticiones al servidor 1, y tres
peticiones al servidor 2, balanceando las peticiones acorde al algoritmo que se había
programado:
Observar en Tfg_heartbeatSessions—>Total
Para ver las peticiones enviadas en los servidores, hay que ir al archivo de “logs”, que se
encuentra en : C:\inetpub\logs\LogFiles\W3SVC1
112
ETSIST de Telecomunicación Campus Sur UPM
Como detalle, observando las horas exactas, se puede ver como el balanceador ha repartido
una petición a cada servidor en orden de llegada.
CASO 2.
Una vez apagado el balanceador que estaba activo, se puede observar como el balanceador
que estaba como back up ha cogido la IP virtual del cluster y ha encendido su servicio
haproxy:
113
ETSIST de Telecomunicación Campus Sur UPM
114
Figura 144: Pruebas del balanceador de carga (VI)
ETSIST de Telecomunicación Campus Sur UPM
115
ETSIST de Telecomunicación Campus Sur UPM
116
ETSIST de Telecomunicación Campus Sur UPM
Por lo tanto, y para acabar el último caso, se procede a enviar cuatro peticiones al balanceador
de carga. Las cuatro peticiones, han sido enviadas por el balanceador al único servidor activo,
como se puede comprobar tanto en la página de estadísticas del HAProxy, como en el los
archivos “log” del servidor TFG-WOWZA-1:
117
ETSIST de Telecomunicación Campus Sur UPM
118
ETSIST de Telecomunicación Campus Sur UPM
Se ha analizado cómo los servicios por separado cumplen los requisitos indispensables
para garantizar alta disponibilidad, pero como sistema, y para garantizar el objetivo del
proyecto, se ha podido apreciar como opciones de redundancia sin clúster serían
difícilmente viables tanto a nivel de trabajo como de mantenimiento.
Como posibles mejoras, los tiempos de failover son mejorables en ciertas técnicas,
como en el clúster de Windows a pesar de que Microsoft te garantice alta
disponibilidad. Aunque dos minutos sea poco tiempo, en un sistema de seguridad dos
minutos sin ver una cámara puede significar mucho. Por otro lado, se podría crear una
aplicación que gestionase todos estos servicios, con una interfaz de usuario en la que
hubiese un mapa del lugar, los dispositivos estuviesen geolocalizados (cámaras,
teléfonos…etc), y el usuario pudiese seleccionar y hacer acciones con ellos, algo
mucho más profesional. Finalmente, duplicar la arquitectura en un centro de respaldo
en otro punto de la ciudad sería totalmente obligatorio si se hiciese un sistema de este
nivel.
119
ETSIST de Telecomunicación Campus Sur UPM
CENTRO CENTRO
PRINCIPAL BACKUP CLIENTE-1 CLIENTE-2 CLIENTE-3 CLIENTE-4
CLIENTE-1 CLIENTE-2 CLIENTE-3 CLIENTE-4
DIRECTORIO DIRECTORIO
ACTIVO 1 ACTIVO3
BALANCEADOR DE BALANCEADOR DE
CARGA CARGA
DIRECTORIO DIRECTORIO
ACTIVO 2 ACTIVO 4
NODO_1 NODO_2 NODO_3 NODO_4
SAN SAN
Memoria compartida Memoria compartida
DB DB
RED
REPLICACIÓN
ASÍNCRONA
REPLICACIÓN
SÍNCRONA
Este proyecto de fin de carrera abarca mucha temática y muy variada, y se puede
seguir la línea de investigación por muchísimos caminos. Como opinión personal,
considero que lo más importante de la arquitectura es el diseño, y se ha comprobado
que los cuatro servicios ofrecidos, a través de cuatro métodos diferentes, toleran los
todos los posibles fallos y mantienen el servicio con tiempos de recuperación muy
pequeños. Además, todas las arquitecturas que forman el sistema se encuentran
integradas a través de un directorio activo que regula el acceso y los permisos a los
usuarios, a gusto del cliente.
120
ETSIST de Telecomunicación Campus Sur UPM
Es un entorno integrado que permite todo tipo de acciones con las bases de datos,
desde la administración hasta la configuración y desarrollo de todos sus componentes. Es
una herramienta única que combina herramientas gráficas accesibles para el usuario con
funciones de scripting.
121
ETSIST de Telecomunicación Campus Sur UPM
Figura 155: Figura 156: Manual de usuario. Microsoft SQL Server Management Studio 17 (II)
Para la creación de bases de datos, tablas y modificación de ellas, se deberá realiza una
solicitud en el apartado de la interfaz “New Query” y escribir el código deseado:
122
ETSIST de Telecomunicación Campus Sur UPM
Una vez escrito el código, pulsar la opción “Execute”, tras lo cual los comandos
escritos serán ejecutado
Figura 157: Manual de usuario. Microsoft SQL Server Management Studio 17 (III)
6.2.Postman
123
ETSIST de Telecomunicación Campus Sur UPM
Para usar la aplicación, utizar un tipo de petición, y rellenar los campos deseados
(autorización si fuese requerida, cabecera, cuerpo del mensaje, prerrequisitos y test).
Por ejemplo, para una petición POST:
6.3.P
u
t
t
y
Figura 160: Manual de usuario. Postman (II)
124
ETSIST de Telecomunicación Campus Sur UPM
6.3.Putty
Putty es un software gratuito y de cógido abierto que permite la conexión como cliente
SSH (Secure Shell) a los diferentes servidores. Dispone de más funcionaliddes no
relevantes para el uso dado en el proyecto. En resumen, con Putty se consigue la
apertura de una sesión de línea de comandos en el servidor remoto.
Tras ejecutar Putty se muestra el apartado de sesión con las opciones básicas:
6.4.Zoiper
Una vez instalado, para registrar un teléfono, se debe seleccionar la opción “créate
account”, y seleccionar protocolo SIP:
125
ETSIST de Telecomunicación Campus Sur UPM
La extensión aparecerá registrada haciendo click en “next”. Para realizar una llamada, escribir
la extensión a la que se desea llamar desde el menú principal, y hacer click en “call”.
126
ETSIST de Telecomunicación Campus Sur UPM
Ese ha sido el principal uso en este proyecto, y para ello, una vez instalado:
127
ETSIST de Telecomunicación Campus Sur UPM
PRESUPUESTO
NUME PRECIO POR
MANU RO UNIDAD
PRECIO
FACTU MODELO PROVEEDOR
TOTAL
RA UNIDA
D
HP Proliant
10.400,00 €
Servidor HP DL380p G9 2 5.200,00 € HP Direct
MS Windows
Server 2016
Licencia Microsoft STANDARD 2 Avnet 1300 €
64bits 650,00 €
SQL Server
Standard 1.300,00 € 2600,00 €
Licencia Microsoft 2 Avnet
SERVIDOR
Edition 2017
VMWare
Licencia VSphere 5.5 1 939,50 € VMWare 939,50 €
Client
Wowza
Licencia gratuita
Licencia Streamin 4.7.5 1 Wowza N/A
de prueba (1
g Engine
mes)
Servidor
HP HP MSA 2040 44.580,00 €
NAS 1 44.580€ HP
BALANCEADOR DE
Balancea HAProxy
CARGA
HAProxy
dor de 1.5.18 2 Licenca gratuita HAProxy N/A
carga
128
ETSIST de Telecomunicación Campus Sur UPM
Microsoft
Microsoft Windows 10 Microsoft 135,00 €
Licencia 1
Pro 64Bits 135€
PC Notebook
Portátil de HP EliteBook
HP 1 HP 1024,00 €
escritorio 745 G4 1024,00 €
ESTACIÓN DE TRABAJO
Teclado y Premier-
Dell 1 Dell 46,62 €
ratón KM717 46,62 €
Cable de RJ45 de 3
Bechtle 4 5,85 € Bechtle 23,40 €
red metros
Cámarad
AXIS M3114-R 2 185,00 € Amazon 370,00 €
e vídeo
PRECIO
61536, 92€
TOTAL
129
ETSIST de Telecomunicación Campus Sur UPM
8. BIBLIOGRAFÍA
[3] IBM. Disponibilidad: Visión general de la alta disponibilidad. IBM i Versión 7 Release 3,
2016
[5] SANTOS, Jesús Costas. Seguridad y alta disponibilidad. RA-MA Editorial, 2014.
[6] LISTA, Jose Luis. (2017, July 18). Sistemas RAID. [Online]. Disponible en:
https://cibergizmoinformatica.com/2017/07/17/sistemas-raid/
[7] LAVILA, Jordi Ferrando (2016, December 1). Comparativa SAN vs. NAS. [Online].
Dispone en: http://www.infordisa.com/es/comparativa-san-vs-nas/
[10] VARLOTOP. (2017, November 15). ¿Qué es un proxy o servidor proxy? [Online].
Disponible en: http://www.valortop.com/blog/servidor-proxy
[12] YANZA, Willian (2017, October 27). Sistemas operativos. [Online]. Disponible en:
https://issuu.com/willianyanza/docs/1.5_sistemas_operativos_actuales
[13] ESPINOZA, Andry. (2017, July 20). Sobre el lenguaje y funcionamiento de los
servidores. [Online]. Disponible en: http://info.netcommerce.mx/blog/lenguaje-
funcionamiento-los-servidores/
[14] CCM. Introducción a las bases de datos [Online]. Disponible en:
https://es.ccm.net/contents/66-introduccion-a-las-bases-de-datos
130
ETSIST de Telecomunicación Campus Sur UPM
[15] ALCÁNTARA, Martín. (2017, September 201). Lo que toda empresa necesita saber
sobre la Telefonía IP.[Online]. Disponible en: https://www.3cx.es/blog/informacion-sobre-
telefonia-ip/
[17] LÓPEZ, Ana. (2018, January 30) Como funciona una centralita telefónica. [Online].
Disponible en: https://www.fonvirtual.com/blog/como-funciona-una-centralita-telefonica/
[18] PROSEGUR (2017, August 22). ¿Cuántos tipos de detectores de alarma existen?
[Online]. Disponible en: https://blog.prosegur.es/tipos-detectores-de-alarma/
[19] LOWE, Scott. MARSHALL, Nick. Mastering VMware vSphere 5.5. John Wiley & Sons.
131
ETSIST de Telecomunicación Campus Sur UPM
9. ANEXO-1
Keepalived.conf en TFG-AST-1
global_defs {
! notification_email {
! voip@example.com
! failover@example.com
! sysadmin@example.com
! }
! notification_email_from server.asterisk@example.com
! smtp_server xxx.yyy.zzz.aaa
! smtp_connect_timeout 30
! router_id LVS_DEVEL
}
vrrp_script check_asterisk {
script "/etc/keepalived/check_asterisk.sh"
interval 10
fall 2 # number of fails before consider is failure
rise 1 # number of ok before consider is ok
timeout 5
}
vrrp_instance VI_TFG {
state MASTER
! state BACKUP
interface ens32
virtual_router_id 51
nopreempt
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123
}
virtual_ipaddress {
172.31.130.2/24 dev ens32 label ens32:1
}
track_script {
check_asterisk
}
132
ETSIST de Telecomunicación Campus Sur UPM
}
Keepalived.conf en TFG-AST-2
global_defs {
! notification_email {
! voip@example.com
! failover@example.com
! sysadmin@example.com
! }
! notification_email_from server.asterisk@example.com
! smtp_server xxx.yyy.zzz.aaa
! smtp_connect_timeout 30
! router_id LVS_DEVEL
}
vrrp_script check_asterisk {
script "/etc/keepalived/check_asterisk.sh"
interval 10
fall 2 # number of fails before consider is failure
rise 1 # number of ok before consider is ok
timeout 5
}
vrrp_instance VI_TFG {
! state MASTER
state BACKUP
interface ens32
virtual_router_id 51
nopreempt
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 123
}
virtual_ipaddress {
172.31.130.2/24 dev ens32 label ens32:1
}
133
ETSIST de Telecomunicación Campus Sur UPM
track_script {
check_asterisk
}
}
Script check_asterisk.sh
#!/bin/bash
CHECKFILE="/tmp/ASTERISK_STATUS"
echo "check asterisk" >> $CHECKFILE
if [ -e /tmp/MASTER ]
then
# check asterisk is up
service asterisk status | grep running > /dev/NULL
if [ $? -eq 0 ]; then
Script status.sh
#!/bin/bash
STATE=$1
case $STATE in
"MASTER")
rm $KEEPALIVED/BACKUP
rm $KEEPALIVED/FAULT
touch $KEEPALIVED/MASTER
134
ETSIST de Telecomunicación Campus Sur UPM
"BACKUP")
rm $KEEPALIVED/MASTER
rm $KEEPALIVED/FAULT
touch $KEEPALIVED/BACKUP
service asterisk stop
exit 0
;;
"FAULT")
rm $KEEPALIVED/MASTER
rm $KEEPALIVED/BACKUP
touch $KEEPALIVED/FAULT
service asterisk stop
exit 0
;;
Esac
135
ETSIST de Telecomunicación Campus Sur UPM
#---------------------------------------------------------------------
# Example configuration for a possible web application. See the
# full configuration options online.
#
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
# to have these messages end up in /var/log/haproxy.log you will
# need to:
#
# 1) configure syslog to accept network log events. This is done
# by adding the '-r' option to the SYSLOGD_OPTIONS in
# /etc/sysconfig/syslog
#
# 2) configure local2 events to go to the /var/log/haproxy.log
# file. A line like the following can be added to
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
log 127.0.0.1 local2
#log 10.0.1.70:514 local0
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 2048
tune.ssl.default-dh-param 2048
user haproxy
group haproxy
daemon
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http
136
ETSIST de Telecomunicación Campus Sur UPM
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
stats enable
stats uri /haproxy?stats
stats realm Haproxy\ Statistics
stats auth admin:admin
#---------------------------------------------------------------------
# main frontend
#---------------------------------------------------------------------
frontend tfg_front_heartbeat
bind 172.31.130.28:8320
reqadd X-Forwarded-Proto:\ http
default_backend tfg_heartbeat
#---------------------------------------------------------------------
# least connection balancing between the various backends
#---------------------------------------------------------------------
backend tfg_heartbeat
balance roundrobin
server tfg-wowza-1 172.31.130.5:8320 weight 1 check port 8320 inter 2000 rise 2 fall
5
server tfg-wowza-2 172.31.130.6:8320 weight 1 check port 8320 inter 2000 rise 2 fall
5
137