Compartilhar via


Segurança do IoT Edge para Linux no Windows

Aplica-se a:Marca de verificação do IoT Edge 1.5 IoT Edge 1.5

Importante

O IoT Edge 1.5 LTS é a versão com suporte. O IoT Edge 1.4 LTS chegou ao fim de sua vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.

O Azure IoT Edge para Linux no Windows usa todos os recursos de segurança de um cliente windows ou host de servidor 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 de máquina virtual

A máquina virtual com curadoria do IoT Edge para Linux (EFLOW) é baseada no Microsoft Azure Linux. O Linux do Azure é uma distribuição interna do Linux 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 nas atualizações do Linux. Para obter mais informações, consulte a segurança do Linux do Azure.

A máquina virtual EFLOW usa uma plataforma de segurança abrangente de quatro pontos:

  1. Atualizações de manutenção
  2. Sistema de arquivos raiz somente leitura
  3. Bloqueio de firewall
  4. DM-Verity

Atualizações de manutenção

Quando surgem vulnerabilidades de segurança, o Azure Linux fornece os patches de segurança mais recentes e correções por meio de atualizações mensais do EFLOW. A máquina virtual não tem um gerenciador de pacotes, portanto, você não pode baixar ou instalar manualmente pacotes RPM. O EFLOW instala todas as atualizações na máquina virtual usando o mecanismo de atualização A/B. Para saber mais sobre atualizações do EFLOW, confira 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 dados. As partições rootFS-A ou rootFS-B são intercambiáveis, e uma delas é 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 nessa partição, portanto, ele não é modificado entre atualizações.

Como você pode precisar de acesso de gravação a/etc, /home/roote /var para casos de uso específicos, o EFLOW sobrepõe esses diretórios à /var/.eflow/overlays partição de dados para fornecer acesso de gravação. Essa configuração permite que você escreva nesses diretórios. Para saber mais sobre sobreposições, confira overlayfs.

Layout de partição do EFLOW CR

Partition Tamanho Descrição
BootEFIA 8 MB Partição de firmware A para inicialização futura do GRUBless
BootA 192 MB Contém o bootloader para a partição A
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 inicialização futura do GRUBless
BootB 192 MB Contém o bootloader para a partição B
RootFS B 4 GB Uma das duas partições ativas/passivas que mantêm o sistema de arquivos raiz
Log 1 GB ou 6 GB Registra em log partição específica montada em /logs
Dados 2 GB a 2 TB Partição com estado para armazenar dados persistentes nas atualizações. Expansível de acordo com a configuração de implantação.

Observação

O layout de 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 do host.

Firewall (barreira de segurança)

Por padrão, a máquina virtual EFLOW usa o utilitário iptables para configurações de firewall. Iptables configura, mantém e inspeciona as tabelas de regras de filtro de pacote IP no kernel do 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 de iptables com as seguintes etapas:

  1. Abra uma sessão do PowerShell elevada

  2. Conecte-se à máquina virtual EFLOW

    Connect-EflowVm
    
  3. Liste todas as regras de iptables

    sudo iptables -L
    

    Padrão de iptables do EFLOW

Inicialização verificada

A máquina virtual EFLOW dá suporte à inicialização verificada por meio do recurso de kernel device-mapper-verity (dm-verity) incluído no dispositivo, que fornece verificação de integridade transparente de dispositivos de bloco. dm-verity ajuda a evitar rootkits persistentes que possam manter privilégios raiz e comprometer dispositivos. Esse recurso garante que a imagem de 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, confira dm-verity.

Trusted Platform Module (TPM)

A tecnologia TPM (Trusted Platform Module) foi desenvolvida para fornecer funções relacionadas à segurança com base em hardware. Um chip TPM é um processador de criptografia seguro projetado para desempenhar as operações de criptografia. O chip inclui vários mecanismos físicos de segurança para torná-lo resistente à adulterações, e softwares mal-intencionados não conseguem interferir nas funções de segurança do TPM.

A máquina virtual EFLOW não dá suporte ao vTPM. No entanto, você pode habilitar ou desabilitar o recurso de passagem de TPM, que permite que a máquina virtual EFLOW use o TPM do sistema operacional host do Windows. Isso permite que você faça dois cenários principais:

Garantir a comunicação entre máquina virtual e host

O EFLOW permite que você interaja com a máquina virtual usando um módulo do PowerShell. Para obter mais informações, confira Funções do PowerShell para o IoT Edge para Linux no Windows. Este módulo precisa de uma sessão elevada para ser executado e assinado com um certificado da Microsoft Corporation.

Toda a comunicação entre o sistema operacional host do 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 bloqueará um endereço IP se tentar mais de três conexões por minuto com o serviço SSH.

Na versão cr (Versão Contínua) do EFLOW, o canal de transporte para a conexão SSH é alterado. Originalmente, o serviço SSH é executado na porta TCP 22, que qualquer dispositivo externo na mesma rede pode acessar usando um soquete TCP. Para segurança, o EFLOW CR executa o serviço SSH sobre soquetes Hyper-V em vez de soquetes TCP regulares. Toda a comunicação sobre os sockets Hyper-V ocorre entre o sistema operacional host do Windows e a máquina virtual EFLOW, sem usar rede. Essa configuração limita o acesso ao serviço SSH restringindo conexões somente ao sistema operacional host do Windows. Para obter mais informações, confira Soquetes Hyper-V.

Próximas etapas

Leia mais sobre Instalações de segurança da IoT do Windows

Mantenha-se atualizado com as atualizações mais recentes do IoT Edge para Linux no Windows.