¬°Hub de contenido!
Acceso a contenido educativo gratis.

Protección de mensajes MQTT

El uso de un intermediario de mensajes en las comunicaciones MQTT resuelve algunos problemas de seguridad de las redes industriales, pero no todos. El coinventor de la tecnología ofrece consejos sobre cómo proteger sus comunicaciones MQTT.

Arlen Nipper, presidente y director de tecnología de Cirrus Link.
Arlen Nipper, presidente y director de tecnología de Cirrus Link.

Un aspecto clave de la arquitectura de MQTT (transporte de telemetría de fila de mensajes) implica el uso de un servidor intermediario para recopilar datos, a medida que cambian, de los dispositivos a los que está conectado. Luego publica esos puntos de datos en otros sistemas o aplicaciones que se suscriben a esas fuentes de datos específicas recopiladas por el servidor. Debido a que los sistemas o aplicaciones suscriptores no se conectan directamente al dispositivo que están monitoreando, la estructura de mensajería MQTT proporciona inherentemente algunos niveles de seguridad.

Sin embargo, como cualquier medida de seguridad, esta disociación de los dispositivos y los sistemas que se suscriben a ellos no aborda todos los posibles ángulos de ciberseguridad. Más allá de la desconexión directa que ofrece el servidor, las infraestructuras MQTT admiten varias opciones que utilizan métodos de seguridad de Internet ampliamente adoptados, como los utilizados en la banca en línea y recomendados por el NIST (Instituto Nacional de Estándares y Tecnología).

Infraestructura MQTT

Para comprender las diversas medidas de seguridad de MQTT, es √ļtil comprender primero los componentes b√°sicos de la infraestructura IIoT (Internet industrial de las cosas) de MQTT:

¬∑     Clientes de borde MQTT: estos son dispositivos distribuidos de forma remota y / o puertas de enlace en la planta o en el campo conectados a su proceso para recopilar datos.

¬∑      Clientes empresariales MQTT: puede ser cualquier aplicaci√≥n centralizada o remota que necesite suscribirse a un servidor MQTT para recibir o enviar informaci√≥n en la infraestructura IIoT.

¬∑      Servidor (s) MQTT: estos son servidores centralizados con los que se conectan las aplicaciones de cliente empresarial y de borde para enviar y recibir datos.

Arlen Nipper, presidente y director de tecnolog√≠a de Cirrus Link y cocreador de MQTT, explica que tanto los clientes empresariales como los de borde de MQTT utilizan los mismos modelos de seguridad. ‚ÄúCada uno inicia una conexi√≥n saliente a trav√©s de la red TCP / IP utilizando la seguridad de la capa de transporte (TLS) con credenciales de certificado de seguridad de una autoridad certificadora (CA)‚ÄĚ, dijo.


 Lea este art√≠culo sobre ciberseguridad y las √°reas de ataque comunes en sistemas de control  industrial


TLS utiliza un conjunto de certificados de seguridad p√ļblicos / privados donde los clientes MQTT deben establecer una conexi√≥n con el servidor MQTT que est√° autenticado por la CA. Este es el mismo nivel de seguridad que se usa en los sistemas bancarios hoy en d√≠a y el NIST lo considera la mejor pr√°ctica.

La arquitectura de red de las topologías MQTT requiere que los clientes de borde MQTT tengan todos los puertos TCP entrantes a través de la red deshabilitados, explicó Nipper. "Esto proporciona un alto nivel de seguridad al evitar que los posibles atacantes en Internet / intranet simplemente establezcan una conexión con los dispositivos periféricos".

Esta ilustraci√≥n muestra la conectividad del cliente empresarial MQTT.Esta ilustraci√≥n muestra la conectividad del cliente empresarial MQTT.Fuente: Cirrus Link.Si bien esta configuraci√≥n proporciona una seguridad s√≥lida, Nipper se√Īala que puede crear desaf√≠os para acceder al cliente de borde para la configuraci√≥n y la depuraci√≥n remotas. "Estos desaf√≠os se pueden superar utilizando una conexi√≥n VPN inversa", dijo.

  Seguridad del servidor

La configuraci√≥n de TLS utilizada con el dispositivo de borde tambi√©n se utiliza con los servidores MQTT. ‚ÄúLos servidores MQTT utilizan m√°s medidas de seguridad en forma de nombre de usuario, contrase√Īa y una lista de control de acceso (ACL) de nivel MQTT‚ÄĚ, dijo Nipper. ‚ÄúLa ACL limita qu√© dispositivos podr√°n conectarse al servidor MQTT. La ACL tambi√©n controla qu√© temas puede publicar y suscribirse un determinado par de nombre de usuario / contrase√Īa, lo que brinda mayor seguridad".

Nipper agregó que los servidores MQTT deben configurarse en una DMZ y detrás de un firewall que solo permite dos puertos entrantes para la conexión: 8883 y 443.

Dado que los servidores MQTT proporcionan el mecanismo de entrega de mensajes en el bus de servicios empresariales, Nipper se√Īal√≥ que los servidores MQTT "deben cumplir con 3.1.1 OASIS". Cirrus Link suministra un distribuidor MQTT y un servidor Chariot MQTT para este prop√≥sito. La compa√Ī√≠a tambi√©n suministra el servidor Chariot MQTT para m√ļltiples redundancias de servidores MQTT y un mayor n√ļmero de clientes conectados para aplicaciones locales o conectadas a la nube.

Esta ilustración muestra la conectividad del cliente de borde MQTT.Esta ilustración muestra la conectividad del cliente de borde MQTT.Fuente: Cirrus Link.Resumen de protección

Para reiterar las recomendaciones de seguridad hechas anteriormente, Nipper sugiere aplicar las siguientes medidas de seguridad en los niveles de transporte y aplicación:

¬∑      Red f√≠sica/VPN para m√°xima seguridad.

¬∑      TLS con credenciales de certificado de CA para todas las conexiones.

¬∑      Todos los puertos entrantes deben desactivarse en los clientes de borde MQTT.

¬∑      Solo dos puertos TCP / IP (8883 y 443) deben estar abiertos en el servidor MQTT.

¬∑      Utilice el nombre de usuario / contrase√Īa del cliente MQTT en los servidores MQTT, y

¬∑      Las ACL deben usarse para limitar el acceso de los clientes de MQTT a los niveles de tema a los que pueden publicar o suscribirse.

Capas de seguridad

Nipper se√Īal√≥ que la seguridad de la red se puede dividir en tres capas, cada una de las cuales proporciona un nivel diferente de seguridad contra ciberataques:

¬∑      La capa f√≠sica proporciona el nivel m√°s alto de seguridad cuando la red est√° aislada de cualquier conexi√≥n externa o est√° completamente encapsulada en una red privada virtual (VPN).

¬∑      La capa de transporte utiliza seguridad de la capa de transporte (TLS) con credenciales de certificado de seguridad de una autoridad de certificaci√≥n (CA) para proteger las infraestructuras que utilizan redes p√ļblicas, donde la configuraci√≥n de VPN discretas para cada dispositivo final no es pr√°ctica ni rentable. Los cortafuegos tambi√©n se pueden usar en la capa de transporte para cerrar todos los puertos TCP / IP en los dispositivos remotos, y solo se deben permitir los puertos m√≠nimos necesarios para la operaci√≥n en la ubicaci√≥n central.

¬∑      La tercera capa es la seguridad de la aplicaci√≥n donde, dentro de los servidores Cirrus Link MQTT, se aplica la autenticaci√≥n de nombre de usuario / contrase√Īa con listas de control de acceso (ACL).

‚ÄúLa combinaci√≥n de estas capas asegura una red IIoT segura y robusta‚ÄĚ, dijo Nipper.