การทดสอบความปลอดภัยอย่างง่าย ๆ ที่ฉันสามารถทำได้บนเครือข่าย MQTT ของฉันคืออะไร


13

ฉันกำลังจะตั้งค่าเครือข่าย MQTT ที่บ้าน ฉันต้องการสร้างความรู้ด้วยการฝึกปฏิบัติ มันจะเป็นเครือข่ายขนาดเล็กที่มีนายหน้าโฮสต์ไว้ในแล็ปท็อปของฉัน (Windows 7) และไคลเอนต์ Raspberry Pi บางคนขับเคลื่อน นอกจากนี้ฉันกำลังคิดเกี่ยวกับการสร้างลูกค้าบนโทรศัพท์ของฉัน (Android)

เป้าหมายของฉันคือมีเครือข่ายง่าย ๆ ที่ฉันสามารถทดลองได้และฉันต้องการทำการทดสอบความปลอดภัยโดยทดลองก่อน

ฉันพบชุดทดสอบเซิร์ฟเวอร์ MQTTซึ่งออกแบบมาเพื่อทำหน้าที่เป็นไคลเอนต์ MQTT ที่เป็นอันตราย มันค่อนข้างจะสัญญาว่าจะเริ่มต้นด้วย

เครื่องมือทดสอบคุณสมบัติทั่วไป

  • การทดสอบเชิงลบกล่องดำอัตโนมัติเต็มรูปแบบ
  • กรณีทดสอบสำเร็จรูป
  • เขียนใน Java (tm)
  • GUI, บรรทัดคำสั่ง, โหมดอินเตอร์เฟสระยะไกล
  • ความสามารถในการใช้เครื่องมือ (การตรวจสุขภาพ)
  • สนับสนุนและบำรุงรักษา
  • เอกสารประกอบสำหรับผู้ใช้ที่ครอบคลุม
  • การรายงานและการวิเคราะห์ผลลัพธ์

แต่ฉันก็สนใจวิธีปฏิบัติง่ายๆที่ฉันสามารถใช้เพื่อตรวจสอบคุณสมบัติความปลอดภัยของ MQTT วิธีที่ง่ายที่สุดสำหรับผู้เริ่มต้นในการตรวจสอบความปลอดภัยขั้นพื้นฐานบนเครือข่าย MQTT คืออะไร?

คำตอบ:


12

แนวคิดบางอย่าง - ฉันไม่ได้ครอบคลุมชุดค่าผสมโดยมี / ไม่มีชื่อผู้ใช้ / TLS หวังว่าคุณจะเห็นว่าหายไปไหน

ไคลเอนต์สามารถเชื่อมต่อโดยไม่ระบุชื่อไม่มี TLS หรือไม่

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

ลูกค้าสามารถเชื่อมต่อได้หรือไม่หากมีชื่อผู้ใช้ แต่ไม่มีรหัสผ่านไม่มี TLS

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

ลูกค้าสามารถเชื่อมต่อได้หรือไม่หากมีชื่อผู้ใช้และรหัสผ่าน (ถูกต้องหรือไม่) ไม่มี TLS

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

ลูกค้าสามารถสมัครเป็นสมาชิกของ$SYSหัวข้อและดูข้อมูลเกี่ยวกับนายหน้าได้หรือไม่?

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

ลูกค้าสามารถเชื่อมต่อโดยใช้ TLS ได้หรือไม่?

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

ลูกค้าสามารถสมัครสมาชิกทุกหัวข้อได้หรือไม่? มันเห็นอะไร

mosquitto_sub -t '#' -v

ทำซ้ำทั้งหมดข้างต้นเมื่อเผยแพร่เช่นกัน


5

อาจระบุชัดเจน แต่ฉันคิดว่ามันเป็นสิ่งสำคัญที่จะเน้นว่าผู้เริ่มต้นไม่สามารถคาดหวังที่จะสร้างเครือข่ายที่ปลอดภัย ไม่มีอะไรผิดปกติกับการเรียนรู้

ดูเหมือนว่าการรักษาความปลอดภัยหลักใน MQTT นั้นจะถูกนำไปใช้ที่เลเยอร์การขนส่งดังนั้นคุณควรให้ความสำคัญกับความปลอดภัยที่แท้จริง

ฉันจะประหลาดใจถ้าชุดทดสอบอัตโนมัติใด ๆ จะสามารถทำซ้ำความสามารถของผู้เชี่ยวชาญเพื่อค้นหาช่องโหว่ในการใช้โปรโตคอลของคุณ


4
ฉันไม่ได้คาดหวังว่าเครือข่ายที่ปลอดภัยอย่างสมบูรณ์ ฉันแค่ต้องการเรียกใช้การตรวจสอบสติดังนั้นการทดสอบขั้นพื้นฐานมากเพื่อดูว่าฉันมีบางอย่างเริ่มต้นด้วย
Bence Kaulics
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.