MQTT broker with a TLS-only listener, password authentication and topic ACLs
CIS Level 1 hardened Ubuntu 24.04 LTS image by Lynxroute · unique credentials at first boot · CVE-scanned · SBOM and CIS report inside
| Cloud | Version | Software price | Last build | |
|---|---|---|---|---|
| Azure Marketplace VM image · plan payg-gen2 · Gen2 | 2.1.2 | $0.028/vCPU/hr Recommended VM: Standard_D2s_v3 | 2026-08-17 | Listing ↗ |
Software price only; cloud infrastructure is billed separately by the provider. Prices in USD.
| Base OS | Ubuntu 24.04 LTS |
| Hardening | CIS Level 1, Ubuntu 24.04 LTS (tailored) |
| License | EPL-2.0 OR BSD-3-Clause |
| Upstream | Eclipse Foundation AISBL |
| Machine-readable | product.json · catalog.json |
Eclipse Mosquitto is an open-source message broker implementing MQTT 5.0, 3.1.1 and 3.1 - the lightweight publish/subscribe protocol that most IoT devices, industrial sensors, home-automation controllers and telemetry pipelines speak. Publishers send messages to a topic, subscribers receive everything on the topics they care about, and the broker keeps track in between. It is a single small C daemon with no database, no cache and no runtime to manage, which is why it runs equally well on a gateway at the edge and as the central broker for a fleet. Feature set: QoS levels 0, 1 and 2, retained messages, last-will-and-testament notifications, shared subscriptions, topic aliases, per-topic access control, and persistent sessions that queue messages for devices while they are offline. It persists retained and queued messages to local disk, so a restart does not lose them. Any standard MQTT client works with it - Paho, MQTT.js, HiveMQ clients, Home Assistant, Node-RED, Telegraf, and the mosquitto_pub / mosquitto_sub tools included in this image. EPL-2.0 OR BSD-3-Clause license, no vendor lock-in.
Security hardening:
OS hardening (CIS Level 1):
Compliance artifacts:
Eclipse and Mosquitto are trademarks of Eclipse Foundation AISBL.
Credentials are generated at first boot and written to /root/mosquitto-credentials.txt.
# accept the plan terms once, then:
az vm image terms accept --publisher lynxroute --offer mosquitto --plan payg-gen2
az vm create -g my-rg -n mosquitto --size Standard_D2s_v3 \
--image lynxroute:mosquitto:payg-gen2:latest --admin-username azureuser --generate-ssh-keys
The most recent release with notes; the full release history is in product.json.