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 típica de IoT. O foco deste artigo é a segurança em uma solução IoT.
Você pode dividir a segurança em uma solução de IoT nas três áreas a seguir:
Segurança do dispositivo: proteger o dispositivo IoT enquanto ele é implantado para o público geral.
Segurança da conexão: garantir que todos os dados transmitidos entre o dispositivo IoT e os serviço de nuvem IoT sejam confidenciais e à prova de adulteração.
Segurança da nuvem: proteger os dados enquanto eles são movidos pela nuvem e armazenados nela.
Implementar as recomendações apresentadas aqui ajuda você a cumprir as obrigações de segurança descritas no modelo de responsabilidade compartilhada.
Microsoft Defender para IoT
O Microsoft Defender para IoT pode monitorar automaticamente algumas das recomendações incluídas neste artigo. O Microsoft Defender para IoT deve ser a linha de frente de defesa para proteger seus recursos no Azure. O Microsoft Defender para IoT analisa periodicamente o estado de segurança dos seus recursos do Azure para identificar possíveis vulnerabilidades na segurança. Em seguida, ela fornece recomendações sobre como solucioná-las. Para obter mais informações, consulte:
- Aprimorar a postura de segurança com recomendações de segurança.
- O que é o Microsoft Defender para IoT para organizações?.
- O que é o Microsoft Defender para IoT para fabricantes de dispositivos?.
Segurança do dispositivo
Adeque o hardware aos requisitos mínimos: selecione seu dispositivo de hardware incluindo apenas os recursos mínimos necessários para a operação e nada mais. Por exemplo, inclua portas USB somente se forem necessárias para o funcionamento do dispositivo em sua solução. Funcionalidades extras podem expor o dispositivo a vetores de ataque indesejados.
Selecione um hardware à prova de adulteração: 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, o que poderia alertar os operadores sobre tais eventos.
Escolha um hardware seguro: se possível, prefira hardware de dispositivo que ofereça recursos de segurança, como armazenamento seguro e criptografado, bem como funcionalidade de inicialização baseada em um Módulo de Plataforma Confiável. Esses recursos tornam os dispositivos mais seguros e ajudam a proteger a infraestrutura geral de IoT.
Ative atualizações seguras: atualizações de firmware ao longo da vida útil do dispositivo são inevitáveis. Desenvolva dispositivos com caminhos seguros para atualizações e garantia criptográfica das versões de firmware para proteger seus dispositivos durante e após as atualizações.
Siga uma metodologia de desenvolvimento de software seguro: o desenvolvimento de software seguro exige que você considere a segurança desde a concepção do projeto até sua implementação, teste e implantação. O Microsoft Security Development Lifecycle fornece uma abordagem passo a passo para a criação de software seguro.
Use SDKs de dispositivos sempre que possível: os SDKs de dispositivos implementam diversas funcionalidades de segurança, como criptografia e autenticação, que auxiliam no desenvolvimento de aplicativos robustos e seguros para os dispositivos. Para saber mais, confira SDKs da Internet das Coisas do Azure.
Escolher software livre com cuidado: software livre fornece uma oportunidade o rápido desenvolvimento de soluções. Ao escolher o software livre, considere o nível de atividade da comunidade para cada componente de software livre. Uma comunidade ativa garante que existirá suporte para o software e que os problemas serão descobertos e tratados. Um projeto de software de código aberto obscuro e inativo poderá não ter suporte e os problemas provavelmente não serão descobertos.
Implantar o hardware com segurança: implantações de IoT podem exigir que você implante hardwares em locais não seguros, como espaços públicos ou localidades sem supervisão. Nestes casos, é essencial que a implantação do hardware seja o mais resistente a adulterações possível. Por exemplo, se o hardware possui portas USB, verifique se estão devidamente protegidas.
Manter as chaves de autenticação em segurança: durante a implantação, cada dispositivo requer IDs de dispositivo e chaves de autenticação associadas geradas pelo serviço de nuvem. Mantenha essas chaves fisicamente seguras mesmo após a implantação. Um dispositivo mal-intencionado pode utilizar qualquer chave comprometida para se passar por um dispositivo legítimo.
Manter o sistema atualizado: verifique se todos os sistemas operacionais e drivers do dispositivo estão atualizados para as versões mais recentes. Manter os sistemas operacionais atualizados é crucial para protegê-los contra ataques maliciosos.
Proteger contra atividades mal-intencionadas: se o sistema operacional permitir, instale as funcionalidades antivírus e antimalware mais recentes em cada sistema operacional do dispositivo.
Auditar frequentemente: auditar problemas relacionados à infraestrutura de IoT é essencial ao responder a incidentes de segurança. A maioria dos sistemas operacionais fornece um sistema de log de eventos integrado que deve ser analisado com frequência para certificar-se de que não ocorreu nenhuma violação de segurança. Um dispositivo pode enviar informações de auditoria como um fluxo de telemetria separado para o serviço de nuvem, onde podem ser analisadas.
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.
Use um gateway de campo para fornecer serviços de segurança para dispositivos herdados ou com limitações: talvez os dispositivos herdados e com restrições não tenham a capacidade de criptografar dados, conectar-se à internet ou realizar auditorias avançadas. Nesses casos, um gateway de campo moderno e seguro pode agregar dados de dispositivos herdados e fornecer a segurança necessária para conectar esses dispositivos pela Internet. Gateways de campo fornecem autenticação segura, negociação de sessões criptografadas, recebimento de comandos da nuvem e muitos outros recursos de segurança.
Segurança da conexão
Use certificados X.509 para autenticar seus dispositivos no Hub IoT ou no IoT Central: o Hub IoT e o IoT Central oferecem suporte a autenticações baseada em certificados X.509 e tokens de segurança como métodos para um dispositivo se autenticar. Se possível, prefira usar a autenticação baseada em X509 em ambientes de produção, pois ela fornece maior segurança. Para aprender mais, veja Como autenticar um dispositivo no Hub IoT e Conceitos de autenticação de dispositivo no IoT Central.
Utilize o protocolo TLS 1.2 para proteger as conexões dos dispositivos: o Hub IoT e o IoT Central utilizam o TLS para proteger as conexões de dispositivos e serviços IoT. Atualmente, três versões do protocolo TLS são suportadas: 1.0, 1.1 e 1.2. As versões TLS 1.0 e 1.1 são consideradas obsoletas. Para saber mais, confira Autenticação e autorização.
Certifique-se de que existe um método para atualizar o certificado raiz TLS em seus dispositivos: certificados raiz TLS têm longa validade, mas, ainda assim, podem expirar ou ser revogados. Se não for possível atualizar o certificado no dispositivo, talvez o dispositivo não consiga se conectar ao Hub IoT, ao IoT Central ou a outros serviços na nuvem futuramente.
Considere usar o Link Privado do Azure: O Link Privado do Azure permite conectar os dispositivos a um ponto de extremidade privado na sua rede virtual, o que possibilita o bloqueio do acesso aos pontos de extremidade públicos do seu hub IoT voltado para dispositivos. Para mais informações, confira a Conectividade de entrada para o Hub IoT usando o Link Privado do Azure e Segurança de rede no IoT Central usando pontos de extremidade privados.
Segurança na nuvem
Siga uma metodologia de desenvolvimento de software seguro: o desenvolvimento de software seguro exige que você considere a segurança desde a concepção do projeto até sua implementação, teste e implantação. O Microsoft Security Development Lifecycle fornece uma abordagem passo a passo para a criação de software seguro.
Escolher software livre com cuidado: software livre fornece uma oportunidade o rápido desenvolvimento de soluções. Ao escolher o software livre, considere o nível de atividade da comunidade para cada componente de software livre. Uma comunidade ativa garante que existirá suporte para o software e que os problemas serão descobertos e tratados. Um projeto de software de código aberto obscuro e inativo poderá não ter suporte e os problemas provavelmente não serão descobertos.
Integrar com cuidado: há muitas das falhas de segurança de software no limite de bibliotecas e APIs. Funcionalidades que podem não ser necessárias para a implantação atual ainda podem estar disponíveis por meio de uma camada de API. Para garantir a segurança geral, certifique-se de verificar todas as interfaces de componentes sendo integradas para ver se há falhas de segurança.
Proteja as credenciais de nuvem: um invasor pode utilizar as credenciais de autenticação na nuvem que você usa para configurar e gerenciar sua implantação IoT para acessar e comprometer seu sistema IoT. Proteja as credenciais alterando a senha regularmente e evite usar essas credenciais em computadores públicos.
Defina controles de acesso para o Hub IoT: compreenda e defina o tipo de acesso necessário para cada componente na sua solução Hub IoT, com base nas funcionalidades exigidas. Existem duas formas de conceder permissões para as APIs de serviço se conectarem ao seu Hub IoT: Microsoft Entra ID ou Assinaturas de Acesso Compartilhado. Se possível, use o Microsoft Entra ID em ambientes de produção, pois ele oferece maior segurança.
Estabeleça controles de acesso para o aplicativo IoT Central: compreenda e defina o tipo de acesso permitido no aplicativo IoT Central. Para obter mais informações, consulte:
Defina controles de acesso para serviços de back-end: outros serviços do Azure podem usar os dados que o seu Hub IoT ou aplicativo IoT Central ingerem dos seus dispositivos. Você pode rotear mensagens dos seus dispositivos para outros serviços do Azure. Entenda e configure as permissões de acesso adequadas para o Hub IoT ou o IoT Central se conectem a esses serviços. Para obter mais informações, consulte:
- Ler mensagens de dispositivo para nuvem do ponto de extremidade interno do Hub IoT
- Usar o roteamento de mensagens do Hub IoT para enviar mensagens de dispositivo para nuvem para diferentes pontos de extremidade
- Exportar dados do IoT Central
- Exportar dados do IoT Central para um destino seguro em uma Rede Virtual do Azure
Monitore sua solução IoT a partir da nuvem: acompanhe a integridade geral da sua solução IoT utilizando as métricas do hub IoT no Azure Monitor ou Monitore a integridade do aplicativo IoT Central.
Configure diagnósticos: monitore suas operações registrando em log os eventos na solução e, em seguida, enviando os logs de diagnóstico para o Azure Monitor. Para aprender mais, veja Monitorar e diagnosticar problemas no Hub IoT.
Próximas etapas
Para saber mais sobre a segurança da IoT, confira: