Procedimientos recomendados de seguridad para soluciones de IoT
Este resumen presenta los conceptos clave en torno a la seguridad de una solución Azure IoT típica. Cada sección incluye vínculos a contenido que proporciona más detalles e instrucciones.
En el diagrama siguiente se muestra una vista de alto nivel de los componentes en una solución de IoT típica basada en el perímetro. Este artículo se centra en la seguridad de una solución de IoT basada en el borde:
Puede dividir la seguridad en una solución de IoT basada en el borde en las tres áreas siguientes:
Seguridad de recursos: proteja el elemento físico o virtual de valor del que desea administrar, supervisar y recopilar datos.
Seguridad de conexión: asegúrese de que todos los datos en tránsito entre el recurso, el borde y los servicios en la nube son confidenciales y a prueba de alteraciones.
Seguridad de borde: proteja los datos mientras circulan y se almacenan en el borde.
Seguridad en la nube: proteja los datos mientras se trasladan a la nube y se almacenan allí.
Normalmente, en una solución basada en el borde, quiere proteger las operaciones de un extremo a otro mediante las funcionalidades de seguridad de Azure. Operaciones de IoT de Azure tiene funcionalidades de seguridad integradas, como administración de secretos, administración de certificados y configuración segura en un clúster de Kubernetes habilitado para Azure Arc. Cuando un clúster de Kubernetes está conectado a Azure, se inicia una conexión saliente a Azure, mediante SSL estándar del sector para proteger los datos en tránsito y se habilitan otras características de seguridad, como:
- Visualización y supervisión de clústeres mediante Azure Monitor para contenedores.
- Aplique la protección contra amenazas mediante Microsoft Defender para contenedores.
- Garantice la gobernanza mediante la aplicación de directivas con Azure Policy para Kubernetes.
- Conceda acceso y conéctese a los clústeres de Kubernetes desde cualquier lugar y administre el acceso mediante el Control de acceso basado en roles de Azure (Azure RBAC) en el clúster.
Microsoft Defender para IoT y para contenedores
Microsoft Defender para IoT es una solución de seguridad unificada creada específicamente para identificar dispositivos IoT y tecnología de operaciones (OT), vulnerabilidades y amenazas. Microsoft Defender para contenedores es una solución nativa de nube para mejorar, supervisar y mantener la seguridad de los recursos contenedorizados (clústeres de Kubernetes, nodos de Kubernetes, cargas de trabajo de Kubernetes, registros de contenedor, imágenes de contenedor y mucho más) y sus aplicaciones, en entornos multinube y locales.
Tanto Defender para IoT como Defender para contenedores pueden supervisar automáticamente algunas de las recomendaciones incluidas en este artículo. Defender para IoT y Defender para contenedores deben ser la primera línea de defensa para proteger la solución basada en el borde. Para obtener más información, consulte:
- Microsoft Defender para contenedores - Introducción
- Microsoft Defender para IoT para organizaciones - Introducción.
Seguridad de recursos
Administración de secretos: use Azure Key Vault para almacenar y administrar la información confidencial del recurso, como claves, contraseñas, certificados y secretos. Operaciones de IoT de Azure usa Azure Key Vault como solución de almacén administrado en la nube y usa la extensión Almacén de secretos de Azure Key Vault para Kubernetes para sincronizar los secretos desde la nube y almacenarlos en el perímetro como secretos de Kubernetes. Para más información, consulte Administración de secretos para la implementación de Operaciones de IoT de Azure.
Administración de certificados: la administración de certificados es fundamental para garantizar la comunicación segura entre los recursos y el entorno de tiempo de ejecución del borde. Operaciones de IoT de Azure proporciona herramientas para administrar certificados, como la emisión, renovación y revocación de certificados. Para más información, consulte Administración de certificados para la comunicación interna de Operaciones de IoT de Azure.
Seleccionar hardware a prueba de alteraciones para los recursos: elija hardware de recursos con mecanismos integrados para detectar alteraciones físicas, como la apertura de la cubierta del dispositivo o la eliminación de una parte del dispositivo. Estas señales de manipulación pueden formar parte del flujo de datos cargado en la nube, lo que alerta a los operadores de estos eventos.
Habilitar actualizaciones seguras para el firmware del recurso: use servicios que habilitan actualizaciones inalámbricas para los recursos. Cree recursos con rutas de acceso seguras para actualizaciones y garantía criptográfica de las versiones de firmware para proteger los recursos durante y después de las actualizaciones.
Implementar hardware de recursos de forma segura: asegúrese de que la implementación de hardware de recursos sea lo más segura posible, especialmente en ubicaciones no seguras, como espacios públicos o configuraciones regionales no supervisadas. Solo habilite las características necesarias para minimizar la superficie de ataque físico, como cubrir de forma segura los puertos USB si no son necesarios.
Siga los procedimientos recomendados de seguridad e implementación del fabricante de dispositivos: si el fabricante del dispositivo proporciona instrucciones de seguridad e implementación, siga esa guía además de las instrucciones genéricas que se enumeran en este artículo.
Seguridad de conexión
Usar la Seguridad de la capa de transporte (TLS) para proteger las conexiones de los recursos: toda la comunicación dentro de las Operaciones de IoT de Azure se cifra mediante TLS. Para proporcionar una experiencia segura de forma predeterminada que minimiza la exposición involuntaria de la solución basada en el borde a los atacantes, Operaciones de IoT de Azure se implementa con una entidad de certificación raíz predeterminada y un emisor para los certificados de servidor TLS. Para una implementación de producción, se recomienda usar su propio emisor de entidad de certificación y una solución PKI empresarial.
Considere la posibilidad de usar firewalls de empresa o servidores proxy para administrar el tráfico saliente: si usa firewalls de empresa o servidores proxy, agregue los puntos de conexión de Operaciones de IoT de Azure a la lista de permitidos.
Cifrar el tráfico interno del agente de mensajes: garantizar la seguridad de las comunicaciones internas dentro de la infraestructura de borde es importante para mantener la integridad y la confidencialidad de los datos. Debe configurar el corredor MQTT para cifrar el tráfico interno y los datos en tránsito entre el front-end del corredor MQTT y los pods de back-end. Para obtener más información, consulte Configuración del cifrado del tráfico interno del corredor y certificados internos.
Configurar TLS con administración automática de certificados para agentes de escucha en el corredor MQTT: Operaciones de IoT de Azure proporciona administración automática de certificados para agentes de escucha en el corredor MQTT. Esto reduce la sobrecarga administrativa de administrar manualmente los certificados, garantiza renovaciones oportunas y ayuda a mantener el cumplimiento de las directivas de seguridad. Para obtener más información, consulte Comunicación de corredor MQTT seguro mediante BrokerListener.
Configurar una conexión segura con el servidor OPC UA: al conectarse a un servidor OPC UA, debe determinar con qué servidores de OPC UA confía para establecer de forma segura una sesión. Para obtener más información, consulte Configurar la infraestructura de los certificados de OPC UA para el conector para OPC UA.
Seguridad de borde
Mantener actualizado el entorno en tiempo de ejecución del borde: mantenga actualizado el clúster y la implementación de Operaciones de IoT de Azure con las últimas revisiones y versiones secundarias para obtener todas las correcciones de errores y seguridad disponibles. En el caso de las implementaciones de producción, desactive la actualización automática de Azure Arc para tener control total sobre cuándo se aplican nuevas actualizaciones al clúster. En su lugar, actualice manualmente los agentes según sea necesario.
Comprobar la integridad de las imágenes de Docker y Helm: antes de implementar cualquier imagen en el clúster, compruebe que Microsoft firma la imagen. Para obtener más información, consulte Validar firma de imágenes.
Use siempre certificados X.509 o tokens de cuenta de servicio de Kubernetes para la autenticación con el corredor MQTT: un corredor MQTT admite varios métodos de autenticación para los clientes. Puede configurar cada puerto de agente de escucha para tener sus propias opciones de autenticación con un recurso BrokerAuthentication. Para obtener más información, consulte Configuración de la autenticación de corredor MQTT.
Proporcione los privilegios mínimos necesarios para el recurso de tema en el corredor MQTT: las directivas de autorización determinan qué acciones pueden realizar los clientes en el agente, como conectarse, publicar o suscribirse a temas. Configure el corredor MQTT para usar una o varias directivas de autorización con el recurso de BrokerAuthorization. Para obtener más información, consulte Configuración de la autorización del corredor MQTT.
Configuración de entornos de red aislados mediante Administración de redes en capas de Azure IoT (versión preliminar): Administración de redes en capas de Azure IoT (versión preliminar) es un componente que facilita la conexión entre Azure y clústeres en entornos de red aislados. En escenarios industriales, las redes aisladas siguen la ISA-95/Arquitectura de red de Purdue. Para más información, consulte ¿Qué es la Administración de redes en capas de Azure IoT (versión preliminar)?.
Seguridad en la nube
Usar identidades administradas asignadas por el usuario para conexiones en la nube: use siempre la autenticación de identidad administrada. Cuando sea posible, use la identidad administrada asignada por el usuario en los puntos de conexión de flujo de datos para lograr flexibilidad y auditabilidad.
Implementar recursos de observabilidad y configuración de registros: la observabilidad proporciona visibilidad sobre cada capa de la configuración de Operaciones de IoT de Azure. Proporciona información sobre el comportamiento real de los problemas, lo que aumenta la eficacia de la ingeniería de fiabilidad del sitio. Operaciones de IoT de Azure ofrece observabilidad mediante paneles de Grafana mantenidos personalizados que se hospedan en Azure. Estos paneles se basan en la tecnología del servicio administrado para Prometheus de Azure Monitor y en la de Container Insights. Implemente recursos de observabilidad en el clúster antes de implementar Operaciones de IoT de Azure.
Acceso seguro a recursos y puntos de conexión de recursos con Azure RBAC: los recursos y los puntos de conexión de recursos de Operaciones de IoT de Azure tienen representaciones tanto en el clúster de Kubernetes como en Azure Portal. Puede usar RBAC de Azure para proteger el acceso a estos recursos. RBAC de Azure es un sistema de autorización que permite administrar el acceso a los recursos de Azure. Puede usar Azure RBAC para conceder permisos a los usuarios, los grupos y las aplicaciones en un ámbito determinado. Para más información, consulte Acceso seguro a recursos y puntos de conexión de recursos.
Pasos siguientes
Para más información sobre la seguridad de IoT, consulte: