97

Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Escuela Técnica Superior de Ingeniería deSistemas Informáticos

Universidad Politécnica de Madrid

Seguridad en Internet De Las Cosas

Proyecto Fin de Grado

AUTOR: David Mena Cabanillas

TUTOR: Vicente A. García Alcántara

COTUTOR: Sergio Altares López

JULIO - 2019

Page 2: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

ii

Page 3: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Índice general

Agradecimientos vii

Objetivo ix

Resumen xi

Abstract xiii

1. Marco del problema 11.1. Modelo OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2. Modelo TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3. Cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4. Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.5. IDS/IPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.6. DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.7. VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.8. RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.9. SIEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.10. Bastionado de equipos . . . . . . . . . . . . . . . . . . . . . . . . . . 201.11. Antivirus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.12. Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.13. Redundancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.14. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2. Solución elegida 272.1. Cortafuegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.1. IPTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.1.2. pfSense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.1.3. UntangleNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.2. Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.1. Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.2. Privoxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.3. IDS/IPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.3.1. Suricata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.3.2. Snort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

iii

Page 4: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

iv ÍNDICE GENERAL

3. Servidores físicos 353.1. UP2 Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.2. Raspberry Pi 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4. Arquitectura e implementación 394.1. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2.1. PfSense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.2. Raspberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2.3. Reglas de cortafuegos . . . . . . . . . . . . . . . . . . . . . . . 56

5. Problemas encontrados 59

6. Plani�cación del proyecto 656.1. Plani�cación temporal . . . . . . . . . . . . . . . . . . . . . . . . . . 666.2. Plani�cación económica . . . . . . . . . . . . . . . . . . . . . . . . . 68

7. Aspectos socioeconómicos 69

8. Conclusión 71

9. Líneas futuras 739.1. Implementación en entorno de producción . . . . . . . . . . . . . . . 749.2. Alta disponibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749.3. Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749.4. Reglas en Squid y Suricata . . . . . . . . . . . . . . . . . . . . . . . . 749.5. Integración de Telegram con Zabbix . . . . . . . . . . . . . . . . . . . 749.6. Actualizaciones al día . . . . . . . . . . . . . . . . . . . . . . . . . . . 759.7. Servicios en Dockers . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Bibliografía 77

Page 5: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Índice de �guras

1.1. Modelo de capas OSI. . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2. Modelo TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. Encapsulamiento TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . 41.4. OSI vs TCP/IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5. Flujo de paquete en IpTables [10]. . . . . . . . . . . . . . . . . . . . . 71.6. Flujo de paquete en Check Point [11]. . . . . . . . . . . . . . . . . . . 71.7. Funcionamiento Proxy. . . . . . . . . . . . . . . . . . . . . . . . . . . 81.8. Funcionamiento de DNS. . . . . . . . . . . . . . . . . . . . . . . . . 131.9. Diferencias entre IPSEC y OpenVPN. . . . . . . . . . . . . . . . . . . 181.10. Funcionamiento Balanceador de carga. . . . . . . . . . . . . . . . . . 231.11. Funcionamiento Alta Disponibilidad. . . . . . . . . . . . . . . . . . . 231.12. Arquitectura Screened Subnet. . . . . . . . . . . . . . . . . . . . . . . 24

2.1. Paso de paquetes por cadenas en IpTables. . . . . . . . . . . . . . . . 292.2. Paso de paquetes por tablas en IpTables. . . . . . . . . . . . . . . . . 292.3. Tipos de acciones entre IDS. . . . . . . . . . . . . . . . . . . . . . . . 332.4. Protocolos que distinguen entre IDS. . . . . . . . . . . . . . . . . . . 33

3.1. Características UP2 Board [91] . . . . . . . . . . . . . . . . . . . . . 363.2. Características Raspberry Pi 3 . . . . . . . . . . . . . . . . . . . . . . 37

4.1. Mapa de red de la infraestructura Secure IOT. Realizado con la he-rramienta Lucidchart [95] . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.2. Con�gurando el modo de acceso a la página de administración depfSense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.3. Pantalla principal pfSense desde ssh . . . . . . . . . . . . . . . . . . . 424.4. Pantalla principal pfSense desde portal web . . . . . . . . . . . . . . . 424.5. Instalación de módulo Suricata en pfSense. . . . . . . . . . . . . . . . 424.6. Descarga de �rmas en instalación de Suricata. . . . . . . . . . . . . . 434.7. Con�guración global Suricata. . . . . . . . . . . . . . . . . . . . . . . 434.8. Con�guración de interfaces Suricata. . . . . . . . . . . . . . . . . . . 444.9. Con�guración de reglas Suricata. . . . . . . . . . . . . . . . . . . . . 444.10. Con�guración de Squid. . . . . . . . . . . . . . . . . . . . . . . . . . 464.11. Con�guración de Squid. . . . . . . . . . . . . . . . . . . . . . . . . . 464.12. Con�guración de Antivirus ClamAV. . . . . . . . . . . . . . . . . . . 47

v

Page 6: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

4.13. Funcionamiento de Motion. . . . . . . . . . . . . . . . . . . . . . . . 484.14. Acceso a interfaz web de Owncloud a través de http. . . . . . . . . . . 494.15. Acceso a interfaz web de OwnCloud a través de https . . . . . . . . . 494.16. Acceso a interfaz web de OwnCloud a través de app de Android por

https . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.17. Ficheros cargados en OwnCloud . . . . . . . . . . . . . . . . . . . . . 504.18. Con�guración de SSID RaspAP. . . . . . . . . . . . . . . . . . . . . . 514.19. Con�guración de cifrado y PSK RaspAP. . . . . . . . . . . . . . . . . 514.20. Con�guración de rango de direcciones en el punto de acceso. . . . . . 524.21. Punto de acceso creado. . . . . . . . . . . . . . . . . . . . . . . . . . 524.22. Instalación de Zabbix. . . . . . . . . . . . . . . . . . . . . . . . . . . 534.23. Inicio de sesión en Zabbix. . . . . . . . . . . . . . . . . . . . . . . . . 544.24. Creando host en Zabbix. . . . . . . . . . . . . . . . . . . . . . . . . . 544.25. Servicios a monitorizar en Zabbix. . . . . . . . . . . . . . . . . . . . . 554.26. Vista de alertas desde el Dashboard. . . . . . . . . . . . . . . . . . . . 554.27. Recuperación de escaneos en Zabbix. . . . . . . . . . . . . . . . . . . 554.28. Con�guración de correo electrónico para recepción de alertas Zabbix. 564.29. Reglas WAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.30. Reglas NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.31. Reglas LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.32. Reglas LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.1. Con�guración NAT en el router. . . . . . . . . . . . . . . . . . . . . . 605.2. Con�guración pfSense en DMZ. . . . . . . . . . . . . . . . . . . . . . 615.3. Modo ONT en router. . . . . . . . . . . . . . . . . . . . . . . . . . . 615.4. Con�guración cliente NO-IP. . . . . . . . . . . . . . . . . . . . . . . . 625.5. Error DNS Rebind. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.1. Marzo - Abril. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.2. Mayo - Julio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.3. Presupuesto en materiales. . . . . . . . . . . . . . . . . . . . . . . . . 686.4. Presupuesto en horas de trabajo. . . . . . . . . . . . . . . . . . . . . 68

Page 7: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Agradecimientos

Con este proyecto, concluye una etapa muy importante de mi vida. Me gustaríamencionar a todas esas personas que han estado a mi lado.

En primer lugar, a mis padres por haberme dado la oportunidad de emprendereste camino, por su cariño y paciencia.

A todos los compañeros que han hecho que todo sea más fácil y a aquellos pro-fesores que despertaron en mí interés por sus asignaturas.

También quiero dar las gracias a toda la familia y amigos que me han apoyadoy dado fuerzas en los momentos más difíciles.

A Carlos Fabuel por haber despertado mi interés en este campo y haber sido elmejor compañero, un amigo y un mentor y a mi tutor, Vicente García por habermededicado su tiempo y guiado para elaborar este proyecto de la mejor forma posible.

Y por último y no menos importante, a las personas que ya no están aquí y sehubieran sentido orgullosas de ver todo lo que he conseguido.

vii

Page 8: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy
Page 9: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Objetivo

La tecnología avanza de forma exponencial y esto se re�eja con la gran cantidadde nuevos dispositivos que salen a diario. Internet de las Cosas esta en auge. Locual, conlleva que se estén implantando nuevos dispositivos en la mayoría de losámbitos (calles, parques, colegios, incluso en casa) con lo que hay que extremar lasprecauciones, ya que no se puede olvidar que al �n y al cabo, se trabaja con datos,tanto públicos como privados.

Toda esta situación hace que se genere un gran volumen de datos, la mayoríacon información sensible, que usada de mala manera por parte de un tercero, podríallegar a ser perjudicial para el usuario.

En este proyecto se van a conocer cuales son los principales problemas que po-drían ocurrir y se van a tratar de resolver a través de soluciones de software libre,basados en arquitecturas de entornos de Seguridad Perimetral, la cual, debería serusada por cualquier individuo para asegurar lo máximo posible, la con�dencialidadde sus datos más relevantes.

Para ello, se de�nirá un sistema muy automatizado, de forma que cualquierpersona pueda tener la tranquilidad de que la información que gestiona, se encuentrede la forma más segura posible para evitar su robo y un uso fraudulento por partede terceros.

ix

Page 10: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy
Page 11: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Resumen

En este proyecto, se ha realizado un estudio sobre como securizar un entornoinformático, de forma que se pueda aprovechar la tecnología sin límites y a la mismavez, sentir que la privacidad está garantizada en la mayor parte posible.

Para ello, se ha desglosado el proyecto en dos partes. La primera parte es unabase teórica donde se muestran los elementos más importantes de seguridad, mien-tras que en la segunda, se despliega la infraestructura necesaria para cumplir losobjetivos.

El primer subobjetivo, consiste en un estudio de los principales elementos de unentorno de Seguridad Perimetral como pueden ser cortafuegos, proxy, IDS... y seexplica cual es su uso y funcionamiento. Además también se ha visto como se debegarantizar la seguridad de cada equipo de la organización (bastionado de equipos)y otras técnicas como la redundancia o una buena política de copias de seguridad.

Como segundo subojetivo, se realiza un estudio de cuales son las mejores solu-ciones software para alcanzar los objetivos dados los recursos disponibles para, acontinuación, proceder a su instalación y con�guración.

Después, se instalarán las soluciones que se han creído más adecuadas para lainfraestructura. Se explica cada paso a seguir, desde donde descargar el software,como instalarlo y tras ello, que con�guraciones realizar para llevar a cabo el propó-sito deseado.

También se mostrará la plani�cación que se ha seguido desde el comienzo delproyecto, el estudio de la problemática, las posibles soluciones, el presupuesto delproyecto incluyendo, tanto el coste de los componentes, como el coste de las horasde trabajo invertidas.

Por último, se documentan los errores que han aparecido durante todo el proyectoy se estudian las posibles mejoras que se podrían realizar en un futuro para optimizarestos recursos.

xi

Page 12: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy
Page 13: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Abstract

In this project, a study has been carried out on how to secure a computer en-vironment, so that you can take advantage of technology without limits and at thesame time feel that the privacy is guaranteed as much as possible.

For that purpose, the project has been broken down into two parts. The �rst partis a theoretical base where the most important safety elements are shown, while inthe second part, the infrastructure necessary to carry it out is deployed and a seriesof tests will be carried out to ensure its correct functioning.

The �rst sub-objective consists of a study of the main elements of a PerimeterSecurity environment such as �rewalls, proxies, IDS... and explains how they areused and how they work. It has also been seen how to ensure the security of eachcomputer in the organization (bastioning) and other techniques such as redundancyor a good backup policy.

As a second sub-objective, a study is made of which are the best software solu-tions to achieve our objectives once we know about the resources available to proceedto its installation and con�guration.

Afterwards, we will install the solutions that we think that are the most appro-priate for our infrastructure. It explains each step to follow, from where to downloadthe software, how to install it and once installed, what con�gurations we have tomake to carry out our purpose.

The following section will show the planning that has been followed since thebeginning of the project, the study of the problem, possible solutions that can becarried out , the budget of the project including the cost of the components and ofthe man hours invested to develop it.

Finally, it documents the errors that have appeared throughout the project andstudies the possible improvements that could be made in the future to optimizethese resources.

xiii

Page 14: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy
Page 15: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 1

Marco del problema

1

Page 16: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Una organización está constantemente expuesta a amenazas de cualquier tipo,siendo de especial interés su análisis a los denominados ciberataques, que se produ-cen como consecuencia de la casi obligatoria e inevitable conexión a red.

Más relevancia tendrá, en breve, con el cada vez más cercano despliegue de lasnuevas tecnologías WiFi 5G [1], que conllevan una mayor capacidad de conexión yde intercambio de información, con el peligro, si no se toman las medidas necesarias,que ello conlleva.

Por ello, es necesario contar con una fuerte política de seguridad que permita losaccesos estrictamente necesarios desde fuera de la red y contar con varios elementosque faciliten llevarla a cabo y mantener seguros los activos que maneja la corpora-ción (bases de datos, copias de seguridad e información sensible).

Antes de comenzar, se va a explicar el modelo de red OSI (Open System Inter-connection) y TCP/IP, ya que se mencionará durante todo el documento.

1.1. Modelo OSI

Fue aprobado por la Organización Internacional para la Estandarización (ISO)en el año 1984.

Open Systems Interconnection (Interconexión de Sistemas Abiertos) [2], es unanormativa formada por 7 capas, por las que deben pasar los datos para viajar entredos dispositivos sobre una red de comunicaciones.

Sigue una estructura jerárquica, en la que cada capa realiza servicios para lacapa inmediatamente superior, a la que devuelve los resultados obtenidos, y a suvez demanda servicios a la capa inmediatamente inferior.

En la imagen posterior, se muestra dicho modelo con cada capa [3] y la funciónque realiza:

2

Page 17: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Figura 1.1: Modelo de capas OSI.

1.2. Modelo TCP/IP

Transmission Control Protocol/Internet Protocol (Protocolo de Control de Trans-misión/Protocolo de Internet) es una aplicación a Internet del modelo OSI de ISO[4]. Comprende un seguido de protocolos distribuidos en diferentes capas o niveles.La unión de todos estos protocolos y capas posibilita el envío de mensajes y señalesentre diferentes redes de ordenadores.

3

Page 18: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Funciona de la siguiente manera [5]:

Figura 1.2: Modelo TCP/IP.

Los mensajes salen del nivel aplicación de un host, pasan al de transporte, via-jan por Internet a través de cables y routers, switches y hubs para acceder a la reddestino y después volver a subir a la capa de Internet, transporte y aplicación delhost destino.

Los datos van encapsulados y cada nivel proporciona una cabecera que ejecutafunciones y proporciona servicios al nivel superior. Por eso, los mensajes TCP/IP seencapsulan de la siguiente manera [4]:

Figura 1.3: Encapsulamiento TCP/IP.

De manera que primero se tienen los datos. Cuando la capa aplicación crea sumensaje se lo envía a la capa de transporte, allí al añadirle la cabecera encapsulalos datos en un segmento. Posteriormente pasa a la capa IP y una vez añadidala cabecera correspondiente se tiene un datagrama o paquete. Finalmente, la capafísica o de acceso a la red lo transforma en una trama, su forma �nal.

4

Page 19: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

La diferencia entre TCP/IP y el modelo OSI, está en como se presentan las capas[6]:

Figura 1.4: OSI vs TCP/IP.

1.3. Cortafuegos

Un cortafuegos es un importante elemento de seguridad. Controlan el trá�co en-tre las redes externas (inseguras) e internas (seguras), previniendo el uso y accesodesautorizados.

Los cortafuegos pueden ser hardware (que proporcionan una fuerte protecciónante ataques de la fuera de la red, aunque no es capaz de detener virus como gusanoso troyanos), software o híbridos, los cuales son una mezcla de ambos.

Su funcionamiento se basa en una serie de reglas que permiten o deniegan eltrá�co entre las redes que interconectan, las cuales varían en todas las corporacionesbasándose en las necesidades de cada una, dándose que cuanto más grande es la redinterna, más complejas serán las políticas o reglas a establecer.

La ubicación adecuada de este elemento es en el punto intermedio entre la redexterna, que suele ser Internet, y la red interna de forma que sea el único punto deacceso, lo cual permitirá que sea fácilmente controlado, previniendo el ataque desdeotras zonas.

5

Page 20: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

También es frecuente, conectar una red llamada DMZ [7](Demilitarized Zone) ozona desmilitarizada, en la que se encuentran los servidores de la organización quedeben de ser accesibles desde la red exterior, como podría ser el servidor proxy, vpn,correo o web, los cuales serán posteriormente de�nidos.

Se pueden seguir dos tipos de políticas a la hora de con�gurar el cortafuegos:

- Política permisiva: Se permite todo el trá�co por defecto menos el que estéespecí�camente denegado.

- Política restrictiva: Por defecto se deniega todo tipo de trá�co y posteriormentese añaden excepciones para que los usuarios puedan acceder a los recursos requeridos.

Aunque este elemento es de los más importantes para una corporación, tieneciertas limitaciones con las que puede ponerse en peligro la seguridad de una red [8]:

- No puede proteger del trá�co que no pase a través de él.

- No puede proteger de las amenazas potenciales desde dentro de la red o lascreadas por usuarios negligentes, o por los provocados a través de virus, para ellohabrá que hacer uso de un antivirus.

- Tampoco protege de los fallos de seguridad de los servicios y protocolos, por esoes necesario con�gurar correctamente cada servidor y seguir una correcta políticade actualizaciones.

Existen varios tipos de cortafuegos según su funcionamiento:

- Filtrado de paquetes, sin estado (Stateless): Es el tipo más sencillo y�ltra por la capa 1, 2 y 3 del modelo OSI.

Admite o descarta paquetes en función de:

* Direcciones IP de origen y destino: Capa 3. Dirección de procedencia del pa-quete y cual es la de destino.

* Protocolo usado para la comunicación. Puede usar Ethernet o IP, los cualescorresponden a las capas 2 y 3 respectivamente.

* Tipo de trá�co. Puede ser TCP (orientado a conexión), UDP (no orientado) oICMP (información de control). Corresponden a las capas 3 y 4.

* Interfaz de red: interfaz del cortafuegos por el que entra el paquete y de salidaen caso de hacer forwarding o port mirroring (redirección de tramas). Correspondea la capa 1.

El �ujo que sigue un paquete para pasar a través del cortafuegos, depende delfabricante o solución software, no es siempre el mismo. A continuación se va a verla diferencia entre el �ujo que sigue un paquete en IpTables (cuyo funcionamientose explicará posteriormente) y Check Point [9]:

6

Page 21: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Figura 1.5: Flujo de paquete en IpTables[10].

Figura 1.6: Flujo de paquete en CheckPoint [11].

- Cortafuegos de inspección de estados (Stateful):Se trata de analizar la dirección origen y destino del paquete, así como los puertos

de origen y destino y su contenido. Gracias a la inspección de estados, se monitorizala conexión, se crea una tabla para almacenar la información de cada una y utilizala información de esas conexiones ya establecidas, para permitir el paso del trá�coy acelerarlo.

La diferencia entre este y el anterior, es que este último examina el contenido delpaquete en la capa de aplicación, no tan solo origen y destino.

- Cortafuegos de aplicación:Opera en la capa de aplicación del protocolo TCP/IP y detecta y previene ata-

ques contra servicios especí�cos ya que se basa en el protocolo que use independiente-mente del puerto que se esté encargando de establecer la comunicación. Inspeccionael trá�co desde la base de las capas y asciende hasta la capa de aplicación. Sueleusarse junto a proxy, que se de�ne a continuación, o alguna extensión de softwarepara controlar el tipo de acceso de las aplicaciones como email, ftp o http y junto a

7

Page 22: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

un cortafuegos de �ltrado de paquetes.Algunos de ellos pueden llegar a incluir funciones de proxy. Son usados mayori-

tariamente para proteger aplicaciones alojadas en servidores web [12].

- Cortafuegos de red o personal (de hosts):

Consiste en instalar un software en el sistema, pudiendo controlar todas lasconexiones entrantes y salientes del equipo respecto al resto de la red.

1.4. Proxy

Un servidor proxy es un elemento que actúa de intermediario entre el equipo querealiza una petición, y un servidor, siendo este, el que recibe la petición del solici-tante y la envía al servidor, debiendo ser, además, por seguridad, el único punto desalida a Internet.

Cuando un equipo de la red quiere acceder a un recurso, solicita al proxy la in-formación, siendo este el encargado de gestionar la petición para, al �nal, comunicaral solicitante lo pedido, de forma que el solicitante, no realiza la conexión con elservidor directamente, como se muestra a continuación en la �gura [13]:

Figura 1.7: Funcionamiento Proxy.

Para que los navegadores accedan mediante este método, es necesario que secon�guren de forma que apunten a la dirección del servidor proxy, aunque existeun tipo en el que no es necesario, llamado transparente, si bien este modelo ofrecealguna desventaja, ya que no todas las aplicaciones se basan en el modelo HTTP,por lo que no estaría pasando todo el trá�co a través de él (del los otros protocolos,se encargaría el cortafuegos de ofrecer un �ltro).

Estos, también ofrecen la posibilidad de ser ellos los que responden a las peticio-nes que se le hacen desde Internet y haciéndosela llegar al servidor en cuestión. Aesta función se le denomina 'Proxy inverso'.

8

Page 23: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Pero este tipo de con�guración, también puede aportar ventajas, que a continua-ción, se describen [14]:

- Filtrado de contenidos y seguridad: Proporciona control sobre que contenidosse puede acceder, mediante listas de acceso, �ltrado de contenidos, por expresionesregulares de palabras, �ltro de URLs (Uniform Resource Locator), etc... ayudandoa controlar mejor los contenidos a los que se pueden acceder y protegiendo a losclientes contra malware evitando sitios maliciosos.

- Caché: Cuando un cliente pide un recurso, se crea en el servidor una copiade los datos en la caché, de forma que la próxima vez que otro cliente le pida lomismo, podrá entregarselo de manera inmediata, aumentando signi�cativamente lavelocidad en la petición.

- Anonimato: Protege la privacidad de las personas que navegan por Internet,ya que la dirección que hace la petición, es la del proxy, ocultando la verdaderadirección IP del cliente y haciendo la navegación anónima.

1.5. IDS/IPS

Un IDS Intrusion Detection System (Sistema de Detección de Intrusos) es unsistema que, como su denominación indica, trata de detectar y alertar sobre lasintrusiones intentadas en un sistema o en una red, considerando intrusión a todaactividad no autorizada o que no debería ocurrir en ese sistema a través de una mo-nitarización de la red y una búsqueda de ciertos patrones. Es un buen complementode los cortafuegos.

Para ello, reciben una copia del trá�co que pasa por las VLAN Virtual LocalArea Network (Red de Área Local Virtual) [15] para no ralentizar la velocidad, loanalizan, y lo contrastan con una base de datos con �rmas de ataques conocidos. Sicoincide con algún patrón de ataque, este mandará una alerta a los responsables.

Existen 2 tipos de IDS, según el criterio de clasi�cación elegido, como son susituación física, tipo de detección y reacción cuando detecte un patrón.

Clasi�cación por situación:

- NIDS (Network IDS): analizan el trá�co de la red completa, examinando lospaquetes individualmente, comprendiendo todas las diferentes opciones que puedencoexistir dentro de un paquete de red y detectando paquetes armados maliciosamen-te y diseñados para no ser detectados por los cortafuegos.

Pueden buscar cual es el programa en particular del servidor de web al que seestá accediendo y con que opciones y producir alertas cuando un atacante intentaexplotar algún fallo en este programa.

Los NIDS tienen dos componentes:

9

Page 24: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

* Un sensor: situado en un segmento de la red, la monitoriza en busca de trá�cosospechoso.

* Una consola: recibe las alarmas del sensor o sensores y dependiendo de la con-�guración reacciona a las alarmas recibidas.

Las principales ventajas del NIDS son:

* Detectan accesos no deseados a la red.* No necesitan instalar software adicional en los servidores en producción.* Fácil instalación y actualización por que se ejecutan en un sistema dedicado.

Como principales desventajas se encuentran:

* Examinan el trá�co de la red en el segmento en el cual se conecta, pero nopuede detectar un ataque en diferentes segmentos de la red. La solución más sencillaes colocar diversos sensores.

* Pueden generar trá�co en la red.* Ataques con sesiones encriptadas son difíciles de detectar.

- HIDS (IDS de host): analizan el trá�co sobre un servidor o un PC, se preocupande lo que está sucediendo en cada host y son capaces de detectar situaciones comolos intentos fallidos de acceso o modi�caciones en archivos considerados críticos.

Las ventajas que aporta el HIDS son:

* Herramienta potente, registra comandos utilizados, �cheros abiertos ...* Tiende a tener menor número de falsos-positivos que los NIDS, entendiendo

por tales a los paquetes etiquetados como posibles ataques cuando no lo son.* Menor riesgo en las respuestas activas que los IDS de red.

Los inconvenientes son:

* Requiere instalación en la máquina local que se quiere proteger, lo que suponeuna carga adicional para el sistema.

* Tienden a con�ar en las capacidades de auditoria y logging de la máquina en sí.

Clasi�cación según los modelos de detecciones:

Existen dos tipos de detecciones que pueden realizar los IDS son:

- Detección del mal uso: Involucra la veri�cación sobre tipos ilegales de trá�code red, por ejemplo, combinaciones dentro de un paquete que no se podrían darlegítimamente. Este tipo de detección puede incluir los intentos de un usuario porejecutar programas sin permiso (por ejemplo, sni�ers). Se implementan observando

10

Page 25: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

como se pueden explotar los puntos débiles de los sistemas, describiéndolos medianteunos patrones o una secuencia de eventos o datos (�rmas) que serán interpretadospor el IDS.

- Detección del uso anómalo: Se apoya en estadísticas tras diferenciar cual es eltrá�co normal en la red, del que no lo es. Un claro ejemplo de actividad anómalasería la detección de trá�co fuera de horario de o�cina o el acceso repetitivo desdeuna máquina remota (rastreo de puertos). Este modelo de detección se realiza de-tectando cambios en los patrones de utilización o comportamiento del sistema. Locual se consigue realizando un modelo estadístico que contenga una métrica de�niday compararlo con los datos reales analizados en busca de desviaciones estadísticassigni�cantes.

Clasi�cación, según su naturaleza.

El tercer posible criterio de clasi�cación de IPS es respecto a la reacción del IDSfrente a un posible ataque:

- Pasivos: Los IDS pasivos detectan una posible violación de la seguridad, regis-tran la información y genera una alerta.

- Reactivos: Están diseñados para responder ante una actividad ilegal, por ejem-plo, sacando al usuario del sistema o denegando un acceso ante ciertos patrones paraevitar un fallo de seguridad.

1.6. DNS

El DNS Domain Name Server (Servidor de Nombres de Dominio) es el encarga-do de traducir un nombre de Internet, que son los que realmente se maneja, ya queson mas fáciles de recordar, en lugar de las direcciones IP, que es la información querealmente se maneja en la red.

Usa una base de datos distribuida y jerárquica que almacena información aso-ciada a nombres de dominio en redes como Internet. Sus usos más comunes son:

- Resolución de nombres: Dado el nombre completo de un host obtener su direc-ción IP.

- Resolución inversa de direcciones: Consiste en, dada una dirección IP, obtenerel nombre asociado a la misma.

- Resolución de servidores de correo: Dado un nombre de dominio (por ejemplogmail.com) obtener el servidor a través del cual debe realizarse la entrega del correoelectrónico (en este caso, gmail-smtp-in.l.google.com).

Los elementos de los que se compone la arquitectura de un DNS son:- Clientes: Generan peticiones de resolución de nombres a un servidor DNS.

11

Page 26: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

- Servidores: Son las que contestan las peticiones de los clientes. Si son recursivos,reenvían la petición a otro servidor si estos no tienen la dirección solicitada en subase de datos.

- Zonas de autoridad: Es la parte del espacio de nombres de dominio de la quese encarga un servidor.

Un nombre de dominio, es una concatenación de nombres separados por puntos.El sistema esta estructurado en forma de árbol, siendo '.' su nodo raíz y cada nododel que parte, es un dominio. Cada nodo está compuesto por un grupo de servidoresque se encargan de resolver un conjunto de dominios (zona de autoridad).

Para identi�car los elementos que componen un nombre de DNS, utilizando porejemplo, el nombre 'seguridad.iot.com' [16]:

- Hostname: Es una palabra que representa a un host, puede estar formado porletras, números y guiones. En el ejemplo sería 'seguridad'.

- FQDN, Fully Quali�ed Domain Name (Nombre Completo de Identi�cador deDominio): Se trata del nombre completo de un host. Formado por un hostnameseguido de '.' de su dominio, que es en nuestro ejemplo: seguridad.iot.com.

- Nombre de dominio: Es una sucesión de nombres concatenados por puntos. Enel ejemplo analizado: 'iot.com'.

- TLD, Top Level Domain (Dominio de Nivel Superior): Son aquellos que nopertenecen a otro dominio superior, tienen que ver con la zona geográ�ca como .esy otros pensados para organizaciones como .com o .gov.

Un servidor puede delegar en otros la autoridad sobre alguna de sus subzonas,de forma que un subdominio puede verse como una especialización del dominio delnivel anterior, que siguiendo con el mencionado ejemplo, 'seguridad.iot.com' es unsubdominio de 'iot.com' (iot sería el dominio registrado) y este, a su vez, de .com,que es TLD.

Los Root Servers (Servidores Raíz), son los que tienen autoridad sobre el domi-nio raíz '.', siendo este el que devuelva los servidores con autoridad para resolver losTLD, que no cambian y hay 13 distribuidos por todo el mundo.

La resolución de un nombre se puede hacer de forma iterativa o recursiva:e- Recursiva: El cliente solicita al servidor de DNS que obtenga por si mismo la

respuesta completa y el cliente espera recibir la dirección IP correspondiente. Elservidor consulta sus datos buscando los datos solicitados. En la práctica, es la quese usa.

- Iterativa: El servidor DNS no da la respuesta completa, si no la tiene, ya queno tiene datos guardados, por lo que devuelve el primer servidor de direcciones deldominio de nivel superior y este deberá hacer otra consulta al servidor de nombresde dominio superior, si desconoce la respuesta a la petición realizada y así sucesi-vamente, hasta que consigue la respuesta pedida, siguiendo esta petición el camino

12

Page 27: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

inverso, hasta llegar al solicitante original de la misma.

En la práctica, la consulta de un host a un DNS local, es recursiva y las querealiza el DNS local, son iterativas y se hacen en caso de que el servidor, no tengalos datos. El �ujo que sigue una consulta es la siguiente:

1. El servidor DNS local recibe una consulta recursiva desde el resolver del hostcliente.

2. El DNS local realiza las consultas iterativas a los servidores correspondientes.3. El servidor DNS local entrega la resolución al host que solicitó la información.4. El resolver del host cliente entrega la respuesta a la aplicación correspondiente.

Los usuarios no se comunican directamente con el servidor DNS. La resoluciónde nombres se hace de forma transparente a las aplicaciones del cliente (por ejemplo,navegadores, clientes de correo...). Al realizar una petición, se envía al servidor DNSlocal, indicado en la con�guración del adaptador de red del sistema operativo y este,comprueba que no esté en caché. En el caso de que no se encuentre, la petición seenviará a uno o más servidores DNS. El usuario puede utilizar los servidores propiosde su ISP Internet Service Providers (Proveedor de Servicios de Internet), puedeusar un servicio gratuito de resolución de dominios o contratar un servicio avanzadode pago que, por lo general, son servicios contratados por empresas por su rapidez yla seguridad que estos ofrecen. A continuación, se muestra una imagen con el procesoexplicado anteriormente [17]:

Figura 1.8: Funcionamiento de DNS.

De acuerdo a su función, hay varios tipos de servidores:- Primarios o maestros: guardan los datos de un espacio de nombres en sus

�cheros.- Secundarios o esclavos: obtienen los datos de los servidores primarios a través

de una transferencia de zona.- Locales o caché: Cuando se les realiza una consulta, estos a su vez consultan a

los servidores DNS correspondientes, almacenando la respuesta en su base de datos

13

Page 28: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

para agilizar la repetición de estas peticiones en el futuro continuo o libre.

El DNS tiene distintos tipos de registros [18] para almacenar valores en su basede datos y los más usados son:

- A: Address (Dirección). Este registro se usa para traducir nombres a direccionesIPv4.

- CNAME: Canonical Name (Nombre Canónico). Se usa para crear nombres deservidores de alojamiento adicionales, o alias, para los servidores de alojamiento deun dominio. Es usado cuando se están ejecutando múltiples servicios (como FTPy servidor web) en un servidor con una sola dirección IP. Cada servicio tiene supropia entrada de DNS (como ftp.ejemplo.com y www.ejemplo.com). Esto tambiénes usado cuando se sirven múltiples servidores HTTP, con diferentes nombres, sobreel mismo host. Se escribe primero el alias y luego el nombre real, que no tiene queser conocido por el cliente que realiza la petición correspondiente.

- NS: Name Server (Servidor de Nombres). De�ne la asociación que existe entreun nombre de dominio y los servidores de nombres que almacenan la informaciónde dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera deservidores de nombres.

- MX: Mail Exchange (Intercambio de Correo). Asocia un nombre de dominio auna lista de servidores de intercambio de correo para ese dominio.

- PTR: Pointer (Indicador). También conocido como 'registro inverso', funcionaa la inversa del registro A, traduciendo IPs a nombres de dominio. Se usa en elarchivo de con�guración de la zona DNS inversa.

- SOA: Start Of Authority (Autoridad de la Zona). Proporciona información so-bre el servidor DNS primario de la zona.

En cuanto al tema de seguridad, DNS no �rma las respuestas, por lo que podríaser fácilmente explotado por ataques de envenenamiento de DNS (sirve datos de unDNS que no es el autoritativo). Por ello se utilizan soluciones con DNSSEC dnssec,una extensión de seguridad que modi�ca el DNS para obtener respuestas �rmadascriptográ�camente.

1.7. VPN

Virtual Private Network (Red Privada Virtual) se trata de la interconexión dedos redes privadas a través de Internet. La necesidad surgió del coste de una líneadedicada, ya que unir dos redes privadas es caro y algunas veces incluso inviable.

Para ello, se usa un túnel cifrado, en el que se encapsula un datagrama IP en otroal que se le cifra toda la carga de datos que transporta. El paquete se desencapsulacuando llega al otro extremo o destino.

Esto ofrece la gran ventaja de poder tener servidores de distintas redes privadastrabajando como si estuvieran en la misma red.

14

Page 29: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Existen varios tipos de túnel según el modo de encapsulado, es decir, el protocoloque usa. Los más empleados son:

- L2TP: Layer 2 Tunneling Protocol (Protocolo de Túnel de Capa denivel 2).

Se trata de un protocolo que usa la capa 2 del modelo OSI [20]. El transporte deL2TP está de�nido para una gran variedad de tipos de paquete, incluyendo X.25,Frame Relay y ATM Asynchronous Transfer Mode (Modo de Transferencia Asíncro-na) [21]. No provee ningún servicio de encriptación o con�dencialidad en si, razónpor la cual los servicios que hacen uso de L2TP incluyen con frecuencia protocolosde seguridad IPSEC (de�nido posteriormente).

Una vez se implementa L2TP/IPSEC se convierte en una de las conexiones VPNmás seguras disponibles actualmente usando el cifrado AES-256 bits [22].

-PPTP: Point-to-Point Tunneling Protocol (Protocolo de Túnel Puntoa Punto).

Opera en el puerto TCP 1723 [?] y es un estándar en todas las versiones deWindows [?]. Fue desarrollado con el �n de encapsular otro protocolo llamado PPPPoint-to-Point Protocol (Protocolo Punto a Punto) mediante un túnel GRE GenericRouting Encapsulation (Encápsulado Genérico de Enrutado) [24].

PPTP ofrece las mejores velocidades de conexión, debido a la falta de caracte-rísticas de seguridad siendo una de sus principales ventajas. Su desventaja es quesolo se puede establecer un túnel entre pares.

- IPSEC: Internet Protocol Security (Protocolo de Seguridad de Inter-net).

Es el método más usado para crear túneles [25] y trabaja en la capa de red, au-tenticando y cifrando cada paquete IP en un �ujo de datos. El hecho de que trabajeen la capa 3, hace que IPSEC sea más �exible que otros competidores que lo hacenen la 4 como SSL Secure Sockets Layer (Capa de Sockets Seguros) [26], ya que puedeser utilizado para proteger protocolos UDP o TCP de la capa 4. Además, para queuna aplicación pueda usar IPSEC no hay que hacer ningún cambio, mientras quepara usar SSL y otros protocolos de niveles superiores, las aplicaciones tienen quemodi�car su código.

Para autenticar, IPSEC usa cuatro métodos distintos:* Clave compartida: Clave secreta compartida con anterioridad entre las dos

partes usando algún canal seguro antes de que se utilice [27].* Firmas digitales RSA: Permite garantizar la con�dencialidad, autenticación de

origen, la integridad o el no-repudio de la comunicación entre dos partes [28].* Certi�cados digitales X.509: Son certi�cados digitales que utilizan el están-

dar de infraestructura de clave pública X.509 para asociar una clave pública a una

15

Page 30: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

identidad contenida en un certi�cado [29].* Autenticación mediante un grupo de usuarios XAuth: Se usa para extraer re-

gistros de autorización de una máquina [30].

Tiene dos modos de funcionamiento:* Transporte: En este, solamente se cifra y autentica la carga útil (bytes que

llevan la información que se quiere transferir) y se utiliza para la comunicaciónentre hosts punto a punto que usan un canal inseguro. En este caso, el enrutamientoes el mismo, ya que la cabecera IP permanece intacta sin cifrarse. Las capas detransporte y aplicación, están siempre aseguradas por un hash [31] (resumen delcontenido de la información basado en un algoritmo), por lo que si son modi�cadas,sería fácil de detectar que han sido alteradas.

* Túnel: En este modo, todo el paquete IP es cifrado y autenticado, tanto losdatos con la información útil como las cabeceras. Este método se usa para comuni-caciones entre redes (ej. túneles entre routers para VPN), o comunicaciones a red oentre equipos sobre Internet u otra red insegura.

Consta de tres protocolos para dotar de seguridad al paquete:

* AH Authentication Only (Solo Autenticación):Este protocolo, incluye una cabecera se encarga de garantizar la integridad sin co-

nexión y autenticación de los datos de origen de los datagramas IP a través de clavesHMAC Hash Message Authentication Code (Código de Autenticación de Mensajesen Clave-Hash) [32], básicamente un hash al que se le agrega una �rma, operandosobre el contenido del paquete IP y los campos de la cabecera IP que permaneceninalterables.

* ESP Encapsulating Security Payload (Carga de Seguridad de Encápsulado):El protocolo ESP proporciona autenticidad de origen, integridad y protección de

con�dencialidad de un paquete. También soporta con�guraciones de sólo cifrado ysólo autenticación, pero utilizar cifrado sin autenticación está altamente desaconse-jado porque es inseguro. Al contrario que con AH, en el que la cabecera del paqueteIP no está protegida por ESP (aunque en ESP en modo túnel, la protección es pro-porcionada a todo el paquete IP interno, incluyendo la cabecera interna; la cabeceraexterna permanece sin proteger). ESP opera directamente sobre IP, utilizando elprotocolo IP número 50.

* IKE Internet Key Exchange (Intercambio de Claves por Internet):Es un protocolo usado para establecer una Asociación de Seguridad (es el esta-

blecimiento de atributos de seguridad compartidos entre dos entidades de red parapermitir una comunicación segura) en el protocolo IPSEC. IKE emplea un intercam-bio secreto de claves de tipo Di�e-Hellman [33] para establecer el secreto compartidode la sesión.

16

Page 31: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Se suelen usar sistemas de clave pública o clave pre-compartida. Este protocoloconsta de dos fases:

* Fase 1: Se encarga de estalecer un canal seguro usando Di�e-Hellman [33]para generar la clave secreta compartida para cifrar la comunicación IKE. El modoprincipal protege la identidad de los extremos, mientras que el modo agresivo no,empleando la mitad de mensajes que el modo principal para obtener los mismosresultados. La contrapartida es que este modo no proporciona autenticación de laidentidad cuando se emplea junto con claves precompartidas (PSK), por lo que esvulnerable a ataques del tipo man in the middle (hombre en el medio) [34].

* Fase 2: Los extremos usan el canal seguro establecido en la primera fase paranegociar una Asociación de Seguridad en nombre de otros servicios como IPSEC.La negociación consiste en un mínimo de dos SAs unidireccionales.

- OpenVPN:Este túnel [44], opera en la capa de transporte utilizando protocolos SSL/TLS

sobre UDP o TCP. Auntentica a través de claves estáticas precompartidas o concerti�cados y claves RSA. Los extremos intercambian sus claves públicas a travésde certi�cados digitales X.509 que previamente, han sido �rmados previamente poruna Autoridad de Certi�cación [35], entidad de con�anza responsable de emitir yrevocar los certi�cados digitales utilizados en la �rma electrónica, en la que se confía.

Existen dos tipos de funcionamiento:* Túnel: crea túneles por medio del driver tun [36] y opera bajo el protocolo

TCP/IP. De esta forma, se produce poca sobrecarga.* Puente: tuneliza cualquier tipo de paquete, ya sea o no TCP/IP. Es poco es-

calable y si que puede generar sobrecarga.

La gran ventaja de usar este tipo de tecnología es que provee una fuerte segu-ridad y estabilidad, siendo fácil su implementación y totalmente transparente paradirecciones IP dinámicas.

17

Page 32: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

En la imagen siguiente, se muestran las principales diferencias entre los protocolosIPSEC y OpenVPN [37]:

Figura 1.9: Diferencias entre IPSEC y OpenVPN.

1.8. RADIUS

RADIUS, Remote Authentication Dial-In User Server (Servidor de Autentica-ción de Usuarios Remoto) es un protocolo que permite gestionar la �autenticación,autorización y registro� de usuarios remotos sobre un determinado recurso. La tuplaanteriormente mencionada es más conocida como AAA, al ser éste su acrónimo desu denominación original inglesa �Authentication, Authorization, and Accounting�.

A continuación se de�nen cada uno de estos términos:- Autenticación: hace referencia al proceso por el cual se determina si un usua-

rio tiene permiso para acceder a un determinado servicio de red del que quiere haceruso. Este proceso se realiza mediante la presentación de una identidad y credencialespor parte del usuario que demanda acceso.

Un tipo habitual de credencial es el uso de una contraseña, que junto al nombrede usuario, permite acceder a determinados recursos. Otros tipos más avanzados decredenciales son los certi�cados digitales.

18

Page 33: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Existen muchos métodos diferentes que implementan el proceso de la autentica-ción. Algunos, soportados por RADIUS, son:

- System Authentication (Autenticación de Sistema), típica en un sistema Unix,normalmente realizada mediante el uso del �chero /etc/passwd.

- PAP Password Authentication Protocol (Protocolo de Autenticación con Con-traseñas), y su versión segura CHAP Challenge Handshake Authentication Protocol(Protocolo de Autenticación por Choque de Manos), que son métodos de autentica-ción usados por proveedores de servicios de Internet (ISPs) accesibles vía PPP.

- LDAP Lightweight Directory Access Protocol (Protocolo de Acceso al DirectorioLigero), un protocolo a nivel de aplicación (sobre TCP/IP) que implementa unservicio de directorio ordenado, y muy empleado como base de datos para contenernombres de usuarios y sus contraseñas.

- Kerberos: Necesita un servidor que autentique al usuario que hace la peticióny recibe un ticket para hacer uso del servicio demandado.

- EAP Extensible Authentication Protocol (Protocolo de Autenticación Extensi-ble), no es un método concreto sino un entorno universal de autenticación empleadofrecuentemente en redes inalámbricas y conexiones punto a punto.

- Autenticación basada en �cheros locales de con�guración del propio servidorRADIUS.

- Autorización: se re�ere a conceder servicios especí�cos (entre los que se inclu-ye la �negación de servicio�) a un determinado usuario, basándose para ellos en supropia autenticación, los servicios que está solicitando, y el estado actual del sistema.

Es posible con�gurar restricciones a la autorización de determinados servicios enfunción de aspectos como, por ejemplo, la hora del día, la localización del usuario,o incluso la posibilidad o imposibilidad de realizar múltiples �logins� de un mismousuario.

El proceso de autorización determina la naturaleza del servicio que se concedeal usuario, como pueden ser: la dirección IP que se le asigna, el tipo de calidad deservicio QoS Quality of Service (Calidad del Servicio) [38] que va a recibir, el usode encriptación, o la utilización obligatoria de túneles para determinadas conexiones.

Los métodos de autorización soportados habitualmente por un servidor de RA-DIUS incluyen bases de datos LDAP, bases de datos SQL (como Oracle [39], MySQL[40] y PostgreSQL [41]), o incluso el uso de �cheros de con�guración locales al ser-vidor.

No se debe confundir los términos autenticación con autorización. Mientras quela autenticación es el proceso de veri�car un derecho reclamado por un individuo(persona o incluso ordenador), la autorización es el proceso de veri�car que unapersona ya autenticada tiene la autoridad para efectuar una determinada operación.

- Registro (Accounting), a menudo traducido también como contabilidad) se

19

Page 34: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

re�ere a realizar un registro del consumo de recursos que realiza el usuario. El re-gistro suele incluir aspectos como la identidad del usuario, la naturaleza del servicioprestado, y cuándo empezó y terminó el uso de dicho servicio.

Aunque RADIUS es el protocolo para AAA más extendido en la actualidad, yaexiste un nuevo protocolo que está llamado a sustituir a RADIUS, muy probable-mente. Su nombre es DIAMETER [42], y también proporciona manejo de errores ycomunicación entre dominios, aunque aún no está muy extendido.

1.9. SIEM

Un sistema SIEM, Security Information and Event Management (Información deSeguridad y Gestión de Eventos) [43] es un correlador de logs. Recoge paramétros dered a través de sondas, ubicadas en distintos puntos y los analiza para detectar ten-dencias o patrones. Actualmente es una herramienta que se ha vuelto imprescindibleen el campo de la seguridad ya que centraliza todos los logs de una corporación yrealiza un análisis prácticamente en tiempo real, permitiendo a los administradoresreaccionar de manera practicamente inmediata.

Las principales funciones de un SIEM son las siguientes:- Centralizar la vista de potenciales amenazas.- Determinar qué amenazas requieren resolución y cuáles son solamente ruido.- Escalar temas a los analistas de seguridad apropiados, para que puedan actuar

de forma rápida.- Incluir el contexto de los eventos de seguridad para permitir resoluciones bien

informadas.- Documentar, en un registro de auditoría, los eventos detectados y cómo fueron

resueltos.- Cumplir con las regulaciones de la industria en un formato de reporte sencillo.

1.10. Bastionado de equipos

Con los elementos anteriores, se puede alcanzar una red muy segura, aunqueen realidad, lo que interesa proteger, son los activos de una empresa, en este caso,los servidores, por lo que es necesario securizar los equipos para reforzar la políticaadecuadamente, reduciendo aún más estos riesgos.

Unas buenas medidas estándar para el bastionado serían las siguientes [44]:- Una fuerte política de contraseñas. Caracteres para impedir ataques por dic-

cionario y longitud para evitar la fuerza bruta. También es una buena práctica nocompartir una contraseña y que caduque cada cierto tiempo.

- Activar solo los puertos de comunicación necesarios, apoyándose de un escánerde puertos para veri�carlo.

20

Page 35: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

- Desactivar la respuesta por ICMP (ping).- Los ejecutables de conexión al exterior solo los podrá realizar el usuario root

(por ejemplo, el uso de wget).- El propietario del servidor ha de ser nobody, el usuario cuyos permisos son

mínimos.- Revisar de forma regular los logs de accesos.- Instalar siempre las últimas actualizaciones del servidor, para solucionar los

problemas de seguridad con parches.- Extremar las precauciones con servidores de aplicaciones, o los que contengan

CGI's Common Gateway Interface (tecnología que permite a un navegador solicitardatos de un programa ejecutado en un servidor web [45]) ya que son más vulnerablesu otros servicios intrínsecamente vulnerables como FTP y Telnet e intentar utilizarun solo servicio por servidor.

- Permitir el acceso solo a máquinas autorizadas (listas de control de acceso oACL, Access Control List).

1.11. Antivirus

Los elementos anteriores, protegen de la red externa (Internet), pero no todoslos fallos de seguridad se deben a ataques producidos desde el exterior, si no quetambién existen vulnerabilidades que pueden ser explotadas una vez se tenga controlsobre un host de la red interna, ya sea por fallo humano, o por introducción de ele-mentos no autorizados, como puede ser una memoria USB infectada. Para tratar decorregir estos problemas mencionados, se utilizan los antivirus que, para una mejorprotección, deben estar actualizados a la última versión.

Esto es lo que ocurrió en 2017 [46] con Teléfonica [47], en el que por un errorde un empleado, irrumpió un virus ramsonware, un tipo de malware que impide alos usuarios acceder a su sistema o a sus archivos personales y que exige el pagode un rescate para poder acceder de nuevo a ellos [48], que se propagó rápidamentepor la organización, cifrando los archivos de los host y exigiendo una gran cantidadeconómica para devolver los equipos a su estado original.

El antivirus es una base de datos en la que se encuentra el registro de todos losvirus conocidos hasta el momento, de forma que pueda identi�car si existe alguno,y como poder eliminarlo. Los mecanismos de detección son los siguientes:

- Firma digital: Compara una marca del archivo con una base de datos paraidenti�car coincidencias.

- Detección heurística: Escanea los archivos buscando patrones de código que seasemejan a los que se usan en los virus.

- Detección por comportamiento: Escanea el equipo en busca de un fallo o com-portamientos extraños.

- Sandbox : Ejecuta el software en máquinas virtuales y determina si ejecuta ins-trucciones maliciosas o no. En caso de no encontrar un comportamiento extraño, lo

21

Page 36: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

ejecuta en la máquina real.

También es aconsejable contar con un antivirus de navegación para hacerlo demanera más segura. Navegar por páginas seguras (las que tienen HTTPS con cifradobasado en SSL), asegura tan solo un pequeño porcentaje de éxito, puesto que la ma-yor parte del peligro están en las acciones que suponen un intercambio de �cheros,como puede ser la descarga de archivos o elementos adjuntos en correos electrónicos.Por eso es muy importante que el antivirus escanee en busca de vulnerabilidadescada vez que se realiza la descarga de un �chero.

El antivirus, también debe ser capaz de no mostrar ciertos servidores, de losque se podría descon�ar, detener elementos de dentro de una web, como pueden serscripts, plugins o ventanas emergentes, descarga de ejecutables u otras web en lasque pueda haber ciertas palabras que hagan pensar que son de dudosa reputación.

1.12. Backups

Es una de las medidas más importantes a la hora de establecer una buena po-lítica de seguridad, aunque está este pensada para prevenir en caso de que ocurraalgún desastre.

Volviendo al suceso mencionado anteriormente que ocurrió en 2017 en Telefóni-ca, tras el cifrado de muchos de los host, se podría haber vuelto a la normalidad enmuy poco tiempo, si hubiera habido una buena política de copias de seguridad en laque permitiera restaurar el estado de un equipo cuya última copia se realizara hacepoco tiempo antes de la encriptación.

Dentro de estas medidas, se debería incluir un snapshot (imagen del estado decierto equipo) cada cierto tiempo, que deberá ser menor según sea más relevante enla infraestructura y un backup de datos completo, acompañado de copias incremen-tales (debido a que estos datos van creciendo) cada cierto tiempo.

Esta medida reduce en gran medida el impacto en caso de catástrofe tras la ex-plotación de una vulnerabilidad.

1.13. Redundancia

La redundancia en una red es fundamental para poder conseguir la toleranciaa fallos [49]. Consiste en la duplicación de componentes o funciones críticas con laintención de asegurar la �abilidad de un sistema o asegurar el funcionamiento delservicio en caso de fallo. Para ello, es necesario replicar algunos servicios como DNS,cortafuegos o servidor proxy o web, para que puedan dar servicio la mayor parte del

22

Page 37: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

tiempo posible.

Existen dos formas de con�gurar los elementos para asegurar el continuo funcio-namiento de la infraestructura:

- Balanceo de Carga (Load Balancing) [50]: Se trata de dividir la carga de tra-bajo de la manera más equitativa posible a través de un algoritmo (Round-Robin[51], Least Connection [52], IP-hash [53]...). De esta forma, se produce una mayore�ciencia del servicio y evita la saturación o cuellos de botella con la ventaja de sertotalmente transparente para el usuario. A continuación se puede su funcionamientoen la siguiente �gura:

Figura 1.10: Funcionamiento Balanceador de carga.

- Alta Disponibilidad (High Availability) [54]: En este caso uno de los servidoresse mantendrá dando servicio al que se denominará principal, mientras que existeotro secundario que se encuentra inactivo, sin atender peticiones, pero que estápreparado para actuar en el momento en que el servidor principal no se encuentredisponible por cualquier motivo. El sistema debe de ser capaz de detectar si existealgún problema para que sea el servidor secundario el que comience a dar servicio,para que esté disponible el mayor tiempo posible.

Para que sea totalmente transparente, el servidor secundario y primario, debenser idénticos. A continuación, se muestra una imagen donde se puede ver como operala alta disponibilidad [54]:

Figura 1.11: Funcionamiento Alta Disponibilidad.

23

Page 38: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

1.14. Arquitectura

Una arquitectura segura, podría ser la mostrada a continuación:

Figura 1.12: Arquitectura Screened Subnet.

En la imagen se observan 3 líneas de cortafuegos que aíslan las distintas redesque se tienen implementadas, DMZ (en la que se encuentran los servidores a los quese accede desde Internet, como VPN, proxy, servidores web, DNS, etc...), gestión deactivos (consolas para administrar los servidores), red interna (servidores utilizadospor los usuarios y no están públicos en Internet como puede ser el RADIUS, con-troladores de dominio, servidores con copias de seguridad o bases de datos) y árealocal (donde estarán ubicados los equipos de los trabajadores de la empresa).

Los cortafuegos serían de distintos fabricantes para evitar que si se aprovechande una vulnerabilidad, no tengan acceso completo, pues otros fabricantes, puedenno tener esa vulnerabilidad y no pasarían a través de todos. Estos, estarían imple-mentados bajo un cluster con balanceo de carga en el FWE, ya que atenderá laspeticiones de fuera de la red, y el resto en alta disponibilidad, de forma que si unodeja de funcionar, el otro estará disponible para continuar dando servicio.

Se pondrá un IDS/IPS entre la red externa e Internet, ya que gracias a ella secortarán las comunicaciones en caso de detectar patrones de ataque en la red deforma inmediata y que en caso de amenaza, no se propague por toda la red, y unIDS tras la red interna para que mande alertas en caso de anomalías y actuar en con-secuencia, puesto que, son los activos que más interesa proteger. También se instalade otra sonda de IDS para la parte de la DMZ, para saber quien esta accediendo yaque ese segmento de red es muy importante, pues es donde se publican los servicios.

24

Page 39: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Con esta arquitectura y con unas buenas políticas como las mencionadas ante-riormente, se puede decir que se dispone de una fuerte seguridad en la red.

25

Page 40: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

26

Page 41: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 2

Solución elegida

27

Page 42: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Este capítulo, se apoya en el anterior y se van a ver diferentes soluciones desoftware libre que ayudan a llevar a cabo la defensa de los bienes y activos.

2.1. Cortafuegos

El cortafuegos, como ya se vio, es uno de los elementos más importantes, yaque se encarga de controlar el único punto por el que se entra o sale de la red. Seplantean diferentes opciones.

2.1.1. IPTables

Se trata de una herramienta de Net�lter [55] basada en CLI, Command Line In-terface (Interfaz de Línea de Comandos)de código abierto que permite aplicar unaserie de reglas para paquetes que entran y salen en un sistema, permitiendo �ltrarquien accede. Es muy popular entre los entornos Linux.

IPTables gestiona, mantiene e inspecciona las reglas de �ltrado de paquetes IPv4a través de tablas [44, 56] para realizar las siguientes acciones:

� Filtrado de paquetes (packet �ltering).� Seguimiento de conexiones (connection tracking).� Traslacción de direcciones IP y puertos (NAT, Network Address Translation

[57]). Permite que varios elementos compartan una sola dirección IP pública, resol-viendo el problema que existe de las direcciones limitadas. Para ello, la direcciónpública, se natea y con ello se consige una dirección privada, que no es ruteada através de internet. Existen 3 tipos de funcionamiento NAT: estática (una direcciónpública para una privada), dinámica (varias direcciones públicas para varias priva-das, asignadas de forma dinámica) o sobrecarga (con una sola dirección pública, semapean varias privadas, para ello, se indican los puertos).

Esas tablas clasi�can y organizan las reglas de acuerdo al tipo de acciones quese deben tomar sobre los paquetes (las mencionadas anteriormente).

Cada tabla, a su vez, contiene chains (cadenas), algunas prede�nidas, y otrasde�nidas por el usuario. Mientras que las tablas son de�nidas por el tipo de reglasque mantienen (�ltrado, nateo, manipulación de paquetes), las cadenas representanlos eventos que disparan o inician cada regla (hooks de Net�lter). Al �n y al cabo,las cadenas no son más que listas de reglas y éstas, a su vez se agrupan en tablas.

Los hooks, coinciden con las cadenas de IPTables:- Prerouting: trá�co entrante, justo antes de ingresar a la pila de red del kernel.

Las reglas en esta cadena son procesadas antes de tomar cualquier decisión de ruteorespecto hacia dónde enviar el paquete.

- Input: trá�co entrante, luego de haber sido ruteado y destinado al sistema local.

28

Page 43: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

- Forward: trá�co entrante, posterior de haber sido ruteado y destinado haciaotro host (reenviado).

- Output: trá�co saliente originado en el sistema local, inmediatamente despuésde haber ingresado a la pila de red del kernel.

- Postrouting: trá�co saliente originado en el sistema local o reenviado, tras ha-ber sido ruteado y justo antes de ser puesto en el cable.

El objetivo de las cadenas es poder controlar cuando una regla es evaluada a lolargo del �ujo de un paquete a través del sistema y la pila de red. Para cada paquete,se va comprobando si se le aplica la regla de cada cadena. Si la regla no aplica aese paquete, pasa a la siguiente regla de la cadena y si aplica, se ejecuta la acciónde�nida en la regla.

A continuación se ve una imagen donde se observa el proceso través de las tablasy las cadenas:

Figura 2.1: Paso de paquetes por cadenasen IpTables.

Figura 2.2: Paso de paquetes por tablas enIpTables.

IPTables es un gran solución, para implementarlo en un entorno, ya que a pesarde ser de código abierto, tiene detrás una comunidad muy amplia, por lo que aun-que no haya soporte o�cial, es muy fácil encontrar soluciones, por lo que muchosadministradores apuestan por esta opción.

2.1.2. pfSense

Se trata de un potente cortafuegos de código abierto basado en freeBSD [58].Ofrece muchas funciones de �rewalls comerciales y se basa en el concepto de �ltradode paquetes como ya se vio anteriormente y cuya administración es muy sencilla pormedio de una interfaz web por lo que no es necesario poseer muchos conocimientos

29

Page 44: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

de linux como en el caso anterior [59].

Entre las ventajas para su instalación y uso se encuentran las siguientes:

- Routing.- Firewall.- NAT.- Balanceo de carga y alta disponibilidad.- VPN (IPSEC, OpenVPN y PPTP).- DNS.- Portal Cautivo.- RADIUS.- Servidor DHCP.

Además cuenta con un gestor de paquetes que permite ampliar sus funcionali-dades pudiendo instalar el proxy Squid, el IDS/IPS Snort, Suricata o el antivirusClamAV como se verá posteriormente.

Todas las caracteristicas anteriormente mencionadas hacen que sea un gran can-didato para ser el elegido para la infraestructura seleccionada.

2.1.3. UntangleNG

Este cortafuegos es una potente distribución basada en Debian [60] que propor-ciona una única plataforma uni�cada donde poder gestionar y controlar todo paraproteger la infraestructura [61].

Al igual que el anterior, posee una interfaz de usuario muy intuitiva vía web quepermite la creación de reglas de forma muy sencilla.

Entre sus caracteristicas se encuentran:- Cortafuegos Next-Generation en la capa de aplicación (Prevención de malware).- Análisis profundo e información en tiempo real.- Orquestación de red (A través de ésta, se de�nen las políticas y los niveles de

servicio a través de �ujos de trabajo automatizados, aprovisionamiento y gestión delcambio) [62].

- Threat Intelligence (Se trata de servicios que predicen y proactivamente noti�-can sobre amenazas en tiempo real, para que las compañías puedan ser más �exiblesal adaptarse a un panorama de amenazas que cambia rápidamente) [63].

Como solución para la infraestructura, se ha optado por el cortafuegos pfSense,debido a que, se estima, es la que mejor integra todos los módulos que se necesitanen cuanto a IDS/IPS y proxy para el proyecto. Además posee una interfaz de usuario

30

Page 45: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

muy sencilla, completa y centralizada, lo que permite mayor comodidad a la horade de�nir las políticas de seguridad.

2.2. Proxy

A continuación se van a analizar con cierto nivel de detalle los proxy de códigoabierto más usados en el mercado.

2.2.1. Squid

Se trata de un servidor proxy [64] con caché web publicado bajo la licencia GPL[65]. Su ventaja más relevante consiste en mejorar el rendimiento de las conexionesa Internet guardando en caché las peticiones recurrentes web y DNS para acelerarel acceso o para dar seguridad a través de �ltrados de trá�co.

Entre sus puntos fuertes también destacan:

- Es orientado a HTTP y HTTPS aunque también soporta FTP.- Implementa SSL/TLS tanto en la conexión al servidor web como a los navega-

dores y a los clientes web que lo soporten.- Ofrece una caché de contenido para aceleración web.- Controles de acceso basados en ACL.- Filtros de URLs y de contenido gracias al complemento squidGuard.- Soporte para SNMP, Simple Network Management Protocol (Protocolo Simple

de Administración de Red).- Registro de logs.

2.2.2. Privoxy

Se trata de un software de código abierto bajo la licencia GPL que ofrece unproxy web sin caché, que permite varias opciones de �ltrado [66] para proteger laprivacidad, modi�car el contenido de las páginas web, administrar cookies, contro-lar accesos y eliminar anuncios, banners, ventanas emergentes y otros elementos nodeseados de Internet, además de contenido malicioso que el navegador no podríadetectar.

Para manejar el contenido de �ltrado, se usará Webmin [67], para visualizar es-tadísticas de memoria caché a través de navegador.

También es un buen complemento para Squid.

31

Page 46: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

2.3. IDS/IPS

En cuanto a IDS, existen dos alternativas que son las que predominan en lamayoría de entornos. Se trata de Suricata y Snort.

2.3.1. Suricata

Posee la función de IDS/IPS y además es capaz de monitorizar la red [68]. Esta,es una herramienta muy escalable y posee la funcionalidad de hacer uso de funcionesmultihilo, de forma que una instancia, podrá tener su carga balanceada entre todoslos procesadores, mejorando mucho su rendimiento pudiendo procesar un ancho debanda de hasta 10 gigabits por segundo sin que ello repercuta sobre el rendimientocomo se puede ver en [69].

También es capaz de identi�car los principales protocolos de red, siendo capaz decontrolar en todo momento todo el trá�co que se genera en el sistema y controlandoposibles amenazas de malware.

Suricata controla los �cheros que se envían por la red, siendo capaz de identi�carformatos diferentes, así como realizar comprobaciones MD5 [31] para comprobar queno ha sido modi�cado y también es capaz de extraer temporalmente ciertos archivospara identi�car posible malware escondido.

Las características más destacables [70] son:

* Procesamiento multihilo: Como se ha contado antes, soporta la ejecución deprocesos de forma simultánea pudiendo asignar ciertos cores (núcleos). Hay cuatromódulos de subproceso.

* Captura de paquetes funcionando como sni�er (capturador) de red.* Decodi�cador: Seguimiendo del �ujo de secuencias y conexiones para rearmar

después de forma correcta la secuencia original.* Detección y compración con las �rmas o reglas.* Procesamiento de eventos y salida de alertas.* Detección automática de protocolo: Reconoce los principales IP, TCP, UDP e

ICMP, aunque también es capaz de detectar FTP, HTTP, TLS y SMB. Esto permiteescribir reglas sin tener que poner que puerto usa, ya que es capaz de detectar elprotocolo.

* Análisis del rendimiento.

2.3.2. Snort

La herramienta es un IDS/IPS similar a la comentada anteriormente [71]. Poseelas mismas funciones que la anteriormente analizada, salvo que no es posible usarmultihilo, por lo que se van a ver que diferencias hay entre ambas tecnologías en

32

Page 47: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

cuanto a reglas y protocolos, mostradas de forma resumida en las siguientes imágenes[72]:

Figura 2.3: Tipos de acciones entre IDS.Figura 2.4: Protocolos que distinguen en-tre IDS.

Como se puede observar, ambos tienen carencias que el otro no tiene, a Suricatale faltan acciones, mientras que a Snort, le falta análisis de ciertos protocolos.

33

Page 48: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

34

Page 49: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 3

Servidores físicos

35

Page 50: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Para el diseño del prototipo se van a usar tres placas de desarrollo, que serán lasocupadas de contener toda la infraestructura que se pretende desplegar. En concreto,se emplearán la UP2 Board y dos Raspberry Pi 3.

3.1. UP2 Board

Se trata de una placa de desarrollo de alto rendimiento [73], bajo consumo yprocesador Intel. Posee una memoria RAM de 8 GB de LPDDR4 y 64GB eMMC.Se pueden ver el resto de características en la siguiente imagen:

Figura 3.1: Características UP2 Board [91]

Se elige esta placa por su alto rendimiento y sus dos interfaces de red, lo que lahacen ideal para contener sistemas que demandan un alto rendimiento y gracias asus dos interfaces mencionados, se puede conectar la raspberry que funciona comopunto de acceso WiFi sin necesitar añadir un switch adicional.

En esta placa se instalará la solución pfSense y sus paquetes IDS/IPS, proxy(Snort y Squid).

36

Page 51: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

3.2. Raspberry Pi 3

La Raspberry Pi 3 [74] es menos potente que la anterior, contiene un procesadorARM Cortex-A53, 1.2GHz de 4 núcleos, 1GB LPDDR2 de RAM y para almacenardatos, es necesario usar una tarjeta micro sd. Posee una interfaz Ethernet y otra Wi-Fi, por lo que se podrá conectar a la UP2 por medio de Ethernet y con la wlan, paracrear el punto de acceso inalámbrico con el que dar servicio a móviles o portátiles.

Figura 3.2: Características Raspberry Pi 3

En esta placa se instala una herramienta de sistema de videovigilancia, un sis-tema almacenamiento de �cheros y se con�gurará de manera que funcione en modopunto de acceso. Para llevarlo a cabo, se instalan las herramientas Motion [75] quepermitirá tener un sistema de vigilancia con detección de movimiento a través dewebcam y OwnCloud [76] como plataforma de almacenamiento.

También se usará otra Raspberry, en la que se instala un servidor de monitori-zación Zabbix [77], con el que se con�gurarán una serie de alertas que se mandaránal correo electrónico de un responsable, para veri�car que todos los servicios estánejecutándose de forma correcta.

37

Page 52: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

38

Page 53: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 4

Arquitectura e implementación

39

Page 54: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

4.1. Arquitectura

En este punto, se muestra qué diseño de red se ha decidido seguir para llevar acabo la implementación de la infraestructura por la que se ha optado tras el análisisrealizado. Para ello, se ha diseñado un esquema de red en el que se distribuyen losdistintos elementos tal y como se muestra en la siguiente �gura:

Figura 4.1: Mapa de red de la infraestructura Secure IOT. Realizado con la herra-mienta Lucidchart [95]

Como se puede observar, se crea una subred (cuyo direccionamiento, privado, es192.168.2.0/24), que va conectada a una de las interfaces de la placa de desarrolloUP2 Board y será la red que securize. En dicha placa, está instalado pfSense, queposee las funciones de cortafuegos, proxy e IDS/IPS. En esta LAN se encuentranubicados los servidores que contienen la funcionalidad de punto de acceso, cámarade vigilancia, servidor de almacenamiento, servidor de monitorización, con envío dealertas vía correo electrónico repartidos entre las dos raspberry (RPI3-1 y RPI3-2).

De esta forma, tanto los servidores de la infraestructura segura, como todosaquellos que realicen la navegación desde el punto de acceso suministrado, van apasar a través de pfSense, haciendo uso del servidor proxy web cache Squid, siendoeste, quien realice la petición al servidor y del antivirus ClamAV [78], para navegarde forma más segura.

40

Page 55: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

4.2. Implementación

En este apartado, se explica como se realizó la instalación y la con�guración delsistema para alcanzar el resultado deseado.

4.2.1. PfSense

A pesar de que haya problemas según el fabricante [79], se descarga la versióncorrespondiente desde la web o�cial del fabricante [80].

Para realizar la instalación, se crea una imagen en una memoria USB con Rufus[81] y se carga mediante uno de los puertos USB de la placa UP2 Board.

Tras esto, se procede a la instalación, que es un proceso sencillo que no precisamayor aclaración. Una vez haya concluido, es necesario con�gurar las interfaces dered. En este caso, se asigna una IP estática para la interfaz WAN, que va unidafísicamente al router de nuestro ISP. Una vez ya tiene con�gurada la interfaz, sepodrá acceder a con�gurar pfSense a través de navegador.

Por defecto, se accede a la interfaz con las credenciales usuario:admin y contra-seña:pfSense a través del puerto 80 (protocolo http). La primera acción a realizar,es cambiar la forma de acceder para que sea más segura:

Figura 4.2: Con�gurando el modo de acceso a la página de administración de pfSense

Para ello, se utiliza un certi�cado deni�do por el sistema y se cambia el puertopor defecto que usa el protocolo https, se pasa de usar el puerto 443 (que es el pre-determinado para el protocolo https) a el 2443. Realizaremos la misma acción paraacceder al sistema mediante ssh, Secure Shell [82], que pasará de usar el puerto pordefecto 22 al 2022. También es muy importante cambiar la contraseña por defecto,aunque debería hacerse de forma obligatoria (pedido por la propia herramienta) laprimera vez que se accede al sistema.

Una vez se ha accedido, se procederá a con�gurar las interfaces WAN y LAN.

Se utilizará la interfaz re1 para con�gurar una red LAN que es en la red dondese ubicarán las Raspberry (RPI3-1 con una conexión punto a punto mediante un

41

Page 56: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

cable ethernet para poder compartir Internet al resto de la red). La red que se vaa emplear va a tener una máscara de red 24, lo que permite que haya hasta 254equipos en la red misma, que usa como dirección la 192.168.2.0 por lo que a estainterfaz se le va a dar la dirección ip 192.168.2.2.

Una vez se con�guran ambas interfaces, se puede con�rmar que están correcta-mente con�guradas viendo el panel principal, tanto de pfSense, como del portal web,como se puede observar a continuación en las siguientes imágenes:

Figura 4.3: Pantalla principal pfSense des-de ssh

Figura 4.4: Pantalla principal pfSense des-de portal web

El siguiente paso, es instalar los componentes necesarios para que también fun-cione como proxy e IDS/IPS. Para ello, se accede desde la web de con�guración depfSense, System ->Package Manager ->Available Packages. Desde aquí se descarga-rán los paquetes en cuestión y se instalarán automáticamente, como se muestra enla imagen a continuación con Suricata:

Figura 4.5: Instalación de módulo Suricata en pfSense.

Como se puede observar, también se instalarán las dependencias para que elmódulo funcione correctamente, en este caso, Banyard2, necesario para interpretarlas alertas que recopila Suricata y almacenarlas en una base de datos.

42

Page 57: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

En la instalación también descarga �rmas genéricas de la comunidad de Snort:

Figura 4.6: Descarga de �rmas en instalación de Suricata.

Ahora, ya se puede con�gurar el IDS. Para descargar las reglas, se accede aServices ->Suricata ->Global Settings. Una de las opciones, permite recibir reglasperiódicamente de la comunidad de Snort, para lo que hay que conseguir una claveasociada a una cuenta, que implica el registro en la web [92] para obtener la clavemencionada. La con�guración, queda de la siguiente manera:

Figura 4.7: Con�guración global Suricata.

En esa misma pestaña, se con�gura cuando se actualizarán las reglas, eligiéndosea diario a las 03:00 que es una franja donde no debería haber mucho trá�co.

43

Page 58: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Ahora en la pestaña interfaces, se elige a que interfaz se aplicarán las reglas deSuricata y la con�guración de los logs:

Figura 4.8: Con�guración de interfaces Suricata.

Y en la pestaña WAN Categories, se eligen las reglas prede�nidas que quierenaplicarse (aunque también es posible añadir reglas personalizadas) seleccionandoalgunas de las más importantes:

Figura 4.9: Con�guración de reglas Suricata.

44

Page 59: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

También es muy importante que la interfaz de red en la que está monitorizandoel trá�co Suricata, esté en modo promiscuo (modo de conexión de una interfaz enla que captura todo el trá�co que pasa por la red en la que se encuentre). Para ello,se marca la opción Promiscuous Mode en WAN Settings.

De esta forma, Suricata, comenzará a funcionar como IDS y en el momento quereconozca un patrón en la red que este recogido en las reglas que se han elegido, lomostrará en la pestaña Logs View del servicio Suricata, o en el dashboard inicial.Tan solo se utilizará un hilo del procesador, aunque si se quieren poner más, se puedecon�gurar poniendo la opción workers en Run Mode de la pestaña de con�guraciónPerformance and Detection Engine Settings.

En caso, de ver gran cantidad de logs, se debería marcar la opción Use IPS Policydentro de la pestaña WAN Categories, para poder parar las peticiones con patronesque coincidan con las reglas con�guradas, que se consideren potencialmente peligro-sas.

Del mismo modo que se ha descargado el paquete de Suricata, se instalará ahorael de Squid, que se con�gurará en modo transparente. Entre las dependecias, vaa instalar ClamAV como tal, antivirus que proporcionará seguridad a la hora denavegar a través del proxy.

Se accede al servicio y en la pestaña Local Cache, se con�gura el tamaño de lacache web, para agilizar las consultas que se hagan al servidor. Se usarán 10 GB,tamaño que se estima su�ciente para el almacenamiento.

El siguiente paso es marcar en la pestaña General las opciones Enable Squidproxy para activar el proxy, Keep Settings/Data para que se guarde la con�guraciónen caso de actualización, también LAN en la interfaz proxy con el puerto de uso3128 y Transparent HTTP proxy para que funcione sin que los clientes tengan quecon�gurar la dirección de este.

45

Page 60: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

A continuación se muestra la con�guración en el pfSense:

Figura 4.10: Con�guración de Squid.

Figura 4.11: Con�guración de Squid.

46

Page 61: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

En la pestaña Antivirus, se con�gura ClamAV. Se marca Enable AV para quecomience a funcionar el servicio, se con�gura el tiempo de actualización de la base dedatos de virus a 24 horas. Se dejan las casillas restantes como aparece en la siguienteimagen:

Figura 4.12: Con�guración de Antivirus ClamAV.

Estas opciones permiten comparar la web, con una base de datos con informaciónde sitios de phising o fuentes de malware. Con esto es su�ciente para proteger lared, aunque si se desea mayor seguridad, existe una pestaña llamada ACL's dondese pueden denegar ciertos dominios o direcciones de�nidos por los administradoresde red.

4.2.2. Raspberry

El sistema operativo que se ha elegido, es Raspbian [83], una adaptación delsistema operativo Debian para Raspberry. Se descarga la ISO de su página web y lase montará de la misma forma que se hizo con la imagen de pfSense.

La versión de Raspbian que se ha elegido es la 'Raspbian Stretch Lite' debido aque es la más ligera de todas y que no tiene interfaz grá�ca, lo que proporcionarámejor rendimiento y menos vulnerabilidades, ya que no pueden ser aprovechadasaquellas derivadas de la mencionada interfaz grá�ca.

Primero, se con�gura RPI3-1, esta Raspberry tendrá varias funcionalidades: vi-deovigilancia, servidor web para almacenamiento de �cheros y punto de acceso parausuarios.

Para la videovigilancia se usará el software Motion. Se trata de un software decódigo abierto altamente funcional con detección de movimiento. Es capaz de pro-cesar imágenes de varios tipos de cámaras. Esta basada en línea de comandos, porlo que es el más adecuado para este entorno. Se accede a través de interfaz web ytiene la característica de control automático de ruido y umbral.

Se instalará por medio de repositorio a través del comando apt install motion.

47

Page 62: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Una vez instalado, se accede a su �chero de con�guración. Hay que modi�caralgunas opciones como el acceso simultáneo a la interfaz, se modi�ca el número delpuerto en el que escucha el servidor y se habilita la opción de que el usuario quequiera acceder, se accede mediante usuario y contraseña:

Figura 4.13: Funcionamiento de Motion.

El siguiente paso es instalar OwnCloud, un servidor diseñado para el alojamientode archivos que permite el alojamiento en línea tanto de �cheros como de aplicacio-nes. Entre sus funcionalidades están:

- Almacenamiento seguro.- Compartimiento de archivos.- Editor de texto en línea y visor de documentos.- Control de versiones de archivos.- Gestor de papelera (recuperación de archivos o la eliminación permanente).- Aplicación para Android.

48

Page 63: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Para realizar la instalación de OwnCloud, se ha seguido la guía de Chris Cun-ningham [84]. Tras seguir todos los pasos, ya se puede acceder al sistema de alma-cenamiento, vía navegador a través del protocolo http como se ve a continuación:

Figura 4.14: Acceso a interfaz web de Owncloud a través de http.

Tras este paso, se crea usuario y contraseña del sistema y se con�gura usuario,contraseña y nombre de base de datos. Después la instalación �nalizará.

Esta forma de acceder, es insegura, ya que toda la información viaja como textoplano, fácilmente legible si se capturan los paquetes con la información por la redal ser un protocolo sin cifrado SSL. Por lo que se va a añadir ese cifrado, ya queOwnCloud guardará los datos personales.Para solucionarlo, se sigue el tutorial de avoiderrors [85]. Como se ve a continuación:

Figura 4.15: Acceso a interfaz web de OwnCloud a través de https

49

Page 64: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

De esta forma, se asegura que los datos, no se envían en texto plano.

También se comprueba desde la aplicación móvil, previamente descargada desdela tienda virtual Google Play [93] para la plataforma android, se puede acceder a laplataforma de servidor de �cheros recién instalada en el dominio:

Figura 4.16: Acceso a interfaz web deOwnCloud a través de app de Android porhttps Figura 4.17: Ficheros cargados en OwnCloud

Por último, se modi�cará el funcionamiento de la Raspberry Pi, de forma quepueda funcionar en modo punto de acceso inalámbrico. De esta forma, los usuariospodrán conectarse a través de WiFi de forma segura, ya que estará accediendo aInternet a través de la infraestructura que se ha desplegado, y saliendo por mediodel proxy que se con�guró previamente, provocando una salida más segura, graciasa sus �ltros de url y contenido, y más rápida, garantizada por la caché web.

Para con�gurar esta opción, se descargará por medio de repositorio los paqueteshostapd, dnsmasq y bridge-utils. Para realizar esta con�guración, se ha tomado co-mo referencia la publicación de David Naranjo en blog.desdelinux.net [86]. Los pasosa seguir son con�gurar dnsmasq que actuará como servidor DHCP en el que habráque asignar un rango de direcciones para asignar a los dispositivos que se conecten,

50

Page 65: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

se con�gura el hostapd en el que se elige el cifrado que usará el punto de acceso asícomo el nombre de la red y cual será la clave precompartida.

Por último, se añade una regla en el IpTables interno de la raspberry para permi-tir el reenvío de trá�co entre la interfaz eth0 y wlan0. De esta forma, se consigue daracceso a la red de forma segura, aunque alguna parte del proceso puede dar fallo.Dado que el objetivo de este proyecto es conseguir desplegar la infraestructura de laforma más sencilla posible para que cualquiera que no tenga muchos conocimientospueda instalarlo y con�gurarlo, se opta por otra solución más sencilla. Se trata deRaspAP Wi� Hotspot [87].

Para llevar a cabo la instalación, se ejecuta el comando wget -q https://git.io/voEUQ-O /tmp/raspap && bash /tmp/raspap como indica. Tras esto, se necesita reiniciarel sistema e iniciará el servicio automáticamente.

Para con�gurar el nombre de la red, contraseña y rango de direcciones que sequiere asignar, se accede mediante la interfaz web introduciendo la dirección IP, eneste caso, 192.168.2.3.

Una vez se ha accedido, se con�gura el nombre de la red, tipo de cifrado y con-traseña precompartida desde la pestaña Con�gure hotspot como se puede observaren las imágenes posteriores:

Figura 4.18: Con�guración de SSID Ras-pAP.

Figura 4.19: Con�guración de cifrado yPSK RaspAP.

Se ha elegidoWPA2 con encriptación TKIP + CCMP ya que utiliza el algoritmode cifrado AES [88], que permite claves más largas y CCMP que mejora a TKIPaunque se usarán los dos para añadir compatibilidad con los dispositivos.

51

Page 66: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Ahora se con�gura el rango de direcciones que se quiere asignar a este servicio.En caso de querer ampliar o reducir es muy sencillo de con�gurar:

Figura 4.20: Con�guración de rango de direcciones en el punto de acceso.

Se salvan los cambios y se reinicia el servicio para que aplique la nueva con�gu-ración. Como se puede observar, ya esta operativo el punto de acceso:

Figura 4.21: Punto de acceso creado.

Tras este paso, ya es posible navegar de forma segura desde todos los dispositivosque se conecten a esta misma, ya que se sale a Internet a través del servidor proxycon antivirus de navegación.

Una vez se con�gura la primera Raspberry, se pasa a con�gurar la segunda, RPI3-2, que va a contener el servidor de alertas Zabbix, un sistema para monitorear lacapacidad, el rendimiento y la disponibilidad de los servidores, equipos, aplicacionesy bases de datos. Además ofrece características avanzadas de monitoreo, alertas yvisualización.

52

Page 67: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Sus principales características son las siguientes [89]:

- Agregar y controlar servidores, equipos, servicios, aplicaciones especí�cas, dis-positivos físicos como impresoras, routers, entre otros.

- Reporte en tiempo real a través de grá�cas, datos y alertas visuales que mues-tran el estado y rendimiento de los servicios y equipos monitoreados.

- Inventario de equipos para mantener al día la infraestructura tecnológica.- Mapas de la red de la empresa.- Con�guración de noti�caciones vía correo electrónico.- Per�les de usuarios para el uso del administrador web.

Para llevar a cabo la instalación, se ha seguido un tutorial de la página linux-hint.com [90]. Tras realizar la instalación y con�guración de Zabbix y la base dedatos, se tiene que continuar la instalación desde la interfaz web:

Figura 4.22: Instalación de Zabbix.

53

Page 68: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Continuando el tutorial y una vez haya terminado el proceso, aparecerá la pan-talla de login:

Figura 4.23: Inicio de sesión en Zabbix.

Se accede por defecto con usuario: Admin y contraseña: zabbix, por lo que loprimero que se debe hacer, es cambiar usuario y contraseña.

Una vez dentro, se crea un Host Group al que se denominará SecureIoT, el cual,va a contener los dos host que componen el sistema. También es necesario crear losdos host : pfSense y RPI-Services como se puede ver en la siguiente imagen:

Figura 4.24: Creando host en Zabbix.

54

Page 69: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Una vez creado, se eligen los servicios de las plantillas que se quieran monitorizar,en caso de pfSense:

Figura 4.25: Servicios a monitorizar en Zabbix.

Ya se han añadido las plantillas, por lo que el servidor empezará a realizarescaneos:

Figura 4.26: Vista de alertas desde el Dashboard.

Se puede observar que el estado aparece con errores. Viendo las plantillas pre-de�nidas, el escaneo de estos servicios, se hacen para los puertos prede�nidos (22para ssh y 443 para HTTPS). En el servidor pfSense, se cambiaron estos puertospor defecto, por lo que se modi�can estos, en los servicios para que lo hagan enlos puertos que afectan a la destino que se quiere monitorizar. Tras esta acción, seobserva como dejan de aparecer alertas de error y aparecen todas correctas:

Figura 4.27: Recuperación de escaneos en Zabbix.

Toda está con�guración, se aplica también a RPI3-1, monitorizando los servicioshttps con puerto 8082 y https 443 para la cámara de vigilancia Motion y el sistemade almacenamiento OwnCloud respectivamente.

Por último, se con�gura un usuario y se registra un email donde enviar alertas,según el nivel de criticidad de de la alerta, que depende del número de veces quehaya fallado el escaneo del servicio.

55

Page 70: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

En este caso se ha considerado su�ciente, que envíe correo solamente en caso dealta criticidad o mayor, para que no esté mandando continuamente alertas y solo lohaga en caso de avería grave como se puede observar a continuación:

Figura 4.28: Con�guración de correo electrónico para recepción de alertas Zabbix.

4.2.3. Reglas de cortafuegos

Una vez se tiene toda la infraestructura desplegada, es necesario con�gurar lasreglas del cortafuegos pfSense para controlar quien accede y la forma de hacerlo demanera que sea segura.

Para llevarla a cabo, se sigue una política en la que se deniega todo por defecto,y sobre ella, se permiten ciertas excepciones de conexión a destinos y puertos.

Se establecen políticas en la interfaz WAN, LAN y se crean reglas NAT NetworkAddress Translation para permitir el paso de la interfaz WAN a LAN, transforman-do el puerto externo de acceso al que realmente tiene en la red interna LAN. Acontinuación se explican las reglas usadas:

- WAN: Se permiten los puertos 2443 y 2022 desde la red externa, los puertosdesde los que se administra pfSense y la conexión del proxy hacía internet. Tambiénse aceptan los puertos 18082 y 18443, desde los que posteriormente, se realizará unNAT para traducir esos puertos a los que realmente usan Motion y OwnCloud, 8082y 443.

56

Page 71: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

La última regla será la de denegar, que será la que siga si no cumple las anteriorescondiciones.

Figura 4.29: Reglas WAN

- NAT: Se usará el método de la sobrecarga o PAT Port Address Translation (Tra-ducción de Puertos de Red), de forma que se puede asociar una dirección IP privaday un puerto de origen con una dirección IP pública y un puerto comprendido en elrango desde 0 hasta el 65535. De forma que cuando llega una petición a la direcciónIP pública y ese puerto, lo reenvía a la dirección privada y el puerto que corresponda.

En este proyecto, se hace con los puertos de acceso a Motion y OwnCloud comose puede ver en la siguiente imagen:

Figura 4.30: Reglas NAT

- LAN: En esta regla se con�gura el acceso desde LAN a proxy para que hagala petición, la vuelta de proxy a toda la LAN segura, de forma que los elementosconectados al punto de acceso naveguen de forma segura. Utiliza el puerto por defecto3128. Se permite también el acceso desde el pfSense de la interfaz WAN que es elque hace el nateo de los puertos de Motion y OwnCloud, hacia la IP y puertoscorrespondientes.

57

Page 72: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

En la imagen queda como se puede ver el conjunto de reglas:

Figura 4.31: Reglas LAN

Desde el visor de logs, se ven que acciones se están permitiendo y cuales se estándenegando (siempre y cuando en la regla se haya con�gurado para que se registre)como se puede ver a continuación:

Figura 4.32: Reglas LAN

Tras todo este proceso, ya se tendría correctamente desplegada y con�gurada lainsfraestructura. Tan solo quedaría pasarla a un entorno real de producción.

58

Page 73: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 5

Problemas encontrados

59

Page 74: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

A lo largo de este proyecto, han ocurrido distintos problemas que no estabanprevistos cuando se realizó el estudio de la idea del proyecto y que, a continuación,se comentan y se indican como fueron resueltos:

- No llegan los paquetes a UP2:

Cuando se conecta (una vez instalado) el pfSense a la red doméstica, se ve quelos únicos paquetes que le llegan, son los que van dirigidos a él.

Para solucionar esta situación se buscó el manual del router del proveedor deservicios para poder hacer llegar los paquetes al cortafuegos. Al no estar disponible,se llama al operador pero se niega a facilitar el manual. La única solución queaportan, es con�gurar una opción en el router, denominada DMZ, por la que todoslos paquetes que llegan al router, también los manda allí. Para poder conectar desdefuera de la red a pfSense, fue necesario crear reglas NAT en el router de forma que alponer la dirección IP pública que proporcionan a través de los puertos con�guradospara acceder mediante HTTPS y ssh. A continuación se muestran las con�guracionesllevadas a cabo en el router:

Figura 5.1: Con�guración NAT en el router.

60

Page 75: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Figura 5.2: Con�guración pfSense en DMZ.

De esta forma, ya es posible acceder a pfSense desde Internet.

- Forti WiFi 60D:

Ante la imposibilidad de poder gestionar completamente el router WiFi que pro-porciona la compañía, se decide cambiar de router por otro comercial. El problemareside en que no se encontraba el adecuado, debido a la atípica instalación del router,ya que funciona por �bra óptica y ésta, llega hasta el mismo router, a diferencia dela mayoría de routers.

Para solucionar esté problema, se descubrió una opción en el router, que permitíaponerlo en modo ONT (Optical Network Terminal), transformando directamente laseñal óptica en una señal de banda ancha que pueda interpretar el router [101] comoaparece en la imagen:

Figura 5.3: Modo ONT en router.

61

Page 76: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

De esta forma, el router dejará de dar servicio, y dará servicio al nuevo routerpor la interfaz WAN1.

Se obtiene un cortafuegos Forti WiFi 60D [102] con el que se puede hacer la fun-ción de router WiFi, sustituyendo al que proporciona el proveedor de servicios deinternet y pudiendo crear DMZ's y rutas estáticas para comunicar las distintas redescreadas. Se con�guran las interfaces del nuevo elemento y la red WiFi doméstica yse conecta a la interfaz del router ONT.

Como no da el resultado deseado, se sigue con el problema sin resolver, se decidevolver a la con�guración anterior y abandonar esta alternativa.

- Acceso desde internet con servicio NO-IP:

Para este propósito, se usó el servicio NO-IP, que permite asociar un nombre auna dirección IP dinámica (que puede cambiar cuando el router se apague). Paraello, se elige nombre en https://www.noip.com/ y se registra la dirección IP pública.

Para que siga asociando el nombre a la dirección IP, es necesario con�gurar uncliente, ya que, si la dirección cambia, habría que hacérsela llegar a NO-IP. Esto secon�gura en el apartado del router, ya que algunos permiten usar este servicio. Enla siguiente imagen podemos ver como hacerlo, habiéndose ocultado algún dato porcon�dencialidad:

Figura 5.4: Con�guración cliente NO-IP.

62

Page 77: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

De esta forma, ya se puede acceder desde Internet a través del nombre. Se intentael acceso a la administración de pfSense vía web, pero aparece el siguiente error:

Figura 5.5: Error DNS Rebind.

Este error se produce ya que no esta permitido conectar de esta manera paraevitar ataques DNS Rebinding, en el que podría enlazar con el servidor malicioso ypodría llegar a saltarse el cortafuegos dejando navegar por la red interna, pero esfácil de eliminar con tan solo marcar la opción en System ->Advanced ->AdminAccess llamada DNS Rebind Check y ya deja acceder de la forma habitual.

- UP2 se reinicia y pierde conectividad:

En algunas ocasiones, al guardar una con�guración, la placa de desarrollo UP2,tarda demasiado en procesar la petición, se reinicia y pierde la conectividad web ypor ssh. La solución es reinstalar el sistema operativo y realizar copia de seguridadpara cargarla una vez haya �nalizado dicha instalación para agilizar la con�guración.

- En RPI 3 se muestra el mensaje de error rfkill RTL8192CU not possible to

63

Page 78: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

change tx-power iwcon�g wlan0 txpower 30mW wpa supplicant":

Tras intentar cualquier tipo de solución propuesta en foros, se decide reinstalarde nuevo el sistema operativo Raspbian, actualizar y vovler a con�gurar todo. A raízde este problema, se decide hacer copias de seguridad de los �cheros de con�gura-ción y se crean imágenes del sistema de forma periódica, por si vuelve a ocurrir,recuperar el sistema de la manera más rápida posible.

- Error al instalar Zabbix: 'Error to connect with database zabbix':

Para solucionar este error, fue necesario eliminar la base de datos vigente en esemomento y volver a crearla de nuevo. Tras esta acción, la instalación continuó deforma normal.

- Al con�gurar LAN en pfSense, no se puede acceder a la interfaz web a la quese accedía desde la interfaz WAN:

Este problema es debido a que al realizar la con�guración de la interfaz, la formade acceder por defecto es mediante la interfaz de la LAN. Con pfctl -d, se deshabi-litan las funciones de cortafuegos pudiendo acceder de nuevo a la interfaz web comose hacía anteriormente.

64

Page 79: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 6

Plani�cación del proyecto

65

Page 80: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

6.1. Plani�cación temporal

Para llevar a cabo el proyecto, se ha realizado una plani�cación basada en unaseries de hitos, divididas en varias tareas y para cada una se ha llevado el control deltiempo a través de diagrama de Gantt. A continuación, se pueden ver los diferenteshitos y desglosar las tareas de cada uno:

HITO 1 (Marzo - Abril)

- Desarrollo de la idea.- Búsqueda de software y hardware que permitan la implementación.- Compatibilidad entre software y hardware.

HITO 2 (Abril - Mayo)

- Instalación de pfSense en UP2.- Veri�cación de rendimiento en placa (rendimiento y buena temperatura).- Bastionado de raspberry Raspbian e instalación de cámara de seguridad a través

de Motion.- Con�guración de pfSense.

HITO 3 (Mayo - Junio)

- Instalación de paquetes adicionales y con�guración de pfSense.- Comienzo de la memoria del TFG: Preparación de la plantilla en LaTeX, In-

troducción y estudio del Estado del Arte.- Instalación de OwnCloud.

HITO 4 (Junio - Julio)

- Con�guración de proxy, ids, ips, gestión de alertas.- Con�guración reglas de cortafuegos.- Instalación y con�guración Zabbix.- Terminar memoria SecureIoT.

66

Page 81: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Para llevar un control del tiempo que se ha dedicado a cada tarea, se ha realizadoun diagrama de Gantt a través de la herramienta online Tom's planner [103]:

Figura 6.1: Marzo - Abril.

Figura 6.2: Mayo - Julio

67

Page 82: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

6.2. Plani�cación económica

Para llevar a cabo este proyecto, se han utilizado diferentes componentes. Acontinuación, se detallan los mismos, así como sus precios, que se han obtenido através de la web Amazon [104]:

Figura 6.3: Presupuesto en materiales.

Para estimar el coste total, también se ha contando el precio de la hora deun ingeniero y las horas empleadas en los hitos para hallar el precio total de esteproyecto. Cada hora de trabajo supondrá 40 euros. A continuación se puede observarla distribución de horas por cada hito y el precio total:

Figura 6.4: Presupuesto en horas de trabajo.

Por tanto, el coste total de este proyecto, incluyendo recursos humanos y mate-riales, es de 9442,8 euros.

68

Page 83: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 7

Aspectos socioeconómicos

69

Page 84: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

En la actualidad, la producción y el uso de la energía, son la principal causa delas emisiones de gases que contribuyen al efecto invernadero, los responsables delcambio climático. Además, el incremento de la demanda, el consumo de energía ylas di�cultades que existen para satisfacer esta demanda con las fuentes de energíadisponibles, están pre�gurando un escenario de crisis energética global.

Las grandes compañías hacen uso de unos servidores muy potentes, con un con-sumo energético muy elevado, por lo que en este proyecto, se estudia si con unossistemas basados en computador, que ofrecen un rendimiento alto con unos consu-mos bajos, se podría crear una fuerte política de seguridad tanto a bajo coste (yaque tan solo se hace uso de software libre) como con un consumo muy poco elevadoal no ser máquinas de alto rendimiento.

Buscando información, se puede ver el consumo de un servidor de gama profe-sional, como el HP DL360 G7 [96] cuyo consumo medio durante 24 horas es de 177watios [97], mientras que el consumo a pleno rendimiento de una Raspberry Pi 3 esde 1.8 watios [98] y el de la UP2 es entre 5 y 6 watios [99]. Como se puede observar,se produce un diferencia de consumo muy amplia.

Además, de la forma en la que está desplegada la infraestructura, se ahorraránmuchas máquinas, ya que existen varios servicios que se ejecutan simultáneamenteen cada placa.

Con este proyecto, se enseña una forma sencilla de securizar una red. Con elgran crecimiento del IoT, cada persona generará más información, siendo de granimportancia mantener la privacidad para que la información generada que sea rele-vante, no sea utilizada de forma contraproducente por parte de algún tercero. Por loque este proyecto, es una forma de concienciar de que cualquier elemento conectadoa una red, es potencialmente vulnerable y educar a los usuarios para que mejorenla seguridad de sus dispositivos y servicios de los que disponen, para mantener laprivacidad a salvo y cumpliendo los principios básicos de la RGPD (ReglamentoGeneral de Protección de Datos) [100].

70

Page 85: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 8

Conclusión

71

Page 86: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Se considera el objetivo cumplido, ya que se ha realizado un diseño de infraes-tructura segura cuyo despliegue estaría muy automatizado, de forma que cualquierusuario, sin tener grandes conocimientos de informática ni comunicaciones, podríallegar a instalarlo. Además, se ha conseguido reemplazar la funcionalidad de ser-vidores profesionales de alto rendimiento, con placas de desarrollo que abaratandocostes y con consumos más reducidos.

Este proyecto se ha conseguido llevar a cabo, a través de las mejores solucionesactuales de software libre, gracias a un extenso estudio del estado del arte.

Gracias a ello, se han adquirido muchos conocimientos nuevos y ha ayudado aa�anzar el que ya se tenía, tanto de redes como de seguridad perimetral, incluidoprotocolos.

Se ha aprendido mucho del sistema pfSense, el cual, permite una gran integraciónde elementos gracias a los numerosos módulos que trae, permitiendo centralizar lamayoría de elementos de seguridad y redes: router, cortafuegos, IDS/IPS, proxy conantivirus, VPN y gran cantidad de complementos como envío de alertas por mediode syslog, cliente Zabbix, RADIUS, etc...

También se han adquirido grandes conocimientos del sistema operativo FreeBSD(sistema operativo sobre el que está basado pfSense) así como de Debian (Raspbian),donde se ha aprendido como administrar directorios, usuarios y con�guración delsistema en la shell, ya que no se ha utilizado una interfaz grá�ca.

También a mantener una buena política de seguridad y la importancia de conocerbuenas prácticas como replicar servicios, realizar backups o cambiar la contraseñaperiódicamente para asegurar la disponibilidad, integridad y con�dencialidad, tra-tando de concienciar de la importancia de mantener nuestra privacidad a salvo,mediante la protección de los elementos que generan cantidad de datos personales.

72

Page 87: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Capítulo 9

Líneas futuras

73

Page 88: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Esta infraestructura, se considera segura. No obstante, sería recomendable reali-zar algunas mejoras en un futuro.

9.1. Implementación en entorno de producción

Una de las líneas futuras más claras, es la integración de todos los elementos quese han con�gurado, de forma que se pueda aplicar en un entorno real de producción.Este punto sería el ideal ya que permitiría ver si este desarrollo, sería válido para unentorno empresarial o debería ser usado por una pequeña empresa o simplementepor un entorno doméstico, ya que dependiendo de cuanto y que tipo de trá�co, estoselementos podrán soportar tanta carga o no.

9.2. Alta disponibilidad

Continuando con el punto anterior, en caso de que estos elementos no soportendicha carga de trabajo, sería necesario replicar los servicios para que compartan lacarga o para que haya un respaldo en caso de que algún servicio crítico deje de estardisponible.

Los elementos a replicar serían los cortafuegos, por su criticidad, y los servidoresSquid proxy debido a que tienen que atender muchas peticiones por segundo.

9.3. Backups

Otro punto importante sería la automatización de las copias de seguridad. Unabuena medida, sería realizar imágenes, al menos, mensuales del estado de los servi-dores y de los �cheros de con�guración más importantes.

9.4. Reglas en Squid y Suricata

Una vez todos los elementos estén bien integrados, sería una buena medida aban-donar las �rmas de Suricata realizadas por la comunidad y crear unas propias deacuerdo a las necesidades de la organización. Lo mismo para el proxy Squid, elegira que dominios, categorías y contenidos se puede acceder desde la red interna.

9.5. Integración de Telegram con Zabbix

Como está recogido en la documentación de la web de Zabbix [105], es posible laintegración de Telegram [106] con Zabbix, de forma que las alertas, llegarían a estaapp de forma más cómoda que por correo electrónico.

74

Page 89: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

9.6. Actualizaciones al día

Estar al tanto de todas las vulnerabilidades y nuevas tecnologías, de forma quesi sale alguna nueva solución que sea mejor que la que se está usando actualmentese sustituya por la nueva.

9.7. Servicios en Dockers

Actualmente los microservicios están en auge. Sería interesante añadirlos al pro-yecto, ya que los contenedores son muy ligeros y muy sencillos de desplegar y destruir.Además son sistemas muy escalables, lo que permitiría desplegar más instancias deservicios en momentos de alta demanada para balanceo y alta disponibilidad, pu-diento destruirlas cómodamente después del pico puntual de carga.

75

Page 90: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

76

Page 91: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

Bibliografía

[1] Roberto Adeva (2019). Todo lo que debes saber sobre el5G, qué es, ventajas y despliegue en España - ADSLZonehttps://www.adslzone.net/reportajes/telefonia/5g/

[2] José Solano (2019). El modelo OSI - Universidad de Murciahttp://dis.um.es/�lopezquesada/documentos/IES_1213/LMSGI/curso/xhtml/xhtml22/index.html

[3] Wikipedia (2019). La pila OSI https://es.wikipedia.org/wiki/Archivo:Pila-osi-es.svg

[4] Martí Juncosa (2019). Qué es el protocolo TCP/IP - Aprendederedeshttps://aprendederedes.com/redes/introduccion/modelo-tcp-ip/

[5] Michael Lamont (2019). Introduction to TCP/IP - Slidesharehttps://www.slideshare.net/MichaelLamont1/introduction-to-tcpip-55003483

[6] Route XP (2019). OSI model vs TCP/IP modelhttp://www.routexp.com/2017/04/osi-model-vs-tcpip-model.html

[7] Adrián Crespo (2017). DMZ: qué es, para qué sirve y cómo utilizarlo - Redeszo-ne https://www.redeszone.net/2017/01/17/dmz-routers-descubre-mejor-forma-utilizacion/

[8] Universidad de Granada (2019). Limitaciones de un cortafuegoshttps://pccito.ugr.es/cortafuegos/introduccion.html

[9] Check Point (2019). Página o�cial https://www.checkpoint.com/es/

[10] Serverfault (2015). When is route lookup performed when a packet �ows th-rough iptables https://serverfault.com/questions/680825/when-is-route-lookup-performed-when-a-packet-�ows-through-iptables

[11] Rasool Irfan Blog (2019). Checkpoint Packet Inspection�Flowhttps://rasoolirfan.com/2010/01/19/checkpoint-packet-inspection-�ow/

[12] Check Point Security Expert Página 13 Sección Accesos

[13] Mi nube informática (2016). Seguridad Activa � Control de Redeshttp://minubeinformatica.com/cursos/seguridad-informatica/seguridad-activa-control-de-redes

77

Page 92: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

[14] ADSLZone (2007). Ventajas e inconvenientes proxyhttps://www.adslzone.net/foro/redes-y-wi�.27/es-proxy-ventajas-inconvenientes.105241/

[15] Adrián Crespo (2016). VLANs: Qué son, tipos y para qué sirvenhttps://www.redeszone.net/2016/11/29/vlans-que-son-tipos-y-para-que-sirven/

[16] Smalldone, Javier (2006). Cómo funciona el DNShttps://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/

[17] Wikipedia (2019). Sistema de nombres de dominiohttps://upload.wikimedia.org/wikipedia/commons/thumb/7/79/DNS_en_el_mundo_real.svg/1032px-DNS_en_el_mundo_real.svg.png

[18] Wikipedia (2019). Sistema de nombres de dominio

[19] DonDominio (2019). DNSSEC: Qué es y cómo funcionahttps://www.dondominio.com/help/es/266/dnssec-que-es-y-como-funciona/

[20] Wikipedia (2019). L2TP https://es.wikipedia.org/wiki/L2TP

[21] Paul Andrade (2019). Tecnología de Redes X-25, Frame Relay y ATM -Monografías https://www.monogra�as.com/trabajos93/redes-x25-atm-y-frame-relay/redes-x25-atm-y-frame-relay.shtml

[22] Le-VPN (2019). AES-256: ENCRIPTACIÓN DE NIVEL DE MÁXIMO SE-CRETO https://www.le-vpn.com/es/encriptacion-aes-256/

[23] Wikipedia (2019). PTTP https://es.wikipedia.org/wiki/PPTP

[24] Cisco (2019). Túnel GRE https://community.cisco.com/t5/documentos-routing-y-switching/t%C3%BAnel-gre/ta-p/3181793

[25] DATSI UPM (2019). IPSEC http://laurel.datsi.�.upm.es/proyectos/teldatsi/teldatsi/protocolos_de_comunicaciones/protocolo_ipsec

[26] Symantec (2019). ¾Qué es un certi�cado SSL?https://www.websecurity.symantec.com/es/es/security-topics/what-is-ssl-tls-https

[27] Wikipedia (2019). Pre-shared key https://es.wikipedia.org/wiki/Pre-shared_key

[28] Universidad Politécnica de Madrid (2019). Eluso de RSA en la seguridad de la informaciónhttp://www.dma.�.upm.es/recursos/aplicaciones/matematica_discreta/web/aritmetica_modular/rsa2.html

[29] Amazon (2019). Certi�cados X.509 https://docs.aws.amazon.com/es_es/iot/latest/developerguide/x509-certs.html

[30] Xauth (2019). Página o�cial https://www.x.org/archive/X11R6.8.1/doc/xauth.1.html

78

Page 93: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

[31] Kaspersky Dialy (2014). ¾Qué Es Un Hash Y Cómo Funciona?https://latam.kaspersky.com/blog/que-es-un-hash-y-como-funciona/2806/

[32] TechTarget (2010). Hash-based Message Authentication Code (HMAC)https://searchsecurity.techtarget.com/de�nition/Hash-based-Message-Authentication-Code-HMAC

[33] Javier Campos (2011). EL ALGORITMO DE DIFFIE-HELLMANhttps://javiercampos.es/blog/2011/07/22/el-algoritmo-de-di�e-hellman/

[34] Kaspersky Dialy (2013). ¾QUÉ ES UN ATAQUE MAN-IN-THE-MIDDLE?https://latam.kaspersky.com/blog/que-es-un-ataque-man-in-the-middle/469/

[35] Via�rma (2019). ¾Qué es una Autoridad de Certi�cación?https://www.via�rma.com/faq/es/que-es-una-autoridad-de-certi�cacion/

[36] Wikipedia (2019). TUN/TAP https://en.wikipedia.org/wiki/TUN/TAP

[37] Wikipedia (2019). Comparación entre OpenVPN e IPsec VPNhttps://es.wikipedia.org/wiki/OpenVPN

[38] Carlos Cabello (2015). Que es el QoS y porque es importante para tu redlocal https://www.nobbot.com/tecnologia/mi-conexion/que-es-el-qos-y-por-que-es-importante-para-tu-red-local/

[39] Oracle (2019). Página o�cial https://www.oracle.com/es/index.html

[40] MySQL (2019). Página o�cial https://www.mysql.com/

[41] PostgreSQL (2019). Página o�cial https://www.postgresql.org/

[42] F5 (2019). Diameter Protocol https://f5.com/es/education/glossary/diameter-protocol

[43] Helpsystems (2018). ¾Qué es un SIEM? https://www.helpsystems.com/es/blog/que-es-un-siem

[44] Daniel Calzada (2017). Apuntes Seguridad en Redes y Sistemas

[45] Daniel Lázaro (2018). Concepto y funcionamiento de CGIhttps://diego.com.es/concepto-y-funcionamiento-de-cgi

[46] Cinco días (2017). Telefónica sufre un 'hackeo' masivo yel CNI hace saltar las alarmas: cómo y a quién afectahttps://cincodias.elpais.com/cincodias/2017/05/12/companias/1494585502_908236.html

[47] Telefónica (2019). Página o�cial https://www.telefonica.com/es/home

[48] Malwarebytes (2019). Todo acerca del ransomwarehttps://es.malwarebytes.com/ransomware/

79

Page 94: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

[49] Alegsa (2019). De�nición de hardware redundantehttp://www.alegsa.com.ar/Dic/hardware_redundante.php

[50] Wikipedia (2019). Balanceador de carga https://es.wikipedia.org/wiki/Balanceador_de_carga#/media/File:Balanceador.png

[51] (2019). Round Robien redundante http://www.alegsa.com.ar/Dic/hardware_redundante.php

[52] Citrix (2019). Least connection method https://docs.citrix.com/en-us/netscaler/12/load-balancing/load-balancing-customizing-algorithms/leastconnection-method.html

[53] VMWare (2017). Understanding IP Hash load balancinghttps://kb.vmware.com/s/article/2006129

[54] Indira Ordoñez Reyes (2019). Alta disponibilidad en Researchgatehttps://www.researchgate.net/pro�le/Indira_Ordonez_Reyes/publication/312087445/�gure/�g2/AS:447269397897217@1483648742888/Figura-3-Con�guracion-de-Alta-disponibilidad-Activo-Pasivo.png

[55] Net�lter (2019). What is net�lter.org? https://www.net�lter.org/

[56] Linuxito (2016). Tutorial básico de IPTableshttps://www.linuxito.com/seguridad/793-tutorial-basico-de-iptables-en-linux

[57] @joseluisalcoba (Twitter) (2011). NAT (Network Address Translation): Quées y cómo funciona https://www.xatakamovil.com/conectividad/nat-network-address-translation-que-es-y-como-funciona

[58] Página o�cial FreeBSD (2019). https://www.freebsd.org/es/

[59] Firewall Hardware (2019). Pricipales caracteristicas pfSensehttp://www.�rewallhardware.es/pfsense.html

[60] Página o�cial Debian (2019). https://www.debian.org/index.es.html

[61] Untangle (2019). Página de NG Firewall https://www.untangle.com/untangle-ng-�rewall/

[62] Nubia Marquez (2019). ¾Qué es la Orquestación?. La próxima tenden-cia de la IoT http://www.tuataratech.com/2016/03/que-es-la-orquestacion-la-proxima.html

[63] Joaquín Molina (2016). Threat Intelligence: el porqué de las cosashttps://www.welivesecurity.com/la-es/2016/12/01/threat-intelligence/

[64] Ramirez, Juanlu (2017). Servidor proxy/cache squidhttps://www.juanluramirez.com/servidor-proxy-cache-squid/

[65] El sistema operativo GNU (2019). Licenciashttps://www.gnu.org/licenses/licenses.es.html

80

Page 95: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

[66] Página o�cial Privoxy (2019). Privoxy - Home Page https://www.privoxy.org/

[67] Página o�cial Webmin (2019). What is Webmin http://www.webmin.com/

[68] Página o�cial Suricata (2019). https://suricata-ids.org/

[69] Artículo elhacker.net (2017). IDS/IPS Suricatahttps://blog.elhacker.net/2017/04/ids-ips-suricata-reglas-rules.html

[70] IDS / IPS Suricata. Entendiendo y con�gurando Suricata. (2011). IDS/IPSSuricata https://seguridadyredes.wordpress.com/2011/02/22/ids-ips-suricata-entendiendo-y-con�gurando-suricata-parte-i/

[71] Página o�cial Snort (2019). https://suricata-ids.org/

[72] El Hacker (2017). Descripción y características de Suricatahttps://blog.elhacker.net/2017/04/ids-ips-suricata-reglas-rules.html

[73] Aaeon (2019). Overview https://www.aaeon.com/en/p/iot-gateway-maker-boards-up-squared

[74] The MagPi Magazine (2016). RASPBERRY PI 3: SPECS, BENCH-MARKS AND TESTING https://www.raspberrypi.org/magpi/raspberry-pi-3-specs-benchmarks/

[75] Página o�cial Motion (2019). https://motion-project.github.io/

[76] Página o�cial Owncloud (2019). https://owncloud.org/

[77] Página o�cial Zabbix (2019). https://www.zabbix.com/

[78] Towebs (2016). ¾Qué es ClamAV y cómo funciona?https://blog.towebs.com/que-es-clamav-y-como-funciona/

[79] PfSense (2019). Limitations https://wiki.up-community.org/PfSense

[80] PfSense (2019). Página o�cial https://www.pfsense.org/download/

[81] Rufus (2019). Página o�cial https://rufus.ie/

[82] Diana C. (2019). ¾Cómo funciona el SSH?https://www.hostinger.es/tutoriales/que-es-ssh

[83] Raspberry (2019). Página o�cial https://www.raspberrypi.org/downloads/raspbian/

[84] Chris Cunningham (2019). Creating my own cloud server with Raspberry Pi 3http://www.chris-cunningham.co.uk/uni/2019/cloud-server-raspberry-pi-3

[85] Avoid Errors (2019). How to Enable SSL on Raspberry PI Owncloudhttps://www.avoiderrors.com/enable-ssl-raspberry-pi-owncloud/

81

Page 96: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

[86] David Naranjo (2018). Convierte tu Raspberry Pi en un punto de accesoinalámbrico https://blog.desdelinux.net/convierte-tu-raspberry-pi-en-un-punto-de-acceso-inalambrico/

[87] Raspberry Valley (2019). Raspberry Pi as a Wi� Hotspot https://raspberry-valley.azurewebsites.net/RaspAP-Wi�-Hotspot/

[88] Somodevilla - Comunidad Tuenti (2019). Mejor Cifrado De SeguridadPara Una Red Wi-Fi https://comunidad.tuenti.es/�bra-30/mejor-cifrado-de-seguridad-para-una-red-wi-�-8003

[89] Quasar Software (2019). ¾QUÉ ES ZABBIX?https://www.quasarbi.com/ZABBIX.html

[90] Shahriar Shovon (2019). How to Install Zabbix on Raspberry Pi 3https://linuxhint.com/install_zabbix_raspberry_pi/

[91] UP Board (2019). UP Board Página Inicial https://up-board.org/upsquared/speci�cations/

[92] Snort (2019). Oinkcodes https://www.snort.org/oinkcodes

[93] Google Play (2019). Descarga de Owncloudhttps://play.google.com/store/apps/details?id=com.owncloud.android&hl=es

[94] Android (2019). Página o�cial https://www.android.com/intl/es_es/

[95] Lucidchart (2019). Página o�cial https://www.lucidchart.com/

[96] HP (2019).Overview https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c03393193

[97] En mi máquina funciona (2015). ¾Cómo puedo determinar la deman-da de potencia de un servidor hp de la fuente de alimentación ba-jo carga? https://www.enmimaquinafunciona.com/pregunta/3919/como-puedo-determinar-la-demanda-de-potencia-de-un-servidor-hp-de-la-fuente-de-alimentacion-bajo-carga

[98] Rubén Velasco (2017). Consumo del Raspberry Pi 2 y Pi 3https://www.redeszone.net/2017/03/02/energia-consumida-raspberry-pi/

[99] nukular (2018). Can the UP Squared board be powered with a battery?https://forum.up-community.org/discussion/2971/can-the-up-squared-board-be-powered-with-a-battery

[100] Gobierno de España (2019). Reglamento General de Protección de Datoshttps://rgpd.es/

82

Page 97: Seguridad en Internet De Las Cosas - Archivo Digital UPMoa.upm.es/56154/1/TFG_DAVID_MENA_CABANILLAS.pdf · 2019-08-09 · Agradecimientos Con este proyecto, concluye una etapa muy

[101] Orange (2019). ¾Qué es una ONT y qué modelos se utilizan en la Fibrade Orange? https://ayuda.orange.es/particulares/adsl-y-�bra/con�guracion-e-instalacion/2280-que-es-una-ont-y-que-modelos-se-utilizan-en-la-�bra-de-orange

[102] Znet (2019). Fortinet Fortigate 60D, características https://www.z-net.com.ar/blog-post/fortinet-fortigate-60d-caracteristicas/

[103] Tom's planner (2019). Página o�cial https://plan.tomsplanner.com/

[104] Amazon (2019). Página o�cial https://www.amazon.es/

[105] Zabbix (2019).Available solutions https://www.zabbix.com/integrations/telegram

[106] Telegram (2019). Página o�cial https://telegram.org/

83