1 00:00:00,000 --> 00:00:09,800 Buenas tardes, Juan Carlos. Hoy es 7 de enero. Estamos convocados a las cinco y cuarto a 2 00:00:09,800 --> 00:00:15,040 través de la Jefatura del Departamento para la defensa de tu proyecto del ciclo formativo 3 00:00:15,040 --> 00:00:19,640 de grado superior de Administración de Sistemas Informáticos en Red. Te informo que esta 4 00:00:19,640 --> 00:00:24,960 grabación se usará en el entorno cerrado de EducaMadrid con fines educativos y sólo 5 00:00:24,960 --> 00:00:29,960 estará a disposición de los profesores evaluadores en el aula virtual para llevar a cabo la 6 00:00:29,960 --> 00:00:36,680 evaluación y calificación de la defensa del proyecto. En el aula virtual de proyectos 7 00:00:36,680 --> 00:00:41,520 y a través de los correos has sido informado de los criterios en la rúbrica de calificación. 8 00:00:41,520 --> 00:00:47,800 El orden de presentación del proyecto son 15 minutos máximos para defender el proyecto 9 00:00:47,800 --> 00:00:55,460 y cinco minutos para las preguntas por parte del Tribunal. Dicho esto, tu tiempo de disposición 10 00:00:55,460 --> 00:01:02,940 comienza a partir de ahora. Adelante y mucha suerte. Muchas gracias, Pablo. Sí, soy yo, 11 00:01:02,940 --> 00:01:08,260 soy Juan Carlos Hernández Leonardez. Soy estudiante de segundo curso de Administración 12 00:01:08,260 --> 00:01:13,060 de Sistemas Informáticos en Red y os vengo a presentar mi proyecto que se titula Despliegue 13 00:01:13,060 --> 00:01:19,460 y funcionamiento de subre cartas. Bueno, aquí vemos los puntos que vamos a tratar en esta 14 00:01:19,460 --> 00:01:29,340 presentación. Por lo tanto, ya podemos comenzar. Vamos a comenzar con los objetivos. Voy a indicar 15 00:01:29,340 --> 00:01:34,460 cuál es el objetivo de mi proyecto, que es básicamente el despliegue básico de la herramienta 16 00:01:34,460 --> 00:01:41,140 Azuricata para luego ponerla en funcionamiento en sus dos modos, que sí que opera en dos modos, 17 00:01:41,140 --> 00:01:48,900 IDS e IPS. Estos dos modos sí que vamos a verlos con un poco más de detalle más adelante. Luego, 18 00:01:49,140 --> 00:01:56,220 vamos a configurarla, vamos a administrarla y supervisar que sí que funcione correctamente de 19 00:01:56,220 --> 00:02:01,940 acuerdo a nuestras necesidades. Así que vamos a hacer una serie de reglas, patrones, por así 20 00:02:01,940 --> 00:02:10,420 decirlo, para que funcione como nosotros queramos que funcione. Luego, también vamos a explorar su 21 00:02:10,420 --> 00:02:16,060 capacidad para generar alertas y logs detallados que nos permitirá realizar un análisis más en 22 00:02:16,060 --> 00:02:21,580 profundidad. Azuricata sí que tiene esa opción de que sí que genera alertas y logs para poder 23 00:02:21,580 --> 00:02:30,500 identificar con mayor profundidad o con mayor precisión el tráfico que está monitorizando. 24 00:02:30,500 --> 00:02:37,380 ¿Qué es Azuricata? Azuricata es un software de detección de amenazas y análisis de redes 25 00:02:37,380 --> 00:02:43,940 de código abierto. También es de alto rendimiento, que es usado por organizaciones públicas y 26 00:02:43,940 --> 00:02:50,260 privadas. Esto quiere decir que lo usan tanto empresas grandes, pequeñas, medianas. Puede 27 00:02:50,260 --> 00:02:57,740 usarla cualquier empresa y, como antes he dicho, sí que opera en dos modos. Es el IDS, el IPS, 28 00:02:57,740 --> 00:03:05,620 que sí que veremos más adelante. ¿Cómo funciona? ¿Qué es lo que hace la herramienta? 29 00:03:05,620 --> 00:03:12,980 Una de las técnicas que usa la herramienta para monitorizar nuestras redes, una de ellas es el 30 00:03:12,980 --> 00:03:17,540 análisis de los protocolos. Básicamente, puede analizar cualquier tipo de protocolo. Puede ser 31 00:03:17,540 --> 00:03:29,980 TCP, UDP, ICMP, DNS, SSH. Los escanea para buscar algún posible intruso o algún patrón malicioso. 32 00:03:29,980 --> 00:03:35,860 También inspecciona el contenido, o sea, inspecciona cualquier tipo de contenido en 33 00:03:35,860 --> 00:03:45,780 el tráfico para buscar patrones de amenazas. Puede mirarlo en profundidad y detectarlo. Y 34 00:03:45,780 --> 00:03:53,380 también una de las técnicas más importantes de la cual Suricata usa es el motor de reglas. Es 35 00:03:53,380 --> 00:04:00,220 básicamente un motor flexible. Es donde le indicamos los patrones y la forma en la que tiene 36 00:04:00,220 --> 00:04:07,740 que actuar nuestra herramienta. Hay un montón de reglas que son hechas por la comunidad, 37 00:04:07,740 --> 00:04:16,820 pero en este caso la voy a hacer yo mismo. Ya lo veremos en la demostración que sí que se pueden 38 00:04:16,820 --> 00:04:23,700 hacer este tipo de reglas. Una de las ventajas y desventajas de Suricata, que sí que yo he 39 00:04:23,700 --> 00:04:30,540 descubierto y he mirado, en las ventajas, como ya he dicho antes, es una herramienta de código 40 00:04:30,540 --> 00:04:37,620 abierto. Esto quiere decir que siempre tendremos a nuestra disposición el código para modificarlo, 41 00:04:37,620 --> 00:04:43,700 para distribuirlo y demás. Esta herramienta está distribuida bajo la licencia GNU GPL. Por lo tanto, 42 00:04:43,700 --> 00:04:51,820 sí que es de código abierto y se puede modificar el código, por así decirlo. Actualizado. Esto 43 00:04:51,820 --> 00:05:01,660 quiere decir que esta herramienta, como está llevada por la comunidad de seguridad informática 44 00:05:01,660 --> 00:05:13,300 libre, por así decirlo, es un nombre que su sigla en inglés es OIFP, si no me equivoco. Podemos estar 45 00:05:13,300 --> 00:05:18,580 seguros de que siempre va a estar actualizada. De hecho, la última versión que la acabamos de 46 00:05:18,580 --> 00:05:23,660 utilizar salió ahora en octubre. Vemos que sí que está actualizada. Bien integrado y 47 00:05:23,660 --> 00:05:29,740 multiplataforma. Quiere decir esto que se puede instalar en cualquier sistema operativo. Linux, 48 00:05:29,740 --> 00:05:37,900 Windows, Mac, FreeBSD. Un montón de sistemas donde se puede instalar. Y bien integrado. Esto quiere 49 00:05:37,900 --> 00:05:43,140 decir que, aparte de que se adapta a nuestro sistema, también se integra con herramientas 50 00:05:43,540 --> 00:05:51,260 externas. Sobre todo con herramientas que permiten el análisis de sus alertas. Eso lo veremos un poco 51 00:05:51,260 --> 00:05:58,180 más adelante en la demostración. Y puede actuar en modo IDS e IPS. O sea, puede actuar solamente en 52 00:05:58,180 --> 00:06:04,140 un modo o en los dos modos. Una de las ventajas que sí que he estado mirando y que sí que he 53 00:06:04,140 --> 00:06:10,780 descubierto es que, aunque sea fácil configurarla en un entorno pequeño, o sea, en un entorno no tan 54 00:06:10,780 --> 00:06:17,620 grande, cuando se quiere instalar en un entorno empresarial mucho más grande, puede ser que sí 55 00:06:17,620 --> 00:06:24,020 que tenga una configuración mucho más compleja. Porque hay que configurar parámetros de redes, 56 00:06:24,020 --> 00:06:30,340 de IP. Un montón de cosas que sí que puede ser la configuración bastante compleja. Otra de las 57 00:06:30,340 --> 00:06:35,380 ventajas que sí que he visto es que, si no se tiene suficiente conocimiento a la hora de la 58 00:06:35,380 --> 00:06:41,340 creación de reglas, esto puede producir que la herramienta nos dé falsos positivos. Por lo tanto, 59 00:06:41,340 --> 00:06:48,060 hay que tener un buen conocimiento de la sintaxis de las reglas para evitar esos posibles positivos. 60 00:06:48,060 --> 00:06:59,380 Y hablando de las reglas, sí que si llegamos a configurar una regla que sea compleja a la 61 00:06:59,380 --> 00:07:06,780 hora de recibir algún tipo de ataque, algún tipo de tráfico malintencionado, esa regla, al estar 62 00:07:06,780 --> 00:07:14,340 ejecutándose, puede ser que sí que tenga alto consumo en la CPU y en la memoria. Esas son más o 63 00:07:14,340 --> 00:07:20,020 menos las ventajas y las desventajas. Entonces, como he dicho antes, sí que actúa en dos modos. Uno, 64 00:07:20,020 --> 00:07:25,380 el IDS o modo pasivo, que en sus siglas en inglés es Intrusion Detection System. Básicamente, 65 00:07:25,540 --> 00:07:34,180 en este modo, Suricata es un mero observador. Él va a revisar todo el tráfico que entra y sale y si 66 00:07:34,180 --> 00:07:44,580 ve que hay algún tipo de paquetes o de tráfico malintencionado, simplemente lo que va a hacer 67 00:07:44,580 --> 00:07:54,100 es generar una alerta. Ahí no entra a actuar. Aquí podemos ver que sí que está de mero observador. 68 00:07:54,100 --> 00:07:59,900 Ahora, en el modo activo o el modo IPS, que es Intrusion Prevention System, aquí sí que ya 69 00:07:59,900 --> 00:08:13,380 entra de forma activa. Su principal función es, de manera activa, prevenir cualquier tipo de amenaza 70 00:08:13,380 --> 00:08:22,020 o cualquier tipo de patrón malicioso que venga a nuestra red. Por lo tanto, aquí sí que ya es de 71 00:08:22,020 --> 00:08:29,100 manera activa o proactiva, por así decirlo. Como he mencionado antes, Suricata sí que usa 72 00:08:29,100 --> 00:08:34,420 una serie de patrones o reglas, que es donde le decimos cómo va a actuar. Por lo tanto, aquí sí 73 00:08:34,420 --> 00:08:40,380 que tenemos una regla de ejemplo, donde lo rojo, que vemos aquí, es el tipo de acción. Puede ser 74 00:08:40,380 --> 00:08:47,780 alerta, rechazo, demás. Lo verde es el encabezado, donde se encuentra el protocolo, la dirección IP, 75 00:08:47,780 --> 00:08:54,380 el puerto y el sentido de la conexión. Y lo amarillo es las opciones. Si queremos dar un 76 00:08:54,380 --> 00:09:02,180 mensaje, si queremos darle una identificación, una revisión y demás. Aquí abajo sí que son reglas 77 00:09:02,180 --> 00:09:08,020 que yo he hecho. Es una regla básica, la primera, de cualquier tipo de paquete que se mueva por 78 00:09:08,020 --> 00:09:13,860 nuestra red que lo detecte. Y la de abajo es bloquear cualquier tipo de conexión. En este 79 00:09:13,860 --> 00:09:21,900 caso, es bloquear la conexión a la web de nuestro instituto. Content quiere decir que en la carga 80 00:09:21,900 --> 00:09:29,460 útil del paquete, si hay una cadena que concuerda con Ignacio o Yacuría, lo bloqueen. Eso sí que 81 00:09:29,460 --> 00:09:34,900 lo veremos más adelante en la demostración. Este va a ser nuestro entorno de pruebas muy básico. 82 00:09:34,900 --> 00:09:42,380 Es una máquina virtual Ubuntu, donde está instalada nuestra herramienta y está conectada 83 00:09:42,860 --> 00:09:50,300 con la otra máquina Kali Linux, que va a simular la máquina atacante. Aquí tenemos el Windows 84 00:09:50,300 --> 00:09:58,380 Anfitrión, que es el principal, donde está instalada la herramienta VirtualBox. Vamos a 85 00:09:58,380 --> 00:10:08,340 la demostración, que es muy rápida. Vamos a las máquinas virtuales. Aquí las tengo. Vamos a acceder. 86 00:10:08,660 --> 00:10:19,300 Una vez que se inicia el sistema, la herramienta ya se encuentra en ejecución. Para confirmarlo, 87 00:10:19,300 --> 00:10:25,580 vamos a mirarlo. Primero, vamos a pedir o vamos a iniciar en modo administrador. 88 00:10:27,580 --> 00:10:35,660 Entonces, para comprobar el estado actual del servicio o de funcionamiento de Surikata, 89 00:10:35,660 --> 00:10:43,140 vamos a comprobarlo. Aquí vemos que se encuentra corriendo y se encuentra en estado IPS. Por lo 90 00:10:43,140 --> 00:10:53,060 tanto, sí que se encuentra de manera proactiva. Entonces, vamos a revisar brevemente las reglas. 91 00:10:53,900 --> 00:10:57,660 Voy a buscar las reglas, que las tengo por aquí. 92 00:11:08,580 --> 00:11:14,940 Aquí las tengo. Están en este archivo. Básicamente, aquí son las reglas de prueba 93 00:11:14,940 --> 00:11:21,300 que yo he hecho. Aquí están en el modo IDS, que una de ellas va a ser detectar cualquier 94 00:11:21,300 --> 00:11:28,100 paquete que entre o salga de nuestro equipo. Y esta va a ser también una regla que detecte 95 00:11:28,100 --> 00:11:33,700 cualquier tipo de conexión SSH entrante. Y ya, por último, como he mencionado, vamos 96 00:11:33,700 --> 00:11:38,740 también a detectar si desde esta máquina se intenta conectar a la página web de nuestro 97 00:11:38,740 --> 00:11:46,580 instituto. Entonces, ya están activas, ya las guardamos. Por lo tanto, vamos a poner 98 00:11:46,820 --> 00:11:54,060 en funcionamiento la herramienta con el siguiente comando. Así que tail es para que muestre los 99 00:11:54,060 --> 00:11:59,740 registros del log que genera la herramienta, menos f para que lo muestre en tiempo real, 100 00:11:59,740 --> 00:12:05,620 y le decimos la ubicación del log, que estaría en esta ubicación. 101 00:12:05,620 --> 00:12:15,780 Entonces, ya aquí está. Vamos a simular un ping desde una máquina maliciosa, 102 00:12:15,780 --> 00:12:23,620 que en este caso sería Kali Linux. Como ya tenemos la dirección IP, que es la que termina 103 00:12:23,620 --> 00:12:32,380 por 54, vamos a intentar hacer un ping a nuestra máquina. Aquí lo está haciendo. Por lo tanto, 104 00:12:32,380 --> 00:12:37,660 vamos a ver si nuestra herramienta lo detecta. Y aquí podemos ver la hora, 105 00:12:39,100 --> 00:12:45,020 el mensaje que le hemos dado, el número de identificador que le hemos puesto. No hemos 106 00:12:45,020 --> 00:12:51,500 puesto ningún tipo de clasificación. La prioridad por defecto es la 3, el protocolo, la dirección 107 00:12:51,500 --> 00:13:01,780 de origen, con sentido a la dirección de destino, que es la nuestra, la que termina por 54. Entonces, 108 00:13:02,540 --> 00:13:09,580 aquí vemos que sí que lo detecta. Vamos a hacer otra prueba rápidamente de una conexión SSH y 109 00:13:09,580 --> 00:13:14,700 vemos si la detecta. Ya aquí se ha intentado conectar, o si quiere intentar conectar, 110 00:13:14,700 --> 00:13:22,060 ya que vemos que lo ha detectado. Así que vemos que la hora también, la de destino y demás. Aquí 111 00:13:22,060 --> 00:13:31,420 vemos el protocolo importante, el TCP y demás. Y ya por último, vamos a detectar si cuando nos 112 00:13:31,580 --> 00:13:37,260 intentamos conectar a la página web del instituto, nos la detecta. Por lo tanto, 113 00:13:37,260 --> 00:13:43,300 ya aquí lo tengo. Así que nos intentamos conectar, conecta. Por lo tanto, veamos si 114 00:13:43,300 --> 00:13:50,020 nuestra herramienta lo ha mirado. Y aquí está. Conexión al instituto Ignacio Ayacuría detectada, 115 00:13:50,020 --> 00:13:57,540 con la IP de destino, de origen, perdón, con la IP de destino. Por lo tanto, vemos que su 116 00:13:57,540 --> 00:14:05,980 parte IDS sí que funciona correctamente. Y ya para ir ya finalizando, así que vamos a ver su 117 00:14:05,980 --> 00:14:14,060 parte IDIPS. Por lo tanto, vamos a modificar otra vez el archivo de reglas. Aquí están las reglas 118 00:14:14,060 --> 00:14:19,260 comentadas. Así que sencillamente vamos a descomentarlas. Esto lo que va a hacer es que 119 00:14:19,260 --> 00:14:24,420 va a bloquear cualquier tipo de paquete ICMP que venga. Cualquier tipo de ping y demás. 120 00:14:25,260 --> 00:14:31,220 Este lo que va a hacer, va a bloquear cualquier tipo de conexión SSH, con la opción Drop. 121 00:14:33,100 --> 00:14:40,340 Muy importante. Y esto lo que va a hacer es bloquear la conexión a la página web de nuestro 122 00:14:40,340 --> 00:14:51,100 instituto. Guardamos, cerramos y hacemos un reinicio de la herramienta. Sería básicamente 123 00:14:51,100 --> 00:15:06,140 con este comando. Lo reiniciamos, limpiamos la pantalla, limpiamos el log en pantalla del 124 00:15:06,140 --> 00:15:20,980 archivo de logs y lo volvemos a ejecutar. Vamos a ver ahora. Vamos a intentar hacer 125 00:15:20,980 --> 00:15:30,260 un ping nuevamente. Aquí vemos que no estamos recibiendo ningún tipo de respuesta. Vamos a 126 00:15:30,260 --> 00:15:36,540 ver si Zurikata tiene algo que ver. Y aquí lo vemos. Aquí vemos un drop a la fecha de hoy y 127 00:15:36,540 --> 00:15:44,460 demás. Y con el siguiente mensaje. Está bloqueada. Entonces aquí podemos comprobar que pone 100% de 128 00:15:44,460 --> 00:15:52,140 paquetes perdidos. Hacemos lo mismo con la conexión SSH. Vamos a ver. No hace nada. Cuando antes 129 00:15:52,140 --> 00:15:57,980 sí que salía que se intentaba conectar. Y aquí vemos que la ha bloqueado. Así que aquí, conexión 130 00:15:57,980 --> 00:16:06,220 bloqueada desde la red externa. Y de origen con destino. Y ya por último, vamos a comprobar 131 00:16:06,220 --> 00:16:12,380 nuevamente si nos deja seguir navegando en la página del instituto. Así que vamos a refrescar 132 00:16:12,380 --> 00:16:19,420 y vamos a ver si nos deja navegar por ella. Así de primera, sí que vemos que sí que está tardando. 133 00:16:19,420 --> 00:16:28,180 Vemos que sí que tenemos internet. Por ejemplo, YouTube. Vemos que entra. Wikipedia. Vemos que 134 00:16:28,180 --> 00:16:36,140 entra. Por lo tanto, sí que entra. Por lo tanto, vamos a ver si Zurikata ha tenido algo que ver. 135 00:16:36,140 --> 00:16:41,780 Por lo menos que aquí lo vemos. Conexión a la web del instituto bloqueada. Por lo tanto, 136 00:16:41,780 --> 00:16:46,700 ha bloqueado cualquier tipo de conexión a esa página web. Por lo tanto, sí que vemos que la 137 00:16:46,700 --> 00:16:55,460 herramienta ahora mismo sí que está funcionando correctamente. Vale, pues sí que sería la 138 00:16:55,460 --> 00:17:03,340 demostración. Y bueno, si ya me queda algo de tiempo, sería de manera informativa mostrar cómo 139 00:17:03,340 --> 00:17:10,980 una herramienta externa nos permite analizar con mejor detalle todas estas alertas que nos ha 140 00:17:11,300 --> 00:17:16,820 generado Zurikata. Esto es muy rápido. Es sencillamente buscar la herramienta, nos la 141 00:17:16,820 --> 00:17:25,860 descargamos y la descomprimimos. Así que la tengo aquí. Le damos a esto. Accedemos. 142 00:17:28,180 --> 00:17:33,540 Y la ejecutamos. Así que la ejecutamos con este comando. 143 00:17:37,340 --> 00:17:38,900 Y le indicamos el 144 00:17:41,620 --> 00:17:44,620 fichero de log que está en esta ubicación. 145 00:17:48,620 --> 00:17:50,820 Bueno, así que en este caso sería EVE, perdón. 146 00:17:53,980 --> 00:18:00,020 Y aquí comienza a cargar todos los eventos. Veis que pone aquí 1% o 2%. Esto sí que va a 147 00:18:00,020 --> 00:18:05,740 tardar un montón. Por lo tanto, sí que ya me he anticipado. Y cuando acaba, se va a abrir una 148 00:18:05,740 --> 00:18:12,140 ventana en el navegador con la siguiente imagen. Salen aquí todas las alertas que hemos generado. 149 00:18:12,140 --> 00:18:18,180 Así que esta es una herramienta que nos permite realizar un análisis en mayor profundidad y con 150 00:18:18,180 --> 00:18:23,740 más detalle. Así que, por ejemplo, si le damos a cualquier alerta, nos abriría una ventana como 151 00:18:23,740 --> 00:18:34,580 esta. Y aquí vemos el protocolo, los paquetes y demás. Así que eso es de manera informativa que 152 00:18:34,580 --> 00:18:39,740 sí que se puede hacer, que se integra muy bien con otras herramientas. Por lo tanto, esta ha sido 153 00:18:39,740 --> 00:18:47,980 la pequeña demostración. Aquí comprobamos que es una herramienta robusta, que sí que funciona 154 00:18:47,980 --> 00:18:55,660 bien cuando se configura bien. Por lo tanto, sí que es bastante fiable a mi criterio. 155 00:18:55,660 --> 00:19:00,660 Por lo tanto, ya podemos cerrar aquí y volvemos a la presentación. 156 00:19:05,300 --> 00:19:13,180 Pues nada, eso sí que sería todo. Así que sería la demostración del proyecto. Y si ahora tenéis algún tipo de 157 00:19:13,180 --> 00:19:16,180 pregunta, estoy dispuesto a responderlas. 158 00:19:18,180 --> 00:19:22,980 Muchas gracias, Juan Carlos. Mira, te voy a dar una pregunta. 159 00:19:22,980 --> 00:19:23,980 Dime. 160 00:19:25,980 --> 00:19:32,780 ¿Por qué no has podido poner algún tipo de regla más complicada sobre los dominios o las listas de 161 00:19:32,780 --> 00:19:39,780 control de acceso de usuarios o de la entrada a directorios de la máquina? 162 00:19:39,780 --> 00:19:50,780 Mira, sí que tengo aquí una regla de ejemplo. No la he mostrado porque sí que puede generar algún tipo de falso 163 00:19:50,780 --> 00:19:58,380 positivo. Así que, como he dicho, si no está bien configurada, puede generar algún tipo de falso positivo. 164 00:19:58,980 --> 00:20:06,380 Vamos a buscarla, que la tengo aquí abajo. Esta es una prueba, es una regla contra el mapeo de puertos. 165 00:20:06,380 --> 00:20:21,380 Básicamente escanea todos los puertos posibles y si ve que hay movimiento de paquetes sobre esos puertos, lo bloquea. 166 00:20:22,380 --> 00:20:36,380 Pero claro, al no estar muy bien hecha, por así decirlo, puede ser que genere algún tipo de falso positivo 167 00:20:36,380 --> 00:20:44,380 cuando, por ejemplo, se quiere conectar mediante SSH, que es el puerto 22. Entonces, sí que es más que nada por la 168 00:20:44,380 --> 00:20:56,380 complejidad de las reglas. Así que también he hecho pruebas con indicar que esta máquina sea parte de la red interna 169 00:20:56,380 --> 00:21:04,380 o externa. Así que también aquí he hecho pruebas. Pero bueno, sí que son pruebas que he hecho anteriormente 170 00:21:04,380 --> 00:21:09,380 y que ahora mismo están aquí para enseñarlas, nada más. 171 00:21:11,380 --> 00:21:21,380 Muy bien, perfecto. Pues muchas gracias de nuevo, Juan Carlos, y damos por terminada la defensa de tu proyecto. 172 00:21:21,380 --> 00:21:24,380 Perfecto. Muchas gracias a vosotros.