Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
IoT Edge 1.5
Importante
O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar IoT Edge.
O Azure IoT Edge para Linux no Windows usa todos os recursos de segurança de um host de cliente ou servidor Windows e garante que todos os componentes extras sigam os mesmos princípios de segurança. Este artigo explica os diferentes princípios de segurança habilitados por padrão e alguns princípios opcionais que você pode habilitar.
Segurança da máquina virtual
A máquina virtual com curadoria do IoT Edge para Linux (EFLOW) é baseada no Microsoft Azure Linux. O Azure Linux é uma distribuição Linux interna para a infraestrutura de nuvem, produtos de borda e serviços da Microsoft. O Azure Linux fornece uma plataforma consistente para esses dispositivos e serviços e ajuda a Microsoft a se manter atualizada sobre as atualizações do Linux. Para obter mais informações, consulte Segurança do Linux do Azure.
A máquina virtual EFLOW usa uma plataforma de segurança abrangente de quatro pontos:
- Atualizações de manutenção
- Sistema de arquivos raiz somente leitura
- Bloqueio de firewall
- DM-Verity
Atualizações de manutenção
Quando surgem vulnerabilidades de segurança, o Azure Linux fornece os patches e correções de segurança mais recentes através de atualizações mensais EFLOW. A máquina virtual não tem um gerenciador de pacotes, portanto, você não pode baixar ou instalar pacotes RPM manualmente. O EFLOW instala todas as atualizações na máquina virtual usando o mecanismo de atualização A/B. Para obter mais informações sobre atualizações EFLOW, consulte Atualizar o IoT Edge para Linux no Windows.
Sistema de arquivos raiz somente leitura
A máquina virtual EFLOW tem duas partições principais: rootfs e data. As partições rootFS-A ou rootFS-B são intercambiáveis, e uma é montada como um sistema de arquivos somente leitura em /, portanto, você não pode alterar arquivos nessa partição. A partição de dados , montada em /var, é legível e gravável, para que você possa alterar seu conteúdo. O processo de atualização não altera os dados armazenados nesta partição, por isso não é modificado entre atualizações.
Como você pode precisar de acesso de gravação para /etc, /home, /roote /var para casos de uso específicos, o EFLOW sobrepõe esses diretórios na partição de dados em /var/.eflow/overlays para fornecer acesso de gravação. Essa configuração permite que você escreva nesses diretórios. Para obter mais informações sobre sobreposições, consulte sobreposições.
| Partição | Tamanho | Descrição |
|---|---|---|
| BootEFIA | 8 MB | Partição de firmware A para futura inicialização GRUBless |
| BootA | 192 MB | Contém o carregador de inicialização para uma partição |
| RootFS A | 4 GB | Uma das duas partições ativas/passivas que mantêm o sistema de arquivos raiz |
| BootEFIB | 8 MB | Partição de firmware B para futura inicialização GRUBless |
| Bota | 192 MB | Contém o carregador de inicialização para a partição B |
| RootFS B | 4 GB | Uma das duas partições ativas/passivas que mantêm o sistema de arquivos raiz |
| Registo | 1 GB ou 6 GB | Registra partição específica montada em /logs |
| Dados | 2 GB a 2 TB | Partição com estado para armazenar dados persistentes em atualizações. Expansível de acordo com a configuração de implantação. |
Nota
O layout da partição representa o tamanho do disco lógico e não indica o espaço físico que a máquina virtual usa no disco do sistema operacional host.
Barreira de Fogo
Por padrão, a máquina virtual EFLOW usa o utilitário iptables para configurações de firewall. O Iptables configura, mantém e inspeciona as tabelas de regras de filtro de pacotes IP no kernel Linux. A implementação padrão permite o tráfego de entrada na porta 22 (serviço SSH) e bloqueia outro tráfego. Verifique a configuração do iptables com as seguintes etapas:
Abrir uma sessão elevada do PowerShell
Conectar-se à máquina virtual EFLOW
Connect-EflowVmListar todas as regras iptables
sudo iptables -L
Inicialização verificada
A máquina virtual EFLOW suporta inicialização verificada através do recurso de kernel device-mapper-verity (dm-verity) incluído, que fornece verificação de integridade transparente de dispositivos de bloco. O DM-Verity ajuda a evitar rootkits persistentes que podem manter privilégios de raiz e comprometer dispositivos. Esse recurso garante que a imagem do software base da máquina virtual seja a mesma e não seja alterada. A máquina virtual usa o recurso dm-verity para verificar um dispositivo de bloco específico, a camada de armazenamento subjacente do sistema de arquivos e ver se ele corresponde à configuração esperada.
Por padrão, esse recurso está desabilitado na máquina virtual, mas você pode ativá-lo ou desativá-lo. Para obter mais informações, consulte dm-verity.
Módulo de plataforma confiável (TPM)
A tecnologia TPM (Trusted Platform Module) foi concebida para fornecer funções relacionadas com segurança baseadas em hardware. Um chip TPM é um criptoprocessador seguro projetado para realizar operações criptográficas. O chip inclui vários mecanismos de segurança física para torná-lo resistente a adulterações, e o software mal-intencionado é incapaz de adulterar as funções de segurança do TPM.
A máquina virtual EFLOW não suporta vTPM. No entanto, você pode habilitar ou desabilitar o recurso de passagem TPM, que permite que a máquina virtual EFLOW use o TPM do sistema operacional host Windows. Isso permite que você faça dois cenários principais:
- Use a tecnologia TPM para provisionamento de dispositivos IoT Edge com o Device Provision Service (DPS). Para obter mais informações, consulte Criar e provisionar um IoT Edge para Linux em dispositivo Windows em escala usando um TPM.
- Acesso somente leitura a chaves criptográficas armazenadas no TPM. Para obter mais informações, consulte Set-EflowVmFeature para habilitar a passagem do TPM.
Comunicação segura entre host e máquina virtual
O EFLOW permite que você interaja com a máquina virtual usando um módulo do PowerShell. Para obter mais informações, consulte Funções do PowerShell para IoT Edge para Linux no Windows. Este módulo precisa de uma sessão elevada para ser executado e está assinado com um certificado da Microsoft Corporation.
Toda a comunicação entre o sistema operacional host Windows e a máquina virtual EFLOW de que os cmdlets do PowerShell precisam usa um canal SSH. Por padrão, o serviço SSH da máquina virtual não permite que você se autentique com um nome de usuário e senha e só permite a autenticação de certificado. O certificado é criado durante o processo de implantação do EFLOW e é exclusivo para cada instalação do EFLOW. Para ajudar a evitar ataques de força bruta SSH, a máquina virtual bloqueia um endereço IP se tentar mais de três conexões por minuto com o serviço SSH.
Na versão EFLOW Continuous Release (CR), o canal de transporte para a conexão SSH muda. Originalmente, o serviço SSH é executado na porta TCP 22, que qualquer dispositivo externo na mesma rede pode acessar usando um soquete TCP. Por segurança, o EFLOW CR executa o serviço SSH em soquetes Hyper-V em vez de soquetes TCP regulares. Toda a comunicação através de Hyper-V sockets permanece entre o SO anfitrião Windows e a máquina virtual EFLOW, sem utilizar rede. Essa configuração limita o acesso ao serviço SSH restringindo as conexões apenas ao sistema operacional host Windows. Para obter mais informações, consulte Soquetes Hyper-V.
Próximos passos
Leia mais sobre as premissas de segurança do Windows IoT
Mantenha-se atualizado com as atualizações mais recentes do IoT Edge para Linux no Windows.