Melhores práticas de segurança para soluções IoT
Esta visão geral apresenta os principais conceitos para garantir a segurança de uma solução típica de Internet das Coisas do Azure. Cada seção inclui links para conteúdos que fornecem mais detalhes e diretrizes.
O diagrama a seguir mostra uma exibição de alto nível dos componentes em uma solução de IoT típica baseada em borda. O foco deste artigo é a segurança em uma solução IoT baseada em borda:
Você pode dividir a segurança em uma solução de IoT baseada em borda nas três áreas a seguir:
Segurança de ativos: proteja o item físico ou virtual de valor do qual você deseja gerenciar, monitorar e coletar dados.
Segurança de conexão: verifique se todos os dados em trânsito entre os serviços de ativo, borda e nuvem são confidenciais e à prova de adulteração.
Segurança de borda: proteja seus dados enquanto eles são movidos e armazenados no Edge.
Segurança da nuvem: proteger os dados enquanto eles são movidos pela nuvem e armazenados nela.
Normalmente, em uma solução baseada em borda, você deseja proteger suas operações de ponta a ponta usando recursos de segurança do Azure. As Operações IoT do Azure têm recursos de segurança internos, como gerenciamento de segredos, gerenciamento de certificados e configurações seguras em um cluster kubernetes habilitado para Azure Arc. Quando um cluster do Kubernetes está conectado ao Azure, uma conexão de saída com o Azure é iniciada, usando o SSL padrão do setor para proteger dados em trânsito e vários outros recursos de segurança são habilitados, como:
- Exibir e monitorar seus clusters usando o Azure Monitor para contêineres.
- Aplicar a proteção contra ameaças usando o Microsoft Defender para contêineres.
- Verificar governança por meio da aplicação de políticas com o Azure Policy para Kubernetes.
- Conceder acesso e conectar-se aos clusters do Kubernetes de qualquer lugar e gerenciar o acesso usando o RBAC do Azure (controle de acesso baseado em função do Azure) no cluster.
Microsoft Defender para IoT e para contêineres
O Microsoft Defender para IoT é uma solução de segurança unificada criada especificamente para identificar dispositivos IoT e OT (tecnologia operacional), vulnerabilidades e ameaças. O Microsoft Defender para contêineres é uma solução nativa da nuvem para melhorar, monitorar e manter a segurança de seus ativos conteinerizados (clusters do Kubernetes, nós do Kubernetes, cargas de trabalho do Kubernetes, registros de contêineres, imagens de contêineres e muito mais) e seus aplicativos, em ambientes multinuvem e locais.
O Defender para IoT e o Defender para contêineres podem monitorar automaticamente algumas das recomendações incluídas neste artigo. O Defender para IoT e o Defender para contêineres devem ser a linha de frente de defesa para proteger sua solução baseada em borda. Para obter mais informações, consulte:
- Microsoft Defender para contêineres ─ visão geral
- Microsoft Defender para IoT para organizações ─ visão geral
Segurança de ativos
Gerenciamento de segredos: use o Azure Key Vault para armazenar e gerenciar informações confidenciais do ativo, como chaves, senhas, certificados e segredos. As Operações do Azure IoT usa o Azure Key Vault como a solução de cofre gerenciado na nuvem e usa a extensão Repositório de segredos seguro do Azure Key Vault para Kubernetes para sincronizar os segredos da nuvem e armazená-los na borda como segredos do Kubernetes. Para saber mais, confira Gerenciar segredos para sua implantação de Operações do Azure IoT.
Gerenciamento de certificados: o gerenciamento de certificados é crucial para garantir a comunicação segura entre ativos e seu ambiente de runtime de borda. As Operações do Azure IoT fornecem ferramentas para gerenciar certificados, incluindo emissão, renovação e revogação de certificados. Para saber mais, consulte Gerenciamento de certificados para a comunicação interna das Operações do Azure IoT.
Selecione um hardware à prova de adulteração para ativos: opte por hardware de dispositivo com mecanismos integrados para detectar violações físicas, como a abertura da tampa ou a remoção de partes do dispositivo. Esses sinais de violação podem fazer parte do fluxo de dados carregado na nuvem, alertando os operadores sobre tais eventos.
Habilitar atualizações seguras para firmware de ativos: use serviços que habilitam atualizações no ar para seus ativos. Crie ativos com caminhos seguros para atualizações e garantia criptográfica de versões de firmware para proteger seus ativos durante e após as atualizações.
Implantar hardware de ativo com segurança: verifique se a implantação de hardware de ativo é o mais à prova de adulteração possível, especialmente em locais não seguros, como espaços públicos ou localidades não supervisionadas. Habilite apenas os recursos necessários para minimizar o volume de ataque físico, como cobrir portas USB com segurança se elas não forem necessárias.
Siga as práticas recomendadas de segurança e implantação do fabricante do dispositivo: se o fabricante do dispositivo oferece diretrizes de segurança e implantação, siga essas recomendações além das diretrizes genéricas mencionadas neste artigo.
Segurança da conexão
Use o TLS (Transport Layer Security) para proteger conexões de ativos: toda a comunicação dentro das Operações de IoT do Azure é criptografada usando TLS. Para fornecer uma experiência segura por padrão que minimiza a exposição inadvertida de sua solução baseada em borda para invasores, as Operações IoT do Azure são implantadas com uma AC raiz padrão e um emissor para certificados de servidor TLS. Para uma implantação de produção, recomendamos usar seu próprio emissor de autoridade de certificação e uma solução PKI corporativa.
Considere usar firewalls ou proxies corporativos para gerenciar o tráfegode saída: se você usar firewalls ou proxies corporativos, adicione os pontos de extremidade das Operações de IoT do Azure à sua lista de permissões.
Criptografar o tráfego interno do agente de mensagens: garantir a segurança das comunicações internas em sua infraestrutura de borda é importante para manter a integridade e a confidencialidade dos dados. Configure o Agente MQTT para criptografar o tráfego interno e os dados em trânsito entre os pods de front-end e back-end do Agente MQTT. Para saber mais, consulte Configurar a criptografia de tráfego interno do agente e certificados internos.
Configurar o TLS com o gerenciamento automático de certificados para ouvintes em seu Agente MQTT: as Operações do Azure IoT fornecem gerenciamento automático de certificados para ouvintes em seu agente MQTT. Isso reduz a sobrecarga administrativa do gerenciamento manual de certificados, garante renovações oportunas e ajuda a manter a conformidade com as políticas de segurança. Para saber mais, confira Proteger a comunicação do Agente MQTT usando o BrokerListener.
Configure uma conexão segura com o servidor OPC UA: ao se conectar a um servidor OPC UA, determine com quais servidores OPC você confia para estabelecer com segurança uma sessão. Para saber mais, confira Configurar a infraestrutura de certificados OPC UA para o conector OPC UA.
Segurança de borda
Mantenha o ambiente de runtime de borda atualizado: mantenha sua implantação de cluster e das Operações de IoT do Azure atualizadas com os patches mais recentes e versões secundárias para obter todas as correções de segurança e bug disponíveis. Para implantações de produção, desative a atualização automática do Azure Arc para ter controle total sobre quando novas atualizações são aplicadas ao cluster. Em vez disso, atualize manualmente os agentes conforme necessário.
Verifique a integridade das imagens do Docker e do Helm: antes de implantar qualquer imagem no cluster, verifique se a imagem está assinada pela Microsoft. Para saber mais, confira Validar assinatura de imagem.
Sempre use certificados X.509 ou tokens de conta de serviço do Kubernetes para autenticação com seu Agente MQTT: um Agente MQTT dá suporte a vários métodos de autenticação para clientes. Você pode definir cada porta de ouvinte para ter suas configurações de autenticação com um recurso BrokerAuthentication. Para saber mais, consulte Configurar a autenticação do Agente MQTT.
Forneça o privilégio mínimo necessário para o ativo de tópico em seu Agente MQTT: as políticas de autorização determinam quais ações os clientes podem executar no agente, como conectar, publicar ou assinar tópicos. Configure o agente MQTT para usar uma ou várias políticas de autorização com o recurso BrokerAuthorization. Para saber mais, consulte Configurar a autorização do Agente MQTT.
Configurar ambientes de rede isolados usando o Gerenciamento de Rede em Camadas da Internet das Coisas do Azure (versão prévia): o Gerenciamento de Rede em Camadas da Internet das Coisas do Azure (versão prévia) é um componente que facilita a conexão entre o Azure e clusters em ambientes de rede isolados. Em cenários industriais, a rede isolada segue o ISA-95/Arquitetura de rede Purdue. Para saber mais, confira O que é o Gerenciamento de Rede em Camadas da Internet das Coisas do Azure (versão prévia)?.
Segurança na nuvem
Use identidades gerenciadas atribuídas pelo usuário para conexões de nuvem: sempre use a autenticação de identidade gerenciada. Quando possível, use a identidade gerenciada atribuída pelo usuário em pontos de extremidade de fluxo de dados para flexibilidade e auditabilidade.
Implantar recursos de observabilidade e configurar logs: a observabilidade fornece visibilidade em cada camada da configuração das Operações de IoT do Azure. Ele fornece informações sobre o comportamento real dos problemas, o que aumenta a eficácia da engenharia de confiabilidade do site. As Operações do Azure IoT oferecem observabilidade por meio de painéis personalizados do Grafana hospedados no Azure. Esses painéis são alimentados pelo serviço gerenciado do Azure Monitor para Prometheus e pelo Container Insights. Implante recursos de observabilidade em seu cluster antes de implantar as Operações de IoT do Azure.
Acesso seguro a ativos e pontos de extremidade de ativos com o RBAC do Azure: ativos e pontos de extremidade de ativos nas Operações do Azure IoT têm representações no cluster do Kubernetes e no portal do Azure. Use o RBAC do Azure para proteger o acesso a esses recursos. O RBAC do Azure é um sistema de autorização que permite gerenciar o acesso aos recursos do Azure. Você pode usar o RBAC do Azure para conceder permissões a usuários, grupos e aplicativos em um determinado escopo. Para saber mais, confira Acesso seguro a ativos e pontos de extremidade de ativos.
Próximas etapas
Para saber mais sobre a segurança da IoT, confira: