Text geknüpft
HomeBlog MQTT Broker auf AWS

Sicherer MQTT Broker Gastgeber auf AWS

von Ponlakshmi


Rule Engine

Internet von Was ist los?ist alles über Mobilität und Verwaltung Ihrer Geräte und Sensoren von überall auf der Welt. Ein sicheres HostingMQTT Brokerin der Cloud ist ein Auftrag, dies zu erreichen. Aber die Menschen sind sehr viel paranoid über dieSicherheitder Anwendung und der Daten. Das Artikel bietet eine Vollständiges Ende zur EndführungMQTT BrokeraufAWS. Der Nachrichtenmakler, der für die Hosting MQTT Broker AWS verwendet wird, istBevywise MQTT Broker.

Ein AWS-Konto erstellen

Erstellen Sie ein kostenloses AWS-Konto, das Sie für ein Jahr verwenden können. Sie können dieDetails der KOSTENLOSE Tierarzneimittel. Neben das, Das AWS-Konto bietet eine einzige CPU mit 1 GB RAM, 5 GB Speicherplatz und mehr. Das ist sehr gut. Konfiguration zur Ausführung des MQTT Brokers auf der VM.

Herstellung von EC2

Erstellen einesANHANGund Wenn Sie über die KOSTENLOSE Verwendung, machen sicher, dass Sie den zulässigen VM-Typ wählen. Wählen Sie jedoch für das Betriebssystem eine Ubuntu 14.04 oder 16.04 Ein Beispiel.


Erstellen einer SSH Schlüsselpaar für die Verbindung zur EC2-Instanz über SFTP und SSH. Aber... Wenn Sie schon einen SSH-Schlüssel haben, den Sie dasselbe verwenden können. Der Schlüssel wird im Namen von Yourname. Pest


Die VM zur Verfügung gestellt wird eine einfache Vanille-Version der Ubuntu. Dann können Sie mit der EC2 Instanz verbinden über SSH. Danach aktualisieren Sie die Ubuntu für alle Patches und installieren Sie Zip-Dienstprogramm.

$ sudo apt-get update

$ sudo apt-get install zip unzip

Setup MySQL

Der sichere MQTT Broker verwendetMySQLdie angeschlossenen Kunden zu speichern, Abonnements und die Nachrichtentransaktionen. Installieren Sie die MySQL mit den folgenden Befehlen. Dann Diese Befehle werden nachfragen Ihr root-Passwort und machen Sie auch Ihre MySQL-Instanz in der EC2 Instanz gesichert. Aber... Erinnern Sie sich an MySQL Passwort vergessen? die Sie innerhalb der MQTT Broker Konfigurationsdateien konfigurieren müssen.

$ sudo apt-get install mysql-server $ sudo mysql_secure_Installation $ sudo mysql_install_db


Stellen Sie sicher, dass die MySQL im localhost (127.0.0.1) ausgeführt wird. Dann überprüfen Sie die /etc/mysql/my.cnf

bind-address = 127.0.0.1

Die Ubuntu ist jetzt bereit, den Broker zu führen.

Secure MQTT Broker einrichten

Laden Sie den MQTT Broker mit allen Features herunter.


Sie können die Dateien in die EC2 Instanz mit SFTP mit Werkzeugen wie FileZilla kopieren. Außerdem können Sie Verwendung die gleiche SSH-Taste für den Authentifizierungszweck zu paaren. Lassen Sie uns den MQTT Broker in der EG2 Gericht.


Entpacken Sie den MQTT Broker und bewegen Sie sich in den Produkt-Home-Ordner.

$ unzip Bevywise_MQTT_Route_Linux.zip

$ cd Bevywise/MQTTRoute/


MySQL konfigurieren Parameterinnerhalb des conf/db.conf.


Ändern Sie den Standard-DB-Server von SQLITE auf MYSQL und aktualisieren Sie das MySQL-Passwort, das Sie bereitgestellt haben während die Installation von MySQL.

DB_SERVER = MYSQL


MYSQL_USER = Wurzel MYSQL_PASSWORD=<<mysql_password>>

Sicherung von Client-Verbindungen

Aktivieren Sie den TLS-Modus, um die Kommunikation zwischen den Clients und dem Server zu sichern und einzurichten Passworte einloggen. Dann Sie können ein einziges Passwort für alle Kunden oder einzelne Passwörter für jeder Kunde.


Öffnen Sie den conf/broker.conf und aktualisieren Sie den TLS_ENABLED als TRUE. Allerdings Sie können alle anderen Werte ändern wenn benötigt. Die Verwendung einer nicht-regelmäßigen Portnummer für Broker und sichere Web-Sockel wird die Sicherheit gegen DDOS.

TLS_ENABLED = TRUE
TLS_PORT_NO = 8883
WSS_PORT_NO = 8000>


Erstellen Sie eine starke Reihe von Benutzernamen und Passwörtern, die verwendet werden können, wenn die Clients mit dem verbinden Sicherheit MQTT Broker. Außerdem können Sie Ihre Liste der Anmeldeinformationen innerhalb von Zertifikat/Authentication/ hinzufügen Ordner.

Der Benutzername und das Passwort müssen
<username><Tab>>Passwort>
Betrieb_mgr_usr ErSez!@421sedPas
Extern_dev_user aszWxDes@!*&Rs4


Aktivieren Sie dann die Authentifizierung im conf/broker.conf. Allerdings Wenn Sie eine andere Datei für die Benutzername und Passwortliste, Sie können den Pfad der Anmeldedatei ändern.

(AUTHENTIK)
AUTHENTIC_ENABLED = JA
# YES || NO
PASSWD_FILE = ./Zertifikat/Authentication/credentials.txt


Starten Sie dann den MQTT Broker im Hintergrund, um sicherzustellen, dass der Broker kontinuierlich läuft.

$ cd./bin
$ nohup sh runbroker. und

Der MQTT Broker startet auf dem TCP-Port 1883, dem Web Socket-Port 8000 und dem HTTP-Port 8080.

Benutzeroberfläche mit Apache sichern

Der apache-Server wird als vorderes Ende für die Benutzeroberfläche eingestellt und die Anfrage wird auf der Port 8080 des MQTT Brokers mit der virtuellen Hostkonfiguration des Apaches. Danach, The Basis Eine Authentifizierung des Apaches wird zur Sicherung der Benutzeroberfläche ermöglicht.

Installieren Sie den Apache-Server.

$ sudo apt-get install apache2
$ sudo apt-get install apache2-utils

Erstens Der Benutzername und die Passwörter müssen dem Apache hinzugefügt werden, um die grundlegende Authentifizierung. dann Um den Benutzernamen hinzuzufügen, führen Sie den folgenden Befehl aus. Schluss Dies wird die Passwort und Bestätigung und es wird zur .htpasswd-Datei hinzugefügt.

$ sudo htpasswd -c /etc/apache2/.htpasswd <<User_name>


Bestätigen Sie die Benutzererweiterung mit dem folgenden Befehl

$ Katze /etc/apache2/.htpasswd
sammy:$apr1$DeD6bRwI$sCkKfg7Ly/nkXPiXG.PUP0


Schluss Sie müssen den Apache-Server neu starten, damit die Authentifizierung aktiviert werden kann. Wir machen das Praktizieren zum Port 8080, bevor der Server neu gestartet wird.


Aktivieren der Proxy-Module des Apaches.

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http


Für den umgekehrten Proxy müssen wir folgendes in die /etc/apache2/sites-enabled/000-default.conf.

ProxyPass / http://localhost:80/ ProxyPassReverse / http://localhost:8080/

<Position „/“>
AuthTyp Basic
AuthName „Beschränkte Inhalte“
AuthUserFile /etc/apache2/.htpasswd
Erforderliche gültige Benutzer
</Sortung>


Starten Sie den Apache-Server für die oben genannten Änderungen.


$ sudo service apache2 neustart

AWS konfigurieren Firewall

Die AWS Firewall kann über die Option Network & Security → Security Group innerhalb der AWS konfiguriert werden Konsole. Dann Sie müssen inbound-Verbindung zu nur 4 Ports, Apache — 80, Web-Sockel — 8443, TLS TCP — 8883 & SSH — 22. Wenn Sie planen, Geräte nur von Ihrem internen Netzwerk zu verbinden, Sie können Verwenden Sie die Option Mein IP für die Quelle, um sicherzustellen, dass AWS alle anderen IPs vom Senden von Daten auf dieser spezielle Hafen macht es sicherer.


AWS Firewall

Anwendungsbereich

Wir haben eine grundlegende mobile Anwendung, die zum Senden und Empfangen verwendet werden kannMQTNachrichten zu und von den verschiedenen Geräten.


Wenn Sie eine für immer kostenlose Version des MQTT Broker verwenden, können Sie bis zu 10 verbinden Kunden zu der Broker. Darüber hinaus verwenden Sie einen komplett FREE MQTT Server auf der Cloud mit allen grundlegenden Bedürfnisse.


Schließlich ist der MQTT Broker für mehr Geräte auf einem sehrgünstige Preis.


Allerdings Wenn Sie versuchen, Millionen von Geräten zu verbinden, tun wir eine sehr skalierbare verteilt Mikrometer DienstleistungenIoT-Plattformdie werden integriert in leistungsstarke Datenvisualisierung. Deshalb Die Plattform kann erweitert und angepasst werden basierend auf die vertikal und seine Ziele.


Ebenso ermöglichen Sie Ihren Geräten für eine leistungsstarke M2M-Kommunikation durch die Einrichtung einer FREE Private Cloud-basierten sichere MQTT Broker. Gerne hören wir Ihre Erfolgsgeschichten über den Aufbauprozess.


Wenn Sie Hilfe benötigen, um IoT in Ihren aktuellen Prozess zu ermöglichen, könnten wir Ihnen helfen, es zu erledigen VerwendungUnsere Plattformund das intelligente SDK. Gefühl kostenlos um uns über die! Sie haben Formblatt.