MQTT Projekt IV.: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→mqtt) |
|||
| Zeile 31: | Zeile 31: | ||
*cp /etc/mosquitto/conf.d/defaults.conf.verschlüsselt.2fa /etc/mosquitto/conf.d/defaults.conf | *cp /etc/mosquitto/conf.d/defaults.conf.verschlüsselt.2fa /etc/mosquitto/conf.d/defaults.conf | ||
| − | + | *cat /etc/mosquitto/conf.d/defaults.conf | |
| − | + | <pre> | |
| − | + | # Öffnet den MQTT-Broker auf Port 8883 und bindet ihn an alle verfügbaren Netzwerkinterfaces. | |
| − | + | listener 8883 0.0.0.0 | |
| − | + | ||
| − | + | # Erlaubt anonyme Verbindungen, d. h. ohne Benutzername und Passwort. | |
| − | + | allow_anonymous false | |
| − | + | ||
| − | + | # Aktiviert alle Log-Typen für eine detaillierte Protokollierung. | |
| − | + | log_type all | |
| − | + | ||
| − | + | # Zeigt Verbindungs- und Trennungsmeldungen von Clients im Log an. | |
| − | + | connection_messages true | |
| − | + | ||
| − | + | #Hier gegen wird authentifiziert. | |
| − | + | password_file /etc/mosquitto/passwd | |
| − | + | ||
| + | # Zertifikat | ||
| + | certfile /etc/mosquitto/conf.d/own.crt | ||
| + | |||
| + | #PrivKey | ||
| + | keyfile /etc/mosquitto/conf.d/own.key | ||
| + | |||
| + | #Zertifikat der CA | ||
| + | cafile /etc/mosquitto/conf.d/kit-ca.crt | ||
| + | |||
| + | |||
| + | # Client-Zertifikate erforderlich | ||
| + | require_certificate true | ||
| + | use_identity_as_username true | ||
| + | </pre> | ||
;Restarten | ;Restarten | ||
Version vom 20. Juni 2026, 10:40 Uhr
Grundaufbau
Connectivity
ssh
- mqtt
- ssh xinux@opnsense -p 9822
- sensor
- ssh xinux@opnsense -p 9823
- aktor
- ssh xinux@opnsense -p 9824
http
- sensor
- aktor
Verschlüsselt mit 2FA (Zertifikat + Passwort)
Wir haben eine ca.crt der Auth, ein Server-Zertifikat mqtt.dkbi.int.crt mit mqtt.dkbi.int.key und zwei Client-Zertifikate: sensor.crt/sensor.key und aktor.crt/aktor.key
mqtt
- Benutzer anlegen
- user: xinux
- pass: 123Start$
- mosquitto_passwd -c /etc/mosquitto/passwd xinux
- Konfiguration kopieren
- cp /etc/mosquitto/conf.d/defaults.conf.verschlüsselt.2fa /etc/mosquitto/conf.d/defaults.conf
- cat /etc/mosquitto/conf.d/defaults.conf
# Öffnet den MQTT-Broker auf Port 8883 und bindet ihn an alle verfügbaren Netzwerkinterfaces. listener 8883 0.0.0.0 # Erlaubt anonyme Verbindungen, d. h. ohne Benutzername und Passwort. allow_anonymous false # Aktiviert alle Log-Typen für eine detaillierte Protokollierung. log_type all # Zeigt Verbindungs- und Trennungsmeldungen von Clients im Log an. connection_messages true #Hier gegen wird authentifiziert. password_file /etc/mosquitto/passwd # Zertifikat certfile /etc/mosquitto/conf.d/own.crt #PrivKey keyfile /etc/mosquitto/conf.d/own.key #Zertifikat der CA cafile /etc/mosquitto/conf.d/kit-ca.crt # Client-Zertifikate erforderlich require_certificate true use_identity_as_username true
- Restarten
- systemctl restart mosquitto.service
- Checken
- systemctl status mosquitto.service
Aktor
Der Aktor abonniert (subscribed) die Nachrichten und reagiert darauf.
- mosquitto_sub -h mqtt.lab.intern -p 8883 --cafile /usr/local/control/ca.crt --cert /usr/local/control/aktor.crt --key /usr/local/control/aktor.key -u xinux -P 123Start$ -t test
Sensor
Der Sensor sendet (published) die Nachrichten an das Topic.
- mosquitto_pub -h mqtt.lab.intern -p 8883 --cafile /usr/local/control-switch/ca.crt --cert /usr/local/control-switch/sensor.crt --key /usr/local/control-switch/sensor.key -u xinux -P 123Start$ -t test -m "Zertifikat + Passwort"
kali
Hier kann man auf Wireshark mitschneiden. Der Text ist Hexadezimal codiert.
- Schaut mal was man sieht.
