Які прості тести безпеки я можу виконати в моїй мережі 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
Я не очікую повністю захищеної мережі. Мені хочеться лише перевірити санітарність, тому дуже просте тестування, щоб побачити, з чого я маю почати.
Бенс Каулікс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.