Volver al blog
Seguridad·10 min

Seguridad en MQTT: TLS, autenticación y buenas prácticas

Aprende cómo asegurar tu infraestructura MQTT con TLS, autenticación por credenciales y buenas prácticas de seguridad para IoT.

KR

Maykol Rey

Seguridad en MQTT: TLS, autenticación y buenas prácticas

Seguridad en MQTT: TLS, autenticación y buenas prácticas

La seguridad en IoT no es opcional, es parte del diseño. Cuando conectas dispositivos que reportan datos de procesos industriales, sensores críticos o información sensible, necesitas asegurar cada capa de comunicación.

Las 3 capas de seguridad en MQTT

1. Cifrado en tránsito (TLS)

MQTT plano usa TCP en el puerto 1883. Para cifrar la comunicación necesitas TLS (puerto 8883):

#define MQTT_BROKER "mqtts://mqtt.kuska.io:8883"

Con TLS habilitado:

  • Los mensajes viajan cifrados extremo a extremo
  • Se previene la suplantación del broker (certificate pinning)
  • Las credenciales nunca viajan en texto plano

2. Autenticación

Cada dispositivo debe tener credenciales únicas. Nunca compartas una misma contraseña entre múltiples dispositivos:

device-001 → user: sensor_linea1  pass: abc123...xyz
device-002 → user: sensor_linea2  pass: def456...uvw
Kuska IoT genera credenciales únicas por dispositivo automáticamente. No necesitas gestionar usuarios MQTT manualmente.

3. Autorización (ACL)

No todos los dispositivos deben poder publicar o suscribirse a todos los topics. Usa ACLs para restringir:

user sensor_linea1 → publish: proyecto/sensor/+/temperatura
user sensor_linea1 → subscribe: proyecto/sensor/+/comando

Buenas prácticas adicionales

  1. Rotación de credenciales: cambia las contraseñas MQTT periódicamente
  2. Monitoreo de tráfico: detecta patrones anómalos de publicación
  3. Rate limiting: limita cuántos mensajes por segundo puede publicar cada dispositivo
  4. Logs de acceso: mantén un registro de conexiones y desconexiones
  5. Firmware actualizado: mantén el ESP-IDF y librerías al día
Nunca uses MQTT sin TLS en redes no confiables. Un atacante en la misma red puede interceptar todos los mensajes con solo un sniffer de paquetes.

Conclusión

La seguridad en MQTT se construye en capas: cifrado, autenticación y autorización. Implementar estas tres capas desde el día uno evita dolores de cabeza cuando escalas tu sistema IoT a decenas o cientos de dispositivos. Hazlo bien desde el principio.