Prácticas recomendadas de seguridad para AWS IoT Greengrass - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prácticas recomendadas de seguridad para AWS IoT Greengrass

Este tema contiene las prácticas de seguridad recomendadas para AWS IoT Greengrass.

Conceda los mínimos permisos posibles

Siga el principio de privilegios mínimos utilizando el conjunto mínimo de permisos en los roles de IAM. Limite el uso del comodín * para las propiedades Action y Resource en las políticas de IAM. En su lugar, declare un conjunto finito de acciones y recursos cuando sea posible. Para obtener más información acerca de los privilegios mínimos y otras prácticas recomendadas de política, consulte Prácticas recomendadas relativas a políticas.

La práctica recomendada de privilegios mínimos también se aplica a las políticas de AWS IoT que asocie al núcleo de Greengrass y a los dispositivos cliente.

No codifique las credenciales de forma rígida en funciones de Lambda

No codifique las credenciales en las funciones de Lambda definidas por el usuario. Para proteger mejor sus credenciales:

  • Para interactuar con los servicios de AWS, defina permisos para acciones y recursos específicos en el rol de grupo Greengrass.

  • Use secretos locales para almacenar sus credenciales. O bien, si la característica utiliza el SDK de AWS, utilice las credenciales de la cadena de proveedores de credenciales predeterminada.

No registre información confidencial

Debe evitar el registro de credenciales y otra información de identificación personal (PII). Le recomendamos que implemente las siguientes medidas de seguridad, aunque el acceso a los registros locales en un dispositivo principal requiera privilegios de root y el acceso a CloudWatch los registros requiera permisos de IAM.

  • No utilice información confidencial en las rutas de temas de MQTT.

  • No utilice información confidencial en nombres, tipos y atributos de dispositivo (objeto) en el registro de AWS IoT Core.

  • No registre información confidencial en las funciones de lambda definidas por el usuario.

  • No utilice información confidencial en los nombres e identificadores de los recursos de Greengrass:

    • Connectors

    • Núcleos

    • Dispositivos

    • Funciones

    • Grupos

    • Loggers

    • Recursos (local, machine learning o secreto)

    • Suscripciones

Cree suscripciones con fines específicos

Las suscripciones controlan el flujo de información en un grupo de Greengrass definiendo cómo se intercambian los mensajes entre servicios, dispositivos y funciones de Lambda. Para asegurarse de que una aplicación puede hacer solo lo que se pretende que haga, las suscripciones deben permitir a los editores enviar mensajes solo a temas específicos y limitar a los suscriptores a recibir solo mensajes de aquellos temas que sean necesarios para su funcionalidad.

Mantenga sincronizado el reloj del dispositivo

Es importante que la hora del dispositivo sea precisa. Los certificados X.509 tienen una fecha y una hora de caducidad. El reloj del dispositivo se utiliza para comprobar que un certificado de servidor sigue siendo válido. Los relojes de dispositivos pueden variar con el tiempo o las baterías pueden descargarse.

Para obtener más información, consulte las prácticas recomendadas Mantener sincronizado el reloj del dispositivo en la Guía del desarrollador de AWS IoT Core.

Administre la autenticación de dispositivos con el núcleo de Greengrass

Los dispositivos cliente pueden ejecutar FreeRTOS o utilizar el SDK de AWS IoT de dispositivos o la API de AWS IoT Greengrass de descubrimiento para obtener la información de descubrimiento utilizada para conectarse y autenticarse con el núcleo en el mismo grupo Greengrass. La información de detección incluye:

  • Información de conectividad para el núcleo de Greengrass que está en el mismo grupo de Greengrass que el dispositivo cliente. Esta información incluye la dirección del host y el número de puerto de cada punto de enlace para el dispositivo del núcleo.

  • Certificado de entidad de certificación del grupo utilizado para firmar el certificado de servidor MQTT local. Los dispositivos cliente utilizan el certificado de entidad de certificación del grupo para validar el certificado de servidor MQTT presentado por el núcleo.

Las siguientes son las prácticas recomendadas para que los dispositivos cliente administren la autenticación mutua con un núcleo de Greengrass. Estas prácticas pueden ayudar a mitigar el riesgo si su dispositivo del núcleo está en peligro.

Validar el certificado de servidor MQTT local para cada conexión.

Los dispositivos cliente deben validar el certificado de servidor MQTT presentado por el núcleo cada vez que establecen una conexión con el núcleo. Esta validación es el lado del dispositivo cliente de la autenticación mutua entre un dispositivo del núcleo y los dispositivos cliente. El dispositivo cliente debe poder detectar el error y terminar la conexión.

No codificar la información de detección.

Los dispositivos cliente deben depender de las operaciones de detección para obtener información de conectividad del núcleo y el certificado de entidad de certificación del grupo, incluso si el núcleo utiliza una dirección IP estática. Los dispositivos cliente no deben codificar esta información de detección.

Actualice periódicamente la información de detección.

Los dispositivos cliente deben ejecutar periódicamente la detección para actualizar la información de conectividad del núcleo y el certificado de entidad de certificación del grupo. Recomendamos que los dispositivos cliente actualicen esta información antes de establecer una conexión con el núcleo. Debido a que las duraciones más cortas entre las operaciones de detección pueden minimizar el tiempo de exposición potencial, recomendamos que los dispositivos cliente se desconecten y se vuelvan a conectar periódicamente para activar la actualización.

Si pierde el control de un dispositivo del núcleo de Greengrass y desea evitar que los dispositivos cliente transmitan datos al núcleo, haga lo siguiente:

  1. Quite el núcleo de Greengrass del grupo Greengrass.

  2. Rote el certificado de entidad de certificación del grupo. En la consola de AWS IoT, puede rotar el certificado de entidad de certificación en la página Configuración del grupo. En la AWS IoT Greengrass API, puedes usar la CreateGroupCertificateAuthorityacción.

    También recomendamos utilizar el cifrado de disco completo si el disco duro de su dispositivo del núcleo es vulnerable al robo.

Para obtener más información, consulte Autenticación y autorización de dispositivos en AWS IoT Greengrass.

Véase también