Настройка защищенного подключения через протокол MQTT

Ниже описана процедура настройки защищенного соединения между брокером Mosquitto и клиентом по протоколу MQTT. В качестве клиентов могут выступать любые устройства с библиотекой MQTT.

Чтобы настроить SSL-шифрование на стороне брокера, нужно внести в файл конфигурации брокера mosquitto.conf (по умолчанию /etc/mosquitto/mosquitto.conf) указанные ниже изменения:

  • Откройте файл конфигурации с помощью следующей команды:

    $ sudo nano /etc/mosquitto/conf.d/mosquitto.conf
  • Добавьте в файл конфигурации следующую секцию параметров:

    . . .
    listener 1883 localhost
    
    listener 8883
    certfile /etc/encryption/cert.pem
    cafile /etc/ encryption /chain.pem
    keyfile /etc/ encryption /privkey.pem
  • Убедитесь, что в конце файла осталась пустая строка.

  • Закройте файл и сохраните изменения.

  • Перезапустите Mosquitto, чтобы обновить конфигурацию:

    $ sudo systemctl restart mosquitto
  • Обновите конфигурацию брандмауэра, чтобы разрешить подключения для порта 8883:

    $ sudo ufw allow 8883