Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
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:
- 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 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.
| 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:
Abra uma sessão do PowerShell elevada
Conecte-se à máquina virtual EFLOW
Connect-EflowVmListe todas as regras de iptables
sudo iptables -L
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:
- Use a tecnologia TPM para provisionamento de dispositivos do IoT Edge com o DPS (Serviço de Provisionamento de Dispositivos). Para obter mais informações, confira Criar e provisionar um IoT Edge para Linux no dispositivo Windows em escala usando um TPM.
- Acesso somente leitura a chaves criptográficas armazenadas no TPM. Para obter mais informações, confira Set-EflowVmFeature para habilitar a passagem do TPM.
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.
