Práticas recomendadas de segurança para soluções de IoT
Esta visão geral apresenta os principais conceitos sobre como proteger uma solução típica do Azure IoT. Cada seção inclui links para conteúdo que fornece mais detalhes e orientações.
O diagrama a seguir mostra uma visão de alto nível dos componentes em uma solução de IoT típica. Este artigo se concentra na segurança de uma solução de IoT.
Você pode dividir a segurança em uma solução de IoT nas três áreas a seguir:
Segurança do dispositivo: proteja o dispositivo IoT enquanto ele é implantado na natureza.
Segurança da conexão: certifique-se de que todos os dados transmitidos entre o dispositivo IoT e os serviços de nuvem IoT sejam confidenciais e invioláveis.
Segurança na nuvem: proteja seus dados enquanto eles se movem e são armazenados na nuvem.
A implementação das recomendações neste artigo ajuda você a cumprir as obrigações de segurança descritas no modelo de responsabilidade compartilhada.
Microsoft Defender para a IoT
O Microsoft Defender para IoT pode monitorar automaticamente algumas das recomendações incluídas neste artigo. O Microsoft Defender for IoT deve ser a linha de frente da defesa para proteger seus recursos no Azure. O Microsoft Defender for IoT analisa periodicamente o estado de segurança dos seus recursos do Azure para identificar potenciais vulnerabilidades de segurança. Em seguida, fornece recomendações sobre como lidar com eles. Para saber mais, veja:
- Melhore a postura de segurança com recomendações de segurança.
- O que é o Microsoft Defender for IoT para organizações?.
- O que é o Microsoft Defender for IoT para construtores de dispositivos?.
Segurança dos dispositivos
Escopo de hardware para requisitos mínimos: Selecione o hardware do dispositivo para incluir os recursos mínimos necessários para sua operação, e nada mais. Por exemplo, inclua apenas portas USB se forem necessárias para o funcionamento do dispositivo na sua solução. Recursos extras podem expor o dispositivo a vetores de ataque indesejados.
Selecione hardware à prova de violação: selecione o hardware do dispositivo com mecanismos integrados para detetar adulterações físicas, como a abertura da tampa do dispositivo ou a remoção de uma parte do dispositivo. Esses sinais de violação podem fazer parte do fluxo de dados carregado na nuvem, o que pode alertar os operadores sobre esses eventos.
Selecione hardware seguro: se possível, escolha o hardware do dispositivo que inclua recursos de segurança, como armazenamento seguro e criptografado e funcionalidade de inicialização com base em um Trusted Platform Module. Esses recursos tornam os dispositivos mais seguros e ajudam a proteger a infraestrutura geral de IoT.
Ativar atualizações seguras: As atualizações de firmware durante a vida útil do dispositivo são inevitáveis. Crie dispositivos com caminhos seguros para atualizações e garantia criptográfica de 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 requer que você considere a segurança desde o início do projeto até a implementação, teste e implantação. O Ciclo de Vida de Desenvolvimento de Segurança da Microsoft fornece uma abordagem passo a passo para criar software seguro.
Use SDKs de dispositivo sempre que possível: os SDKs de dispositivo implementam vários recursos de segurança, como criptografia e autenticação, que ajudam a desenvolver aplicativos de dispositivo robustos e seguros. Para saber mais, consulte Azure IoT SDKs.
Escolha software de código aberto com cuidado: O software de código aberto oferece uma oportunidade para desenvolver soluções rapidamente. Ao escolher software de código aberto, considere o nível de atividade da comunidade para cada componente de código aberto. Uma comunidade ativa garante que o software é suportado e que os problemas são descobertos e resolvidos. Um projeto de software de código aberto obscuro e inativo pode não ser suportado e os problemas provavelmente não são descobertos.
Implante hardware com segurança: as implantações de IoT podem exigir que você implante hardware em locais não seguros, como espaços públicos ou localidades não supervisionadas. Nessas situações, certifique-se de que a implantação de hardware seja o mais inviolável possível. Por exemplo, se o hardware tiver portas USB, certifique-se de que estão cobertas de forma segura.
Mantenha as chaves de autenticação seguras: 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 usar qualquer chave comprometida para se passar por um dispositivo existente.
Mantenha o sistema atualizado: certifique-se de que os sistemas operacionais do dispositivo e todos os drivers de dispositivo sejam atualizados para as versões mais recentes. Manter os sistemas operacionais atualizados ajuda a garantir que eles estejam protegidos contra ataques mal-intencionados.
Proteja-se contra atividades maliciosas: Se o sistema operacional permitir, instale os recursos antivírus e antimalware mais recentes em cada sistema operacional do dispositivo.
Auditar com frequência: auditar a infraestrutura de IoT para problemas relacionados à segurança é fundamental ao responder a incidentes de segurança. A maioria dos sistemas operativos fornece registo de eventos incorporado que deve rever com frequência para se certificar de que não ocorreu qualquer 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 fornecer diretrizes de segurança e implantação, siga essas orientações além das diretrizes genéricas listadas neste artigo.
Use um gateway de campo para fornecer serviços de segurança para dispositivos herdados ou restritos: dispositivos herdados e restritos podem não ter a capacidade de criptografar dados, conectar-se à Internet ou fornecer auditoria avançada. 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. Os gateways de campo podem fornecer autenticação segura, negociação de sessões criptografadas, recebimento de comandos da nuvem e muitos outros recursos de segurança.
Segurança da Ligação
Use certificados X.509 para autenticar seus dispositivos no Hub IoT ou no IoT Central: o Hub IoT e o IoT Central suportam autenticação baseada em certificado X509 e tokens de segurança como métodos para autenticação de um dispositivo. Se possível, use a autenticação baseada em X509 em ambientes de produção, pois ela oferece maior segurança. Para saber mais, consulte Autenticando um dispositivo no Hub IoT e Conceitos de autenticação de dispositivo no IoT Central.
Use o Transport Layer Security (TLS) 1.2 para proteger conexões de dispositivos: o Hub IoT e o IoT Central usam TLS para proteger conexões de dispositivos e serviços IoT. Três versões do protocolo TLS são suportadas atualmente: 1.0, 1.1 e 1.2. TLS 1.0 e 1.1 são considerados legados. Para saber mais, consulte Autenticação e autorização.
Certifique-se de ter uma maneira de atualizar o certificado raiz TLS em seus dispositivos: os certificados raiz TLS são de longa duração, mas ainda podem expirar ou ser revogados. Se não houver nenhuma maneira de atualizar o certificado no dispositivo, o dispositivo pode não ser capaz de se conectar ao Hub IoT, IoT Central ou qualquer outro serviço de nuvem em uma data posterior.
Considere usar o Azure Private Link: o Azure Private Link permite conectar seus dispositivos a um ponto de extremidade privado em sua rede virtual, permitindo que você bloqueie o acesso aos pontos de extremidade voltados para dispositivos públicos do seu hub IoT. Para saber mais, consulte Ingressar conectividade com o Hub IoT usando o Azure Private Link e Segurança de rede para IoT Central usando pontos de extremidade privados.
Segurança da cloud
Siga uma metodologia de desenvolvimento de software seguro: O desenvolvimento de software seguro requer que você considere a segurança desde o início do projeto até a implementação, teste e implantação. O Ciclo de Vida de Desenvolvimento de Segurança da Microsoft fornece uma abordagem passo a passo para criar software seguro.
Escolha software de código aberto com cuidado: O software de código aberto oferece uma oportunidade para desenvolver soluções rapidamente. Ao escolher software de código aberto, considere o nível de atividade da comunidade para cada componente de código aberto. Uma comunidade ativa garante que o software é suportado e que os problemas são descobertos e resolvidos. Um projeto de software de código aberto obscuro e inativo pode não ser suportado e os problemas provavelmente não são descobertos.
Integre com cuidado: muitas falhas de segurança de software existem no limite de bibliotecas e APIs. A funcionalidade que pode não ser necessária para a implantação atual ainda pode estar disponível por meio de uma camada de API. Para garantir a segurança geral, certifique-se de verificar todas as interfaces dos componentes que estão sendo integrados quanto a falhas de segurança.
Proteja as credenciais da nuvem: um invasor pode usar as credenciais de autenticação na nuvem que você usa para configurar e operar sua implantação de IoT para obter acesso e comprometer seu sistema IoT. Proteja as credenciais alterando a senha com frequência e não use essas credenciais em máquinas públicas.
Definir controles de acesso para seu hub IoT: entenda e defina o tipo de acesso que cada componente em sua solução de Hub IoT precisa com base na funcionalidade necessária. Há duas maneiras de conceder permissões para que as APIs de serviço se conectem ao seu hub IoT: ID do Microsoft Entra ou assinaturas de Acesso Compartilhado. Se possível, use o Microsoft Entra ID em ambientes de produção, pois ele oferece maior segurança.
Definir controles de acesso para seu aplicativo IoT Central: entenda e defina o tipo de acesso que você habilita para seu aplicativo IoT Central. Para saber mais, veja:
Definir controles de acesso para serviços de back-end: outros serviços do Azure podem consumir os dados que seu hub IoT ou aplicativo IoT Central ingere de seus dispositivos. Você pode rotear mensagens de seus dispositivos para outros serviços do Azure. Entenda e configure as permissões de acesso apropriadas para o Hub IoT ou o IoT Central para se conectar a esses serviços. Para saber mais, veja:
- Ler mensagens do dispositivo para a nuvem a partir do ponto de extremidade integrado do Hub IoT
- Usar o roteamento de mensagens do Hub IoT para enviar mensagens do dispositivo para a 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 de IoT a partir da nuvem: monitore a integridade geral de sua solução de IoT usando as métricas do Hub IoT no Azure Monitor ou Monitore a integridade do aplicativo IoT Central.
Configurar diagnósticos: monitore suas operações registrando eventos em sua solução e enviando os logs de diagnóstico para o Azure Monitor. Para saber mais, consulte Monitorar e diagnosticar problemas em seu hub IoT.
Próximos passos
Para saber mais sobre segurança de IoT, consulte: