Soluciones

Detalles de precios y tunelización segura de AWS IoT

Tabla de contenido ocultar 1 ¿Qué es IoT Secure Tunneling 1.1? Descargar PDF sobre AWS IoT Secure Tunneling 2 AWS IoT seguro...

Escrito por Ashok Kumar · Lectura de 7 min >
Túnel seguro de AWS IoT

Hola y bienvenido a Introducción a los túneles seguros de AWS IoT. Mi nombre es Greg Brain y soy arquitecto de soluciones especialista en IoT en AWS.

AWS IoT Device Management y la tunelización segura facilitan el registro, la organización, el monitoreo y la administración remota y segura de dispositivos IoT a escala. En este artículo, aprenderá a utilizar la función Secure AWS Tunneling y todo, que proporciona una solución de acceso remoto seguro que se integra directamente con AWS IoT para permitirle acceder de forma remota a sus dispositivos IoT desde cualquier lugar.

En este artículo, cubriremos la tunelización segura, una característica de la administración de dispositivos de AWS IoT. Cuando los dispositivos se implementan detrás de firewalls en sitios remotos, a menudo se necesita una forma de obtener acceso a esos dispositivos para solucionar problemas de actualizaciones de configuración y otras tareas operativas. El túnel seguro ayuda a los clientes a establecer comunicación bidireccional con dispositivos remotos a través de una conexión segura administrada por AWS IoT. La creación de túneles seguros no requiere actualizaciones de las reglas de firewall entrantes existentes, por lo que puede mantener su nivel de seguridad existente.

Acceso remoto a AWS IoT y todo sobre la plataforma de administración de IoT

¿Qué es el túnel seguro de IoT?

Necesita un mecanismo para obtener acceso a los dispositivos instalados detrás de firewalls restringidos en sitios remotos para solucionar problemas, actualizar la configuración y otras tareas operativas. El túnel seguro de AWS IoT permite a los clientes comunicarse con dispositivos remotos en ambas direcciones mediante una conexión segura administrada por AWS IoT. El túnel seguro elimina la necesidad de modificar la regla de firewall entrante existente, lo que le permite mantener el mismo nivel de protección en una ubicación remota.

En este artículo (también puede verlo en el video adjunto), presentaré una demostración de un caso de uso particular de túnel seguro, es decir, una conexión SSH a una Raspberry Pi. Los requisitos previos que se muestran aquí son para esta demostración en particular, no para la función de túnel seguro en general. Primero, necesita un dispositivo basado en Linux para usarlo como IoT. Para la demostración basta con un Raspberry Pi o un PC con Linux. A continuación, el dispositivo debe tener un demonio SSH ejecutándose. Si quisiera, por ejemplo, utilizar un túnel seguro para acceder a FTP, por supuesto necesitaría un servidor FTP en funcionamiento. Del mismo modo, para cualquier otro servicio, su firewall debe permitir que el dispositivo tenga tráfico saliente en el puerto 443, debe haber creado un objeto IoT correspondiente en el registro de AWS IoT y guardar las claves en los certificados.

Socios consultores premium y avanzados de AWS

Para utilizar un túnel seguro, su dispositivo debe tener un proxy local de túnel seguro de AWS IoT. Para esta demostración, usaré el cliente de dispositivo AWS IoT. Es una implementación de referencia de IoT que incluye soporte para túneles seguros. Tiene el proxy local de túnel seguro de AWS IoT integrado en el cliente de dispositivo AWS IoT, lo que facilita comenzar con varias funciones de administración de dispositivos de AWS IoT y de Defender de dispositivos de AWS IoT, pero no es necesario para usar la función de túnel seguro en general. No obstante, para seguir la demostración, deberá haber descargado el código fuente del cliente de dispositivo AWS IoT de GitHub, compilarlo para su dispositivo y configurarlo con los certificados de nombre de objeto y la clave privada adecuados. Proporcionamos un enlace al repositorio de GitHub en la descripción del video. Finalmente, debe haber descargado el código fuente del proxy local de túnel seguro de AWS IoT de GitHub y haberlo creado para su máquina. Se nos ha proporcionado un enlace a ese repositorio.

Antes de comenzar con la demostración, revisemos cómo funciona la tunelización segura. A la izquierda (en el vídeo adjunto), verá un dispositivo o cosa remota, que se considera el destino del túnel. En el medio, tiene la nube de AWS con AWS IoT Core y la administración de dispositivos AWS IoT. Y a la derecha, está el operador que quiere ejecutar una sesión SSH remota en el IoT. La máquina operadora se considera la fuente del túnel. La utilidad de línea de comandos del proxy local se ha compilado e instalado en el origen de la máquina del operador. Además, en el caso de nuestra demostración, el cliente de dispositivo AWS IoT se compiló e instaló en el destino. El cliente del dispositivo incluye un proxy local y el SDK del dispositivo AWS IoT para C++. El cliente del dispositivo se conecta a IoT Core y se suscribe al tema reservado para las notificaciones de túnel seguro. Esta notificación es una característica opcional que proporciona una manera conveniente de obtener el token de acceso al proxy local del destino. Si tiene una forma fuera de banda de entregar ese token a su dispositivo, entonces su dispositivo no necesita conectarse a IoT Core ni usar esta notificación solo para crear un túnel seguro.

Un dispositivo sensor en una planta a unos cientos de kilómetros de distancia, por ejemplo, tiene problemas para medir la temperatura de la fábrica. Para abrir e iniciar rápidamente una sesión con ese dispositivo sensor, puede utilizar un túnel seguro. Puede restablecer el archivo y reiniciar el dispositivo sensor en la misma sesión después de haber detectado el problema (por ejemplo, un archivo de configuración defectuoso). La creación de túneles seguros reduce el tiempo de respuesta a incidentes y de recuperación, así como los costos operativos, en comparación con la resolución de problemas más tradicional (por ejemplo, enviar un especialista a la fábrica para inspeccionar el dispositivo sensor).

Descargue el PDF sobre el túnel seguro de AWS IoT

Precios de túneles seguros de AWS IoT

Cargando contenido…

Presentamos el túnel seguro para la administración de dispositivos AWS IoT

AWS IoT Device Management ofrece un conjunto diverso de capacidades para ayudar a las empresas a desarrollar aplicaciones de IoT para una variedad de industrias. Sin embargo, cuando se trata de acceso remoto a dispositivos, los clientes tradicionalmente han enviado mensajes de control a través de temas MQTT o alterando la sombra del dispositivo, y el agente del dispositivo posteriormente ha tomado medidas sobre esos mensajes. Como resultado, los equipos de desarrollo de hardware tuvieron que incorporar explícitamente esas funciones de control especializadas en el firmware de los dispositivos.

Cuando los dispositivos están detrás de un firewall, la administración de dispositivos fuera de estos flujos preconfigurados ha sido particularmente difícil. En una computadora de escritorio estándar, esto sería una simple cuestión de instalar una aplicación de administración remota o usar tecnología como VNC. Sin embargo, esta funcionalidad ha resultado difícil de implementar en dispositivos IoT hasta ahora.

¿Qué hay de nuevo en el mercado de IoT hoy?

Secure Tunneling, una nueva característica de AWS IoT Device Management que proporciona una solución de acceso remoto seguro que se conecta perfectamente con AWS IoT y le permite acceder de forma remota a sus dispositivos IoT desde cualquier lugar, se lanza hoy. La gestión de identidad y acceso (IAM) protege el punto final y la comunicación se realiza a través de Transport Layer Security (TLS).

¿Cómo protege el funcionamiento del dispositivo IoT?

Comenzaré instalando un programa proxy en mi dispositivo (una Raspberry Pi) que me permitirá conectarme al servicio Secure Tunneling mediante una conexión WebSocket segura. Cuando se utiliza el comando CLI de túnel abierto, se generan tokens de autenticación. Estos tokens se envían posteriormente al proxy del dispositivo para su procesamiento. Como estoy usando dispositivos administrados por Thing Registry, la distribución del token del dispositivo está a cargo de mí. Se enviará un token tanto al usuario como al dispositivo después de la autenticación en el servicio Secure Tunneling. Cuando el dispositivo IoT recibe el token, inicia el proxy. Echemos un vistazo a la interfaz de línea de comandos de AWS para obtener un tutorial de alto nivel (CLI). Antes de comenzar, tendré que volver a verificar que todo esté configurado correctamente.

Iniciar proxy en el dispositivo de destino

Instalaré la clave privada y el certificado del dispositivo en mi dispositivo ahora que está en el Registro de cosas. El dispositivo puede suscribirse a un tema MQTT reservado, $aws/things/thing-name>/tunnels/notify, utilizando este par de claves. Secure Tunneling utiliza este tema MQTT para publicar un token que se utilizará para crear un túnel hacia mi Raspberry Pi.

Puedo utilizar los SDK de dispositivos AWS IoT para inicializar el proxy de túnel ahora que mi dispositivo puede recibir esta información del token. Para hacer esto, modifiqué el SDK del dispositivo IoT para escuchar notificaciones sobre el tema MQTT para la tunelización y luego uso el token para activar el proxy una vez que llega a mi dispositivo.

Demostración: Una nueva forma segura de solucionar problemas de dispositivos IoT

  • Primero, el operador emite un comando de túnel abierto para la administración de dispositivos AWS IoT.
  • Esto publica un mensaje de notificación a través de AWS IoT Core.
  • La notificación se recibe sobre el tema reservado al que está suscrita la cosa. Este mensaje de notificación incluye el token de acceso al destino.
  • El cliente de dispositivo AWS IoT utiliza el token de acceso de destino para inicializar su proxy local integrado.
  • Esto inicializará el proxy local en modo de destino y conectará el lado de destino del túnel.
  • El operador descarga el token de acceso a la fuente emitido por el
  • La consola de AWS cuando se abrió el túnel.
  • A continuación, el operador utiliza ese token de acceso a la fuente para inicializar el proxy local en modo fuente,
  • y el lado de la fuente del túnel está conectado.
  • Con ambos lados del túnel conectados, el operador puede abrir la sesión SSH a través del proxy local. Ahora te mostraré cómo funciona esto en la consola.
  • Bien, ejecutaré el cliente de dispositivo en mi Raspberry Pi.
  • Bien, el cliente del dispositivo está en funcionamiento y se está suscribiendo al tema de reserva para notificaciones de túnel.
  • Después de haber iniciado sesión en la consola de administración, navegue hasta IoT Core.
  • Luego, gestión de dispositivos y túneles.
  • A continuación, crea un túnel. Dale una descripción.
  • Ingrese el servicio a utilizar, en este caso SSH.
  • Observe el botón Agregar nuevo servicio; de hecho, puede utilizar varios servicios en un mismo túnel.
  • Selecciona lo tuyo, en mi caso Raspberry Pi cuatro.
  • Finalmente, ingrese un tiempo de espera. Este es el tiempo que se mantendrá el túnel antes de que se desconecte automáticamente. Usaremos 30 minutos, omitiremos las etiquetas de recursos y crearemos el túnel.
  • descargue el token de acceso para la fuente. Esto será utilizado por el proxy local en la máquina de su operador en breve.
  • Volviendo a la salida del cliente del dispositivo, podemos observar que recibió una notificación de túnel MQ TT en la parte de conexión de destino del túnel que se estableció.
  • Si hacemos clic en el nuevo túnel en la consola de AWS, podemos ver que está abierto.
  • y que el destino esté conectado.
  • Abra un par de sesiones de terminal en su máquina, una para el proxy local y otra para su cliente SSH.
  • Observe que la línea de comando del proxy local muestra la región de AWS en la que se encuentra el túnel seguro. El puerto en el que el proxy local escuchará las conexiones entrantes. Y finalmente, el token de acceso a la fuente.
  • Podemos actualizar la consola de AWS y ver que el túnel seguro ha formado una conexión en el lado de origen ahora que se está ejecutando el proxy local.
  • A continuación, en mi sesión de terminal de la derecha, inicializaremos la sesión SSH, necesitamos conectarnos al proxy local en el puerto 5555. El puerto en el que está escuchando. El nombre de usuario es un usuario de su dispositivo IoT, en este caso, mi Raspberry Pi y su usuario predeterminado pi.
  • Ahora que he establecido mi sesión SSH, puedo solucionar problemas, configurar actualizaciones o realizar otras tareas operativas de forma segura. También soy libre de desconectarme y volver a conectarme varias veces dentro de una sesión tunelizada abierta.
  • Cuando haya terminado, puede salir de su sesión SSH regresando a la consola de AWS para cerrar o eliminar su túnel.

Nuevamente, en esta demostración de introducción, explicamos cómo abrir un túnel en la Consola de administración de AWS. Inicie el túnel utilizando el proxy local y el token de acceso. Conecte ambos destinos en los lados de origen del túnel seguro y luego inicie la sesión SSH utilizando el proxy local.

Para obtener más información, visite el Página web de administración de dispositivos AWS IoT y también explore la documentación para desarrolladores de túneles seguros para profundizar en conceptos y capacidades más avanzadas.

Escrito por Ashok Kumar
Director ejecutivo, fundador y director de marketing de Make An App Like. Soy escritor en OutlookIndia.com, KhaleejTimes, DeccanHerald. Contáctame para publicar tu contenido. Mi Perfil

Deje un comentario

Translate »