4. Arquitectura de un Sistema de Recolección de Eventos en un Entorno Big
5.3. Sistema de almacenamiento de Big Data: Hadoop
5.3.4. Modo pseudo-distribuido
Por defecto, Hadoop está configurado para correr en modo no-distribuido (como un único proceso java), pero nosotros hemos elegido el modo pseudo-distribuido, donde cada demonio Hadoop corre en un proceso java [28]. Para ello, hemos de seguir los siguientes pasos:
< c o n f i g u r a t i o n > <property >
<name> f s . d e f a u l t . name</name>
<value >hdfs : / / 1 9 2 . 1 6 8 . 1 1 . 2 0 0 : 9 0 0 0 < / value >
< d e s c r i p t i o n >The name o f t h e d e f a u l t f i l e system . A URI whose scheme and a u t h o r i t y determine t h e F i l e S y s t e m implementation </ d e s c r i p t i o n > </property >
<property >
<name> d f s . webhdfs . enabled </name> <value >tr ue </value >
</property > <property >
<name>hadoop . tmp . d i r </name>
<value >/usr/ l o c a l /hadoop/tmp/hadoop−$ { u se r . name} </ value >
</property > </ c o n f i g u r a t i o n >
Esta parte del fichero habilita el uso del pluginwebhdfsde Logstash:
<property >
<name> d f s . webhdfs . enabled </name> <value >tr ue </value >
</property >
2. Editar el ficheroetc/hadoop/hdfs-site.xml
< c o n f i g u r a t i o n > <property >
<name> d f s . r e p l i c a t i o n </name> <value >1</value >
< d e s c r i p t i o n > D e f a u l t b l o c k r e p l i c a t i o n . The a c t u a l number o f r e p l i c a t i o n s can be s p e c i f i e d when t h e
f i l e i s c r e a t e d . The d e f a u l t i s used i f
r e p l i c a t i o n i s not s p e c i f i e d i n c r e a t e time </ d e s c r i p t i o n >
</property > <property >
<name> d f s . support . append</name> <value >tr ue </value >
</property > <property >
<name> d f s . support . broken . append</name> <value >tr ue </value >
</property > <property >
<name> d f s . namenode . name . d i r </name>
<value > f i l e : /home/hadoop/workspace/ d f s /name</value > </property >
<property >
<name> d f s . datanode . data . d i r </name>
<value > f i l e : /home/hadoop/workspace/ d f s /data </value > </property >
</ c o n f i g u r a t i o n >
3. Comprobar si podemos acceder vía ssh a localhost sin una contraseña
$ ssh−keygen −t dsa −P ’ ’ −f ~/. ssh/id_dsa
$ c a t ~/. ssh/id_dsa . pub >> ~/. ssh/ a u t h o r i z e d _ k e y s $ chmod 0600 ~/. ssh/ a u t h o r i z e d _ k e y s
5.3.5. Ejecución
Para ejecutar Hadoop, se deben seguir los siguientes pasos:
1. Formatear el sistema de ficheros (hacer sólo la primera vez)
$ bin/hadoop namenode format
2. Ejecutar el script de inicio
$ s b i n / s t a r t−d f s . sh
Una vez corriendo Hadoop, se puede acceder a su interfaz web alojada en la direcciónhttp:192.168.11.200:50070.
5.3.6. Comandos útiles de HDFS
Crear un directorio en HDFS: bin/hdfs dfs -mkdir nombre_del_directorio
$ bin/hdfs d f s −mkdir /u se r
$ bin/hdfs d f s −mkdir /u se r/ l o g s t a s h
Subir un fichero a HDFS: bin/hdfs dfs -put origen destino
$ bin/hdfs d f s −put /home/ f i c h e r o . l o g /u s e r/ l o g s t a s h / f i c h e r o . l o g
Descargar un fichero del HDFS: bin/hdfs dfs -get origen destino
$ bin/hdfs d f s −g e t /u s e r/ l o g s t a s h / f i c h e r o . l o g /home/ f i c h e r o . l o g
Listar el contenido del HDFS: bin/hdfs dfs -ls directorio
$ bin/hdfs d f s −l s /u s e r/ l o g s t a s h
Eliminar un fichero del HDFS: bin/hdfs dfs -rm fichero
$ bin/hdfs d f s −rm /u se r/ l o g s t a s h / f i c h e r o . l o g
Parar el escenario
$ s b i n /stop−d f s . sh
En el fichero de configuración de Logstash se ha especificado la rutauser/logstash
como destino en HDFS (valor de la etiqueta path). Por lo tanto, estos directorios deben existir antes de ejecutar Logstash.
Capítulo 6
Conclusiones
En este capítulo se extraerán las conclusiones del proyecto, así como algunas de las tecnologías aprendidas y las posibles líneas de continuación a seguir a partir de este desarrollo.
6.1.
Valoración
En este trabajo se ha llevado a cabo el desarrollo de varias herramientas que permiten la recolección de información procedente de múltiples fuentes de datos utilizadas en entornos de ciberseguridad. En la realización de dicha tarea, esta in- formación ha sido procesada para poder ofrecerla en un formato que permita hacer una lectura más eficiente de ella.
Esto supondrá una gran ayuda para los gestores de los entornos de cibersegu- ridad, permitiendo realizar seguimientos y análisis de incidentes y amenazas más rápidos y efectivos. Además, el disponer de un sistema de almacenamiento distri- buido de Big Data como es Hadoop tendrá unas ventajas añadidas. Por un lado, las ventajas técnicas de Hadoop permitirán una mayor velocidad de lectura y un mejorado análisis computacional de los datos almacenados, así como una mayor se- guridad debido a su destacable tolerancia a fallos. Además, es altamente escalable. Por otro lado, el disponer de todos los datos generados por las fuentes de forma cen- tralizada mejora enormemente las labores de gestión. Estas fuentes, distribuidas a lo largo de la red, están constantemente monitorizando las redes y sistemas, generando grandes cantidades de información. Esto dificulta en gran medida la identificación del incidente.
Como puede observarse, este trabajo ha supuesto el uso de varias tecnologías utilizadas en la gestión de la ciberseguridad, de las cuales se ha podido aprender su configuración y uso, así como características y ámbitos de trabajo a los que se les puede aplicar. Algunas de ellas son:
Fuentes de datos
• OSSIM
• IPTables
• MISP Logstash
Oracle Hadoop
En el próximo punto, se analizarán las posibles líneas de futuro en las que se puede trabajar siguiendo el presente trabajo.
6.2.
Líneas de continuación
A continuación se van a presentar algunas de las propuestas a seguir como con- tinuación de dicho trabajo. Éstas pueden ser:
Aumentar el número de fuentes de información a utilizar en el entorno.In- crementar el número de fuentes de información supondría un aumento de la complejidad del sistema, ofreciendo mayor cantidad de datos. Esto ayudaría al gestor del sistema en el trazado del ciberataque
Mejorar el parser de ficheros PDF.Una de las tareas que habría que llevar a cabo sería el mejorar el programa desarrollado para que se ajuste a una mayor variedad de ficheros PDF, con distintas estructuras y diseños
Inplementación de un cluster real de Hadoop.Para la simulación del escena- rio de ciberseguridad, se implementó Hadoop en modo pseudo-distribuido en un sólo nodo. Uno de los pasos a seguir sería el de implementar una distribu- ción real de nodos
Aumentar la velocidad de los procesos automáticos.Queda pendiente el me- jorar la eficiencia de la automatización de procesos, disminuyendo el tiempo su ejecución
Apéndice A
Fuentes de datos-IPTables
A.1.
scriptarranque.sh
# ! / bin/bash
sudo s e r v i c e network−manager s t o p sudo i p t a b l e s −P INPUT ACCEPT sudo i p t a b l e s −P OUTPUT ACCEPT sudo i p t a b l e s −P FORWARD ACCEPT
sudo i p t a b l e s −t nat −P PREROUTING ACCEPT sudo i p t a b l e s −t nat −P POSTROUTING ACCEPT sudo i p t a b l e s −t nat −P OUTPUT ACCEPT sudo i p t a b l e s −F
sudo i p t a b l e s −t nat −F sudo i p t a b l e s −X
sudo i p t a b l e s −t nat −X
sudo /usr/bin/f w b u i l d e r −Y /home/ i p t a b l e s / E s c r i t o r i o /FWEntorno . fw sudo r o u t e add d e f a u l t gw 1 0 . 3 . 2 5 . 1 e t h 0