Điểm:0

Lỗi giao thức Mosquitto SSL sau khi nâng cấp lên 2.0

lá cờ au

đã có mosquitto 1.x chạy tốt trên Debian 10 (có SSL). Cùng với việc nâng cấp lên Debian 11 là mosquitto 2.0.11-1.

Tôi đã phải thực hiện một vài điều chỉnh tệp cấu hình để bắt đầu. Đã đọc qua https://mosquitto.org/documentation/migrating-to-2-0/ Để thử nghiệm, tôi hiện đang khởi động daemon bằng lệnh này một cách tương tác:

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

Nhưng bây giờ khách hàng không thể kết nối nữa, bất kể loại khách hàng của họ là gì (tôi có rất nhiều loại khách hàng). Đối với mọi nỗ lực kết nối máy khách, tôi nhận được một mục nhật ký như thế này:

1629544574: Kết nối mới từ x.x.x.x:54278 trên cổng 8883.
1629544574: Máy khách <không xác định> bị ngắt kết nối do lỗi giao thức.

Đây là tập tin cấu hình chính:

# Đặt cấu hình cục bộ của bạn vào /etc/mosquitto/conf.d/
#
# Mô tả đầy đủ về tệp cấu hình có tại
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto/mosquitto.pid

kiên trì đúng
kiên trì_location /var/lib/mosquitto/

#Trơn
#nghe 1883

#SSL
người nghe 8883

#keepalive_interval 600

# Không yêu cầu xác thực
allow_anonymous đúng

log_type tất cả

tệp log_dest /var/log/mosquitto/mosquitto.log

bao gồm_dir /etc/mosquitto/conf.d

Và đây là SSL (tệp duy nhất trong conf.d):

cafile /etc/mosquitto/certs/ca.cer
certfile /etc/mosquitto/certs/mqtt.cer
tệp khóa /etc/mosquitto/certs/mqtt.key
dhparamfile /etc/mosquitto/certs/dhparam.pem

#tls_version tlsv1.2

Tất cả các tệp liên quan đến chứng chỉ đều tồn tại:

root@linux06:/etc/mosquitto# ls -l certs/
tổng số 28
-rw-r--r-- 1 mosquitto mosquitto 3915 ngày 28 tháng 4 02:36 ca.cer
-rw-r----- 1 mosquitto mosquitto 424 ngày 21 tháng 8 12:45 dhparam.pem
-rwxr-xr-- 1 mosquitto mosquitto 3546 ngày 28 tháng 4 02:36 mqtt.cer
-rwxr-x--- 1 mosquitto mosquitto 3243 ngày 28 tháng 4 02:36 mqtt.key
-rwxr-x--- 1 mosquitto mosquitto 7528 ngày 28 tháng 4 02:36 mqtt.p7b
-rw-r--r-- 1 mosquitto mosquitto 130 ngày 28 tháng 4 02:36 README

Thật không may, việc chấp nhận tất cả các chứng chỉ trong ứng dụng khách không giúp được gì. Bằng cách đó, ít nhất tôi đã có một cái gì đó để bắt đầu. Khi tôi di chuyển tệp cấu hình ssl đi, do đó tắt SSL, khách hàng có thể kết nối tốt khi thử kết nối đơn giản.

Điều tôi thấy hơi kỳ lạ là điều này. Điều này không nên, phải không?

root@linux06:~# openssl s_client -connect 127.0.0.1:8883 -showcerts
ĐÃ KẾT NỐI(00000003)
viết:errno=104
---
không có chứng chỉ ngang hàng
---
Không có tên CA chứng chỉ ứng dụng khách nào được gửi
---
Bắt tay SSL đã đọc 0 byte và ghi 283 byte
Xác minh: OK
---
Mới, (NONE), Mật mã là (NONE)
Đàm phán lại an toàn KHÔNG được hỗ trợ
Nén: KHÔNG CÓ
Mở rộng: KHÔNG CÓ
Không có ALPN nào được thương lượng
Dữ liệu ban đầu không được gửi
Xác minh mã trả về: 0 (ok)
---
root@linux06:~#

Chứng chỉ vẫn ổn (mặc dù nó sẽ hết hạn sớm; một số nội dung bị che khuất):

root@linux06:~# openssl x509 -text -in /etc/mosquitto/certs/mqtt.cer
Giấy chứng nhận:
    Dữ liệu:
        Phiên bản: 3 (0x2)
        Số seri:
            18:00:00:02:07:9a:37:38:09:44:97:a3:6c:00:01:00:00:02:07
        Thuật toán chữ ký: sha512WithRSAEencryption
        Tổ chức phát hành: DC = tổ chức, DC = đeo mặt nạ, DC = đeo mặt nạ, CN = đeo mặt nạ
        hiệu lực
            Không trước: 26 tháng 8 13:20:32 2019 GMT
            Không phải sau : 25 tháng 8 13:20:32 2021 GMT
        Chủ đề: C = DE, ST = NA, L = hư không, OU = đeo mặt nạ
        Thông tin khóa công khai chủ đề:
            Thuật toán khóa công khai: rsaEncryption
                Khóa công khai RSA: (4096 bit)
                Mô đun:
                    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:

Tôi đã tới giới hạn của mình rồi. Có ai có một ý tưởng tại sao điều này không thành công? Tôi đã xem qua cấu hình ví dụ, quyền của hệ thống tệp và các trang web. Nhưng tôi dường như không thể tìm ra lý do cho sự thất bại này.

Điểm:0
lá cờ au

chỉ thị

người nghe 8883

cần vào tệp ssl.conf. Điều đó giải quyết nó ngay lập tức.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.