Những thử nghiệm bảo mật đơn giản nào tôi có thể thực hiện trên mạng MQTT của mình?


13

Tôi sắp thiết lập một mạng MQTT tại nhà. Tôi muốn xây dựng một số kiến ​​thức bằng các bài tập thực tế. Đó sẽ là một mạng nhỏ với nhà môi giới được lưu trữ trên máy tính xách tay của tôi (Windows 7) và một số máy khách chạy Raspberry Pi. Ngoài ra tôi đang suy nghĩ về việc tạo một ứng dụng khách trên điện thoại của mình (Android).

Mục tiêu của tôi là có một mạng đơn giản để tôi có thể thử nghiệm và tôi muốn thực hiện một số thử nghiệm bảo mật, thử nghiệm trước.

Tôi đã tìm thấy Bộ kiểm tra máy chủ MQTT được thiết kế để hoạt động như một máy khách MQTT độc hại. Nó là khá hứa hẹn để bắt đầu với.

Công cụ kiểm tra tính năng chung

  • Kiểm tra âm tính hộp đen hoàn toàn tự động
  • Các trường hợp kiểm tra làm sẵn
  • Viết bằng Java (tm)
  • GUI, dòng lệnh, chế độ giao diện từ xa
  • Khả năng của thiết bị (kiểm tra sức khỏe)
  • Hỗ trợ và bảo trì
  • Tài liệu người dùng toàn diện
  • Báo cáo kết quả và phân tích

Nhưng tôi cũng quan tâm đến một số thực tiễn đơn giản hơn mà tôi có thể sử dụng để xác minh các tính năng bảo mật MQTT. Những cách đơn giản nhất để người mới bắt đầu thực hiện một số xác minh bảo mật cơ bản trên mạng MQTT là gì?

Câu trả lời:


12

Một số ý tưởng - Tôi chưa bao gồm tất cả các kết hợp có / không có tên người dùng / TLS, hy vọng bạn có thể thấy nơi họ đang thiếu.

Một khách hàng có thể kết nối ẩn danh, không có TLS?

mosquitto_sub -t test/topic -h <broker address>

Khách hàng có thể kết nối nếu nó cung cấp tên người dùng nhưng không có mật khẩu, không có TLS không?

mosquitto_sub -t test/topic -u <username> -h <broker address>

Khách hàng có thể kết nối nếu nó cung cấp tên người dùng và mật khẩu (chính xác hay không), không có TLS?

mosquitto_sub -t test/topic -u <username> -P <password> -h <broker address>

Khách hàng có thể đăng ký $SYSchủ đề và xem thông tin về nhà môi giới không?

mosquitto_sub -t '$SYS/#' -v -h <broker address>

Khách hàng có thể kết nối bằng TLS không?

mosquitto_sub -t test/topic -h <broker address> -p 8883 --capath /etc/ssl/certs

Một khách hàng có thể đăng ký tất cả các chủ đề? Nó thấy gì?

mosquitto_sub -t '#' -v

Lặp lại tất cả các điều trên khi xuất bản là tốt.


5

Có thể nói rõ ràng, nhưng tôi nghĩ điều quan trọng là phải nhấn mạnh rằng người mới bắt đầu không thể mong đợi xây dựng một mạng an toàn. Không có gì sai với việc học mặc dù.

Có vẻ như bảo mật chính trong MQTT được triển khai ở lớp vận chuyển, do đó, đó phải là trọng tâm của bạn cho bảo mật thực sự.

Tôi sẽ ngạc nhiên nếu bất kỳ bộ kiểm tra tự động nào có thể sao chép khả năng của một chuyên gia để tìm ra lỗ hổng trong việc thực hiện giao thức của bạn.


4
Tôi không mong đợi một mạng hoàn toàn an toàn. Tôi chỉ muốn chạy kiểm tra độ tỉnh táo, vì vậy thử nghiệm rất cơ bản để thấy rằng tôi có một cái gì đó để bắt đầu.
Bence Kaulics
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.