Score:0

ข้อผิดพลาดของโปรโตคอล Mosquitto SSL หลังจากอัปเกรดเป็น 2.0

ธง au

มี mosquitto 1.x ทำงานได้ดีบน Debian 10 (พร้อม SSL) พร้อมกับการอัปเกรดเป็น Debian 11 มาพร้อม mosquitto 2.0.11-1

ฉันต้องทำการปรับไฟล์ config สองสามอย่างเพื่อให้เริ่มต้นได้เลย อ่านผ่านๆ ไปแล้ว https://mosquitto.org/documentation/migrating-to-2-0/ สำหรับการทดสอบ ฉันกำลังเริ่ม daemon ด้วยคำสั่งนี้แบบโต้ตอบ:

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

แต่ตอนนี้ไคลเอ็นต์ไม่สามารถเชื่อมต่อได้อีกต่อไป ไม่ว่าจะไคลเอ็นต์ประเภทใด (ฉันมีหลากหลายประเภท) สำหรับความพยายามในการเชื่อมต่อไคลเอนต์ทุกครั้ง ฉันจะได้รับรายการบันทึกดังนี้:

1629544574: การเชื่อมต่อใหม่จาก x.x.x.x:54278 บนพอร์ต 8883
1629544574: ไคลเอ็นต์ <unknown> ถูกตัดการเชื่อมต่อเนื่องจากข้อผิดพลาดของโปรโตคอล

นี่คือไฟล์กำหนดค่าหลัก:

# วางการกำหนดค่าในเครื่องของคุณใน /etc/mosquitto/conf.d/
#
# คำอธิบายแบบเต็มของไฟล์การกำหนดค่าอยู่ที่
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto/mosquitto.pid

ความคงอยู่จริง
ติดตา_location /var/lib/mosquitto/

#ที่ราบ
#ผู้ฟัง 1883

#SSL
ผู้ฟัง 8883

#keepalive_interval 600

#ไม่ต้องยืนยันตัวตน
allow_anonymous จริง

log_type ทั้งหมด

ไฟล์ log_dest /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

และนี่คือไฟล์ SSL (ไฟล์เดียวใน conf.d):

cafile /etc/mosquitto/certs/ca.cer
ใบรับรองไฟล์ /etc/mosquitto/certs/mqtt.cer
ไฟล์คีย์ /etc/mosquitto/certs/mqtt.key
dhparamfile /etc/mosquitto/certs/dhparam.pem

#tls_version tlsv1.2

ไฟล์ที่เกี่ยวข้องกับใบรับรองมีอยู่ทั้งหมด:

root@linux06:/etc/mosquitto# ls -l certs/
รวม 28
-rw-r--r-- 1 mosquitto mosquitto 3915 28 เม.ย. 02:36 น.
-rw-r----- 1 mosquitto mosquitto 424 21 ส.ค. 12:45 น. dhparam.pem
-rwxr-xr-- 1 mosquitto mosquitto 3546 28 เม.ย. 02:36 น. mqtt.cer
-rwxr-x--- 1 mosquitto mosquitto 3243 28 เม.ย. 02:36 mqtt.key
-rwxr-x--- 1 mosquitto mosquitto 7528 28 เม.ย. 02:36 น. mqtt.p7b
-rw-r--r-- 1 ยุง 130 28 เม.ย. 02:36 README

การยอมรับใบรับรองทั้งหมดในไคลเอนต์ไม่ได้ช่วยอะไร ด้วยวิธีนี้อย่างน้อยฉันก็มีบางอย่างที่จะเริ่มต้น เมื่อฉันย้ายไฟล์คอนฟิก ssl ออกไป ด้วยเหตุนี้จึงปิดใช้งาน SSL ไคลเอ็นต์สามารถเชื่อมต่อได้ดีเมื่อลองใช้การเชื่อมต่อธรรมดา

สิ่งที่ฉันพบว่าค่อนข้างแปลกคือสิ่งนี้ นี้ไม่ควรใช่หรือไม่?

root@linux06:~#openssl s_client -เชื่อมต่อ 127.0.0.1:8883 -showcerts
เชื่อมต่อแล้ว(00000003)
เขียน:errno=104
---
ไม่มีใบรับรองเพื่อน
---
ไม่มีการส่งชื่อ CA ของใบรับรองไคลเอ็นต์
---
SSL handshake อ่าน 0 ไบต์และเขียน 283 ไบต์
การยืนยัน: ตกลง
---
ใหม่ (ไม่มี) รหัสคือ (ไม่มี)
ไม่สนับสนุนการเจรจาใหม่อย่างปลอดภัย
การบีบอัด: ไม่มี
การขยายตัว: ไม่มี
ไม่มีการเจรจา ALPN
ข้อมูลต้นไม่ได้ถูกส่ง
ตรวจสอบรหัสส่งคืน: 0 (ตกลง)
---
รูท@linux06:~#

ใบรับรองยังใช้งานได้ดี (แม้ว่าจะหมดอายุเร็วๆ นี้ มีการปิดบังเนื้อหาบางส่วน):

root@linux06:~# opensl x509 -text -in /etc/mosquitto/certs/mqtt.cer
ใบรับรอง:
    ข้อมูล:
        รุ่น: 3 (0x2)
        หมายเลขซีเรียล:
            18:00:00:02:07:9a:37:38:09:44:97:a3:6c:00:01:00:00:02:07
        อัลกอริทึมลายเซ็น: sha512WithRSAEncryption
        ผู้ออก: DC = org, DC = มาส์ก, DC = มาส์ก, CN = มาส์ก
        ความถูกต้อง
            ไม่ใช่ก่อน: 26 ส.ค. 13:20:32 น. 2019 GMT
            ไม่หลังจาก : 25 ส.ค. 13:20:32 น. 2564 GMT
        หัวเรื่อง: C = DE, ST = NA, L = ไม่มีที่ไหนเลย, OU = สวมหน้ากาก
        เรื่องข้อมูลคีย์สาธารณะ:
            อัลกอริทึมคีย์สาธารณะ: rsaEncryption
                รหัสสาธารณะ RSA: (4096 บิต)
                โมดูลัส:
                    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:

ฉันหมดปัญญาแล้ว ไม่มีใครมีความคิดว่าทำไมสิ่งนี้ถึงล้มเหลว? ฉันได้ขุดผ่านตัวอย่าง config การอนุญาตระบบไฟล์และหน้าเว็บ แต่ฉันไม่สามารถหาสาเหตุของความล้มเหลวนี้ได้

Score:0
ธง au

คำสั่ง

ผู้ฟัง 8883

ต้องไปที่ไฟล์ ssl.conf นั่นแก้ไขได้ทันที

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา