Está en la página 1de 117

Escola Tècnica Superior d’Enginyeria

Electrònica i Informàtica La Salle

Trabajo Final de Máster

Máster en Big Data

BUSINESS INTELLIGENCE & VISUALIZATION

Alumno Profesor Ponente Mentor Externo


Daniel Herrero Gómez Joan Navarro Eduardo Di Monte
ACTA DEL EXAMEN
DEL TRABAJO FINAL DE MÁSTER

Reunido el Tribunal calificador en la fecha indicada, el alumno

D. Daniel Herrero Gómez

expuso su Trabajo Final de Máster, titulado:

BUSINESS INTELLIGENCE & VISUALIZATION

Acabada la exposición y contestadas por parte del alumno las objeciones


formuladas por los Sres. miembros del tribunal, éste valoró dicho Trabajo con la
calificación de

Barcelona,

VOCAL DEL TRIBUNAL VOCAL DEL TRIBUNAL

PRESIDENTE DEL TRIBUNAL


Resumen
Actualmente existe un creciente aumento de amenazas de seguridad. El daño
ocasionado a los sistemas de información es crítico. Así mismo debe recogerse y
analizarse la información del tráfico y amenazas en la red de Agbar.

El proyecto consiste en integrar la información generada por los distintos dispositivos


físicos de seguridad, procesarla y analizarla.

Las fuentes de datos proviene de los logs generados por los Firewalls, los cuales son
almacenados en un sistema de archivos HDFS. Esta información se extrae con Pig,
modelando y transformando los datos con la información neccesaria para calcular los
indicadores de análisis y agregándola en un Data Warehouse Hive.

Una vez se dispone de los datos convertidos en información de análisis, se diseña una
capa semántica siguiendo un esquema en estrella, para agilizar y mejorar la eficiencia
de las consultas de análisis, y diseño de cuadros de mando en Qlik Sense con la ayuda
de extensiones y mashups, para dar al usuario unos resultados que den respuesta a
sus consultas.

La información procesada y disponible en el nuevo Data Warehouse es una puerta


abierta al usuario para el descubrimiento, exploración y análisis de los datos.

Summary
Actually there is an increase in security threats. The damage caused to information
systems is critical. Therefore, traffic and threats information in the network of Agbar must
also be collected and analyzed.

The project consists of integrate the information generated by different and several
physical security devices, processing and analyzing it.

The data source come from logs generated by the Firewalls, which are stored in an HDFS
file system. This information is extracted with Pig, modeling and transforming the data
with the necessary information to calculate the indicators of analysis and adding it in a
Data Warehouse in Hive.

Once the data are converted in analysis information, a semantic layer is designed
following a star schema, to streamline the process and improve the efficiency of analysis
queries and design of scorecards in Qlik Sense with the help of extensions and mashups,
to give the user results that will answer your questions.

The information processed and available in the new Data Warehouse is an open door to
the user for the discovery, exploration and analysis of the data.

1
Business Intelligence & Visualization

Contenido
1 Introducción .......................................................................................................................... 9
1.1. La seguridad .................................................................................................................. 9
1.2. Grupo Agbar ................................................................................................................ 10
2. Objetivos ............................................................................................................................. 11
2.1. Objetivo General ......................................................................................................... 11
2.2. Objetivos específicos ................................................................................................... 11
2.3. Alcance ........................................................................................................................ 11
3. Fases y etapas del proyecto ................................................................................................ 12
4. Fundamentos teóricos ........................................................................................................ 13
4.1. Business Intelligence ................................................................................................... 13
4.1.1. Definición ............................................................................................................ 13
4.1.2. Beneficios ............................................................................................................ 14
4.1.3. Herramientas y Técnicas ..................................................................................... 15
4.1.3.1. Base de Datos OLTP (On-line Transaction Processing).................................... 15
4.1.3.2. Base de Datos OLAP (On-line Analitycal Processing) ...................................... 16
4.1.3.3. Modelo Dimensional ....................................................................................... 18
4.1.3.3.1. Esquema estrella ............................................................................................. 18
4.1.3.3.2. Esquema copo de nieve .................................................................................. 18
4.1.3.3.3. Cubo OLAP ....................................................................................................... 19
4.1.3.4. Query y Reporting ........................................................................................... 19
4.1.3.5. Cuadro de Mando Integral .............................................................................. 19
4.1.3.6. KPI (Key Performance Indicator) ..................................................................... 20
4.1.3.7. Data Warehouse (DW) .................................................................................... 20
4.1.3.8. Data Mart (DM) ............................................................................................... 20
4.1.3.9. Procesos ETL (Extract, Transform and Load) ................................................... 21
4.1.3.10. Staging Area .................................................................................................... 21
4.1.3.11. Cuadrante Mágico de Gartner......................................................................... 22
4.1.3.11.1. MICROSOFT ................................................................................................. 24
4.1.3.11.2. QLIK ............................................................................................................. 24
4.1.3.11.3. TABLEAU ...................................................................................................... 26
4.1.3.11.4. Comparativa entre herramientas ................................................................ 29
4.1.3.11.5. Selección herramienta de BI ....................................................................... 31

2
4.2. BIG DATA ..................................................................................................................... 33
4.2.1. Introducción ........................................................................................................ 33
4.2.2. Herramientas y Técnicas ..................................................................................... 34
4.2.2.1. Hadoop ........................................................................................................ 34
4.2.2.2. MapReduce ................................................................................................. 35
4.2.2.3. Hortonworks................................................................................................ 36
4.2.2.4. Ambari ......................................................................................................... 37
4.2.2.5. Pig ................................................................................................................ 38
4.2.2.6. Hive.............................................................................................................. 39
5. Solución del proyecto BI & Visualization............................................................................. 40
5.1. Introducción ................................................................................................................ 40
5.2. Requerimientos ........................................................................................................... 41
5.3. Instalación de la plataforma Hadoop .......................................................................... 46
5.3.1. Selección plataforma ........................................................................................... 46
5.3.2. Instalando Hortonworks 2.5.1.0.......................................................................... 49
5.3.3. Importando Logs ................................................................................................. 54
5.3.4. MapReduce con Pig ............................................................................................. 55
5.3.5. Hive & Qlik Sense ................................................................................................ 57
5.4. Análisis y Diseño .......................................................................................................... 61
5.4.1. Fuentes de datos ................................................................................................. 61
5.4.1.1. Ficheros de Log................................................................................................ 62
5.4.1.1.1. Traffic Logs ...................................................................................................... 62
5.4.1.1.2. Threat Logs ...................................................................................................... 67
5.4.1.1.3. Config Logs ...................................................................................................... 73
5.4.1.1.4. System Logs ..................................................................................................... 75
5.4.1.2. Datos maestros................................................................................................ 77
5.4.1.2.1. Calendario ....................................................................................................... 77
5.4.1.2.2. Applications ..................................................................................................... 78
5.4.1.2.3. Threats............................................................................................................. 79
5.4.1.2.4. Países ............................................................................................................... 79
5.4.1.2.5. Coordenadas ................................................................................................... 79
5.4.1.2.6. Direcciones IP .................................................................................................. 80
5.4.2. Capa de datos ...................................................................................................... 80
5.4.2.1. Flujo de la información.................................................................................... 81

3
Business Intelligence & Visualization

5.4.2.2. Staging Area .................................................................................................... 83


5.4.2.3. Summary Data ................................................................................................. 84
5.4.3. Capa Semántica ................................................................................................... 85
5.4.3.1. Esquema en estrella ........................................................................................ 85
5.4.3.2. Script................................................................................................................ 85
5.4.3.2.1. Fact Table ........................................................................................................ 86
5.4.3.2.2. Calendar .......................................................................................................... 86
5.4.3.2.3. Threat .............................................................................................................. 87
5.4.3.2.4. Application ...................................................................................................... 87
5.4.3.2.5. Country and IP Ranges .................................................................................... 88
5.4.3.2.6. Coordenadas ................................................................................................... 88
5.4.4. Capa de Presentación .......................................................................................... 89
5.4.4.1. Resumen por Tecnología y Dispositivo ........................................................... 90
5.4.4.2. Tráfico CEC....................................................................................................... 91
5.4.4.3. Vulnerabilidades Alert por IP destino ............................................................. 92
5.4.4.4. Flujo temporal de CE ....................................................................................... 93
5.4.4.5. Categoría y Aplicación por CI .......................................................................... 94
5.4.4.6. Análisis vulnerabilidades ................................................................................. 95
5.4.4.7. Mashup............................................................................................................ 96
5.4.4.8. Informe SAP Crystal Reports ........................................................................... 97
5.5. Proceso ETL ................................................................................................................. 98
6. Planificación y costes del proyecto ................................................................................... 101
6.1. Planificación del proyecto ......................................................................................... 101
6.2. Ciclo de vida del proyecto ......................................................................................... 102
6.3. Estudio económico .................................................................................................... 103
7. Conclusiones y líneas de futuro ........................................................................................ 104
7.1. Conclusiones.............................................................................................................. 104
7.2. Líneas de futuro ........................................................................................................ 105
8. Bibliografía ........................................................................................................................ 112

4
Tablas
Tabla 1: Comparativa entre herramientas BI .............................................................................. 30
Tabla 2: CiberAmenazas Externas ............................................................................................... 42
Tabla 3: CiberAmenazas Internas ............................................................................................ 43
Tabla 4: Ataque al corazón .......................................................................................................... 44
Tabla 5: CiberAmenazas de Alertas ............................................................................................. 45
Tabla 6: Traffic Logs..................................................................................................................... 66
Tabla 7: Threat Logs .................................................................................................................... 72
Tabla 8: Config Logs..................................................................................................................... 74
Tabla 9: Niveles de gravedad ...................................................................................................... 75
Tabla 10: System Logs ................................................................................................................. 76
Tabla 11: Calendario.................................................................................................................... 77
Tabla 12: Aplicaciones ................................................................................................................. 78
Tabla 13: Threats ......................................................................................................................... 79
Tabla 14: Identificadores de Amenazas ...................................................................................... 79
Tabla 15: Países ........................................................................................................................... 79
Tabla 16: Coordenadas................................................................................................................ 79
Tabla 17: Direcciones IP .............................................................................................................. 80
Tabla 18: Staging Area ................................................................................................................. 83
Tabla 19: Summary Data ............................................................................................................. 84
Tabla 20: Planificación del proyecto ......................................................................................... 101
Tabla 21: Estudio económico .................................................................................................... 103

5
Business Intelligence & Visualization

Ilustraciones
Ilustración 1: Grupo Agbar ......................................................................................................... 10
Ilustración 2: Fases y etapas del proyecto .................................................................................. 12
Ilustración 3: Esquema clásico de BI ........................................................................................... 14
Ilustración 4: Esquema en estrella .............................................................................................. 17
Ilustración 5: Ejemplo de análisis OLAP ...................................................................................... 17
Ilustración 6: Cuadrante mágico de Gartner BI 2017 .................................................................. 22
Ilustración 7: Cuadrante mágico de Gartner BI 2016 .................................................................. 23
Ilustración 8: Qlik y Big Data ....................................................................................................... 25
Ilustración 9: Ecosistema de aplicaciones ................................................................................... 33
Ilustración 10: Hadoop Distribuited File System (HDFS) ............................................................. 34
Ilustración 11: MapReduce ......................................................................................................... 35
Ilustración 12: Ecosistema HortonWorks .................................................................................... 36
Ilustración 13: Plataforma HortonWorks .................................................................................... 36
Ilustración 14: Ambari ................................................................................................................. 37
Ilustración 15: Pig ........................................................................................................................ 38
Ilustración 16: Hive...................................................................................................................... 39
Ilustración 17: Análisis de la información ................................................................................... 40
Ilustración 18: Estudio comparativo distribuciones .................................................................... 46
Ilustración 19: Inicio instalación Cloudera .................................................................................. 47
Ilustración 20: Instalación CDH 5 on a Single Linux Node ........................................................... 47
Ilustración 21: HortonWorks Data Platform ............................................................................... 48
Ilustración 22: Descargar Ambari ................................................................................................ 49
Ilustración 23: Arrancar servicio de Ambari server ..................................................................... 49
Ilustración 24: Instalación Postgresql ......................................................................................... 49
Ilustración 25: Instalación Oracle JDK ......................................................................................... 50
Ilustración 26: Inicio servicio Ambari .......................................................................................... 50
Ilustración 27: Web IU de Ambari ............................................................................................... 50
Ilustración 28: Asistente Ambari ................................................................................................. 51
Ilustración 29: Dependencias de los servicios............................................................................. 51
Ilustración 30: Selección de Hosts............................................................................................... 52
Ilustración 31: Servicios por Host ................................................................................................ 52
Ilustración 32: Chequeo plataforma ........................................................................................... 53
Ilustración 33: Ficheros Log......................................................................................................... 54
Ilustración 34: Estructura directorios de los ficheros ................................................................. 54
Ilustración 35: Fichero de configuración pig-env.sh con parámetros Hive ................................. 55
Ilustración 36: Entorno ejecución Pig con soporte MapReduce(Tez)+Hive ................................ 55
Ilustración 37: Plantilla definición flujos de trabajo para Oozie ................................................. 56
Ilustración 38: Interfaz para consultar parámetros Oozie .......................................................... 56
Ilustración 39: Interfaz Ambari para ejecutar scripts Pig ............................................................ 57
Ilustración 40: Interfaz Hive de Ambari utilizada para cargas parciales ..................................... 57
Ilustración 41: Registro trabajos MapReduce ejecutados de Hive ............................................. 58
Ilustración 42: Segundo añadido temporalmente para uso CPU en Pig ..................................... 58
Ilustración 43: Microsoft Hive ODBC Driver ................................................................................ 59

6
Ilustración 44: Conexión (ODBC) Qlik Sense hacia Hive .............................................................. 59
Ilustración 45: Dashboard status plataforma Agbar ejecutándose desde el ordenador personal
..................................................................................................................................................... 60
Ilustración 46: Capas y pasos en el proceso................................................................................ 80
Ilustración 47: Flujo de la información........................................................................................ 81
Ilustración 48: Esquema en estrella ............................................................................................ 85
Ilustración 49: Menú Principal del Dashboard ............................................................................ 89
Ilustración 50: Opción Resumen por Tecnología y Dispositivo ................................................... 90
Ilustración 51: Hoja Resumen por Tecnología y Dispositivo ....................................................... 90
Ilustración 52: Opción Tráfico CEC .............................................................................................. 91
Ilustración 53: Hoja Tráfico CEC .................................................................................................. 91
Ilustración 54: Opción Vulnerabilidades Alert por IP destino .................................................... 92
Ilustración 55: Hoja Vulnerabilidades Alert por IP destino ......................................................... 92
Ilustración 56: Opción Flujo temporal de CE ............................................................................... 93
Ilustración 57: Hoja Flujo temporal de CE ................................................................................... 93
Ilustración 58: Opción Categoría y Aplicación por CI .................................................................. 94
Ilustración 59: Hoja Categoría y Aplicación por CI ...................................................................... 94
Ilustración 60: Opción Análisis vulnerabilidades......................................................................... 95
Ilustración 61: Hoja Análisis vulnerabilidades ............................................................................. 95
Ilustración 62: Mashup................................................................................................................ 96
Ilustración 63: Vista Resumen informe SAP Crystal Reports ...................................................... 97
Ilustración 64: Vista Detalle informe SAP Crystal Reports .......................................................... 97
Ilustración 65: Planificación del proyecto ................................................................................. 101
Ilustración 66: Tiempo en horas................................................................................................ 102
Ilustración 67: Ciclo del proyecto .............................................................................................. 102
Ilustración 68: Modelo abierto.................................................................................................. 105
Ilustración 69: Modelo preparado para el diseño de mapas .................................................... 105
Ilustración 70: Modelo abierto para el diseño de Mashups ..................................................... 106
Ilustración 71: Modelo abierto para el tratamiento de ficheros perimetrales ......................... 107
Ilustración 72: Conectividad SAP Crystal Reports a Hive .......................................................... 107
Ilustración 73: Web oficial D3.js con un amplio muestrario gráfico ......................................... 108
Ilustración 74: Grafico d3.js seleccionado como base para nuestro mapa............................... 109
Ilustración 75: Extracto del fichero CSV que utiliza nativamente el mapa ............................... 110
Ilustración 76: Resultado final teórico del nuevo Mashup geolocalizado ................................ 111

7
Business Intelligence & Visualization

Scripts
Script 1: Cálculo días del Calendario ........................................................................................... 77
Script 2: Tabla de Hechos ............................................................................................................ 86
Script 3: Calendario ..................................................................................................................... 86
Script 4: Threat ............................................................................................................................ 87
Script 5: Aplicación ...................................................................................................................... 87
Script 6: Países y rangos de direcciones IP .................................................................................. 88
Script 7: Coordenadas ................................................................................................................. 88
Script 8: Tabla Staging Area......................................................................................................... 98
Script 9: Tabla Cubo .................................................................................................................... 98
Script 10: Ruta lectura ficheros ................................................................................................... 98
Script 11: Filtro Traffic ................................................................................................................. 98
Script 12: Estructura fichero Traffic ............................................................................................ 98
Script 13: Desglose fecha Traffic ................................................................................................. 98
Script 14: Cálculo indicadores de análisis Traffic ........................................................................ 99
Script 15: Selección campos Traffic ............................................................................................. 99
Script 16: Almacenamiento Traffic en Hive ................................................................................. 99
Script 17: Filtro Threat ................................................................................................................ 99
Script 18: Estructura fichero Threat ............................................................................................ 99
Script 19: Desglose fecha Threat ................................................................................................. 99
Script 20: Cálculo indicadores de análisis Threat ........................................................................ 99
Script 21: Tratamiento identificador Threat ............................................................................. 100
Script 22: Almacenamiento Threat en Hive .............................................................................. 100
Script 24: Carga datos de Staging Area a Summary Data.......................................................... 100
Script 25: Código fuente javascript donde se carga el fichero de posiciones ........................... 110

8
1 Introducción
1.1. La seguridad
En el mundo actual, con el incremento de datos, dispositivos y conexiones,
aumentan las amenazas de seguridad, tanto en número como en alcance. Se ha
puesto de manifiesto un aumento constante en actividades delictivas en el
ciberespacio, proliferación de vulneraciones en la seguridad que afectan a
empresas de numerosos sectores.

La valiosa información que alojan las organizaciones es objetivo de quienes atacan


a los sistemas, ya sea por motivos delictivos, personales o políticos. El daño
ocasionado a la información y a la infraestructura que procesa estos datos es cada
vez más frecuente, más profesional y adopta cada vez formas más organizadas.

Estos fallos en la seguridad no solo han supuesto un importante gasto para las
empresas afectadas, sino que han dañado de forma significativa la confianza de los
clientes y la reputación de las empresas.

Todo ello, está obligando a empresas y organizaciones gubernamentales a cambiar


el modo en que gestionan la seguridad y el cumplimiento de normativas.

Así pues, es cada vez más importante, aunque más difícil, proteger y garantizar la
seguridad de información importante y los activos relacionados.

Es por ello, se deben adoptar importantes medidas para crear seguridad y adoptar
enfoques que permitan evaluar riesgos para las empresas y TI. Buscar anticiparse,
utilizando herramientas analíticas que permitan detectar e identificar los riesgos de
forma activa, controlando y abordando las amenazas a tiempo.

9
Business Intelligence & Visualization

1.2. Grupo Agbar


Aigües de Barcelona se constituyó en 2013 como un nuevo modelo de colaboración
público-privada que integra todos los servicios asociados al ciclo integral del agua.
Así, sumó a su ámbito de actividad el servicio de saneamiento y la depuración de
aguas residuales para su retorno al medio natural o su reutilización [1].

En la actualidad la empresa cuenta con un sistema SIEMP (Security Information


and Event Management) capaz de recopilar todos los eventos de seguridad de los
siguientes grupos de activos [1]:

• 25 sistemas de seguridad (Next Generation Firewall Perimetral, Antivirus,


Proxy, Network Access Control, Advanced Malware Protection, Web
Application Firewall, DLP de Red & Host, Intrussion Prevention System,
Denid of Service Protection, etc…).
• 1.000 servidores, de los cuales 200 son considerados activos críticos.
• 25 estaciones de trabajo consideradas VIPs.
• 2.500 dispositivos móviles (Smartphone, tablets).
• 8.000 estaciones de trabajo.

Actualmente, parte de esta información, la más relevante, es reenviada para su


análisis posterior, y en tiempo real, a otros sistemas mediante Smart connectors.

Se necesita aprovechar la información disponible de modo que permita visualizar y


generar indicadores que faciliten la toma de decisiones sobre el nivel de amenazas
en seguridad.

Asimismo, las incorporaciones futuras de nuevos dispositivos de detección hacen


prever que el número de fuentes pueda incrementarse ostensiblemente [1].

Ilustración 1: Grupo Agbar

10
2. Objetivos
2.1. Objetivo General
Como objetivo general del proyecto se desea implementar un sistema de Business
Intelligence integrado a una plataforma de Big data que permita informar y analizar
sobre los eventos de seguridad acontecidos en los sistemas del Grupo Agbar de
Barcelona.

2.2. Objetivos específicos


Entre los objetivos específicos se tienen los siguientes:

• Diseño de un modelo de datos capaz de soportar la información del sistema


fuente y la integración con fuentes externas.

• Implementación de un entorno de Big Data para la extracción y


transformación de las fuentes de información.

• Implementación de dashboards con visualización de indicadores flexibles e


interactivos, capaces de visualizarse desde web y dispositivos móviles.

2.3. Alcance
Lo que está dentro del alcance:

• Análisis de las fuentes de información y de los datos que generan.

• Diseño e implementación del sistema que combine plataformas Big Data


con plataformas más tradicionales de Business Intelligence.

• Diseño e implementación del modelo de datos.

• Implementación de procesos de ETL (recepción de los datos, parseo,


transformaciones, agregaciones, carga en diferentes sistemas).

• Creación de dashboards con indicadores que aporten valor.


Lo que esta fuera del alcance:

• Implementación de tareas automatizadas de extracción y carga de ficheros


origen.

• Mantenimiento del sistema implementado.

11
Business Intelligence & Visualization

3. Fases y etapas del proyecto


El proyecto se estructura en las siguientes fases:

• Toma de Requerimientos: Entrevistas con el cliente, lectura y estudio de


la documentación relacionada con el proyecto.
• Análisis y Diseño: Estudio de la disposición de las bases de datos,
estructuración de su contenido y selección de la información necesaria que
extraer para el análisis. Diseño de las capas del proceso ETL: Temporal,
ODS y DWH. Definición de la capa semántica y de presentación de los
cuadros de mando.
• Desarrollo: Crear Data Mart destino especializado, y la implementación de
los flujos de datos del proceso ETL con sus objetos de extracción,
transformación y carga.
• Refinamiento y pruebas: Presentación del prototipo y refinamiento de la
solución. Pruebas Unitarias y de Integración.
• Documentación y Puesta en marcha: Puesta en marcha del proyecto en
producción, seguridad de acceso a los cuadros de mando y soporte, y
documentación asociada al proyecto.
• Conclusiones: De los resultados que se visualizan en los cuadros de
mando tomar las decisiones más adecuadas según el análisis realizado.

A continuación se muestra un esquema con las principales fases y tareas del


proyecto:

Ilustración 2: Fases y etapas del proyecto

12
4. Fundamentos teóricos
4.1. Business Intelligence
4.1.1. Definición
La inteligencia de Negocios o Business Intelligence (BI) se puede definir como el
proceso de extraer datos de cualquier fuente: archivos o base de datos, con el
objetivo de convertir los datos de una organización en información útil y crear
conocimiento. Integra y estructura los datos dispersos en la empresa para
generar información relevante y ayudar en el proceso de toma de decisiones.

BI provee la información que requiere el usuario de negocio en la manera como lo


desea y en el momento que lo necesite, mejorando enormemente la efectividad para
la toma de decisiones, revelando tendencias de negocio no perceptibles fácilmente.

Algunas definiciones adicionales sobre Business Intelligence:

“Las aplicaciones de Business Intelligence (BI) son herramientas de soporte de


decisiones que permiten en tiempo real, acceso interactivo, análisis y manipulación
de información crítica para la empresa. Estas aplicaciones proporcionan a los
usuarios un mayor entendimiento que les permite identificar las oportunidades y los
problemas de los negocios. Los usuarios son capaces de acceder y apalancar una
vasta cantidad de información y analizar sus relaciones y entender las tendencias
que últimamente están apoyando las decisiones de los negocios. Estas
herramientas previenen una potencial pérdida de conocimiento dentro de la
empresa que resulta de una acumulación masiva re información que no es fácil de
leer o de usar.” (CherryTree & Co., 2000)

“Llamamos Business Intelligence (BI) al conjunto de estrategias y herramientas


enfocadas a la administración y creación de conocimiento mediante el análisis de
datos existentes en una organización o empresa.”(Wikipedia)

“Conjunto de tecnologías, métricas, procesos y sistemas que una organización usa


para controlar y gestionar su rendimiento empresarial.” (Bani Brandolini, Presidente
Internacional de Tagetik)

“Business Intelligence (BI) es un conjunto de conceptos y metodologías para


mejorar la toma de decisiones a través del uso de hechos y sistemas basados en
hechos.” (Gartner Group)

“Los sistemas de BI convierten los datos en bruto de una compañía en información


usable que pueda ayudar a la dirección a identificar tendencias importantes,
analizar el comportamiento de clientes y tomar decisiones de negocio inteligentes
rápidamente”. (Sun MicroSystems 2005)

“La inteligencia de negocio es una amplia categoría de aplicaciones y tecnologías


para recoger, almacenar, analizar y proveer acceso a datos para ayudar a los
usuarios de las empresas a tomar mejores decisiones de negocio. Las aplicaciones
de BI incluyen las actividades del sistema de soporte a las decisiones (DSS),

13
Business Intelligence & Visualization

consultas e informes, tecnologías OLAP, análisis estadístico y data mining.”


(SearchCRM.com)

En definitiva, podemos afirmar que la inteligencia de negocio puede tener dos


proyecciones diferentes según se mire desde el punto de vista del negocio o desde
el punto de vista técnico, donde se tienen más en cuenta las herramientas y las
tecnologías por encima de la metodología de uso de la información en la toma de
decisiones del negocio.
En la figura podemos observar el esquema clásico de una solución de BI.

Ilustración 3: Esquema clásico de BI

4.1.2. Beneficios
A lo largo de los años, el Business Intelligence ha evolucionado para dotar a sus
usuarios con una mayor capacidad de análisis sobre información estratégica y
garantizando mejor toma de decisiones.

Gracias a la llegada del BI, se observan una serie de ventajas destacables en la


implantación de estas soluciones para el análisis de información en una
organización:

• Información fácil, potente y asequible: Sin necesidad de conocimiento


técnico cualquier usuario, como un director comercial, puede acceder a
información útil, organizada e integrada (gracias al concepto de Data
Warehouse) en una misma aplicación en pocos minutos.
• Datos útiles, actualizados y flexibles: Disposición de la información
correcta en el momento adecuado. En el diseño del Data Warehouse sólo
se seleccionan aquellos datos que vayan a ser relevantes en el análisis y se
les dota de una presentación o un formato adecuado que puede cambiar
según los requerimientos de la empresa.
• Previsión sobre hipotéticos escenarios: Provee la capacidad de evaluar
distintos escenarios al mismo tiempo, con el cual se pueden analizar
diferentes situaciones que se pudiesen presentar en el día a día del negocio,
y con ello poder adelantar posibles decisiones estratégicas. Toma de
mejores decisiones por parte de la directiva a partir de cómodas
herramientas (Cubos OLAP, reporting systems, consultas ad-hoc).

14
• Control de estrategia empresarial: Permite definir indicadores que miden
el desempeño del negocio, obteniendo información de calidad en todo
momento. Análisis de un cierto campo desde diferentes puntos de vista
(Dashboards o Balanced ScoreCards).
• Análisis de ciertos indicadores clave a través de ciertas herramientas que,
junto con alertas, indiquen el impacto a futuro de éstos (Análisis what-if).
• Eliminación del error humano: Todos los informes se realizan a través de
la plataforma evitando la generación de costosos documentos en Excel de
forma manual.
• Sistemas de estructura escalable: Esto hace posible que los sistemas
crezcan de forma regulada.
• Organización de gran cantidad de información: Gracias a herramientas
como el Data Mining y la utilización de Data marts.
• Ahorro de tiempo y dinero: Permite que cada sujeto cumpla su función y
dedique tiempo para tareas más importantes aumentando de esta forma la
productividad.

4.1.3. Herramientas y Técnicas


El Business Intelligence integra una serie de herramientas, tecnologías,
metodologías y técnicas orientadas a aportar beneficios frente al tratamiento de la
información. A continuación, se enumeran y detallan diferentes conceptos que
forman parte del Business Intelligence, tanto técnicas referidas más al negocio
como herramientas obtenidas con la informática.

4.1.3.1. Base de Datos OLTP (On-line Transaction Processing)


Tecnología que se utiliza para administrar aplicaciones que utilizan operaciones
transaccionales, donde se realizan una gran cantidad de modificaciones y entradas
de datos. En estos sistemas es necesario tener un tiempo de respuesta aceptable
a la hora de realizar las modificaciones de los datos.

Algunas de sus características:

• Orientada a resolver las operaciones del día a día.


• Resuelve muchas transacciones conocidas y repetitivas.
• Administra datos que cambian con frecuencia.
• Gestiona operaciones de alta, modificación, baja y consulta de datos.
• Gestiona muchas transacciones concurrentes.
• Cada transacción hace referencia a pocos registros.
• Tiene un modelo de datos relacional normalizado.
• Tiene muchas tablas de datos con estructuras complejas.
• Ofrece rapidez en el tiempo de respuesta de las transacciones [13].

15
Business Intelligence & Visualization

4.1.3.2. Base de Datos OLAP (On-line Analitycal Processing)


Esta tecnologia maneja una serie de consultas de forma interactiva sobre
estructuras multidimensionales (Cubos OLAP) cargadas previamente con datos
almacenados en las bases de datos corporativas tradicionales. Al estar los datos
precompilados sobre una estructura intermedia, el tiempo de respuesta de las
consultas es menor, posee una enorme potencia de cálculo y técnicas de
indexación especializadas. Con estos sistemas es posible analizar la información
almacenada en un data warehouse, pero no es estrictamente necesario, ya que la
información puede provenir de diferentes bases de datos. El objetivo de estas
herramientas es obtener una mejor comprensión de lo almacenado en las bases de
datos.

Algunas de sus características:

• Orientada a resolver las operaciones del día a día.


• Resuelve muchas transacciones conocidas y repetitivas.
• Administra datos que cambian con frecuencia.
• Gestiona operaciones de alta, modificación, baja y consulta de datos.
• Gestiona muchas transacciones concurrentes.
• Cada transacción hace referencia a pocos registros.
• Tiene un modelo de datos relacional normalizado.
• Tiene muchas tablas de datos con estructuras complejas.
• Ofrece rapidez en el tiempo de respuesta de las transacciones.

En cualquier herramienta OLAP se encuentran dos tipos de variables


características:

• Dimensiones: Estas variables indican los diferentes puntos de vista con los
que se puede analizar la información, representa una perspectiva de los
datos. Forman parte de la Tabla de Dimensiones. Las dimensiones son
usadas para seleccionar y agregar datos a un cierto nivel deseado de
detalle. Las dimensiones se relacionan en jerarquías o niveles. Permiten
analizar la información de forma agrupada.
• Indicadores o Métricas: Dato cuantificable que será analizado, suele ser un
valor numérico. Están contenidos en la Fact Table o Tabla de Hechos, base
del modelo dimensional, la cual se ubica en el centro y alrededor se
encuentran las Tablas de Dimensiones, formando un esquema en estrella.
Todo objeto de análisis es un hecho y por tanto, éstos contienen las
métricas, y las dimensiones contienen los diferentes niveles que componen
las jerarquías.

16
Ilustración 4: Esquema en estrella

La forma de exploración de los datos en análisis OLAP suele ser en forma de matriz,
donde sobre cada uno de los ejes se sitúa una dimensión y sobre las celdas se
sitúan las métricas, conteniendo el valor en función de las dimensiones escogidas.
A partir de estas matrices de datos es posible generar distintos tipos de gráficas
asociadas a las mismas.

Ilustración 5: Ejemplo de análisis OLAP

17
Business Intelligence & Visualization

A partir de esta disposición inicial existen diferentes operaciones a realizar sobre


los datos para obtener diferentes tipos de vistas o diferentes tipos de información:

• Drill Down: Descomponer de manera visual algún dato en detalle según una
cierta jerarquía de una dimensión.
• Drill Up: Añadir un dato concreto según una cierta jerarquía de una
dimensión.
• Drill Through: Obtener una vista detallada de un elemento concreto.
• Rotación: Intercambiar las dimensiones de ejes.
• Filtro: Seleccionar cierta información según un criterio de filtrado.

4.1.3.3. Modelo Dimensional


El modelado dimensional es una técnica de diseño lógico usada para organizar los
datos de un modo simple, utilizando dimensiones del negocio familiares y métricas
tales como producto, cliente, ventas y tiempo.

El modelado dimensional facilita a los usuarios la navegación a través de los datos


porque sus estructuras están diseñadas pensando en los requerimientos de análisis
de la información.

Existen las siguientes formas básicas:

• Esquema en estrella: Para BD relacionales.


• Esquema en copo de nieve: Para BD relacionales.
• Cubo multidimensional: Para BD multidimensionales.

4.1.3.3.1. Esquema estrella


El esquema estrella consiste de una tabla central de hechos, la cual es rodeada por
las tablas de dimensiones. Esta tabla de hechos contiene las métricas del negocio
o medidas.

Las tablas de dimensiones contienen las dimensiones del negocio (por ejemplo:
clientes, productos, oficinas y períodos de tiempo.). Las dimensiones tienen
atributos que son usados para agrupar y analizar la información.

Las jerarquías dentro de cada tabla de dimensión son usadas para navegar entre
los distintos niveles de datos.

El diseño de esta estructura de datos se identifica con un cubo OLAP.

4.1.3.3.2. Esquema copo de nieve


• Es similar al esquema estrella, pero con las dimensiones normalizadas.
• Evita duplicar la información en las dimensiones.
• Requiere más tiempo de proceso al tener que ejecutar más “joins” de tablas.

18
4.1.3.3.3. Cubo OLAP
• Un cubo OLAP pude tener más de tres dimensiones y por esta razón
también se denomina hipercubo.
• Un cubo OLAP está constituido por los datos de una o más tablas de hechos
y presenta la información a los usuarios en la forma de medidas y
dimensiones.
• Permite realizar un análisis multidimensional de los datos en base a las
dimensiones del cubo.
• Los cubos OLAP almacenan sumas precalculadas de los datos
denominadas “agregados”.
• En función de dónde y cómo se almacenan los datos agregados y detallados
se distinguen tres tipos de OLAP:
MOLAP: Utiliza BD multidimensionales.
ROLAP: Utiliza BD relacionales.
HOLAP: Solución híbrida.

4.1.3.4. Query y Reporting


Son las herramientas con las cuales se elaboran informes no tan complejos, en
base a los datos más usuales y sencillos de analizar, tanto de manera agregada
como detallada de la información. Estas herramientas trabajan de forma óptima a
través de sistemas basados en almacenes de datos ya que su tecnología y su forma
de estructurar la información favorecen que con estas herramientas se obtengan
tiempos de respuesta menores en las consultas.

Asimismo, ofrecen diferentes formas de presentación y diseño, según el tipo de


información analizada y la causa para la cual esté destinada.

Permiten formatear la información fácilmente y distribuirla, utilizando varias vías de


comunicación (web, e-mail, etc.), a los responsables de tomar las decisiones en la
empresa.

Los informes tienen una alta calidad de edición y se pueden generar en varios
formatos: MS Office, PDF, HTML, etc.

4.1.3.5. Cuadro de Mando Integral


El Cuadro de Mando Integral (CMI) o Balanced Scorecard monitoriza la evolución
de los indicadores clave relativos a los objetivos estratégicos (KPIs) de la empresa.
Tiene un importante contenido gráfico (relojes, semáforos, etc.) que facilita la
obtención de conclusiones.

Este modelo parte de que la estrategia empresarial es el punto más importante a


tener en cuenta para controlar la evolución de la organización.

El cuadro de mando toma como núcleo principal la visión estratégica y la


organización para aplicarla en diferentes perspectivas de toda la empresa y así
conseguir mejorar su rendimiento por medio de indicadores de acción, objetivos y
estándares.

19
Business Intelligence & Visualization

4.1.3.6. KPI (Key Performance Indicator)


Los KPI (Key Performance Indicators), también llamados “Indicadores Clave del
Desempeño”, miden el nivel del desempeño de un proceso en relación con la meta
fijada para alcanzar el objetivo definido: “Lo que no se mide no se controla”.

Cuando se habla de los KPI se suele utilizar el acrónimo SMART:

• Specific (Específicos)
• Measurable (Medibles)
• Achievable (Alcanzables)
• Realistic (Realistas)
• Timely (A tiempo) [13]

4.1.3.7. Data Warehouse (DW)


Un Data Warehouse es una colección de datos orientada al negocio, integrada,
variante en el tiempo y no volátil para el soporte del proceso de toma de decisiones
de la gerencia. Supone la centralización y almacenamiento de todas las fuentes de
datos de la empresa en un solo lugar y de manera organizada e integrada, y por
este motivo también se denomina “Enterprise Data Warehouse”.

Presenta las siguientes características:

• Orientado al negocio: Los datos están organizados por temas del negocio
(ventas, finanzas, etc) para facilitar su acceso y entendimiento por los
usuarios.
• Integrado: El DW agrupa y estructura los datos procedentes de los sistemas
operacionales y elimina las posibles inconsistencias que hubiera en los
mismos.
• Variante en el tiempo: El DW contiene el valor de los datos a lo largo del
tiempo, lo cual permite analizar lo ocurrido en un determinado período y
también realizar análisis de tendencias.
• No volátil: Los datos cargados en el DW se leen pero no se modifican ni se
eliminan. La actualización del DW significa la incorporación de nuevos
valores correspondientes a otra fecha de referencia.

4.1.3.8. Data Mart (DM)


Un Data Mart (DM) es un subconjunto de datos del Data Warehouse con el propósito
de ayudar a que un área específica dentro del negocio pueda tomar mejores
decisiones estratégicas. Los datos existentes en este contexto pueden ser
agrupados, explorados y propagados de múltiples formas para que diversos grupos
de usuarios realicen la explotación de los mismos.

Los DM se diseñan con una estructura de datos multidimensional. Cada objeto de


análisis es una tabla de hechos enlazada con diversas tablas de dimensiones.
Comparado con el DW general de la empresa, los DM se desarrollan de un modo
más rápido y son más baratos.

20
El contenido de Business Intelligence con el que se puede trabajar todos los días
desde el escritorio, se procesa y optimiza automáticamente para utilizarlo en
dispositivos móviles. Los usuarios pueden interactuar con tablas y gráficos,
actualizarlos y especificar parámetros para filtrar, accediendo a un mayor grado de
detalle de la información.

4.1.3.9. Procesos ETL (Extract, Transform and Load)


Los procesos ETL son los encargados de extraer datos de múltiples fuentes, darles
formato y presentación, convertirlos en información útil y organizada, y cargarlos y
almacenarlos en un almacén de datos o datamart para su posterior análisis.

En este paso del proceso se carga el DW con los datos procedentes de la fase de
transformación.

Este proceso puede ser de tres tipos:

• Carga inicial: Carga por primera vez del DW.


• Carga incremental: Actualización del DW con nuevos datos.
• Refresco total de tablas: Borrado completo del contenido de una o varias
tablas del DW y recarga con nuevos datos. Este proceso puede llevar
bastante tiempo y durante el mismo, normalmente, el DW está offline.
Un mal diseño de procesos ETL puede ocasionar graves problemas operativos a la
compañía. Es imprescindible asegurar la calidad de los datos en todo el proceso
ETL.

4.1.3.10. Staging Area


Es un área temporal donde se recogen los datos extraídos de los sistemas origen
en su camino hacia el DW.

• Estos datos no se explotan con ninguna herramienta de BI, son datos


temporales.
• Una vez los datos están en la Staging Area los procesos del DW son
independientes de los sistemas origen.
• Los datos en la Staging Area son transformados.
• Algunos productos ETL hacen la transformación en memoria y actualizan
directamente el Data Warehousing (no staging) [13]

21
Business Intelligence & Visualization

4.1.3.11. Cuadrante Mágico de Gartner


El cuadrante de Gartner no respalda a ningún proveedor, producto o servicio
representado en sus publicaciones de investigación, y no aconseja a los usuarios
de tecnología seleccionar sólo a aquellos proveedores con las calificaciones más
altas u otra designación. Las publicaciones de investigación de Gartner consisten
en las opiniones de la organización de investigación de Gartner y no deben ser
interpretadas como declaraciones de hechos. Gartner renuncia a cualquier
garantía, expresa o implícita, con respecto a esta investigación, incluyendo
cualquier garantía de comerciabilidad o aptitud para un propósito particular.

El siguiente gráfico muestra el último gráfico (febrero 2017) sobre Business


Intelligence y Analítica, publicado por Gartner, Inc. como parte de un documento de
investigación más amplio y evaluado:

Cuadrante Mágico de Gartner BI 2017

Ilustración 6: Cuadrante mágico de Gartner BI 2017

En esta edición las plataformas analíticas clasificadas como líderes son: Tableau,
Qlik y Microsoft donde Qlik se posiciona por séptima vez consecutiva en el
cuadrante de líderes demostrando su alto nivel de innovación y satisfacción del
cliente. A diferencia del año anterior (2016) se destaca que Power BI (Microsoft) y
TABLEAU han tomado mucha ventaja sobre QLIK, su más cercano rival.

22
En el caso de Tableau, éste ofrece una experiencia de exploración visual altamente
interactiva e intuitiva para que los usuarios de negocios puedan acceder, preparar
y analizar fácilmente sus datos. Tableau se ha centrado de manera decisiva en
facilitar la experiencia analítica del flujo de trabajo para los usuarios, pero al mismo
tiempo les da mayor poder para explorar y encontrar información sobre sus datos.
Las desventajas de esta plataforma son: Exploración de datos basada en objetos
visuales, precios y empaquetamiento y falta de soporte de modelos de datos
complejos.

Y liderando el cuadrante de Gartner se encuentra Microsoft con la solución Power


BI, herramienta fiable y moderna que aporta rapidez y precisión, destacando por el
ritmo de innovación de su plataforma.

Cuadrante Mágico de Gartner BI 2016

Ilustración 7: Cuadrante mágico de Gartner BI 2016

A partir del 2016, Tableau, Microsoft y Qlik son los tres únicos líderes restantes en
el Cuadrante. Los tres proveedores se agrupan bastante bien, con Tableau
liderando el paquete en capacidad de ejecutar por segundo año consecutivo en los
talones de su última actualización de producto.

23
Business Intelligence & Visualization

A continuación, la evaluación de las herramientas posicionades en el cuadrante de


Líderes, sobre las cuales se seleccionarà la herramienta de business Intelligence
con la cual se desarrolará el presente proyecto [14].

4.1.3.11.1. MICROSOFT
Microsoft ofrece una amplia gama de capacidades de BI y análisis, tanto en locales
como en la nube Microsoft Azure. Su producto Microsoft Power BI es la herramienta
principal por la cual lidera en el Cuadrante Mágico y se encuentra en su segunda
versión, que ofrece una BI basada en la nube con un nuevo interfaz de escritorio.

Además de estas ventajas, Microsoft Power ofrece la preparación de datos, el


descubrimiento de datos y cuadros de mando interactivos a través de una única
herramienta de diseño en la versión más reciente. Microsoft también sigue
apoyando los primeros complementos basados en Excel que se enviaron
inicialmente en Power Query, Power Pivot, Power View y Power Map. Microsoft ha
dicho que estos complementos de Excel se mantendrán en el producto en el futuro
previsible, ya que se convierten en native3 en Oficial 2016. Una de las
características más innovadoras de Microsoft Power BI es la capacidad de utilizar
la creación basada en navegador y escritorio con aplicaciones y Plataformas que
están tanto en la premisa como en la nube. Esta estrategia de integración híbrida
se basa en las API de Microsoft Azure Cloud [15].

4.1.3.11.2. QLIK
Las calificaciones de referencia de clientes de Qlik la sitúan en el cuadrante superior
por su capacidad de respuesta en el mercado, basada en una combinación de cómo
el producto se despliega en las organizaciones y su fuerte impulso.

Con la incorporación de Nprinting en Qlik Sense, Qlik soporta tanto las capacidades
de BI tradicionales para programar informes, así como el descubrimiento ágil
(gobernado de datos y exploración visual). Entre las capacidades del producto que
contribuyen a su posición en el cuadrante de los líderes: despliegue rápido,
activación del usuario, nuevos tipos de formación y red de socios.

Las principales características de Qlik Sense son las siguientes:

• Funcionalidad de Drag & Drop para un uso más intuitivo.


• Función Smart Search que permite descubrir relaciones de datos.
• Una única aplicación para explorar varias fuentes de datos.
• Crear cuadros de mando, tablas dinámicas y compartirlas con el resto de
usuarios.
• Tecnología asociativa: Gestiona automáticamente todas las relaciones de
los datos y presenta la información al usuario mediante una codificación de
colores verde/blanco/gris. Las selecciones se muestran de color verde, los
datos asociados se visualizan en blanco y los datos excluidos (no
asociados) se ven de color gris. Este feedback instantáneo anima a los
usuarios a pensar en nuevas preguntas y continuar explorando y
descubriendo cosas.
A continuación, se muestra un esquema de Qlik respecto a su relación con las
distintas fuentes de datos:

24
Ilustración 8: Qlik y Big Data

Qlik Sense es una nueva versión limitada funcionalmente respecto a Qlik View,
dirigida para visualiarse por dispositivos móviles, porque los gráficos se adaptan a
la resolución de la pantalla.

Un Script escrito en Qlik View puede migrarse a Qlik Sense, cuidando los objetos
que Qlik View pudiera tener y no Qlik Sense.

En Qlik Sense también existen extensiones y mashups para complementar los


gráficos que dispone por defecto.

Qlik Sense permite aprovechar océanos de datos, siguiendo los siguientes pasos:

• Consolida datos relevantes procedentes de múltiples fuentes, incluidos


grandes repositorios de Big Data.
• Accede a un análisis de Big Data sin hacer programación o modelado de
datos.
• Explora las asociaciones entre datos tradicionales y Big Data.
• Visualiza Big Data con gráficos muy vistosos, potentes y atractivos.
• Accede y analiza Big Data desde dispositivos móviles.
• Permite una toma de decisiones social con una colaboración en tiempo real.

25
Business Intelligence & Visualization

El motor de búsqueda de datos en memoria patentado por Qlik Sense comprime


los datos habituales en un factor de 1 a 10, lo cual significa que un único servidor
de 256GB de RAM puede cargar más de 2TB de datos no comprimidos. Esto
representa miles de millones de filas, al tiempo que ofrece una tasa de respuesta
únicamente posible con arquitecturas en memoria. Otras características de Qlik
Sense como por ejemplo el encadenamiento de documentos y la carga binaria
aceleran aún más la exploración de conjuntos de datos muy extensos. Esta es la
ruta elegida por muchos clientes Qlik Sense para el análisis de terabytes de datos
almacenados en Data Warehouses o clusters Hadoop y otros repositorios similares
[7].

4.1.3.11.3. TABLEAU
Esta herramienta se presenta en el cuadrante de líderes de Gartner desde hace 5
años. Algunas de las características más significativas que han hecho esto posible
son las siguientes:

Administración de datos incorporada que equilibra la autonomía con el


control

Contar con un entorno de autoservicio en el que todos puedan acceder a los datos
es magnífico. Sin embargo, es imprescindible poder determinar cuándo usar esos
datos y qué fuentes son confiables para una tarea específica.

Por ese motivo, se proporciona un contenido certificado para ayudar al


departamento de TI y los usuarios corporativos. Este permitirá al departamento de
TI definir fuentes de datos administrados, incluidos las uniones apropiadas, las
reglas de seguridad y las optimizaciones de rendimiento, además de crear los
cálculos estándar en los que confía el resto de la organización. En consecuencia,
los usuarios corporativos podrán seleccionar fuentes certificadas con la seguridad
de que sus datos son precisos y confiables.

Un velocísimo motor de datos para analizar grandes volúmenes más rápido

A fin de satisfacer la creciente necesidad de datos, se diseña un nuevo motor de


datos en memoria con Hyper, la veloz tecnología de bases de datos que se adquirió
el año pasado.

Hyper permite hacer análisis rápidos de miles de millones de registros y


actualizaciones de datos casi en tiempo real. Está diseñado para procesar consultas
transaccionales y analíticas de manera simultánea, sin afectar al rendimiento. Por
lo tanto, podrá realizar análisis sofisticados de grandes conjuntos de datos con una
eficacia increíble.

Hyper también optimizará el modelo de datos híbrido de Tableau. Seguirá


permitiendo la conexión en tiempo real a más de 60 fuentes diferentes compatibles
con Tableau. Eso significa que usted podrá aprovechar las funcionalidades de
diferentes bases de datos, como Amazon Redshift, Google BigQuery, Snowflake y
Microsoft SQL Server, o bien optar por incorporar parte o la totalidad de sus datos
a Tableau con Hyper.

26
Preparación de autoservicio que permite transformar los datos rápidamente
para su análisis

La preparación de los datos para el análisis es un proceso difícil y que requiere


mucho tiempo. Por ese motivo, se trabaja en Project Maestro. Este nuevo producto
hará posible que un mayor número de personas, desde los miembros del
departamento de TI hasta los usuarios corporativos, sean capaces de preparar sus
datos con un método directo y visual. Inmediatamente verá el impacto de las
uniones y los cálculos que realiza. Tendrá exactamente lo que necesita antes de
pasar al análisis.

Project Maestro se integrará en el resto de la plataforma de Tableau. Como


resultado, se podrán administrar los datos, analizarlos y automatizar sus
actualizaciones de manera centralizada en Tableau Desktop, Tableau Server y
Tableau Online.

Análisis avanzado para todos

El análisis visual continúa siendo un pilar fundamental de nuestros esfuerzos de


I+D, ya que otorga el poder de los datos a más personas. Aún queda mucho por
descubrir en esta área. Se trabaja en muchas innovaciones para ayudarlo a pensar
con sus datos.

Se incorporan funcionalidades eficaces, como visualizaciones en las descripciones


emergentes, mejoras para explorar en profundidad y nuevos tipos de gráficos (como
los gráficos de escalera). También se ofrece la posibilidad de agregar imágenes a
los encabezados, las etiquetas y las descripciones emergentes. Con las leyendas
por medida y la ordenación anidada, otorgamos más flexibilidad a los usuarios.

También se invierte en análisis geoespacial sofisticado para ayudar a responder


más preguntas sobre datos geográficos. En Tableau 10.2, se agrega compatibilidad
con archivos espaciales. Y eso es solo el comienzo. También se agregan
operaciones espaciales, como filtros y cálculos, para que se puedan hacer
preguntas del tipo: “¿Cuántos clientes viven a menos de un kilómetro de la tienda?”.
Además, con las capas, podrá mapear diferentes conjuntos de datos en una misma
vista con unos pocos clics.

Nuestras funcionalidades de análisis avanzado permitirán encontrar una respuesta


exhaustiva para la pregunta, sin importar su complejidad. Se pretende acercar el
poder de la ciencia de datos a un mayor número de usuarios, sin requerir
programación. En la actualidad, basta con arrastrar y soltar para agrupar en
clústeres, hacer pronósticos e identificar tendencias. En el futuro, tendrá a tu
disposición más algoritmos, por ejemplo, para la detección de valores atípicos y el
análisis de opiniones.

También se permite a los científicos de datos incorporar modelos eficaces


directamente en Tableau. Ahora, se pueden incrustar modelos de R y Python en
Tableau para el análisis interactivo. Más adelante, se podrán aprovechar las
plataformas de aprendizaje automático basadas en la nube a fin de incorporar aún
más algoritmos escalables para este tipo de análisis.

27
Business Intelligence & Visualization

Con Tableau, es cada vez más fácil responder preguntas más complejas. Podremos
responder sus nuevas preguntas de manera automática, ayudar a interpretar lo que
ve o sugerir los pasos siguientes. Se agregarán eficaces algoritmos de aprendizaje
automático directamente en Tableau. Estos recomendarán las vistas, las tablas, las
uniones y los campos apropiados para ayudarlo a responder sus preguntas con más
rapidez.

Pronto se habilitarán nuevas posibilidades de dialogar con los datos mediante el


análisis inteligente. Gracias al procesamiento del lenguaje natural, podrá interactuar
con sus datos de una forma más familiar por medio de la voz o el texto.

Implementaciones híbridas y flexibles

La implementación de Tableau debe ser sencilla y flexible. Esa flexibilidad también


debe existir en la implementación y la conexión a sus datos, sin importar dónde se
encuentren (en la nube, las instalaciones físicas o ambos lugares). Por ese motivo,
se ofrecen más opciones de implementación de Tableau. Se agrega una versión
empresarial de Tableau Server en Linux. Para muchas organizaciones, Linux
implica costos más bajos, más personalización y una forma más segura de ejecutar
Tableau Server.

Ahora, se pueden implementar Tableau Server en plataformas en la nube pública,


incluidas AWS, Azure y Google Cloud. Por supuesto, también se pueden
implementar Tableau localmente en máquinas virtuales y en entornos físicos. No
importa en qué etapa te encuentres ni qué plataforma elija.

También, puedes dejar que Tableau se encargue de controlar su infraestructura con


Tableau Online, nuestra oferta administrada de software como servicio (SaaS). Se
agregan recursos de creación integral en la nube para Tableau Online, alertas
basadas en datos, programas de autoservicio, debates colaborativos y otras
muchas funcionalidades. Todo ello constituye una completa solución de análisis
basada en la nube.

Al evaluar las implementaciones híbridas, se deben considerar los datos. Tableau


admite la conectividad híbrida, que permite hacer consultas sobre los datos en
tiempo real sin necesidad de mover los datos con anterioridad. También se puede
mover una parte o la totalidad de estos dentro del rápido motor de datos en
memoria. Esta metodología es compatible con todos los entornos de
implementación.

Sin embargo, al hacer una implementación en la nube, conectarse a los datos


locales puede ser todo un reto. No siempre deseará replicar los datos en la nube
para usarlos. Pronto, podrá analizar datos bajo la protección de un firewall en
Tableau Online con el nuevo agente de consulta en tiempo real. Este actúa como
vía segura hacia los datos locales [16].

28
4.1.3.11.4. Comparativa entre herramientas
Actualmente, estas herramientas ofrecen unas capacidades por encima del resto
en manipulación de datos y análisis interactivo, lo que las convierte en líderes
indiscutibles del mercado. El Power BI de Microsoft, Qlik Sense y Tableau Software
ofrecen características y funcionalidades que los colocan por delante de la
competencia en una serie de áreas clave. Pero, en comparación, estos tres
vendedores ofrecen ventajas y desventajas muy diferentes. Mientras que estos
vendedores lideran el paquete en el mercado de BI de autoservicio lleno de gente,
cada empresa tendrá que decidir qué oferta es mejor para ellos, ya que no son
intercambiables.

Tableau ha liderado el camino en cuanto a funcionalidad y diseño, pero


recientemente ha empezado a ver una fuerte competencia, particularmente de
Power BI, que ofrece algo menos funcionalidad a un precio significativamente
menor. Y el software de Qlik sobresale en la producción de gráficos interactivos
utilizando datos complejos [17].

MICROSOFT QLIK SENSE TABLEAU


La herramienta más El motor de datos en Herramienta de
fácil de usar entre los memoria permite a visualización más
principales los usuarios crear atractiva e intuitiva,
proveedores de BI, gráficos interactivos. según el Cuadrante
según el Cuadrante La retención de Mágico de Gartner.
Mágico 2017 de datos en la memoria Procesamiento de
Gartner para permite que los datos en memoria
Plataformas de gráficos se para una rápida
Inteligencia de actualicen actualización de las
Capacidades
Negocios y Análisis. rápidamente visualizaciones
Visuales
Integra y visualiza mientras los durante la
datos de fuentes usuarios exploran exploración de datos.
dispares, tanto en visualmente los Los conjuntos de
base a la nube, en conjuntos de datos. datos más grandes
instalaciones o El robusto motor de requieren llamadas
Hadoop. datos permite directas a la fuente
combinar y de datos
visualizar múltiples
fuentes de datos
Soporta lenguaje R No soporta R o Soporte totalmente
basado en Python, pero la integrado para
visualizaciones, compañía indica que lenguaje R y python.
incluyendo esas características Herramientas nativas
forecasting, clustering están por para clustering y
Capacidades y árboles de implementarse. forecasting.
avanzadas de decisiones. Análisis predictivo,
análisis clustering y
regresiones son solo
posibles a través de
conexiones API a
software para
terceros.
Primer software cloud Ofrece productos de Se puede
ofrecido a través de la nube SaaS implementar en
Disponibilidad plataforma Azure de completamente plataformas
Cloud Microsoft. administrados. La administradas por
Opción Desktop mayoría de los Tableau o en
disponible. Las clientes optan por plataformas de

29
Business Intelligence & Visualization

cuentas en cloud son ejecutar la versión terceros, incluidos


necesarias para del servidor. Amazon Web
compartir las Services y Microsoft
visualizaciones. Azure
$9.99 por usuario, por Enterprise: $1500 Tableau Desktop
mes por token; 1 token Personal: $35 por
tiene ilimitado uso usuario, por mes
para un usuario o 10 Tableau Desktop
pases de inicio de Professional: $70 por
sesión usuario, por mes
Precio
programados. Tableau Server: $35
Cloud: $20 por mes por usuario, por mes
para un simple Tableau Online: $42
usuario. $25 por por usuario, por mes
mes, para usuarios
con múltiples logins.
Límite de Qlik Sense Cloud Limite subscripción
subscripción: 10GB Business límite de Tableau Online:
almacenamiento por subscripción: 500 100GB de
datos en cloud. GB de almacenamiento de
Es posible que se almacenamiento en datos en la nube.
Impresión
necesiten costes la nube por grupo de
adicionales para trabajo.
aumentar la
capacidad de los
datos.
Tabla 1: Comparativa entre herramientas BI

Puntos Fuertes:

QlikView:

• Sencillo de usar. No se necesita apenas conocimiento alguno para crear un


cuadro de mando básico.
• Cuenta con una versión gratuita privada, perfecta para valorar su capacidad
o emplear en una pequeña organización.
• Precio comparativamente inferior respecto a los principales competidores.
• Filtrado y navegación muy intuitiva a la que los usuarios se adaptan
inmediatamente.
• Capacidades de desarrollo muy avanzadas para usuarios con conocimiento
técnicos.

Tableau:

• La interfaz de usuario es drag and drop. Es posible no escribir nada.


• Las capacidades para el uso de mapas son muy avanzadas.
• Integración con R, que permite análisis estadísticos complejos.
• Amplia gama de conectores, como por ejemplo con Google Analytics.

Microsoft:

• Precio accesible, incluso Cloud y el precio de almacenamiento.


• Mejoras continuas y comunidad fuerte con respuesta rápida.
• Buena compatibilidad de archivos de importación y conexión perfecta con
los programas de Microsoft Office.

30
• Sistema de relación fuerte, que permite resolver incluso muchas a muchas
relaciones.
• Calidad de los mapas. PowerBi es absolutamente mucho mejor
• Lenguaje DAX para cálculos complejos

4.1.3.11.5. Selección herramienta de BI


Tableau, QlikView y Power BI son herramientas sólidas de inteligencia de negocios,
las cuales se encuentran definidas como líderes en el Cuadrante Mágico de
Gartner. Estas han ido escalando más allá de las capacidades promedio a través
de nuevas funciones con tableros dinámicos e interactivos e informes ad hoc.
Ofrecen herramientas de manipulación gráfica y capacidades de BI para el análisis
interactivo de datos. Aunque presentan muchas funcionalidades en común, cabe
destacar el nivel presentado sobre las funciones gráficas implementadas para la
creación de tableros y sus facilidades de uso, también presentan algunas
diferencias fundamentales que las hacen únicas y apropiadas para tipos específicos
de aplicaciones.

La evaluación y selección de la herramienta depende de las necesidades de análisis


de la empresa y en función de sus requisitos. Por ejemplo, si lo principal para la
empresa es referente a la conexión a bases de datos internas existentes,
almacenes de datos y otras fuentes de datos, se debe analizar individualmente
estas soluciones en función de esos requisitos y/o configuraciones.

Si lo principal para la empresa es el tema de visualización, Tableau está clasificada


como la mejor herramienta para ello, según el cuadrante de Gartner. Las
capacidades de visualización de Tableau son diversas y altamente perspicaces, lo
cual la mantiene como líder en la industria del software de visualización de datos.
Actualmente la compañía se encuentra invirtiendo fuertemente en datos avanzados,
agrupados, segmentados y funciones de análisis más potentes. Es reconocido por
presentar una de las interfaces más fáciles de usar en el espacio de BI, ya que
permite a los usuarios (no necesariamente técnicos) crear cuadros de mando con
mayor facilidad. Asimismo, Tableau puede conectarse a casi cualquier repositorio
de datos, desde MS Excel a clústeres Hadoop. Y en la última versión, el compromiso
de la compañía de proporcionar una hoja de ruta a las empresas que reflejen sus
necesidades de análisis urgentes es evidente en las mejoras de interfaces
simplificadas para rutinas de análisis avanzadas y mejoras en la exploración y
creación de dispositivos móviles.

Por su parte, QlikView es altamente adaptable y ofrece análisis analíticos de gran


alcance. Es una de las herramientas de BI más populares y sigue teniendo una de
las calificaciones de satisfacción del cliente más altas de la industria. Ofrece una
amplia variedad de características y es conocido por su calidad de producto y su
posición general en el mercado. QlikView es probablemente una de las pocas
herramientas de visualización que ofrece una plataforma de BI integrada y viene
con demostraciones adecuadas, manuales de capacitación y tutoriales que pueden
fascinar fácilmente a clientes y nuevos clientes. Este producto no utiliza cubos, por
lo tanto, carga todas las tablas y gráficos en la memoria para permitir consultas
interactivas y creación de informes, una tecnología que no se encuentra en otros
productos.

31
Business Intelligence & Visualization

Adicionalmente, Qlik tiene uno de los conjuntos de comandos de interfaz de


programación de aplicaciones (API) más avanzados de la industria analítica y ha
mejorado continuamente su funcionalidad en los últimos años. Qlik también ha
proporcionado APIs para controlar funciones previamente accesibles sólo a través
de la interfaz de usuario. El resultado ha sido la rápida adopción de Qlik Analytics
Platform (QAP), que los desarrolladores usan hoy para incorporar consultas
analíticas a aplicaciones de informes y análisis.

El Power BI de Microsoft es económico y se conecta perfectamente con MS Office.


Es una opción sólida si se necesita acceso rápido a analíticas específicas o
informes intensivos. A la larga puede desafiar QlikView o Tableau en sus
respectivas especialidades. Microsoft Power BI es la única de estas tres
aplicaciones de visualización y análisis de datos que cuentan con extensas e
importantes integraciones de datos, garantizando la escalabilidad de estas
aplicaciones específicas para proyectos más grandes [18].

Para el caso específico del proyecto, se decidió trabajar con Qlik y la herramienta
Qlik Sense dado que la compañía ya contaba con las licencias y se encontraban
trabajando con la herramienta. Adicionalmente, los requisitos solicitados fueron la
implementación de mejoras gráficas visuales con el uso de extensiones y mashups
para visualizaciones por web.

32
4.2. BIG DATA
4.2.1. Introducción
Bajo el término de Big Data se engloba todo conjunto de datos cuya magnitud
impide que las aplicaciones tradicionales de datos puedan capturar, manejar y
analizar dicha información [8].

Por lo tanto, para la gestión de este volumen de datos es necesario recurrir a nuevas
plataformas de software, que permitan crear entornos de trabajo distribuidos para
facilitar la segmentación de dicha información.

En estas plataformas el tipo de dato ya no es relevante, sino el contenedor que los


aglutina permitiendo no solo almacenar más espacio sino utilizar cualquier
procedencia.

La mejor plataforma posicionada actualmente en este contexto es Hadoop, no


solamente por su excelente gestión de sistema distribuido. Sino por la capacidad
de haber creado todo un ecosistema de aplicaciones que le permiten ajustarse a
las distintas necesidades de la organización.

Ilustración 9: Ecosistema de aplicaciones

33
Business Intelligence & Visualization

4.2.2. Herramientas y Técnicas


4.2.2.1. Hadoop
Es un framework que permite el procesamiento de grandes volúmenes de datos a
través de clusters, que alimentan un sistema distribuido utilizando una arquitectura
Master-Slave. Sus dos características nativas son la creación de un sistema propio
de almacenamiento HDFS y la gestión de algoritmos MapReduce [8].

Ilustración 10: Hadoop Distribuited File System (HDFS)

HDFS es un sistema de ficheros basado en Java que proporciona escalabilidad y


alta disponibilidad de los datos almacenados mediante replicación entre nodos. Sus
actuales limitaciones son la gestión del espacio de no más 4500 servidores
distribuidos proporcionando un total de espacio no superior a los 200 PetaBytes.

YARN es el corazón de Hadoop encargado de coordinar todos los motores del


procesado de datos existente en el ecosistema, así controlar los recursos
disponibles para poder ser asignados a los diferentes trabajos solicitados. De esta
forma se abstrae la capa HDFS del sistema para el resto de aplicaciones.

34
4.2.2.2. MapReduce
Es un proceso batch creado para el proceso distribuido de los datos, permitiendo el
procesado de los datos en paralelo y abstrayendo la complejidad del modelo
distribuido existente en Hadoop [8].

Se compone de dos funciones Map y Reduce. Mediante la función Map los datos
se transforman en un conjunto de datos pares clave/valor, para posteriormente la
función Reduce combine los valores de las diferentes funciones Map que han sido
agrupadas por el valor clave de las mismas.

En medio de ambos procesos como el Shuffling es el encargado de la comunicación


Map-Reduce y el Sorting se encarga de la ordenación de los Map para una más
eficiente gestión por parte de la función Reduce.

Ilustración 11: MapReduce

35
Business Intelligence & Visualization

4.2.2.3. Hortonworks
Es una plataforma Hadoop para la gestión de Big Data, que es capaz de integrar de
forma coordinada las diferentes aplicaciones del ecosistema que la componen [4].

Ilustración 12: Ecosistema HortonWorks

La versión utilizada para el proyecto final de master es la 2.6.1, que normalmente


va asociada su evolución a nuevas versiones de Hadoop. Esto evidentemente
también condiciona el versionado de su ecosistema.

Ilustración 13: Plataforma HortonWorks

Las características que aporta la utilización de Hortonworks como plataforma


Hadoop son las siguientes:

• Plataforma 100% de software libre, solamente el soporte técnico es de pago.


• Todos los comandos son gestionados directamente por YARN. Es el motor
encargado de coordinar todas las actividades del ecosistema.
• Incorpora herramientas para segurizar el acceso a datos cubriendo uno de
los puntos más débiles de Hadoop.
• Monitoriza y gestiona todo el ecosistema de Hadoop de forma centralizada.
• Soporte extendido para algoritmos de Machine Learning presentes en
Spark.
• Permite la gestión de microtransacciones (ACID) en Hive para la
actualización de datos.
• Segurización de datos por fila y columna en el datawarehouse de Hive y
Spark.
• Autobackup de toda la configuración el ecosistema.
• Autoarranque programado del ecosistema en caso de reinicio del mismo.

36
4.2.2.4. Ambari
Hortonworks utiliza Apache Ambari como aplicación central para la gestión de las
diferentes aplicaciones del ecosistema Hadoop a través de una amigable interfaz
web UI. Además de centralizar la gestión, proporciona herramientas agiles para la
configuración de Hadoop [4].

• Asistente interactivo para instalar cualquier servicio del ecosistema en los


nodos, así como la determinación Master-Esclavo de los mismos.

• Arranque, parada y reconfiguración de cada servicio de forma independiente


por cada nodo.

• Monitorización del estado de los servicios de cada nodo, así como datos
métricos del conjunto del sistema donde se visualizan datos como la
memoria disponible, nodos activos, carga de YARN….

• Gestión de alertas personalizable con las diferentes situaciones que


requieren atención por parte de los administradores de sistema.

Ilustración 14: Ambari

37
Business Intelligence & Visualization

4.2.2.5. Pig
Apache Pig es una plataforma creada inicialmente por Yahoo! con el objetivo de
simplificar la implementación de los algoritmos MapReduce, mediante una sintaxis
parecida a SQL denominada Pig Latin. Tras su fuerte aceptación por la comunidad
paso a formar parte de la Apache Software Foundation [5].

Hasta la llegada de Pig la forma de implementar estos algoritmos era mediante


lenguaje Java, algo que sigue manteniendo con la posibilidad de crear funciones
definidas por el usuario (UDF). Posteriormente estas funciones se abrieron a
nuevos lenguajes como Python, Javascript, Ruby….

Este lenguaje permite acceder a ficheros de forma local o al sistema de ficheros


HDFS de Hadoop, siendo esta la más habitual para así realizar conexiones de
lectura o escritura sobre Hive.

Una característica de Pig que ha sido ampliamente valorada es que la generación


y ejecución de las tareas MapReduce no se produce hasta que procesa una orden
que implique el almacenado o visualización del conjunto de datos que estamos
usando.

Ilustración 15: Pig

38
4.2.2.6. Hive
Apache Hive es una plataforma de almacenamiento creada inicialmente por
Facebook con el objetivo de proporcionar un lenguaje lo más parecido a SQL con
el que programar algoritmos MapReduce. Para ello utiliza un lenguaje de consultas
SQL (HiveQL). Tras su fuerte aceptación por la comunidad paso a formar parte de
la Apache Software Foundation [6].

La idea detrás de Hive además de asentarse sobre los beneficios de un sistema de


ficheros distribuidos como Hadoop, es la de traducir todas las consultas SQL en
trabajos MapReduce que son inyectados a través de la gestión de YARN. El
parecido a una BBDD relacional tradicional es tan amplio, que para poder trabajar
con Hive es necesario previamente crear un esquema, definir tablas, columnas….

Esta sencillez de uso para usuarios no afines a este tipo de algoritmos es su mejor
baza, ya que en contra tiene que actualmente todos los trabajos suministrados a
MapReduce se realizan mediante interpretación Java de las secuencias SQL, lo
que produce unas latencias en las respuestas altas para sistemas críticos pero ideal
para procesos orientados a BI, o batch.

Ilustración 16: Hive

39
Business Intelligence & Visualization

5. Solución del proyecto BI & Visualization


5.1. Introducción
El proyecto consiste en diseñar y desarrollar un sistema que combina la plataforma
de Hadoop con una plataforma tradicional de Business Intelligence (BI), que permite
integrar toda la información del sistema SIEMP, así como futuras fuentes de
información de nuevos dispositivos de detección, almacenando datos a nivel
histórico. Se crearán indicadores y cuadros de mando donde se pueda visualizar la
información respectiva de los eventos de seguridad de cada activo en tiempo real.

Se presenta una solución a la carta del cliente. Diseño de un Data Mart a medida
de acuerdo a sus objetivos. Una vez la información se procesa por un ETL, y
almacenada en un Data Mart, se han diseñado informes, analizado la información,
diseñado cuadros de mando, explorado los datos, y ofrecer al usuario acceso a la
información desde cualquier aplicación móvil:

Ilustración 17: Análisis de la información

40
5.2. Requerimientos
Agbar solicita lo siguiente:

• Instalación y configuración de una plataforma Hadoop: Instalación de la


plataforma HortonWorks y posterior configuración de los parámetros.

• Proceso ETL: Desarrollo de un proceso de extracción de los datos de


HDFS, modelado y transformación de los datos, y posterior carga en un
DataWarehouse.

• Uso de herramientas Big Data en el desarrollo: Utilización de Pig como


lenguaje en el desarrollo del proceso ETL y Hive como Datawarehouse.

• Dashboard en Qlik Sense: Diseño de un cuadro de mando en Qlik Sense.

• Uso de Extensiones: Descargar extensiones de Qlik, complementarias y


de mayor complejidad para la visualización de los datos en el cuadro de
mando.

• Uso de Mashups: Diseño de un Mashup donde integrar las distintas


extensiones en una página web.

• Cálculo de tres indicadores de análisis (KPIs): CiberAmenazas Internas,


CiberAmenazas Externas y CiberAmenazas al Corazón. Opcionalmente
crear nuevos indicadores.

• Uso de distintas metodologías de trabajo: Uso de la metodología por


capas en el proceso ETL, y de la metodología DAR en el diseño del cuadro
de mando.

41
Business Intelligence & Visualization

Los Indicadores de Análisis solicitados por Agbar son los siguientes:

1.- CiberAmenazas Externas

Código NumCE Versión 1.0.0


Fecha 25/04/2016
Tipo Evaluación Audiencia Operaciones de Seguridad
Descripción Mide el número de ataques o intentos de conexiones bloqueadas,
recibidos desde una o varias IP de la Red Corporativa de AGBAR a
los activos de CCO.
Pregunta ¿Cuántos ataques se han detectado en FW de CCO con IP interna
y con destino a cualquier IP de CCO?
Respuesta Ataques detectados en el FW de CCO con origen en la red de
negocio corporativa.
Procesos que Campos a filtrar en los logs de ArcSight (FW PA CCO):
suministran • deviceVendor = "Palo Alto Networks"
información al • deviceInboundInterface = " ethernet1/3"
indicador • name: “THREAT” OR “TRAFFIC”
• deviceHostName: “PAN_AB_CCO_COLL01” OR
“PAN_AB_CCO_COLL02”
• deviceAction:
o NOT "allow"
o NOT "alert"
Fórmula NumCE

Unidades Número de ataques.


Valor entero positivo que es mayor o igual que cero.
Frecuencia Diaria, semanal, mensual, trimestral, anual
Objetivos Los valores de NumCE permitirán cuantificar los ataques a CCO
desde la Red de Negocio y mejorar las medidas de protección de
CCO.
Fuentes de Logs HDFS
datos
Frec. de Diaria
recolección
Visualización Ejemplos de visualización:
Gráfico mapa de calor por horas, días.
Gráfico evolutivo del número total de ataques.
Gráfico evolutivo del número total de ataques por tipo.
Participación (%) de cada tipo en el total.
Gráfico evolutivo de las tipos de ataque más bloqueados.
Extensiones Qlik - Mashups
Gráfico Ejemplos:

Tabla 2: CiberAmenazas Externas

42
2.- CiberAmenazas Internas

Código NumCI Versión 1.0.0


Fecha 10/05/2016
Tipo Evaluación Audiencia Operaciones de Seguridad
Descripción Mide el número de ataques o intentos de conexiones
bloqueadas, recibidos desde una o varias IP de los activos de
CCO hacia la Red Corporativa de AGBAR o salida a Internet.
Pregunta ¿Cuántos ataques se han detectado en FW de CCO con IP de
origen de CCO y a cualquier destino?
Respuesta Número de ataques detectados en el FW de CCO con origen
CCO a cualquier destino.
Procesos que Campos a filtrar en los datos de FW PA CCO:
suministran • deviceVendor = "Palo Alto Networks"
información al • deviceInboundInterface = "ethernet1/4"
indicador • name: “THREAT” OR “TRAFFIC”
• deviceHostName: “PAN_AB_CCO_COLL01” OR
“PAN_AB_CCO_COLL02”
• deviceAction:
o NOT "allow"
o NOT "alert"
Fórmula NumCI

Unidades Número de ataques.


Valor entero positivo que es mayor o igual que cero.
Frecuencia Diaria, semanal, mensual, trimestral, anual
Objetivos Los valores de NumCI permitirán cuantificar los intentos de
conexiones salientes desde CCO y mejorar las medidas de
protección de CCO.
Fuentes de datos Logs HDFS
Frec. de Diaria
recolección
Visualización Ejemplos:
Gráfico mapa de calor por horas, días.
Gráfico evolutivo del número total de ataques.
Gráfico evolutivo del número total de ataques por tipo.
Participación (%) de cada tipo en el total.
Gráfico evolutivo de las tipos de ataque más bloqueados.
Extensiones Qlik - Mashups
Gráfico

Tabla 3: CiberAmenazas Internas

43
Business Intelligence & Visualization

3.- Ataque al corazón.

Código NumCEC Versión 1.0.0


Fecha 24/05/2016
Tipo Evaluación Audiencia Operaciones de Seguridad
Descripción Mide el número de ataques o intentos de conexiones
bloqueadas, recibidos desde una o varias IP de la Red
Corporativa de AGBAR a los clientes de operaciones de CCO.
Pregunta ¿Cuántos ataques se han detectado en FW de CCO con IP
interna y con destino a cualquier IP de los clientes de
operaciones de CCO?
Respuesta Ataques detectados en el FW de CCO con origen en la red de
negocio corporativa.
Procesos que Campos a filtrar en los datos de FW PA CCO:
suministran • deviceHostName: “PAN_AB_CCO_COLL01” OR
información al “PAN_AB_CCO_COLL02”
indicador • Name: “THREAT” o “TRAFFIC”
• deviceAction:
o NOT "allow"
o NOT "alert"
• Device Inbound Interface: ethernet1/3 (Inbound).
• Destination Address:
10.8.35.13
10.8.35.14
10.8.34.60
10.8.34.61
10.8.34.53
10.8.34.11/12
10.8.34.21/22
Fórmula NumCEC

Unidades Número de ataques.


Valor entero positivo que es mayor o igual que cero.
Frecuencia Diaria, semanal, mensual, trimestral, anual
Objetivos Los valores de NumCEC permitirán cuantificar los ataques a
CCO desde la Red de Negocio y mejorar las medidas de
protección de CCO.
Fuentes de datos Logs HDFS
Frec. de Diaria
recolección
Visualización Ejemplos:
Gráfico mapa de calor por horas, días.
Gráfico evolutivo del número total de ataques.
Gráfico evolutivo del número total de ataques por tipo.
Participación (%) de cada tipo en el total.
Gráfico evolutivo de las tipos de ataque más bloqueados.
Extensiones Qlik - Mashups
Gráfico

Tabla 4: Ataque al corazón

44
Adicionalmente hemos definido el siguiente indicador:

4.- CiberAmenazas de Alertas

Código NumAlert Versión 1.0.0


Fecha 01/04/2017
Tipo Evaluación Audiencia Operaciones de Seguridad
Descripción Mide el número de alertas recibidas desde una o varias IP de la
Red Corporativa de AGBAR a los activos de CCO.
Pregunta ¿Cuántos ataques se han detectado en FW de CCO con IP
interna y con destino a cualquier IP de CCO?
Respuesta Ataques detectados en el FW de CCO con origen en la red de
negocio corporativa.
Procesos que Campos a filtrar en los logs de ArcSight (FW PA CCO):
suministran • deviceVendor = "Palo Alto Networks"
información al • deviceInboundInterface = "ethernet1/3" OR "ethernet1/4"
indicador • name: “THREAT” OR “TRAFFIC”
• deviceHostName: “PAN_AB_CCO_COLL01” OR
“PAN_AB_CCO_COLL02”
• deviceAction: "alert"
Fórmula NumAlert

Unidades Número de ataques.


Valor entero positivo que es mayor o igual que cero.
Frecuencia Diaria, semanal, mensual, trimestral, anual
Objetivos Los valores de NumAlert permitirán cuantificar los ataques a
CCO desde la Red de Negocio y mejorar las medidas de
protección de CCO.
Fuentes de datos Logs HDFS
Frec. de Diaria
recolección
Visualización Ejemplos de visualización:
Gráfico mapa de calor por horas, días.
Gráfico evolutivo del número total de ataques.
Gráfico evolutivo del número total de ataques por tipo.
Participación (%) de cada tipo en el total.
Gráfico evolutivo de las tipos de ataque más bloqueados.
Extensiones Qlik - Mashups
Gráfico Ejemplos:

Tabla 5: CiberAmenazas de Alertas

45
Business Intelligence & Visualization

5.3. Instalación de la plataforma Hadoop


5.3.1. Selección plataforma
Para la elección de la plataforma Hadoop tuvimos en cuenta el escenario de
implementación de la misma, es decir una empresa como Agbar cuyo perfil no es
de sistemas y la plataforma no sería el centro de su negocio. Por lo tanto es
importante que contará con un servicio de soporte contratable, que aportara
conocimientos sobre las diferentes dificultades que puedan surgir durante la vida
útil de la plataforma [4].

Bajo este contexto actualmente hay dos plataformas que destacan sobre el resto:
Cloudera, Hadoop, y MapR. Esta última la descartamos al ser una solución no
hadoop standard, que se salía del contexto tratado durante todo el curso [9].

Ilustración 18: Estudio comparativo distribuciones

46
Finalmente atendiendo a la cuota de mercado existente y las recomendaciones de
Agbar, nos decantamos por una solución Cloudera. Con la solución software
definida, solo nos quedaba casarla con la plataforma hardware, y para este fin
contábamos con un portátil de 12Gb de memoria y unos 80Gb de disco para
albergar toda la plataforma.

Iniciamos la instalación de Cloudera siguiendo el asistente facilitado por la página


web oficial muy bien detallado [10].

Ilustración 19: Inicio instalación Cloudera

Al llegar al asistente de definición de los nodos para añadir al Cluster, y disponiendo


únicamente de un portátil. El asistente no permitía añadir la misma máquina que
disponía del rol de NodeManager el rol de NameNode.

Siguiendo la documentación de Cloudera, para estos casos existe una distribución


pseudo-distribuida que utiliza los diferentes procesadores de la máquina, como
nodos ficticios.

Ilustración 20: Instalación CDH 5 on a Single Linux Node

Si bien la instalación fue posible en este caso siguiendo el asistente, nos


encontramos con que al utilizar la distribución todos los cores habilitados del
portátil para crear el escenario de Hadoop la máquina mostraba signos de
congelación al realizar opciones con la interfaz de Cloudera. Por lo que, si estos
síntomas ya sucedían sin datos, era obvio que no resultaría gobernable cuando
realizara las funciones MapReduce.

Llegados a este punto tomamos la decisión de seleccionar Hortonworks, y al


consultar la excelente documentación de su página web encontramos que no

47
Business Intelligence & Visualization

presentaba ninguna limitación a la hora de seleccionar la misma máquina para los


roles de NodeManager y DataNode.

Habíamos encontrado e instalado el motor de nuestra plataforma Hadoop!!! [4]

Ilustración 21: HortonWorks Data Platform

48
5.3.2. Instalando Hortonworks 2.5.1.0
Para albergar la plataforma, seleccionamos la distribución Linux Centos 7 por su
reconocida robustez, además de poseer la mayor cuota de servidores actualmente
en internet [4].

Siguiendo la documentación de Hortonworks, seleccionamos el repositorio Ambari


donde encontraríamos mediante Yum (asistente instalación Centos), todas las
dependencias de programación para la plataforma.

Ilustración 22: Descargar Ambari

Antes de poder arrancar el servicio de servidor Ambari, Hortonworks recomienda


que el corta-fuegos y la política de seguridad de nuestra distribución Linux se
encuentre desactivado. Al menos durante la instalación y configuración de toda la
plataforma.

Ilustración 23: Arrancar servicio de Ambari server

La configuración de Ambari se gestiona a través de una base de datos relacional


en este caso postgresql, la cual se instala y configura automáticamente durante la
instalación de la plataforma.

Ilustración 24: Instalación Postgresql

49
Business Intelligence & Visualization

Un punto crítico a la hora de la instalación, es la selección de la correcta distribución


de Oracle JDK, lo recomendable salvo dependencias con otras aplicaciones o que
estemos instalando versiones antiguas de Ambari es seleccionar la última versión,
en nuestro caso la 1.8.

Ilustración 25: Instalación Oracle JDK

Una vez hemos acabado el asistente de instalación solo queda iniciar el servicio de
Ambari, que realizará un chequeo la primera vez para validar la instalación de toda
la plataforma.

Ilustración 26: Inicio servicio Ambari

Tras arrancar el servicio de Ambari con éxito, esta será la última vez que utilicemos
la línea de comandos de nuestra distribución Linux. El resto de pasos para instalar
el ecosistema de Hadoop, o realizar la configuración del mismo se realizará
mediante la Web IU de Ambari, accesible desde cualquier navegador en el puerto
8080 de nuestra distribución Linux.

Ilustración 27: Web IU de Ambari

50
Desde Ambari, después de registrarnos en el sistema se nos abre un asistente sin
opciones para la configuración de todo el ecosistema. En el mismo tenemos dos
opciones, la configuración de usuarios y la creación de un cluster Hadoop.

Ilustración 28: Asistente Ambari

La creación de usuario o grupos no tiene relevancia en el caso de nuestra


plataforma para Agbar, dado que nadie más que los administradores de sistema
necesitan conectarse a la plataforma Ambari. Por lo que iniciamos la configuración
de nuestro cluster.

El siguiente punto es la selección del repositorio de dependencias de los diferentes


servicios que queramos instalar dentro de Hadoop, que tendrá relación sobre la
distribución Linux seleccionada.

Ilustración 29: Dependencias de los servicios

51
Business Intelligence & Visualization

La siguiente pantalla del asistente nos permite añadir los ‘hosts’ que queramos para
el ecosistema Hadoop, que en nuestro caso será una única máquina. Punto que en
la distribución Cloudera no fue posible esta selección, como comentábamos al inicio
del apartado.

Ilustración 30: Selección de Hosts

Tras determinar los nodos que integraran la plataforma, Ambari nos cuestiona sobre
los diferentes servicios que queremos iniciar en cada uno ellos. Así como el rol
‘Maestro-Esclavo’ que queremos desempeñe dentro de cada servicio, cada uno de
los nodos.

Ilustración 31: Servicios por Host

52
Para el ecosistema de Agbar que queremos implementar, seleccionamos el core de
Hadoop en su versión 2.0, Pig, Hive, Oozie y Zookeeper.

La selección de cada uno de ellos forma parte de la solución horizontal de la


plataforma, jugando cada uno de ellos un rol en la misma.

• Pig recopilará los logs de ‘PaloAlto’, filtrándolos y creando indicadores.


• Hive almacenará los cálculos de Pig, además de realizar proceso ETL para
Qlik.
• Oozie, se configurará para lanzar de forma programada cada hora los scripts
de Pig, que es la mínima granularidad proporcionada por los logs de Agbar.
• Zookeeper, para la coordinación de los nodos.

Si bien Zookeper no tiene mucho significado en nuestra instalación al contar con un


único nodo, en cualquier escenario con más nodos su función se vuelve
imprescindible para tener una foto de todo el ecosistema.

Tras la selección de las opciones, Ambari checkeara toda la plataforma hardware,


conectividad, espacio en disco, dependencias, configuración de las distribuciones
Linux, y comenzará la instalación de los nodos. Bueno de nuestro único nodo.

Ilustración 32: Chequeo plataforma

Finalmente, la plataforma Hadoop para Agbar ya está finalizada, indicándonos el


gestor de recursos de Ambari mediante alertas de la precariedad de utilizar un único
nodo para mantener todos los servicios del ecosistema de Hadoop.

53
Business Intelligence & Visualization

5.3.3. Importando Logs


Los ficheros de Agbar se almacenan diariamente cada hora en un servidor Hadoop,
por lo que nuestra plataforma necesita la importación de estos datos sin alterar los
existentes con el fin de que Agbar los pueda utilizar para otros procesos.

Ilustración 33: Ficheros Log

Hadoop cuenta con una utilidad llamada ‘distcp’ diseñada como no podía ser de
otra forma para la copia de grandes volúmenes de datos, incluso de varios sistemas
de fichero en paralelo.

Como las versiones entre la plataforma que hemos diseñado y la de Agbar no tienen
por qué ser la misma versión de Hadoop, es interesante utilizar el sistema de lectura
de HDFS via HFTP.

Agbar tiene 4 carpetas raíz con los diferentes ficheros, en especial para nuestra
plataforma nos interesa la carpeta ‘Threat’ y ‘Traffic’. Por lo que para realizar la
importación de los datos de Traffic utilizaríamos la siguiente sintaxis:

$ hadoop distcp hftp://agbarnode:50070/traffic hdfs://nuestraplataforma/traffic

Estos trabajos ser pueden incluir como tareas diarias de repetición horaria en
nuestra distribución Linux, para asegurar la actualización continua de los datos en
nuestra plataforma.

Ilustración 34: Estructura directorios de los ficheros

54
5.3.4. MapReduce con Pig
Los datasets de ‘Threat’ y ‘Traffic’ son los seleccionados que cargara el script de
Pig. Este script se ejecutará cada hora mediante Oozie, monitorizándose durante la
duración del mismo.

Pig utilizará MapReduce tanto para la selección de los campos que hemos valorado
como necesarios, como para con el análisis de los mismos generar indicadores. El
elevado número de registros repartidos en ficheros de texto de 128M, hacen que
este algoritmo sea idóneo para recorrer el conjunto de ficheros.

Como nos interesa que todos estos datos se inserten en Hive para su posterior
carga en Qlik y nuevas agrupaciones ETL. Es importante configurar e iniciar la
sesión de Pig con soporte Hive.

Para ello editaremos el script de entorno de Pig, con las rutas de configuración de
Hive en nuestra plataforma Hortonworks.

Ilustración 35: Fichero de configuración pig-env.sh con parámetros Hive

Hecho esto tenemos simplemente que en nuestra línea de comandos del script Pig,
cargarlo con el argumento ‘-useHCatalog’ para crear la conectividad.

Ilustración 36: Entorno ejecución Pig con soporte MapReduce(Tez)+Hive

55
Business Intelligence & Visualization

Del lado de Apache Oozie, con el fin de poder lanzar el script tenemos que crear un
flujo de trabajo y las propiedades de dicho trabajo. Oozie trabaja con ficheros de
parametrización xml para configurar dichas acciones. El esquema a seguir para
ellos es el siguiente [12]:

Ilustración 37: Plantilla definición flujos de trabajo para Oozie

Posteriormente desde su interfaz Web IU podemos seguir y configurar todos los


flujos y trabajos creados.

Ilustración 38: Interfaz para consultar parámetros Oozie

56
Igualmente, durante el test de los scripts, utilizamos la interfaz de Ambari para la
validación de los scripts en Pig. Que es justamente una de las ventajas para no
realizar una instalación nativa.

Ilustración 39: Interfaz Ambari para ejecutar scripts Pig

5.3.5. Hive & Qlik Sense


Para realizar el agregado al cubo con los indicadores creados por Pig y
almacenados en Hive, diseñamos una query que al igual que Pig con Oozie es
posible parametrizar en este caso diariamente.

Para el test del funcionamiento del cubo y su perfecta integración con Qlik Sense,
tuvimos que realizar cargas parciales de los datos de Agbar. De nuevo Ambari
presenta una plataforma excelente para la gestión de consultas de pruebas.

Ilustración 40: Interfaz Hive de Ambari utilizada para cargas parciales

57
Business Intelligence & Visualization

Con Hive, es cuando entendemos que la plataforma Ambari sin duda es un valor
añadido para el administrador de sistemas. Primero por el dato analítico de todos
los datos almacenados, para determinar volúmenes de datos. Y segundo porque
cada consulta es trazada por el sistema para que tengamos datos como su correcta
ejecución, tiempo invertido, etc.

Ilustración 41: Registro trabajos MapReduce ejecutados de Hive

Con Qlik se finaliza el ciclo transversal de nuestra plataforma Ambari, que ha


demostrado ajustarse perfectamente a los recursos que manejabamos. De hecho,
para las cargas de los scrips de Pig, añadimos un segundo portatil como nodo
temporal para utilizar su CPU con fines de cálculo.

Ilustración 42: Segundo añadido temporalmente para uso CPU en Pig

58
La conexión entre Hive y Qlik se realiza por ODBC instalando previamente el
driver ODBC Hive:

Ilustración 43: Microsoft Hive ODBC Driver

Ilustración 44: Conexión (ODBC) Qlik Sense hacia Hive

59
Business Intelligence & Visualization

Desestimamos añadir la unidad de disco HDFS, dado que no contabamos con


infraestructura de red para mantenerla. Para realizar la ejecución del Script,
utilizamos un movil como interfaz WIFI para la unión de nodo adicional virtualizado
en otro portatil y agregarlo a nuestra plataforma.

Ilustración 45: Dashboard status plataforma Agbar ejecutándose desde el ordenador personal

60
5.4. Análisis y Diseño
5.4.1. Fuentes de datos
La fuente de información almacenada en el HDFS son ficheros de log generados
por los distintos dispositivos de seguridad de Agbar, clasificados por Tráfico,
Amenazas, Configuración y Sistema:

Los ficheros de Log (Traffic, Threat, Config y System), datos transaccionales, son
extraídos del Sistema HDFS, y aplicando transformaciones los modelamos con Pig,
para almacenarlos en un Data Warehouse de Apache Hive.

Una vez diseñada la tabla de hechos, se conecta vía ODBC Apache Hive con Qlik
Sense. Y en Qlik se diseña el esquema en estrella junto al resto de información
complementaria (datos maestros): Application (XML), Threat (XML),
Direccionamiento IP (XLS), Coordenadas (XLS), y Países (XLS).

61
Business Intelligence & Visualization

5.4.1.1. Ficheros de Log

5.4.1.1.1. Traffic Logs


Los registros de tráfico visualizan una entrada con el inicio y final de cada sesión.
Cada entrada incluye la siguiente información: fecha y hora; las zonas de origen y
de destino, direcciones y puertos; nombre de la aplicación; regla de seguridad
aplicada al flujo de tráfico; acción de la regla (permitir, denegar o caída); la entrada
y la interfaz de salida; número de bytes; y la razón de fin de sesión.

La estructura del fichero es la siguiente [2] [3]:

Nombre del campo Descripción


Prioridad Syslog Prioridad
Cabecera Syslog Cabecera
FUTURE_USE
Receive Time receive_time Time the log was received at the
management plane
Serial Number serial Serial number of the device that
generated the log
Type type Specifies type of log; values are traffic,
threat, config, system and hip-match
Subtype subtype Subtype of traffic log; values are start,
end, drop, and deny
• Start—session started
• End—session ended
• Drop—session dropped before the
application is identified and there is no
rule that allows the session.
• Deny—session dropped after the
application is identified and there is a rule
to block or no rule that allows the
session.
FUTURE_USE
Generated time_generated Time the log was generated on the
Time dataplane
Source IP src Original session source IP address
Destination IP dst Original session destination IP address
NAT Source IP natsrc If Source NAT performed, the post-NAT
Source IP address
NAT natdst If Destination NAT performed, the post-
Destination IP NAT Destination IP address
Rule Name rule Name of the rule that the session
matched
Source User srcuser Username of the user who initiated the
session
Destination dstuser Username of the user to which the
User session was destined
Application app Application associated with the session
Virtual System vsys Virtual System associated with the
session
Source Zone from Zone the session was sourced from

62
Destination to Zone the session was destined to
Zone
Ingress inbound_if Interface that the session was sourced
Interface form
Egress outbound_if Interface that the session was destined to
Interface
Log logset Log Forwarding Profile that was applied
Forwarding to the session
Profile
FUTURE_USE
Session ID sessionid An internal numerical identifier applied to
each session
Repeat Count repeatcnt Number of sessions with same Source
IP, Destination IP, Application, and
Subtype seen within 5 seconds; used for
ICMP only
Source Port sport Source port utilized by the session
Destination dport Destination port utilized by the session
Port
NAT Source natsport Post-NAT source port
Port
NAT natdport Post-NAT destination port
Destination
Port
Flags flags 32-bit field that provides details on
session; this field can be decoded by
AND-ing the values with the logged
value:
• 0x80000000—session has a packet
capture (PCAP)
• 0x02000000—IPv6 session
• 0x01000000—SSL session was
decrypted (SSL Proxy)
• 0x00800000—session was denied via
URL filtering
• 0x00400000—session has a NAT
translation performed (NAT)
• 0x00200000—user information for the
session was captured via the captive
portal (Captive Portal)
• 0x00080000—X-Forwarded-For value
from a proxy is in the source user field
• 0x00040000—log corresponds to a
transaction within a http proxy session
(Proxy Transaction)
• 0x00008000—session is a container
page access (Container Page)
• 0x00002000—session has a temporary
match on a rule for implicit application
dependency handling. Available in PAN-
OS 5.0.0 and above.
• 0x00000800—symmetric return was
used to forward traffic for this session
Protocol proto IP protocol associated with the session

63
Business Intelligence & Visualization

Action action Action taken for the session; possible


values are:
• Allow—session was allowed by policy
• Deny—session was denied by policy
• Drop—session was dropped silently
• Drop ICMP—session was silently
dropped with an ICMP unreachable
message to the host or application
• Reset both—session was terminated
and a TCP reset is sent to both the sides
of the connection
• Reset client—session was terminated
and a TCP reset is sent to the client
• Reset server—session was terminated
and a TCP reset is sent to the server
Bytes bytes Number of total bytes (transmit and
receive) for the session
Bytes Sent bytes_sent Number of bytes in the client-to-server
direction of the session
Available on all models except the PA-
4000 Series
Bytes Received bytes_received Number of bytes in the server-to-client
direction of the session
Available on all models except the PA-
4000 Series
Packets packets Number of total packets (transmit and
receive) for the session
Start Time start Time of session start
Elapsed Time elapsed Elapsed time of the session
Category category URL category associated with the
session (if applicable)
FUTURE_USE
Sequence seqno A 64-bit log entry identifier incremented
Number sequentially; each log type has a unique
number space. This field is not supported
on PA-7000 Series firewalls.
Action Flags actionflags A bit field indicating if the log was
forwarded to Panorama
Source srcloc Source country or Internal region for
Location private addresses; maximum length is 32
bytes
Destination dstloc Destination country or Internal region for
Location private addresses. Maximum length is
32 bytes
FUTURE_USE
Packets Sent pkts_sent Number of client-to-server packets for the
session
Available on all models except the PA-
4000 Series
Packets pkts_received Number of server-to-client packets for the
Received session
Available on all models except the PA-
4000 Series

64
Session End session_end_reason The reason a session terminated. If the
Reason termination had multiple causes, this field
displays only the highest priority reason.
The possible session end reason values
are as follows, in order of priority (where
the first is highest):
• threat—The firewall detected a threat
associated with a reset, drop, or block
(IP address) action.
• policy-deny—The session matched a
security rule with a deny or drop action.
• tcp-rst-from-client—The client sent a
TCP reset to the server.
• tcp-rst-from-server—The server sent a
TCP reset to the client.
• resources-unavailable—The session
dropped because of a system resource
limitation. For example, the session could
have exceeded the number of
out-of-order packets allowed per flow or
the global out-of-order packet queue.
• tcp-fin—One host or both hosts in the
connection sent a TCP FIN message
to close the session.
• tcp-reuse—A session is reused and the
firewall closes the previous session.
• decoder—The decoder detects a new
connection within the protocol (such as
HTTP-Proxy) and ends the previous
connection.
• aged-out—The session aged out.
• unknown—This value applies in the
following situations:
• Session terminations that the preceding
reasons do not cover (for
example, a clear session all command).
• For logs generated in a PAN-OS
release that does not support the session
end reason field (releases older than
PAN-OS 6.1), the value will be
unknown after an upgrade to the current
PAN-OS release or after the logs
are loaded onto the firewall.
• In Panorama, logs received from
firewalls for which the PAN-OS version
does not support session end reasons
will have a value of unknown.
• n/a—This value applies when the traffic
log type is not end.
Device Group dg_hier_level_1 A sequence of identification numbers that
Hierarchy indicate the device group’s location
dg_hier_level_2 within a device group hierarchy. The
firewall (or virtual system) generating the

65
Business Intelligence & Visualization

dg_hier_level_3 log includes the identification number of


each ancestor in its device group
dg_hier_level_4 hierarchy. The shared device group (level
0) is not included in this structure.
If the log values are 12, 34, 45, 0, it
means that the log was generated by a
firewall
(or virtual system) that belongs to device
group 45, and its ancestors are 34, and
12. To view the device group names that
correspond to the value 12, 34 or 45,
use one of the following methods:
CLI command in configure mode: show
readonly dg-meta-data
API query:
/api/?type=op&cmd=<show><dg-
hierarchy></dg-hierarch
y></show>
Virtual System vsys_name The name of the virtual system associated
Name with the session; only valid on firewalls
enabled for multiple virtual systems.
Device Name device_name The hostname of the firewall on which the
session was logged.
Action Source action_source Specifies whether the action taken to
allow or block an application was defined
in the application or in policy. The actions
can be allow, deny, drop, reset- server,
reset-client or reset-both for the session.
Tabla 6: Traffic Logs

66
5.4.1.1.2. Threat Logs
Threat logs registra las entradas del tráfico cumplen con uno de los perfiles de
seguridad según una regla de seguridad de un firewall. Cada entrada incluye la
siguiente información: fecha y hora; tipo de amenaza (tales como virus o spyware);
descripción de la amenaza o URL (nombre de la columna); las zonas de origen y de
destino, direcciones y puertos; nombre de la aplicación; acción de alarma (por
ejemplo, permitir o bloquear); y nivel de gravedad.

La estructura del fichero es la siguiente [2] [3]:

Nombre del campo Descripción


Prioridad Syslog Prioridad
Cabecera Syslog Cabecera
FUTURE_USE
Receive Time receive_time Time the log was received at the management
plane
Serial Number serial Serial number of the device that generated the
log
Type type Specifies type of log; values are traffic, threat,
config, system and hip-match
Subtype subtype Subtype of threat log. Values include the
following:
• data—Data pattern matching a Data Filtering
profile.
• file—File type matching a File Blocking profile.
• flood—Flood detected via a Zone Protection
profile.
• packet—Packet-based attack protection
triggered by a Zone Protection profile.
• scan—Scan detected via a Zone Protection
profile.
• spyware—Spyware detected via an Anti-
Spyware profile.
• url—URL filtering log.
• virus—Virus detected via an Antivirus profile.
• vulnerability—Vulnerability exploit detected via
a Vulnerability Protection profile.
• wildfire—A WildFire verdict generated when the
firewall submits a file to WildFire
per a WildFire Analysis profile and a verdict
(malicious, grayware, or benign,
depending on what you are logging) is logged in
the WildFire Submissions log.
• wildfire-virus—Virus detected via an Antivirus
profile.
FUTURE_USE
Generated time_generated Time the log was generated on the dataplane
Time
Source IP src Original session source IP address
Destination IP dst Original session destination IP address

67
Business Intelligence & Visualization

NAT Source IP natsrc If Source NAT performed, the post-NAT Source


IP address
NAT natdst If Destination NAT performed, the post-NAT
Destination IP Destination IP address
Rule Name rule Name of the rule that the session matched
Source User srcuser Username of the user who initiated the session
Destination dstuser Username of the user to which the session was
User destined
Application app Application associated with the session
Virtual vsys Virtual System associated with the session
System
Source Zone from Zone the session was sourced from
Destination to Zone the session was destined to
Zone
Ingress inbound_if Interface that the session was sourced form
Interface
Egress outbound_if Interface that the session was destined to
Interface
Log logset Log Forwarding Profile that was applied to the
Forwarding session
Profile
FUTURE_USE
Session ID sessionid An internal numerical identifier applied to each
session
Repeat Count repeatcnt Number of sessions with same Source IP,
Destination IP, Application, and
Subtype seen within 5 seconds; used for ICMP
only
Source Port sport Source port utilized by the session
Destination dport Destination port utilized by the session
Port
NAT Source natsport Post-NAT source port
Port
NAT natdport Post-NAT destination port
Destination
Port
Flags flags 32-bit field that provides details on session; this
field can be decoded by
AND-ing the values with the logged value:
• 0x80000000—session has a packet capture
(PCAP)
• 0x02000000—IPv6 session
• 0x01000000—SSL session was decrypted
(SSL Proxy)
• 0x00800000—session was denied via URL
filtering
• 0x00400000—session has a NAT translation
performed (NAT)
• 0x00200000—user information for the session
was captured via the captive
portal (Captive Portal)
• 0x00080000—X-Forwarded-For value from a
proxy is in the source user field

68
• 0x00040000—log corresponds to a transaction
within a http proxy session
(Proxy Transaction)
• 0x00008000—session is a container page
access (Container Page)
• 0x00002000—session has a temporary match
on a rule for implicit application
dependency handling. Available in PAN-OS 5.0.0
and above.
• 0x00000800—symmetric return was used to
forward traffic for this session
Protocol proto IP protocol associated with the session
Action action Action taken for the session; values are alert,
allow, deny, drop, drop-all-packets,
reset-client, reset-server, reset-both, block-url.
• Alert—threat or URL detected but not blocked
• Allow—flood detection alert
• Deny—flood detection mechanism activated
and deny traffic based on
configuration
• Drop—threat detected and associated session
was dropped
• Drop-all-packets—threat detected and session
remains, but drops all packets
• Reset-client—threat detected and a TCP RST
is sent to the client
• Reset-server—threat detected and a TCP RST
is sent to the server
• Reset-both—threat detected and a TCP RST is
sent to both the client and the server
• Block-url—URL request was blocked because it
matched a URL category that was
set to be blocked
Miscellaneous misc Field with variable length with a maximum of
1023 characters
The actual URI when the subtype is URL
File name or file type when the subtype is file
File name when the subtype is virus
File name when the subtype is WildFire
Threat ID threatid Palo Alto Networks identifier for the threat. It is a
description string followed by a
64-bit numerical identifier in parentheses for
some Subtypes:
• 8000 – 8099—scan detection
• 8500 – 8599—flood detection
• 9999—URL filtering log
• 10000 – 19999—sypware phone home
detection
• 20000 – 29999—spyware download detection
• 30000 – 44999—vulnerability exploit detection
• 52000 – 52999—filetype detection
• 60000 – 69999—data filtering detection
• 100000 – 2999999—virus detection

69
Business Intelligence & Visualization

• 3000000 – 3999999—WildFire signature feed


• 4000000-4999999—DNS Botnet signatures

Category category For URL Subtype, it is the URL Category; For


WildFire subtype, it is the verdict on the
file and is either ‘malicious’, ‘grayware’, or
‘benign’; For other subtypes, the value is
‘any’.
Severity severity Severity associated with the threat; values are
informational, low, medium, high, critical
Direction direction Indicates the direction of the attack, client-to-
server or server-to-client:
• 0—direction of the threat is client to server
• 1—direction of the threat is server to client
Sequence seqno A 64-bit log entry identifier incremented
Number sequentially. Each log type has a unique
number space. This field is not supported on PA-
7000 Series firewalls.
Action Flags actionflags A bit field indicating if the log was forwarded to
Panorama.
Source srcloc Source country or Internal region for private
Location addresses; maximum length is 32
bytes
Destination dstloc Destination country or Internal region for private
Location addresses. Maximum length is
32 bytes
FUTURE_USE
Content Type contenttype Applicable only when Subtype is URL.
Content type of the HTTP response data.
Maximum length 32 bytes.
PCAP ID pcap_id The packet capture (pcap) ID is a 64 bit
unsigned integral denoting an ID to correlate
threat pcap files with extended pcaps taken as a
part of that flow. All threat logs will
contain either a pcap_id of 0 (no associated
pcap), or an ID referencing the extended
pcap file.
File Digest filedigest Only for WildFire subtype; all other types do not
use this field
The filedigest string shows the binary hash of the
file sent to be analyzed by the
WildFire service.
Cloud cloud Only for WildFire subtype; all other types do not
use this field.
The cloud string displays the FQDN of either the
WildFire appliance (private) or the
WildFire cloud (public) from where the file was
uploaded for analysis.

70
URL Index url_idx Used in URL Filtering and WildFire subtypes.
When an application uses TCP keepalives to
keep a connection open for a length of
time, all the log entries for that session have a
single session ID. In such cases, when
you have a single threat log (and session ID) that
includes multiple URL entries, the
url_idx is a counter that allows you to correlate
the order of each log entry within the
single session.
For example, to learn the URL of a file that the
firewall forwarded to WildFire for
analysis, locate the session ID and the url_idx
from the WildFire Submissions log and
search for the same session ID and url_idx in
your URL filtering logs. The log entry
that matches the session ID and url_idx will
contain the URL of the file that was
forwarded to WildFire.
User Agent user_agent Only for the URL Filtering subtype; all other
types do not use this field.
The User Agent field specifies the web browser
that the user used to access the URL,
for example Internet Explorer. This information is
sent in the HTTP request to the
server.
File Type filetype Only for WildFire subtype; all other types do not
use this field.
Specifies the type of file that the firewall
forwarded for WildFire analysis.
X-Forwarded- xff Only for the URL Filtering subtype; all other
For types do not use this field.
The X-Forwarded-For field in the HTTP header
contains the IP address of the user
who requested the web page. It allows you to
identify the IP address of the user, which
is useful particularly if you have a proxy server
on your network that replaces the user
IP address with its own address in the source IP
address field of the packet header.
Referer referer Only for the URL Filtering subtype; all other
types do not use this field.
The Referer field in the HTTP header contains
the URL of the web page that linked
the user to another web page; it is the source
that redirected (referred) the user to the
web page that is being requested.
Sender sender Only for WildFire subtype; all other types do not
use this field.
Specifies the name of the sender of an email that
WildFire determined to be malicious
when analyzing an email link forwarded by the
firewall.

71
Business Intelligence & Visualization

Subject subject Only for WildFire subtype; all other types do not
use this field.
Specifies the subject of an email that WildFire
determined to be malicious when
analyzing an email link forwarded by the firewall.
Recipient recipient Only for WildFire subtype; all other types do not
use this field.
Specifies the name of the receiver of an email
that WildFire determined to be malicious
when analyzing an email link forwarded by the
firewall.
Report ID reportid Only for WildFire subtype; all other types do not
use this field.
Identifies the analysis request on the WildFire
cloud or the WildFire appliance.
Device Group dg_hier_level_1 A sequence of identification numbers that
Hierarchy indicate the device group’s location
within a device group hierarchy. The firewall (or
dg_hier_level_2 virtual system) generating the
log includes the identification number of each
ancestor in its device group
dg_hier_level_3 hierarchy. The shared device group (level 0) is
not included in this structure.
If the log values are 12, 34, 45, 0, it means that
the log was generated by a firewall
dg_hier_level_4
(or virtual system) that belongs to device group
45, and its ancestors are 34, and
12. To view the device group names that
correspond to the value 12, 34 or 45,
use one of the following methods:
CLI command in configure mode: show readonly
dg-meta-data
API query:
/api/?type=op&cmd=<show><dg-hierarchy></dg-
hierarch
y></show>
Virtual vsys_name The name of the virtual system associated with
System Name the session; only valid on firewalls
enabled for multiple virtual systems.
Device Name device_name The hostname of the firewall on which the
session was logged.
FUTURE_USE
Tabla 7: Threat Logs

72
5.4.1.1.3. Config Logs
Los registros de configuración guardan las entradas que producen cambios en la
configuración del firewall. Cada entrada incluye la fecha y la hora, el nombre del
usuario administrador, la dirección IP desde la que el administrador ha realizado el
cambio, el tipo de cliente (Web, CLI, o Panorama), el tipo de comando que se
ejecuta, el estado de los controles (éxito o error), la ruta de configuración y los
valores de antes y después del cambio.

La estructura del fichero es la siguiente [2] [3]:

Nombre del campo Descripción


Prioridad Syslog Prioridad
Cabecera Syslog Cabecera
FUTURE_USE
Receive Time receive_time Time the log was received at the
management plane
Serial serial Serial number of the device that generated
Number the log
Type type Specifies type of log; values are traffic,
threat, config, system and hip-match
Subtype subtype Subtype of configuration log; unused
FUTURE_USE
Generated time_generated Time the log was generated on the
Time dataplane
Host host Hostname or IP address of the client
machine
Virtual vsys Virtual System associated with the
System configuration log
Command cmd Command performed by the Admin; values
are add, clone, commit, delete, edit, move,
rename, set.
Admin admin Username of the Administrator performing
the configuration
Client client Client used by the Administrator; values are
Web and CLI
Result result Result of the configuration action; values
are Submitted, Succeeded, Failed, and
Unauthorized
Configuration path The path of the configuration command
Path issued; up to 512 bytes in length
Sequence seqno A 64-bit log entry identifier incremented
Number sequentially; each log type has a unique
number space. This field is not supported
on PA-7000 Series firewalls.
Action Flags actionflags A bit field indicating if the log was forwarded
to Panorama
Before before_change_detail This field is in custom logs only; it is not in
Change the default format.
Detail It contains the full xpath before the
configuration change.

73
Business Intelligence & Visualization

After Change after_change_detail This field is in custom logs only; it is not in


Detail the default format.It contains the full xpath
after the configuration change.
Device Group dg_hier_level_1 A sequence of identification numbers that
Hierarchy indicate the device group’s location
dg_hier_level_2 within a device group hierarchy. The firewall
dg_hier_level_3 (or virtual system) generating the
dg_hier_level_4 log includes the identification number of
each ancestor in its device group
hierarchy. The shared device group (level
0) is not included in this structure.
If the log values are 12, 34, 45, 0, it means
that the log was generated by a firewall
(or virtual system) that belongs to device
group 45, and its ancestors are 34, and
12. To view the device group names that
correspond to the value 12, 34 or 45,
use one of the following methods:
CLI command in configure mode: show
readonly dg-meta-data
API query:
/api/?type=op&cmd=<show><dg-
hierarchy></dg-hierarch
y></show>
Virtual vsys_name The name of the virtual system associated
System Name with the session; only valid on firewalls
enabled for multiple virtual systems.
Device Name device_name The hostname of the firewall on which the
session was logged.
Tabla 8: Config Logs

74
5.4.1.1.4. System Logs
Registra las entradas de cada evento del sistema que se produce en el firewall.
Cada entrada incluye la fecha y la hora, la gravedad del suceso, y la descripción del
evento. A continuación se muestra una tabla de los mensajes de registro del sistema
y sus correspondientes niveles de gravedad:

Nombre del campo Descripción


Traffic Info
Config Info
Threat/System—Informational Info
Threat/System—Low Notice
Threat/System—Medium Warning
Threat/System—High Error
Threat/System—Critical Critical
Tabla 9: Niveles de gravedad

La estructura del fichero es la siguiente [2] [3]:

Nombre del campo Descripción


Prioridad Syslog Prioridad
Cabecera Syslog Cabecera
FUTURE_USE
Receive receive_time Time the log was received at the
Time management plane
Serial serial Serial number of the device that
Number generated the log
Type type Specifies type of log; values are
traffic, threat, config, system and hip-
match
Subtype subtype Subtype of the system log; refers to
the system daemon generating the
log; values are crypto, dhcp,
dnsproxy, dos, general, global-protect,
ha, hw, nat, ntpd, pbf, port, pppoe,
ras, routing, satd, sslmgr, sslvpn,
userid, url-filtering, vpn
FUTURE_USE
Generated time_generated Time the log was generated on the
Time dataplane
Virtual vsys Virtual System associated with the
System configuration log
Event ID eventid String showing the name of the event
Object object Name of the object associated with
the system event
FUTURE_USE
FUTURE_USE
Module module This field is valid only when the value
of the Subtype field is general. It
provides additional
information about the sub-system

75
Business Intelligence & Visualization

generating the log; values are


general, management,
auth, ha, upgrade, chassis
Severity severity Severity associated with the event;
values are informational, low,
medium, high, critical
Description opaque Detailed description of the event, up
to a maximum of 512 bytes
Sequence seqno A 64-bit log entry identifier
Number incremented sequentially; each log
type has a unique number space. This
field is not supported on PA-7000
Series firewalls.
Action Flags actionflags A bit field indicating if the log was
forwarded to Panorama
Device dg_hier_level_1 A sequence of identification numbers
Group that indicate the device group’s
Hierarchy location
dg_hier_level_2 within a device group hierarchy. The
dg_hier_level_3 firewall (or virtual system) generating
dg_hier_level_4 the
log includes the identification number
of each ancestor in its device group
hierarchy. The shared device group
(level 0) is not included in this
structure.
If the log values are 12, 34, 45, 0, it
means that the log was generated by
a firewall
(or virtual system) that belongs to
device group 45, and its ancestors are
34, and
12. To view the device group names
that correspond to the value 12, 34 or
45,
use one of the following methods:
CLI command in configure mode:
show readonly dg-meta-data
API query:
/api/?type=op&cmd=<show><dg-
hierarchy></dg-hierarch
y></show>
Virtual vsys_name The name of the virtual system
System associated with the session; only valid
Name on firewalls
enabled for multiple virtual systems.
Device device_name The hostname of the firewall on which
Name the session was logged.
Tabla 10: System Logs

76
5.4.1.2. Datos maestros
El modelo relacional requiere de unas tablas de datos maestros, que complementan
el esquema aportando un valor adicional para representar la información
visualmente en el cuadro de mando.

5.4.1.2.1. Calendario
La tabla Calendario se rellena desde el día y hora más antigua hasta la más actual
que contiene la tabla de hechos:

Script 1: Cálculo días del Calendario

La estructura de la tabla es la siguiente:

Nombre del campo Descripción


Dia y Hora DiayHora Día y Hora
Fecha Fecha Fecha: Left(DiayHora, 10)
Day Day Día: Day(DiayHora)
Month Number Month_number Número del mes: num(Month(DiayHora))

Hour Hour Hora: hour(DiayHora)


Month name Month_name Nombre del mes: Applymap('MonthMap',
num(Month(DiayHora)), 12)
Year Year Año: Year(DiayHora)
Week number Week_number Número de semana: num(Week(DiayHora))
Day name Day_name Nombre del día: Applymap('DayMap',
num(WeekDay(DiayHora)), 6)
Quarter Quarter Cuatrimestre: 'Q' & Ceil(Month(DiayHora) / 3)
Tabla 11: Calendario

77
Business Intelligence & Visualization

5.4.1.2.2. Applications
Fichero en formato XML incluido en Qlik parar complementar la información de
Aplicación.

La estructura de la tabla es la siguiente:

Nombre del campo Descripción


Identificador id Identificador único
Nombre name Nombre
País ori_country País
Categoría category Categoría
Subcategoría subcategory Subcategoría
Tecnología technology Tecnología
Comportamiento evasive-behavior Comportamiento evasivo
evasivo
Consumo ancho consume-big- Consumo ancho de banda
de banda bandwidth
Malware used-by-malware Utilizado para malware
Capacidad able-to-transfer-file Capacidad de transferencia fichero
transferència
fichero
Vulnerabilidad has-known- Conocimiento de vulnerabilidad
vulnerability
Túnel tunnel-other- Túnel de otra aplicación
application
Propenso a mal prone-to-misuse Propenso a mal uso
uso
Uso pervasive-use Uso
Descripción description Descripción
Contenedor application-container Contenedor de la aplicación
Aplicación app ApplyMap('Application_Map',
%Key_entry_D36B242B62FD4BF4,'')
Tabla 12: Aplicaciones

78
5.4.1.2.3. Threats
Fichero en formato XML incluido en Qlik parar complementar la información de
Amenazas y vulnerabilidades. La estructura de la tabla es la siguiente:

Nombre del campo Descripción


Identificador threat_id Identificador único del threat
Nombre name Descripción de la vulnerabilidad
Categoría category Categoría
Severidad severity Severidad (critical, high, medium, etc).
Acción default_action Acción aplicada (alert, reset-server, etc.)
Tabla 13: Threats

El campo identificador tiene un rango de valores definidos según el tipo de


Amenaza:

Phone home Vulnerability Scan


Rango de códigos 10000 - 19999 30000 - 44999 8000 - 8099
Tabla 14: Identificadores de Amenazas

5.4.1.2.4. Países
Fichero Excel que contiene los paises definido en dos, tres siglas y con el nombre
completo.

La estructura de la tabla es la siguiente:

Nombre del campo Descripción


Dos siglas C2 Dos siglas del país. Por ejemplo: ES
Tres siglas C3 Tres siglas del país. Por ejemplo: ESP
País Country País. Por ejemplo: Spain
Tabla 15: Países

5.4.1.2.5. Coordenadas
Fichero Excel que contiene las coordenades, latitud y longitud, de los paises.

La estructura de la tabla es la siguiente:

Nombre del campo Descripción


Dos siglas C2 Dos siglas del país. Por ejemplo: ES
Latitud Latitud Latitud. Por ejemplo: 40,463667
Longitud Longitud Longitud. Por ejemplo: -3,74922
Tabla 16: Coordenadas

79
Business Intelligence & Visualization

5.4.1.2.6. Direcciones IP
Fichero Excel que contiene el rango de direcciones IP de los paises.

La estructura de la tabla es la siguiente:

Nombre del campo Descripción


Dos siglas C2 Dos siglas del país. Por ejemplo: ES
Rango Inicio Ini Rango inicial. Por ejemplo: 2.16.8.0
Rango Fin Fin Rango final. Por ejemplo: 2.16.8.255
Tabla 17: Direcciones IP

5.4.2. Capa de datos


En el diseño del modelo relacional las tablas del Data Warehouse del proceso ETL
se clasifican según la metodología por capas (Staging Area y Summary Data):

Ilustración 46: Capas y pasos en el proceso

Los ficheros de texto son procesados con PIG, almacenandolos en Apache Hive en
una primera capa temporal, Staging Area, agregándose en una segunda tabla como
Summary Data, diseñándose una capa semántica con el esquema en estrella de
Qlik, y por último realizándose el análisis en la capa de presentación por Cuadros
de mando e informes.

80
5.4.2.1. Flujo de la información
La información se procesa en una capa de datos, en la cual se extrae de un servidor Hortonworks utilizando Pig, almacenándose en la
Staging Area, una primera cada temporal de limpieza de datos. Y se agrega en una segunda capa de datos de un Entorno Datawarehouse
en Apache Hive.

En la capa de presentación se diseña el esquema en estrella con la tabla de hechos agregada en el centro, y a su alrededor las tablas de
dimensión.

Por último la información se analiza por cuadros de mando diseñados en Qlik Sense e informes, y compartidos con los usuarios.

Ilustración 47: Flujo de la información

81
5.4.2.2. Staging Area
Información en bruto de los datos recibidos de los sistemas origen. Esta tabla se
carga en modo “Full”. Área temporal y de limpieza de datos donde se unifica y
homogeneiza la información guardándola temporalmente como una primera
validación. Pueden existir datos redundantes, campos nulos o que no contengan el
formato correcto, inseguridad de la calidad de los datos y disponer de información
errónea sin una previa validación de los datos.

Nombre Fichero origen Descripción Tipo


receive_time Traffic y Threat Fecha y Hora de generación del dato Varchar
type Traffic y Threat Tipo de fichero de log Varchar
subtype Traffic y Threat Tipo de línea del fichero Varchar
src Traffic y Threat Dirección IP origen Varchar
dst Traffic y Threat Dirección IP destino Varchar
srcuser Traffic y Threat Usuario origen Varchar
dstuser Traffic y Threat Usuario destino Varchar
app Traffic y Threat Aplicación relacionada con la sesión Varchar
inbound_if Traffic y Threat Interfaz de la sesión de inicio Varchar
otubound_if Traffic y Threat Interfaz de la sesión destino Varchar
dport Traffic y Threat Puerto destino Varchar
proto Traffic y Threat Protocolo asociado a la sesión Varchar
action Traffic y Threat Acción producida en la sesión Varchar
category Traffic y Threat Categoría de la sesión Varchar
device_name Traffic y Threat Nombre del dispositivo Varchar
threat_id Threat Identificador de Threat Varchar
year Traffic y Threat Año Varchar
month Traffic y Threat Mes Varchar
day Traffic y Threat Día Varchar
hour Traffic y Threat Hora Varchar
numce Traffic y Threat Indicador Ciberamenazas Externas Integer
numci Traffic y Threat Indicador Ciberamenazas Internas Integer
numcec Traffic y Threat Indicador Ciberamenazas al corazón Integer
numalert Traffic y Threat Indicador Ciberamenazas de alertas Integer
Tabla 18: Staging Area

83
Business Intelligence & Visualization

5.4.2.3. Summary Data


Información normalizada, consolidada e integrada, a nivel de detalle, desde donde
se suelen realizar las consultas de análisis.

Estas tablas se cargarán en modo “Delta” (incremental), insertando los registros de


los nuevos ficheros.

Nombre Descripción Tipo


threat_id Identificador único del Threat Varchar
fecha Fecha y Hora de generación del dato Varchar
app Aplicación relacionada con la sesión Varchar
type Tipo de fichero de log Varchar
src Dirección IP origen Varchar
dst Dirección IP destino Varchar
dport Puerto destino Varchar
proto Protocolo asociado a la sesión Varchar
action Acción producida en la sesión Varchar
category Categoría de la sesión Varchar
device_name Nombre del dispositivo Varchar
numce Indicador de CiberAmenazas externas Integer
numci Indicador de CiberAmenazas internas Integer
numcec Indicador de Ataques al corazón Integer
numalert Indicador de CiberAmenazas de alerta Integer
Tabla 19: Summary Data

84
5.4.3. Capa Semántica
La capa semántica separa la capa de datos (Data Warehouse) de la capa de
presentación (informes y cuadros de mando). En ella se traducen los datos en
conceptos de negocio para ser identificados en el diseño de los informes y cuadros
de mando al ser consultados por los usuarios.

5.4.3.1. Esquema en estrella


La capa semántica contiene un esquema en estrella. En el centro del esquema se
encuentra la tabla de hechos (Cubo), y a su alrededor las tablas de dimensión:

Ilustración 48: Esquema en estrella

5.4.3.2. Script
En Qlik el diseño del esquema en estrella se define en un Script que permite
modelar las tablas y los datos.

El Script lo hemos dividido por secciones:

• Fact table: Contiene la carga y modelado de la tabla de Hechos.


• Calendar: Contiene la carga de la tabla de Calendario.
• Threat: Contiene la carga del fichero XML de Threads (Vulnerability,
Phone-home y Scan).
• Application: Contiene la carga del fichero XML de Application.
• Country and IP Ranges: Contiene la carga de los Países y los rangos de
direcciones IP por países.
• Coordenadas: Contiene la carga de la tabla de coordenadas por País,
informando la latitud y longitud.

85
Business Intelligence & Visualization

5.4.3.2.1. Fact Table


En esta sección se define la carga de la tabla de hechos:

Script 2: Tabla de Hechos

5.4.3.2.2. Calendar
En esta sección se define la carga de la tabla de calendario:

Script 3: Calendario

86
5.4.3.2.3. Threat
En esta sección se define la carga de la tabla de Threat:

Script 4: Threat

5.4.3.2.4. Application
En esta sección se define la carga de la tabla de Application:

Script 5: Aplicación

87
Business Intelligence & Visualization

5.4.3.2.5. Country and IP Ranges


En esta sección se define la carga de la tabla de Country y en la tabla de Hechos
los campos “RangeFromNum” y “RangeToNum” asociando las direcciones IP por
país:

Script 6: Países y rangos de direcciones IP

5.4.3.2.6. Coordenadas
En esta sección se define la carga de los campos “Latitud” y “Longitud” en la tabla
Country:

Script 7: Coordenadas

88
5.4.4. Capa de Presentación
Diseño de los cuadros de mando e informes, compartirlos con los usuarios, y facilitar
su toma de decisiones según los objetivos y análisis de los indicadores definidos.

El cuadro de Mando de Qlik Sense se ha diseñado según la metodología propia de


Qlik “DAR” (Dashboard, Analysis, and Report). El cuadro de mando contiene 6
hojas, cada una de ellas representando un análisis según el indicador utilizado. El
menú principal presenta el aspecto siguiente:

Ilustración 49: Menú Principal del Dashboard

89
Business Intelligence & Visualization

5.4.4.1. Resumen por Tecnología y Dispositivo


En esta hoja se muestra un resumen general de los indicadores clasificados
por Tecnología y Dispositivo:

Ilustración 50: Opción Resumen por Tecnología y Dispositivo

Ilustración 51: Hoja Resumen por Tecnología y Dispositivo

La Hoja contiene los siguientes componentes:

• Panel de filtrado: Filtro por Semana del año, Día y Hora.


• Simple KPI: Objeto gráfico donde por un lado se muestra la dimensión
Tecnología junto a los cuatro indicadores, y por otro lado la dimensión
Dispositivo junto a los cuatro indicadores.

90
5.4.4.2. Tráfico CEC
En esta hoja se muestra el flujo de los datos por SubCategoría, Tecnología,
Aplicación y Puerto destino, según las CiberAmenazas al corazón:

Ilustración 52: Opción Tráfico CEC

Ilustración 53: Hoja Tráfico CEC

La Hoja contiene los siguientes componentes [7]:

• Panel de filtrado: Filtro por Semana del año, Día y Hora.


• Sankey: Objeto gráfico que muestra la SubCategoría, Tecnología,
Aplicación y Puerto destino, según el indicador de análisis CiberAmenazas
al corazón.

91
Business Intelligence & Visualization

5.4.4.3. Vulnerabilidades Alert por IP destino


En esta hoja se muestran las vulnerabilidades del indicador Alert por IP destino:

Ilustración 54: Opción Vulnerabilidades Alert por IP destino

Ilustración 55: Hoja Vulnerabilidades Alert por IP destino

La Hoja contiene los siguientes componentes [7]:

• Objeto KPI: Objeto de texto que muestra el total del indicador Alert según
la selección.
• Tabla: Objeto de texto que muestra la IP destino, el Threat y el valor del
indicador Alert.
• Dependency Wheel Chart: Objeto gráfico que muestra la IP destino y el
Threat según el indicador de análisis Alert.

92
5.4.4.4. Flujo temporal de CE
En esta hoja se muestra la evolución por tiempo (semana, día y hora), de las
CiberAmenazas Externas:

Ilustración 56: Opción Flujo temporal de CE

Ilustración 57: Hoja Flujo temporal de CE

La Hoja contiene los siguientes componentes [7]:

• Panel de filtrado: Filtro por Semana del año, Día y Hora.


• D3 Stream Graph: Objeto gráfico que muestra el día y la dirección IP
destino según el indicador de análisis CiberAmenazas Externas.

93
Business Intelligence & Visualization

5.4.4.5. Categoría y Aplicación por CI


En esta hoja se muestran las CiberAmenazas Internas clasificadas por Categoría
y Aplicación:

Ilustración 58: Opción Categoría y Aplicación por CI

Ilustración 59: Hoja Categoría y Aplicación por CI

La Hoja contiene los siguientes componentes [7]:

• Panel de filtrado: Filtro por Categoría, Aplicación y Hora.


• Cluster Dendogram: Objeto gráfico que muestra la ruta y relación entre las
dimensiones categoría y aplicación.
• Zoomable Circle Packing: Objeto gráfico que muestra las dimensiones
Hora y Aplicación según el indicador de análisis de CiberAmenazas Internas.
• Collapsible Force Diagram: Objeto gráfico que muestra la relación entre
las dimensiones Categoría y Aplicación según el indicador de análisis
CiberAmenazas Internas por el tamaño del círculo.

94
5.4.4.6. Análisis vulnerabilidades
En esta hoja se muestra el análisis de las vulnerabilidades.

Ilustración 60: Opción Análisis vulnerabilidades

Ilustración 61: Hoja Análisis vulnerabilidades

La Hoja contiene los siguientes componentes [7]:

• Heatmap: Objeto gráfico que muestra las dimensiones del día de la semana
y hora según el indicador CiberAmenazas Internas, coloreando las casillas
de acuerdo a un mapa de calor de menor a mayor valor del indicador.
• Radar Chart: Objeto gráfico que muestra las dimensiones Día y Hora según
el indicador CiberAmenazas Internas.
• Multi-Series-Line Chart: Objeto gráfico que muestra las dimensiones Día y
Hora según el indicador CiberAmenazas Internas.

95
Business Intelligence & Visualization

5.4.4.7. Mashup
En el cuadro de mando se ha diseñado un Mashup que integra objetos de
visualización en una página HTML [7]:

Ilustración 62: Mashup

96
5.4.4.8. Informe SAP Crystal Reports
La información almacenada en el DataWarehouse también es accesible desde un
informe SAP Crystal Reports utilizando un conector ODBC Hive.

Asimismo, se ha diseñado un informe que muestra la información en detalle de los


Top 10 días de mayo con mayor CI. El informe permite navegar desde una vista
resumen en un gráfico de barras vertical hacia una vista en detalle en una tabla.

Vista Resumen:

Ilustración 63: Vista Resumen informe SAP Crystal Reports

Vista Detalle:

Ilustración 64: Vista Detalle informe SAP Crystal Reports

97
Business Intelligence & Visualization

5.5. Proceso ETL


El procedimiento de Extracción de la información de los ficheros de Log del sistema
HDFS, la Transformación de los datos calculando los indicadores de análisis, y su
posterior almacenamiento de la información en Hive, se ha realizado en Pig y Hive.
Los pasos son los siguientes:

1. Creación de las tablas en el DataWarehouse Hive:

1.1. Tabla Staging_Area:

Script 8: Tabla Staging Area

1.2. Tabla Cubo:

Script 9: Tabla Cubo

2. De HDFS a Staging Area:


Se define una variable con la ruta donde se encuentran los ficheros para cargar:

Script 10: Ruta lectura ficheros

2.1. Registros de tipo Traffic:


Filtro para cargar los registros “Traffic”:

Script 11: Filtro Traffic

a. Carga de la estructura del fichero:

Script 12: Estructura fichero Traffic

b. Desglose del campo fecha por año, mes, día y hora:

Script 13: Desglose fecha Traffic

98
c. Cálculo de los indicadores de análisis:

Script 14: Cálculo indicadores de análisis Traffic

d. Selección de los campos que se cargan en Hive:

Script 15: Selección campos Traffic

e. Almacenamiento en la tabla Staging Area de Hive:

Script 16: Almacenamiento Traffic en Hive

2.2. Registros de tipo Threat:


Filtro para cargar los registros “Threat”:

Script 17: Filtro Threat

f. Carga de la estructura del fichero:

Script 18: Estructura fichero Threat

g. Desglose del campo fecha por año, mes, día y hora:

Script 19: Desglose fecha Threat

h. Cálculo de los indicadores de análisis:

Script 20: Cálculo indicadores de análisis Threat

99
Business Intelligence & Visualization

i. Tratamiento del identificador de Threat y selección de los campos que


se cargan en Hive:

Script 21: Tratamiento identificador Threat

j. Almacenamiento en la tabla Staging Area de Hive:

Script 22: Almacenamiento Threat en Hive

2. De Staging Area a Data Warehouse: En este paso se agrega la información


utilizando una sentencia SQL de Hive.
Lectura de la tabla Staging_Area y posterior carga en la tabla Cubo
agregando la información:

Script 23: Carga datos de Staging Area a Summary Data

100
6. Planificación y costes del proyecto
6.1. Planificación del proyecto
En el diagrama se muestra el tiempo real de dedicación a cada una de las fases del
proyecto. Las fechas de comienzo y fin del proyecto han sido las siguientes:

Comienzo: 11.03.2017

Fin: 30.06.2017

Ilustración 65: Planificación del proyecto

El tiempo real de dedicación desglosado por fases se muestra en valor absoluto es


el siguiente:

Fase Nº Horas
Requerimientos 15
Análisis 40
Diseño 75
Infraestructura 30
Implementación 60
Refinamiento 30
Documentación 50
Total 300
Tabla 20: Planificación del proyecto

101
Business Intelligence & Visualization

Se puede observar que la fase más extensa del proyecto ha sido la de Diseño con
un 25% del tiempo total invertido en el mismo.

Tiempo en horas
5%
17%
13%

Requerimientos
Análisis
10% Diseño
Infraestructura
Implementación

25% Refinamiento
Documentación
20%

10%

Ilustración 66: Tiempo en horas

6.2. Ciclo de vida del proyecto


El modelo de ciclo de vida utilizado para el desarrollo de este Trabajo Final de
Máster define el orden para las tareas o actividades involucradas, la coordinación
entre ellas, enlace y realimentación entre etapas.

El modelo de vida utilizado es el modelo en Cascada con Realimentación entre


etapas. El modelo Cascada Realimentado resulta muy atractivo, hasta ideal, ya que
el proyecto presenta una alta rigidez.

Ilustración 67: Ciclo del proyecto

102
6.3. Estudio económico
El coste total del proyecto suma 33.825 euros, se desglosa por fases y perfiles de
acuerdo a la tabla siguiente:

Consultor senior Business Analyst Programador


Tarifa 45 35 30
Requerimientos 45 0 0
Análisis 75 45 0
Diseño 120 60 45
Infraestructura 60 0 30
Implementación 30 60 90
Refinamiento 15 30 45
Documentación 15 90 45
Total 16.200 9.975 7.650
Tabla 21: Estudio económico

103
Business Intelligence & Visualization

7. Conclusiones y líneas de futuro


7.1. Conclusiones
En este Trabajo Final de Máster pueden destacarse las siguientes conclusiones:

La aplicación cumple los requerimientos funcionales y no funcionales propuestos


al inicio del proyecto.
Se han cumplido los principales objetivos de la aplicación alcanzados. Montaje de
la infraestructura Hadoop HortonWorks con dos nodos, importación de datos desde
la infraestructura de Agbar a la plataforma HortonWorks, desarrollo del proceso ETL
con Pig, almacenamiento de los datos tratados por capas en un DataWarehouse
Hive, conectividad de Hive hacia Qlik y visualización por extensiones y Mashups en
Qlik Sense.
El valor añadido que consigue Agbar con nuestra plataforma ha sido el análisis de
los ficheros CCO facilitados por Agbar logrando un nuevo indicador, ciclo de vida
completo de la plataforma Big Data y Business Intelligence y la mejora de la capa
de visualización con nuevos objetos de diseño por extensiones.
Las conclusiones personales que se pueden extraer de la realización de este
proyecto han sido haber trabajado en un proyecto de Big Data y BI, especialidad en
la cual los autores desearíamos dedicarnos profesionalmente, ampliación del
conocimiento de las herramientas de desarrollo aprendidas en el Máster y utilizadas
en el proyecto, conocimiento teórico y práctico de las materias básicas necesarias
de Seguridad y poner en práctica el ciclo de vida completo de todo un flujo de un
proyecto propio de Big Data combinado con Business Intelligence.
Las dificultades del proyecto que se han encontrado han sido la falta de una
infraestructura interna en Agbar para albergar la plataforma, limito la carga de datos
CCO a la capacidad de nuestros portátiles donde se alojaba la completa plataforma
de Hadoop, realización de un estudio para la carga y análisis de los ficheros
perimetrales de Agbar, aunque el tamaño de los mismos (20GB aprox. Diarios)
impidió el procesado de los mismos bajo nuestra plataforma, el contenido de los
ficheros perimetrales tampoco se podían adaptar a los KPIs definidos en los
requerimientos del proyecto, los procesos de ETL para el análisis de los ficheros
CCO de Agbar eran muy costosas en tiempo, dada la limitación de nuestra
plataforma y los errores de conectividad que esta ocasionaba y la falta de visión
global de la información facilitada respecto a su representación física, así como la
falta de documentación sobre la interpretación de los datos ha complicado las
labores de análisis y diseño.

104
7.2. Líneas de futuro
Las líneas de futuro que parten de la plataforma implantada son las siguientes.

Modelo abierto para ampliarlo con nuevos indicadores de análisis.

Ilustración 68: Modelo abierto

La plataforma actual se ha diseñado con tablas con información de países,


coordenadas y reconocimiento de las direcciones IP por países, para poder diseñar
mapas geográficos según la representación de los distintos KPIs.

Ilustración 69: Modelo preparado para el diseño de mapas

105
Business Intelligence & Visualization

Diseño de un Mashup que puede integrar nuevos objetos de diseño junto a los
actuales.

Ilustración 70: Modelo abierto para el diseño de Mashups

106
Modelo adaptado para recibir información de datos ficheros perimetrales.

Ilustración 71: Modelo abierto para el tratamiento de ficheros perimetrales

Modelo que permite la extracción de datos utilizando el mismo conector que Qlik
para el diseño de informes en Crystal Reports.

Ilustración 72: Conectividad SAP Crystal Reports a Hive

Se ha diseñado un informe SAP Crystal Reports como ejemplo de las posibilidades


que ofrece el modelo de datos desarrollado.

Modelo diseñado con cargas completas (Full) en ambas capas de almacenamiento,


en Staging Area y DataWarehouse. Como posible continuación del proyecto se
propone utilizar ficheros QVD para realizar cargas incrementales (Delta) en la capa
de DataWarehouse.

107
Business Intelligence & Visualization

Lamentablemente se ha quedado fuera de nuestro proyecto la posibilidad de


realizar mapas de geolocalización con los ficheros de perimetrales de Agbar. La rica
información contenido en ellos, no ha podido ser gestionada por nuestra plataforma
Hadoop en el portátil, al quedarse el sistema colapsado por la falta de recursos tanto
de memoria como disco para manipular la información y generar los cubos. Para
dar una magnitud del dato que se ha intentado tratar, hablamos de un mínimo de
20Gb diarios.

Cuando tenemos la necesidad de representar un conjunto de datos, con una


característica de geolocalización la forma más elegante es utilizar un mapa de geo
posicionamiento. Estos mapas estáticos carecen de dos factores en su
representación: flujo del dato y cantidad de dato.

Para aportarlo hasta ahora la forma más sencilla pero efectiva, era acompañar al
mapa con gráficos adicionales formando una aplicación web híbrida (mashup). Sin
embargo, con la llegada de la versión HTML5 junto con el enriquecimiento javascript
estos factores pueden ser representados con un único gráfico.

Nuestro objetivo era una vez tuviéramos la secuencia de los logs perimetrales de la
red de Agbar, representar los indicadores generados aportando el geo
posicionamiento del mismo. La repetición de datos sobre una misma geo posición,
se conseguiría añadiendo al mapa un efecto memoria.

En el momento de realizar el trabajo para el Master, sin duda la mejor librería gráfica
para HTML es Data-Driven Documents (D3.js). Con prácticamente un número
ilimitado de posibilidades [11].

Ilustración 73: Web oficial D3.js con un amplio muestrario gráfico

108
Esta librería se define en su página oficial con un objetivo de manipular conjuntos
de datos para darles vida en entornos web. Abstrayendo el versionado de los
navegadores o la necesidad de crear un entorno de desarrollo propio, con el
gestionar los objetos DOM existentes en los navegadores.

Para la representación de estos datos utilizaríamos un ejemplo ya elaborado en


D3js, de código abierto que representa transacciones mundiales. Este gráfico al que
solamente habría que modificar los datos contenidos en la misma para ajustarlos a
los consolidados del fichero perimetral de Agbar, encaja perfectamente con las
futuras necesidades de la compañía.

Ilustración 74: Grafico d3.js seleccionado como base para nuestro mapa

109
Business Intelligence & Visualization

Para la carga inicial de los valores sin la necesidad de reprogramar parte del código
realizado, el mapa utiliza un javascript que carga ficheros CSV y JSON con los datos
a mostrar por año.

Script 24: Código fuente javascript donde se carga el fichero de posiciones

Así en el caso del año 2003, el fichero se llamaría 2003.csv y tiene todas estas
columnas documentadas en el propio CSV.

Ilustración 75: Extracto del fichero CSV que utiliza nativamente el mapa

110
Si se realiza una ETL para generar dinámicamente este fichero podemos utilizar su
propia estructura, para dar valor añadido a la representación de Agbar. Por ejemplo,
el tipo de gobierno puede ser el puerto utilizado, etc…

Todo el posicionamiento geográfico ya viene en el código del mapa, y el resultado


final sería tan vistoso como el mostrado a continuación:

Ilustración 76: Resultado final teórico del nuevo Mashup geolocalizado

111
Business Intelligence & Visualization

8. Bibliografía
[1] SOCIEDAD GENERAL DE AGUAS DE BARCELONA. Disponible en internet:
https://www.agbar.es
[2] LOG TYPES. Disponible en internet:
https://www.paloaltonetworks.es/documentation/71/pan-os/pan-
os/monitoring/log-types-and-severity-levels.html#93788
[3] SYSLOG FIELD DESCRIPTIONS. Disponible en internet:
https://www.paloaltonetworks.es/documentation/71/pan-os/pan-
os/monitoring/syslog-field-descriptions.html#66501

[4] HORTONWORKS. Disponible en internet


https://es.hortonworks.com/

[5] PIG. Disponible en internet:


https://pig.apache.org/
https://pig.apache.org/docs/r0.8.1/piglatin_ref2.html

[6] HIVE. Disponible en internet:


https://hive.apache.org/
https://es.hortonworks.com/apache/hive/

[7] QLIK. Disponible en internet:


http://www.qlik.com/es-es
https://help.qlik.com/es-ES/sense/3.2/Content/Home.htm
http://tools.qlikblog.at/SetAnalysisWizard
http://market.qlik.com/
https://community.qlik.com/welcome
http://mundoqlik.com/
http://branch.qlik.com/#/project
https://qlikcloud.com/
http://localhost:4848/hub

[8] TICOUT OUTSOURCING CENTER. Disponible en internet:

http://www.ticout.com

[9] DATA MAGNUM. Disponible en internet:

http://data-magnum.com

[10] CLOUDERA. Disponible en internet:

http://www.cloudera.com

112
[11] DATA-DRIVEN DOCUMENTS. Disponible en internet:

https://d3js.org/

[12] APACHE OOZIE. Disponible en internet:

http://oozie.apache.org

[13] SERGIO ALMACELLAS. Disponible en internet:

https://sergioalmacellas.wordpress.com/

[14] GARTNER. Disponible en internet:

https://gartner.com/technology/home.jsp

[15] MICROSOFT POWER BI. Disponible en internet:

https://powerbi.microsoft.com/es-es/

[16] TABLEAU. Disponible en internet:

https://www.tableau.com/es-es

[17] SEARCH BUSINESS ANALYTICS. Disponible en internet:

http://searchbusinessanalytics.techtarget.com/feature/Self-service-BI-software-
comparison-Tableau-vs-Power-BI-Qlik-Sense

[18] SELECTHUB. Disponible en internet:

https://selecthub.com/business-intelligence/tableau-vs-qlikview-vs-microsoft-
power-bi/

113

También podría gustarte