Puncte:0

Eroare de protocol Mosquitto SSL după actualizarea la 2.0

drapel au

avea un țânțar 1.x care rulează bine pe Debian 10 (cu SSL). Odată cu actualizarea la Debian 11 a venit mosquitto 2.0.11-1.

A trebuit să fac câteva ajustări ale fișierului de configurare pentru ca acesta să pornească. Am citit deja https://mosquitto.org/documentation/migrating-to-2-0/ Pentru testare, în prezent pornesc demonul cu această comandă în mod interactiv:

/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf -v

Dar acum clienții nu se mai pot conecta, indiferent de tipul lor de client (am o mare varietate de ei). Pentru fiecare încercare de conectare la client primesc o intrare de jurnal ca aceasta:

1629544574: conexiune nouă de la x.x.x.x:54278 pe portul 8883.
1629544574: Clientul <necunoscut> a fost deconectat din cauza unei erori de protocol.

Acesta este fișierul de configurare principal:

# Plasați configurația locală în /etc/mosquitto/conf.d/
#
# O descriere completă a fișierului de configurare este la
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto/mosquitto.pid

persistența adevărată
persistence_location /var/lib/mosquitto/

#Simplu
#ascultător 1883

#SSL
ascultător 8883

#keepalive_interval 600

# Nu necesită autentificare
permit_anonymous adevărat

log_type all

fișier log_dest /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

Și acesta este cel SSL (singurul fișier din conf.d):

cafile /etc/mosquitto/certs/ca.cer
certfile /etc/mosquitto/certs/mqtt.cer
fișierul cheie /etc/mosquitto/certs/mqtt.key
dhparamfile /etc/mosquitto/certs/dhparam.pem

#tls_version tlsv1.2

Toate fișierele legate de certificat există:

root@linux06:/etc/mosquitto# ls -l certs/
total 28
-rw-r--r-- 1 țânțar țânțar 3915 Apr 28 02:36 ca.cer
-rw-r----- 1 țânțar țânțar 424 21 august 12:45 dhparam.pem
-rwxr-xr-- 1 țânțar țânțar 3546 Apr 28 02:36 mqtt.cer
-rwxr-x--- 1 țânțar țânțar 3243 Apr 28 02:36 mqtt.key
-rwxr-x--- 1 țânțar țânțar 7528 Apr 28 02:36 mqtt.p7b
-rw-r--r-- 1 țânțar țânțar 130 Apr 28 02:36 CITEȘTE-MĂ

Acceptarea tuturor certificatelor în clienți nu ajută, din păcate. Așa aveam cel puțin cu ce să încep. Când mut fișierul de configurare ssl, dezactivând astfel SSL, un client se poate conecta foarte bine atunci când încearcă o conexiune simplă.

Ce mi se pare un pic ciudat este asta. Asta nu ar trebui să fie, nu-i așa?

root@linux06:~# openssl s_client -connect 127.0.0.1:8883 -showcerts
CONECTAT(00000003)
scrie:errno=104
---
nu este disponibil niciun certificat de egalitate
---
Nu s-au trimis nume de CA de certificat de client
---
SSL handshake a citit 0 octeți și a scris 283 de octeți
Verificare: OK
---
Nou, (NONE), Cipher este (NIMIC)
Renegocierea sigură NU ESTE acceptată
Compresie: NIMIC
Extindere: NIMIC
Nu s-a negociat ALPN
Datele timpurii nu au fost trimise
Verificați codul de returnare: 0 (ok)
---
root@linux06:~#

Certificatul este încă în regulă (deși va expira în curând; puțin conținut mascat):

root@linux06:~# openssl x509 -text -in /etc/mosquitto/certs/mqtt.cer
Certificat:
    Date:
        Versiune: 3 (0x2)
        Număr de serie:
            18:00:00:02:07:9a:37:38:09:44:97:a3:6c:00:01:00:00:02:07
        Algoritm de semnătură: sha512WithRSAEncryption
        Emitent: DC = org, DC = mascat, DC = mascat, CN = mascat
        Valabilitate
            Nu înainte de: 26 august 13:20:32 2019 GMT
            Nu după: 25 august 13:20:32 2021 GMT
        Subiect: C = DE, ST = NA, L = nicăieri, OU = mascat
        Informații despre cheia publică a subiectului:
            Algoritmul cheii publice: rsaEncryption
                Cheie publică RSA: (4096 biți)
                Modul:
                    00:c3:55:4a:ec:47:ba:65:ee:1c:b4:ac:72:73:0d:
                    4b:c3:ae:94:8c:35:d8:1c:99:7e:0e:d9:12:3b:cf:
                    c9:6f:2a:f1:c0:e6:10:3e:52:df:a7:5a:36:73:6a:

Sunt la capătul minții. Are cineva idee de ce eșuează asta? Am săpat prin exemplul de configurare, permisiunile sistemului de fișiere și paginile web. Dar se pare că nu găsesc motivul acestei eșecuri.

Puncte:0
drapel au

Directiva

ascultător 8883

trebuie să accesați fișierul ssl.conf. Asta a rezolvat imediat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.