Sie befinden sich hier: eisfair / Pack-Eis
News News News

Navigation

Content

Dateianzeige für mosquitto (3.4.0)

usr/share/doc/mosquitto/mosquitto.txt
Mosquitto Mosquitto ist ein leichtgewichtiger Open-Source Message-Broker fuer das MQTT Protokoll. Er unterstuetzt die Protokollversionen 5.0, 3.1.1 und 3.1. Das vorliegende eisfair-Paket erlaubt es, mehrere Listener (Zugangs- punkte) anzulegen und mit verschiedenen Berechtigungen und Eigenschaften zu versehen. Dies sind: - Bindung an eine lokale IP-Adresse. - Wahl des Protokolls zwischen MQTT und websockets. - Feier Zugang oder gesicherter Zugang ueber Benutzernamen und Kenn- woerter (User-ACLs). - Sicherung der Socket-Verbindung ueber SSL mit Pruefung der Server- authentizitaet. Nicht unterstuetzt werden gegenwaertig u.a.: - Sicherung der Verbindung mittels bekannter Schluessel (preshared- keys). - Pruefung der Authentizitaet der Clients mit Hilfe von Zertifikaten. - Einstellung von Zugriffsberechtigungen auf der Ebene einzelner Topics. Konfiguration ------------- START_MOSQUITTO Schaltet den Dienst frei. Sobald der Wert auf 'yes' gesetzt wird, wird mosquitto beim Aktivieren der Konfiguration und bei jedem Neustart des Systems automatisch gestartet. Gueltige Werte: yes, no Standardwert: START_MOSQUITTO='no' MOSQUITTO_LOG_CONNECTIONS Wird der Wert auf ''yes'' gesetzt, dann werden Protokollein- traege erzeugt, sobald sich ein Client mit dem Server verbindet oder die Verbindung trennt. Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LOG_ERROR Protokolleintraege unterschiedlicher Typen koennen separat ein- bzw. ausgeschaltet werden. Diese Option aktiviert Meldungen vom Typ "Fehler". Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LOG_WARNING Protokolleintraege unterschiedlicher Typen koennen separat ein- bzw. ausgeschaltet werden. Diese Option aktiviert Meldungen vom Typ "Warnung". Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LOG_NOTICE Protokolleintraege unterschiedlicher Typen koennen separat ein- bzw. ausgeschaltet werden. Diese Option aktiviert Meldungen vom Typ "Hinweis". Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LOG_INFORMATION Protokolleintraege unterschiedlicher Typen koennen separat ein- bzw. ausgeschaltet werden. Diese Option aktiviert Meldungen vom Typ "Information". Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LOG_SUBSCRIBE Protokolleintraege unterschiedlicher Typen koennen separat ein- bzw. ausgeschaltet werden. Diese Option aktiviert Meldungen vom Typ "Abonnieren". Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LOG_UNSUBSCRIBE Protokolleintraege unterschiedlicher Typen koennen separat ein- bzw. ausgeschaltet werden. Diese Option aktiviert Meldungen vom Typ "Abbestellen". Gueltige Werte: ''yes'', ''no'' MOSQUITTO_ACL_N Anzahl der Zugriffslisten, die definiert werden sollen. Unter eisfair werden Mosquitto User in Zugriffslisten verwaltet, die den einzelnen Listenern zugeordnet werden. Ein User der auf einen Listener zugreifen moechte muss Mitglied in einer Zugriffsliste sein, die wiederum dem Listener zugeordent sein muss. Um getrennte Userlisten fuer jeden Listener zu haben, muss eine einzelne Zugriffsliste fuer jeden Listener angelegt werden. Diese wird dann dem jeweiligen Listener zugeordnet. Um statt dessen eine globale Liste von Anwendern zu erhalten, die gleichermassen auf alle Listener zugreifen duerfen, kann eine einzelne Zugriffsliste angelegt werden, die dann allen Listenern zugewiesen wird. Da es moeglich ist, einem Listener mehrere Zugriffsliste zuzuordnen, koennen beide Zugriffsmodelle (global und lokal) kombiniert werden. Beispiel: ''3'' MOSQUITTO_ACL_x_NAME Ein eindeutiger Name fuer die Zugriffsliste. Dieser Name wird verwendet, um die Zugriffsliste bei der Zuordnung zu einem Listener eindeutig zu identifizieren. Gueltige Werte fuer ACL Namen bestehen aus Buchstaben, Zahlen und Unterstrichen. Die Gross-Kleinschreibung der Namen spielt keine Rolle. Beispiel: ''LOCAL_HOME'' MOSQUITTO_ACL_x_USER_N Anzahl der Anwender, die in der aktuellen Zugriffsliste (x) angelegt werden sollen. Beispiel: ''10'' MOSQUITTO_ACL_x_USER_x_ACTIVE Wenn dieser Wert auf ''yes'' steht, dann ist der jeweilige Anwender aktiv (Standard). Um den User (temporaer) aus der aktuellen Liste zu entfernen, kann der Wert auf ''no'' gesetzt werden. In diesem Fall wird der Anwernder ignoriert, wenn die Benutzerdatenbanken zusammengestellt werden. Um den Anwender dauerhaft aus der Liste zu entfernen, wird er an das Ende der Liste verschoben (F3). Anschliessend wird die Laenge der Liste um ein Element reduziert. Gueltige Werte: ''yes'', ''no'' MOSQUITTO_ACL_x_USER_x_NAME Login Name des Anwenders. Beispiel: ''hans'' MOSQUITTO_ACL_x_USER_x_PASSWD Kennwort des Anwenders (wird im ECE maskiert dargestellt). Beispiel: ''geheim'' MOSQUITTO_LISTENER_N Der mosquitto server ist im Stande MQTT Verbindungen auf mehreren IP-Ports entgegen zu nehmen. Diese Ports werden als Listeners bezeichnet und koennen mit verschiedenen Protokoll oder Sicherheitseinstellungen betrieben werden. Hier wird die Gesamtzahl der Listeners vorgegeben. Beispiel: ''2'' MOSQUITTO_LISTENER_x_ACTIVE Mit diesem Aktivierungsschalter koennen Listeners temporaer deaktiviert oder reaktiviert werden, ohne dass sie dazu aus der Konfiguration geloescht und anschliessend wieder komplett neu angelegt werden muessen. Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LISTENER_x_PORT Setzt den Netzwerk-Port auf dem der Listener auf eingehende Verbindungen warten soll. Beispiel: ''1883'' MOSQUITTO_LISTENER_x_BIND Optional kann mit dieser Einstellung die IP Adresse eines lokalen Netzwerkinterfaces angegeben werden. Ist dies der Fall, dann ist der Listener ausschliesslich ueber dieses Interface erreich- bar. Bleibt der Wert leer (Standardeinstellung), dann ist der Listener ueber alle Interfaces erreichbar. Beispiel: ''127.0.0.1'' MOSQUITTO_LISTENER_x_PROTOCOL Hiermit kann das Protokoll gewaehlt werden, mit dem aktuelle Listener arbeiten soll. Zur Auswahl stehen entweder "mqtt" oder "websockets". Fuer die normale Kommunikation via MQTT ist "mqtt" die richtige Einstellung. Nur wenn MQTT ueber websockets ge- tunnelt werden soll, waere hier statt dessen "websockets" aus- zuwaehlen. Beispiel: ''mqtt'' MOSQUITTO_LISTENER_x_SCOPE Diese Option kann dazu verwendet werden, um Gruppen von Clients voneinander zu isolieren. Wenn sich ein Client zu einem Listener verbindet, der diese Option verwendet, dann wird die Zeichenkette dem angegebenen Topic-Namen vorangestellt. Dieser Praefix wird dagegen aus allen Nachrichten entfernt, die zu einem Client zu- rueckgesendet werden. Das bedeutet, dass ein Client, der mit einem Listener mit dem Scope "example" verbunden ist, nur die Nachrichten sehen kann, die hierarchisch unterhalb des Topics "example" angeordnet sind. Beispiel: ''example'' MOSQUITTO_LISTENER_x_ANONYMOUS Boolscher Wert, der festlegt, ob sich Clients am Server anmelden duerfen, ohne einen Anmeldenamen anzugeben. Falls der Wert auf "no" gesetzt wird, muss ein anderer Mechanismus verwendet werden, um die Zugriffskontrolle sicherzustellen. Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LISTENER_x_ACL Falls anonyme Zugriffe deaktiviert wurden, kann hier eine durch Leerzeichen getrennte Liste von ACL-Namen angegeben, um die Zu- griffskontrolle darueber zu steuern. Beispiel: ''LOCAL_HOME EXTERNAL'' MOSQUITTO_LISTENER_x_USE_SSL Die Option kann auf "yes" gesetzt werden, um eine Verbindungs- verschluesselung und eine Pruefung der Server-Authentizitaet zu erzwingen. Wird die Option auf "no" gesetzt, werden alle Daten, sowie Anmeldenamen und Kennwoerter im Klartext ueber das Netz- werk uebertragen. Gueltige Werte: ''yes'', ''no'' MOSQUITTO_LISTENER_x_CAFILE Hiermit wird der Pfad einer Datei angegeben, die PEM kodierte vertrauenswuerdige CA Zertifikate enthaelt. Bitte beachten Sie, dass es Ihre Aufgabe ist, die jeweiligen SSL Zertifikate zu erzeugen und an die passende Stelle zu kopie- ren. Es gibt keinen Automatismus, der das fuer Sie uebernimmt. Allerdings koennen Sie das cert-Paket verwenden umd die Aufgabe auszufuerhen. Beispiel: ''/etc/mosquitto/ca.crt'' MOSQUITTO_LISTENER_x_KEYFILE Hiermit wird der Pfad auf den Schluessel angegeben, den der Server fuer die Verschluesselung verwendet. Bitte beachten Sie, dass es Ihre Aufgabe ist, die jeweiligen SSL Zertifikate zu erzeugen und an die passende Stelle zu kopie- ren. Es gibt keinen Automatismus, der das fuer Sie uebernimmt. Allerdings koennen Sie das cert-Paket verwenden umd die Aufgabe auszufuerhen. Beispiel: ''/etc/mosquitto/server.key'' MOSQUITTO_LISTENER_x_CERTFILE Hiermit wird der Pfad auf die Datei angegeben, die das PEM kodierte Server-Zertifikat enthaelt. Bitte beachten Sie, dass es Ihre Aufgabe ist, die jeweiligen SSL Zertifikate zu erzeugen und an die passende Stelle zu kopie- ren. Es gibt keinen Automatismus, der das fuer Sie uebernimmt. Allerdings koennen Sie das cert-Paket verwenden umd die Aufgabe auszufuerhen. Beispiel: ''/etc/mosquitto/server.crt'' SSL --- SSL/TLS Verschluesselung ist ein umfangreiches Thema und kann im Rahmen dieser Dokumentation nicht erschoepfend behandelt werden. Aktuell unterstuetzt das vorliegende Paket lediglich die Verschlues- selung der Verbindung mit einer Pruefung der Server-Authentizitaet. die Pruefung der Client-Authentizitaet kann dagegen noch nicht ge- prueft werden. Damit SSL/TLS moeglich ist, benoetigt man auf dem Server, wie auch auf dem Client das Zertifikat der CA, die zur Pruefung der Authen- tizitaet verwendet werden soll. Fall selbst signierte Zertifikate zum Einsatz kommen, ist dies das Zertifikat der eigenen CA (z.B. aus dem certs Paket). Zusaetzlich muss ein Server-Zertifikat erstellt werden, das den MQTT-Broker identifiziert. Dieses Zertifikat muss der CA bekannt sein, deren Zertifikat in der Konfiguration angegeben wurde. Zu beachten ist zudem, das der Common-Name des Zertifikats die voll- staenige Adresse (FQDN) oder die IP-Adresse des Servers enthalten muss. Falls mehrere Host-Namen / Interfaces auf dem Server vor- liegen, ist dasjenige anzugeben, das von den Clients kontaktiert wird (-h Parameter). Sobald SSL eingerichtet wurde, koennen Clients verschluesselt zu- greifen: mosquitto_pub -h mqtt.home.lan -t "test" \ --cafile /path/to/ca.crt \ -p 1884 -m "Hallo Welt"