Seguridad de IoT Edge para Linux en Windows
Se aplica a: IoT Edge 1.1
Importante
IoT Edge 1.1: la fecha de finalización del soporte técnico fue el 13 de diciembre de 2022. Consulte la página del ciclo de vida de productos de Microsoft para obtener información sobre cómo se admite este producto, servicio, tecnología o API. Para más información sobre cómo actualizar a la versión más reciente de IoT Edge, consulte Actualización de IoT Edge.
Azure IoT Edge para Linux en Windows se beneficia de todas las capacidades de seguridad que se obtienen al ejecutar en un host de cliente o servidor de Windows y garantiza que todos los componentes adicionales mantengan el mismo entorno de seguridad. En este artículo se proporciona información sobre las distintas instalaciones de seguridad que están habilitadas de forma predeterminada y algunas de las instalaciones opcionales que el usuario puede habilitar.
Seguridad de máquina virtual
La máquina virtual mantenida IoT Edge para Linux (EFLOW) se basa en Microsoft CBL-Mariner. CBL-Mariner es una distribución interna de Linux para la infraestructura en la nube y los servicios y productos perimetrales de Microsoft. CBL-Mariner está diseñado para proporcionar una plataforma coherente para estos dispositivos y servicios y mejora la capacidad de Microsoft de mantenerse al día en las actualizaciones de Linux. Para más información, consulte Seguridad de CBL-Mariner.
La máquina virtual EFLOW se basa en una plataforma de seguridad completa de tres puntos:
- Actualizaciones de mantenimiento
- Sistema de archivos raíz de solo lectura
- Bloqueo del firewall
Actualizaciones de mantenimiento
Cuando surgen vulnerabilidades de seguridad, CBL-Mariner hace que las revisiones y correcciones de seguridad más recientes estén disponibles para su servicio a través de las actualizaciones mensuales de EFLOW. La máquina virtual no tiene ningún administrador de paquetes, por lo que no es posible descargar e instalar manualmente paquetes RPM. Todas las actualizaciones de la máquina virtual se instalan mediante el mecanismo de actualización EFLOW A/B. Para más información sobre las actualizaciones de EFLOW, consulte Actualización de IoT Edge para Linux en Windows
Sistema de archivos raíz de solo lectura
La máquina virtual EFLOW se compone de dos particiones principales rootfs y datos. Las particiones rootFS-A o rootFS-B son intercambiables y una de las dos se monta como un sistema de archivos de solo lectura en /
, lo que significa que no se permiten cambios en los archivos almacenados dentro de esta partición. Por otro lado, la partición de datos montada en /var
es legible y grabable, lo que permite al usuario modificar el contenido dentro de la partición. El proceso de actualización no manipula los datos almacenados en esta partición y, por tanto, no se modificarán entre las actualizaciones.
Dado que es posible que necesite acceso de escritura a /etc
, /home
, /root
, /var
para casos de uso específicos, el acceso de escritura para estos directorios se realiza superponiéndolos a nuestra partición de datos específicamente en el directorio /var/.eflow/overlays
. El resultado final de esto es que los usuarios pueden escribir cualquier cosa en los directorios mencionados anteriormente. Para obtener más información sobre las superposiciones, vea Superposiciones.
Partición | Size | Descripción |
---|---|---|
Arranque | 192 MB | Contiene el cargador de arranque |
RootFS A | 2 GB | Una de las dos particiones activas o pasivas que contienen el sistema de archivos raíz |
RootFS B | 2 GB | Una de las dos particiones activas o pasivas que contienen el sistema de archivos raíz |
Actualización AB | 2 GB | Contiene los archivos de actualización. Asegúrese de que siempre hay suficiente espacio en la máquina virtual para las actualizaciones |
Data | De 2 GB a 2 TB | Partición con estado para almacenar datos persistentes entre actualizaciones. Expandible según la configuración de implementación |
Nota:
El diseño de partición representa el tamaño del disco lógico y no indica el espacio físico que ocupará la máquina virtual en el disco del sistema operativo host.
Firewall
De forma predeterminada, la máquina virtual EFLOW usa la utilidad iptables para las configuraciones de firewall. Iptables se usa para configurar, mantener e inspeccionar las tablas de reglas de filtro de paquetes IP en el kernel de Linux. La implementación predeterminada solo permite el tráfico entrante en el puerto 22 (servicio SSH) y bloquea el tráfico en el caso contrario. Puede comprobar la configuración de iptables con los pasos siguientes:
Abra una sesión de PowerShell con privilegios elevados
Conexión a la máquina virtual EFLOW
Connect-EflowVm
Enumerar todas las reglas de iptables
sudo iptables -L
Módulo de plataforma segura (TPM)
La tecnología del Módulo de plataforma segura (TPM) está diseñada para ofrecer funciones relacionadas con la seguridad y el hardware. El chip del TPM es un procesador de criptografía seguro diseñado para realizar operaciones criptográficas. El chip incluye varios mecanismos de seguridad física que hacen que sea resistente a las alteraciones y que las funciones de seguridad no permitan que el software malintencionado realice alteraciones.
La máquina virtual EFLOW no admite vTPM. Sin embargo, el usuario puede habilitar o deshabilitar la característica de paso directo de TPM, que permite que la máquina virtual EFLOW use el TPM del sistema operativo host de Windows. Esto habilita dos escenarios principales:
- Use la tecnología TPM para el aprovisionamiento de dispositivos de IoT Edge mediante Device Provision Service (DPS). Para más información, consulte Creación y aprovisionamiento a escala de un dispositivo IoT Edge para Linux en Windows mediante TPM.
- Acceso de solo lectura a las claves criptográficas almacenadas dentro del TPM. Para más información, consulte Set-EflowVmFeature para habilitar el paso directo de TPM.
Proteger la comunicación de la máquina virtual y del host
EFLOW proporciona varias maneras de interactuar con la máquina virtual mediante la exposición de una implementación enriquecida del módulo de PowerShell. Para obtener más información, vea Funciones de PowerShell para IoT Edge para Linux en Windows. Este módulo requiere una sesión con privilegios elevados para ejecutarse y se firma mediante un certificado de Microsoft Corporation.
Todas las comunicaciones entre el sistema operativo host de Windows y la máquina virtual EFLOW requerida por los cmdlets de PowerShell se realizan mediante un canal SSH. De forma predeterminada, el servicio SSH de máquina virtual no permitirá la autenticación a través del nombre de usuario y la contraseña, y se limita a la autenticación de certificados. El certificado se crea durante el proceso de implementación de EFLOW y es único para cada instalación de EFLOW. Además, para evitar ataques por fuerza bruta SSH, la máquina virtual bloqueará una dirección IP si intenta más de tres conexiones por minuto al servicio SSH.
Pasos siguientes
Más información sobre entornos de seguridad de IoT de Windows
Manténgase al día de las actualizaciones más recientes de IoT Edge para Linux en Windows.