Seu corretor MQTT pode ser público (veja como saber)

Seu corretor MQTT pode ser público (veja como saber)


Algumas postagens populares recentes do Home Assistant no Reddit revelaram que a casa inteligente de alguém que mora em Miami Gardens foi exposta à Internet. Outras pessoas poderiam desligar as luzes e até mesmo renomear seus dispositivos. Tudo isso se devia ao fato de seu corretor MQTT ser público e não seguro.

Veja como garantir que você não seja vítima do mesmo problema de segurança.

Sua casa inteligente precisa de um modo visitante, veja como configurar um

Um modo convidado dedicado é melhor para você e seus convidados.

Por que casas inteligentes usam MQTT

Comunicação eficiente para dispositivos inteligentes

Uma caixa de produto doméstico inteligente com uma etiqueta de produto com certificação zigbee. Crédito: Adam Davidson / How-To Geek

MQTT significa Transporte de Telemetria de Enfileiramento de Mensagens. O nome pode parecer confuso, mas o conceito é bastante simples. É um protocolo de mensagens leve que usa um modelo de publicação-assinatura. Um dispositivo “publica” mensagens e outro dispositivo pode “assinar” essas mensagens.

Por exemplo, um sensor de temperatura pode publicar a temperatura atual a cada dez minutos. Seu software de casa inteligente pode então assinar essas mensagens para descobrir qual é a leitura atual da temperatura.

A chave para este processo é o corretor MQTT. A corretora é responsável por receber as informações do editor e repassá-las aos respectivos assinantes. O editor e o assinante não precisam saber que o outro existe; o corretor MQTT se encarrega de garantir que as mensagens cheguem aonde precisam.

O MQTT é ideal para residências inteligentes porque é rápido, tem baixa largura de banda e pode ser executado em dispositivos simples, como sensores residenciais inteligentes ou microcontroladores. Por exemplo, no Home Assistant, você pode usar MQTT para permitir que seus dispositivos Zigbee passem informações para o servidor Home Assistant usando Zigbee2MQTT.

Como os corretores acabam expostos na internet

Evite usar um corretor MQTT público

A integração MQTT no Home Assistant em um computador desktop. Crédito: Adam Davidson / How-To Geek

Para que sua casa inteligente e seus dispositivos se comuniquem usando MQTT, você precisa executar um corretor MQTT que possa lidar com o trabalho de roteamento das mensagens. Isso é algo que deve ser executado localmente em sua casa, para que toda a comunicação entre seus sensores e sua casa inteligente ocorra em sua rede local.

No caso da pessoa em Miami Gardens, parece que em vez de criar seu próprio corretor MQTT, eles estavam usando um corretor MQTT público. Como esse corretor era acessível a qualquer pessoa com acesso à Internet, outras pessoas puderam enviar mensagens do corretor MQTT para a casa inteligente Miami Gardens. Com os comandos certos, qualquer pessoa poderia controlar os dispositivos domésticos inteligentes conectados, como ligar e desligar as luzes.

Não há nenhum motivo real para você precisar usar um corretor MQTT público para sua casa inteligente na maioria dos casos. Alguns guias podem mencionar isso para fins de teste, e pode ser isso que a pessoa em Miami Gardens fez. É possível que um chatbot de IA tenha regurgitado as informações erradas e aconselhado o usuário a usar um corretor MQTT público.

Para fins de clareza: não faça isso. Você deve sempre executar um broker MQTT localmente em seus próprios dispositivos. É incrivelmente leve; você poderia executar um corretor MQTT em um Raspberry Pi Zero se quisesse, então não há razão para não hospedar o seu próprio.

Framboesa Pi Zero 2 W, png

Marca

Framboesa Pi

CPU

ARM Cortex-A53 de 64 bits e quatro núcleos

O Raspberry Pi Zero 2 W é superpequeno e super acessível, mas possui poder de computação suficiente para uma variedade de projetos DIY. Você pode usá-lo para criar um console de jogos retrô portátil, para Klipper/Mainsail, um servidor doméstico ou de mídia super compacto e muito mais.


Como verificar se o seu corretor MQTT é acessível publicamente

Certifique-se de que seja local e não exposto

A maneira rápida de verificar se o seu corretor MQTT está exposto é tentar acessá-lo de fora da sua rede doméstica. Você pode desligar o Wi-Fi do telefone e usar um aplicativo como Explorador MQTTpassando seu endereço IP público e a porta 1883. Se você puder se conectar ao seu agente MQTT pela rede celular, seu agente MQTT será exposto.

No Home Assistant, verifique se o seu corretor MQTT está configurado com um endereço IP local em vez de um endereço da web público. Vá para Configurações > Dispositivos e serviçosabra o MQTT integração e clique no botão três pontos ícone. Selecione Reconfigurar. Certifique-se de que Corretor é definido como um endereço IP local ou nome de host interno e não como um URL externo. Você também deve certificar-se de ter uma senha forte configurada.

Se você administra seu próprio corretor MQTT (o que é absolutamente necessário), a maneira mais provável de ele ser exposto fora de sua casa é porque você configurou o encaminhamento de porta. Se você encaminhar a porta 1883 para o seu servidor doméstico, qualquer pessoa na Internet também poderá acessá-la. Isso também pode acontecer acidentalmente se você estiver usando recursos como Universal Plug and Play (UPnP).

Você pode ver se o seu corretor MQTT está exposto ao mundo exterior usando um serviço online como Shodan e fornecendo seu endereço IP público. Ele permite que você veja serviços expostos em seu IP público. Você também pode usar o nmap na linha de comando para obter um efeito semelhante.

Bloqueando seu corretor MQTT

Segurança é fundamental

Se você acidentalmente expor seu corretor MQTT e ele não for seguro, você poderá descobrir que estranhos do outro lado do mundo começarão a desligar suas luzes, ou pior. É por isso que é importante não permitir conexões anônimas; a boa notícia é que Integração MQTT no Home Assistant não suporta conexões anônimas.

Tente evitar o encaminhamento de porta também. Embora a porta de encaminhamento 1883 permita que você controle suas luzes remotamente, ela pode permitir que outras pessoas também o façam. Existem muitas outras opções mais seguras para acessar o Home Assistant remotamente. Você pode melhorar a segurança do seu corretor MQTT habilitando a criptografia TLS e usando a porta 8883.


Não deixe que outras pessoas apaguem suas luzes

Este é um exemplo incomum, mas mostra o que pode acontecer se você não configurar sua casa inteligente corretamente. Os usuários do Reddit não fizeram nada mais malicioso do que acender e apagar algumas luzes, mas os malfeitores poderiam fazer muito pior.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima