0% encontró este documento útil (0 votos)
5 vistas10 páginas

Caso Práctico: Seguridad e Internet de Las Cosas

El documento detalla la instalación de un sistema de hogar conectado utilizando MQTT, incluyendo la configuración de dispositivos como termostatos, sensores y luces en diferentes áreas de la casa. Se describe la instalación de un broker MQTT en Linux Ubuntu, la creación de usuarios y la implementación de control de acceso y seguridad mediante SSL/TLS. Además, se proporciona un esquema jerárquico de los dispositivos y su organización en el sistema.

Cargado por

Himel Giron
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas10 páginas

Caso Práctico: Seguridad e Internet de Las Cosas

El documento detalla la instalación de un sistema de hogar conectado utilizando MQTT, incluyendo la configuración de dispositivos como termostatos, sensores y luces en diferentes áreas de la casa. Se describe la instalación de un broker MQTT en Linux Ubuntu, la creación de usuarios y la implementación de control de acceso y seguridad mediante SSL/TLS. Además, se proporciona un esquema jerárquico de los dispositivos y su organización en el sistema.

Cargado por

Himel Giron
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Caso Práctico: IOT.

Caso Práctico: Seguridad e internet de las cosas

Alumno:

Himel Jonathan Girón García

3/er. Cuatrimestre

Diciembre-Marzo 12//03/2026

1
Caso Práctico: IOT.

Planteamiento:

• Se quiere realizar la instalación de distintos clientes MQTT para


construir un hogar conectado.

• Se tendrán los siguientes dispositivos:

• Salón: Un termostato (da la temperatura y permite activarla), un


sensor de movimiento y las luces.

• Cocina: Sensor de apertura de ventana y las luces.

• Habitación: Botón inalámbrico, persianas y luces.

• En la entrada principal de la casa se encuentra un pequeño panel (panel


principal) que permite ver los valores que reportan los clientes
conectados

2
Caso Práctico: IOT.

Se pide:

• El planteamiento del árbol jerárquico (gráficamente) del sistema del

hogar conectado. El árbol jerárquico de los temas MQTT podría verse de


la siguiente manera, donde el panel principal será el nodo raíz, y los
dispositivos estarán organizados según su ubicación (salón, cocina,
habitación, etc.):

Casa.

 Panel Principal (En la entrada principal).

• Suscripción a todos los dispositivos.

• Visualización de los valores reportados.

 Salón.

• Termostato (temperatura y activación).

• Sensor de movimiento.

• Luces.

3
Caso Práctico: IOT.

 Cocina.
• Sensor de apertura de ventana.
• Luces.
 Habitación.
• Botón inalámbrico.
• Persianas.
• Luces.

En este árbol, panel principal es el único suscriptor a todos los temas. El


panel principal podrá actuar como controlador central, gestionando las
automatizaciones y actuando como distribuidor de los estados y
comandos de los dispositivos.

Ejercicio 1: La instalación de un broker MQTT al que se conectarán todos


los dispositivos.

4
Caso Práctico: IOT.

Se instaló un broker MQTT en un sistema Linux Ubuntu, se puede utilizar


Mosquitto, que es un broker MQTT popular y de código abierto. Comandos
para instalar Mosquitto: sudo apt update, sudo apt install mosquitto
mosquitto-clients. Una vez instale Mosquitto, se puede iniciar el servicio
con: sudo systemctl enable mosquitto, sudo systemctl start mosquitto.

Este broker MQTT estuvo a la espera de las conexiones de los clientes


MQTT, como los dispositivos y el panel principal.

5
Caso Práctico: IOT.

Ejercicio2: Creación de los usuarios necesarios para tener un control sobre


los accesos al broker. Crear un archivo de contraseñas, utilizamos el
comando mosquitto_passwd para crear un archivo de contraseñas con los
usuarios deseados.

 sudo mosquitto_passwd -c /etc/mosquitto/pwfile usuario_panel.


 sudo mosquitto_passwd /etc/mosquitto/pwfile usuario_salon.
 sudo mosquitto_passwd /etc/mosquitto/pwfile usuario_cocina.
 sudo mosquitto_passwd /etc/mosquitto/pwfile usuario_habitacion.

Para configurar permisos, asegure que el archivo de configuración de


Mosquitto (/etc/mosquitto/[Link]) tenga las siguientes líneas
para habilitar el control de acceso y autenticar a los usuarios:
allow_anonymous false, password_file /etc/mosquitto/pwfile.

El procedimiento controla el acceso con ACL, para asegurar que solo el


panel principal pueda suscribirse a todos los temas y que los dispositivos
solo puedan suscribirse al panel principal, se puede usar un archivo de
ACL (Access Control List). Cree un archivo de ACL, como
/etc/mosquitto/aclfile, y defina las reglas:

 user usuario_panel
 topic readwrite home/#
 user usuario_salon
 topic read home/salon/#
 user usuario_cocina
 topic read home/cocina/#
 user usuario_habitacion
 topic read home/habitacion/#

6
Caso Práctico: IOT.

7
Caso Práctico: IOT.

Ejercicio 3: Securizar el broker permitiendo que el dispositivo panel


principal sea el único que pueda suscribirse a todos los dispositivos y los
dispositivos sólo se pueden suscribir al panel principal. De esta manera
será el panel principal el que haga de repartidor y el que tendría una lógica
para aplicar automatizaciones.

Para proteger las comunicaciones, es fundamental habilitar SSL/TLS en el


broker MQTT. Esto requirió generar el de certificados SSL y la
configuración en Mosquitto. Se generó una clave privada y un certificado
para el broker MQTT:

openssl genpkey -algorithm RSA -out /etc/mosquitto/certs/[Link]

openssl req -new -key /etc/mosquitto/certs/[Link] -out


/etc/mosquitto/certs/[Link]

openssl x509 -req -in /etc/mosquitto/certs/[Link] -signkey


/etc/mosquitto/certs/mosquitto.-out /etc/mosquitto/certs/[Link]

Se configuró Mosquitto para usar SSL/TLS: En el archivo de configuración


[Link], agregue las siguientes líneas para habilitar SSL/TLS:
listener 8883.

cafile /etc/mosquitto/certs/[Link]

certfile/etc/mosquitto/certs/[Link]

keyfile /etc/mosquitto/certs/[Link]

Esto configura Mosquitto para que solo acepte conexiones seguras en el


puerto 8883 (por defecto, MQTT usa el puerto 1883, pero en este caso
usaremos 8883 para conexiones seguras). Reiniciamos mosquitto para
aplicar los cambios con: sudo systemctl restart mosquitto

8
Caso Práctico: IOT.

9
Caso Práctico: IOT.

Ejercicio 4: Aplicar Capa de Transporte Seguro SSL/TLS.

Para proteger las comunicaciones, es vital usar TLS/SSL, cambiando el


puerto de 1883 a 8883. Esto requiere generar certificados: sudo nano
/etc/mosquitto/[Link]

Añadir las siguientes directivas al fichero [Link]:

10

También podría gustarte