por Ponlakshmi
Internet de cosasse trata de movilidad y gestión de sus dispositivos y sensores desde cualquier lugar del mundo. Hosting un seguroMQTT Brokeren la nube es un mandato para lograr esto. Pero la gente es mucho paranoico sobreseguridadde la aplicación y los datos. Esto El artículo dispone que completa guía final para hospedar unaseguro MQTT BrokeronAWS. El corredor de mensajes utilizado para hospedar MQTT Broker AWS esBevywise MQTT broker.
Cree una cuenta GRATIS AWS que pueda utilizar durante un año. Puedes comprobarlo.detalles del nivel GRATIS. Además que, la cuenta AWS proporciona una sola CPU con 1 GB de RAM, 5 GB de espacio de almacenamiento y más. Esto es muy Bien. configuración para ejecutar el MQTT Broker en el VM.
Crear unEC2 instancey Si usted es particular acerca de la GRATIS uso, hacer seguro que elige el tipo de VM permitido. Sin embargo, para el sistema operativo, elija un Ubuntu 14.04 o 16.04 instancia.
Crear un SSH Pareja clave para conectarse a la instancia EC2 vía SFTP y SSH. Pero, Si usted ya Tienes una tecla SSH que puedes usar la misma. La llave estará en el nombre de Tu nombre. Pem
El VM proporcionado será una versión de vainilla simple del Ubuntu. Luego puede conectarse a la instancia EC2 via SSH. Después de eso Actualice el Ubuntu para cualquier parche e instale la utilidad zip.
$ sudo apt-get update
$ sudo apt-get install zip unzip
El Broker MQTT seguro utilizaMySQLpara almacenar los clientes conectados, sus suscripciones y el transacciones de mensajes. Instala el MySQL usando los siguientes comandos. Entonces... Estos comandos pedirán tu contraseña de raíz y también hacer que su instancia MySQL asegurada en la instalación EC2. Pero, Recuerda el MySQL contraseña que necesita configurar dentro de los archivos de configuración MQTT Broker.
$ sudo apt-get install mysql-server Sudo mysql_secure_installation $ sudo mysql_install_db
Asegúrese de que el MySQL está listo para funcionar en el host local (127.0.0.1). Luego ver /etc/mysql/my.cnf
dirección bind = 127.0.0.1
El Ubuntu está listo para dirigir el corredor.
Descargue el MQTT Broker con todas las características.
Puede copiar los archivos a la instancia EC2 usando SFTP usando herramientas como FileZilla. Además de eso puedes uso la misma tecla SSH para emparejar para el propósito de autenticación. Empecemos a instalar el MQTT Broker en el EC2 Instance.
Desplazar el MQTT Broker y pasar a la carpeta de inicio del producto.
Unzip Bevywise_MQTT_Route_Linux.zip
$ cd Bevywise/MQTTRoute/
Configure MySQL parámetrosdentro del conf/db.conf.
Cambiar el servidor DB predeterminado de SQLITE a MYSQL y actualizar la contraseña MySQL que proporcionó durante la instalación de MySQL.
DB_SERVER = MYSQL
MYSQL_USER = root MYSQL_PASSWORD= hechosmysql_password
Permitir el modo TLS para asegurar la comunicación entre los clientes y el servidor y configurar contraseñas iniciadas. Entonces... Puede utilizar una contraseña única para todos los clientes o contraseñas individuales para cada cliente.
Abra el conf/broker.conf y actualice el TLS_ENABLED como TRUE. Sin embargo Puedes cambiar todos los otros valores si necesario. Utilizando un número de puerto no regular para Broker y toma de red segura mejorará aún más el seguridad contra DDOS.
TLS_ENABLED = TRUE
TLS_PORT_NO = 8883
WSS_PORT_NO = 8000 título
Crear un conjunto fuerte de nombres de usuario y contraseñas que se pueden utilizar cuando los clientes se conectan con el seguro MQTT Broker. Además de eso Usted puede agregar su lista de credenciales dentro de Certificado/Authenticación/ carpeta.
El nombre de usuario y la contraseña deben ser
"Nombre del usuario"
operation_mgr_usr erSez!@421sedPas
external_dev_user aszWxDes@!*
Luego Activa la autenticación en el conf/broker.conf. Sin embargo Si desea utilizar un archivo diferente para el nombre de usuario y lista de contraseñas, puede cambiar la ruta del archivo de credenciales.
[AUTHENTICATION]
AUTHENTICATION_ENABLED = Sí
# Sí vivieron NO
PASSWD_FILE = ./Certificate/Authentication/credentials.txt
A continuación, inicie el MQTT Broker en el fondo para asegurarse de que el broker está funcionando continuamente.
$ cd
Un corredor de mierda. sh '
El MQTT Broker comenzará en el puerto TCP 1883, el puerto Web Socket 8000 y el puerto HTTP 8080.
El servidor de apache se establecerá como el extremo frontal de la interfaz de usuario y la solicitud se enrutará a el puerto 8080 del MQTT Broker utilizando la configuración de host virtual del apache. Después de eso, El básicos Se habilitará la autenticación del apache para asegurar la interfaz de usuario.
Instala el servidor de apache.
$ sudo apt-get install apache2
$ sudo apt-get install apache2-utils
En primer lugar, el nombre de usuario y las contraseñas deben añadirse al apache para permitir lo básico autenticación. entonces Para agregar el nombre de usuario, ejecute el siguiente comando. Finalmente Esto pedirá el contraseña y confirmación y se añadirá al archivo .htpasswd.
$ sudo htpasswd -c /etc/apache2/.htpasswd ■User_name título
Confirme la adición del usuario utilizando el siguiente comando
$ cat /etc/apache2/.htpasswd
sammy:$apr1$DeD6bRwI$sCkKfg7Ly/nkXPiXG.PUP0
Finalmente Necesita reiniciar el servidor de apache para habilitar la autenticación. Hagamos el proxying al puerto 8080 antes de reiniciar el servidor.
Activar los módulos Proxy del apache.
Sudo a2enmod proxy
Sudo a2enmod proxy_http
Luego para el proxy inverso, necesitamos añadir lo siguiente en el /etc/apache2/sites-enabled/000-default.conf.
ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/
*Location "/ "
AuthType Basic
AuthName “Contenido Restringido”
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
■/Location
Reinicie el servidor de apache para que los cambios anteriores surtan efecto.
$ servicio de sudo apache2 reiniciar
El firewall AWS se puede configurar utilizando la opción Network & Security → Security Group dentro del AWS Consola. Entonces... Usted tiene que habilitar la conexión de entrada a sólo 4 puertos, Apache — 80, Web socket — 8443, TLS TCP — 8883 " SSH " Si usted está planeando conectar dispositivos sólo desde su red interna, usted puede utilizar la opción de Mi IP para la Fuente para asegurarse de que AWS restringe todos los demás IPs de enviar datos a este puerto particular lo hace más seguro.
Tenemos una aplicación móvil básica que se puede utilizar para enviar y recibirMQTTmensajes desde y hacia los diferentes dispositivos.
Si usted está utilizando una versión para siempre GRATIS del MQTT Broker, usted será capaz de conectar hasta 10 clientes a el corredor. Además Usted está usando un servidor MQTT completamente GRATIS en la nube con todo lo básico necesidades.
Finalmente el MQTT Broker está disponible para más dispositivos en un muyprecio asequible.
Sin embargo, Si busca conectar millones de dispositivos, tenemos una distribución altamente escalable micro serviciosIoT Platformque es estar integrado en una potente visualización de datos. Por lo tanto La Plataforma se puede ampliar y personalizar sobre la base de el vertical y sus objetivos.
De forma similar, active sus dispositivos para una poderosa comunicación M2M estableciendo una nube privada GRATIS seguro MQTT Broker. Estaríamos felices de escuchar sus historias de éxito en el proceso de configuración.
Si necesita ayuda para permitir que IoT en su proceso actual, podemos ayudarle a hacerlo. utilizandonuestra plataformay el SDK inteligente. Sentirse gratis para mantenernos informados a través decontáctenos forma.