plug-in do Microsoft Defender para Endpoint para o Subsistema do Windows para Linux (WSL)

Este artigo explica como instalar, configurar e diagnosticar o plug-in Microsoft Defender para Endpoint para Subsistema Windows para Linux (WSL) 2. O plug-in estende a visibilidade do Defender for Endpoint para contentores WSL a correr em dispositivos Windows 10 e Windows 11 que estão integrados no Microsoft Defender para Endpoint Plan 2.

Descrição geral

Subsistema Windows para Linux (WSL) 2, que substitui a versão anterior do WSL (suportada por Microsoft Defender para Endpoint sem um plug-in), fornece um ambiente Linux totalmente integrado com o Windows, mas está isolado através da tecnologia de virtualização. O plug-in do Defender para Endpoint para WSL permite que o Defender para Endpoint dê mais visibilidade a todos os contentores WSL em execução ao ligar ao subsistema isolado.

Pré-requisitos

Antes de instalar o plug-in Defender for Endpoint WSL, certifique-se de que os seguintes pré-requisitos são cumpridos:

  • A versão 2.0.7.0 do WSL ou posterior tem de estar em execução com, pelo menos, uma distribuição ativa. Execute wsl --update para se certificar de que está na versão mais recente. Se wsl -–version mostrar uma versão anterior a 2.0.7.0, execute wsl --update --pre-release para obter a atualização mais recente.

  • O dispositivo cliente Windows tem de estar integrado no Defender para Endpoint.

Sistemas operativos suportados

Os seguintes sistemas operativos suportam o plug-in WSL Defender for Endpoint:

  • Windows 10, versão 2004 e posterior (compilação 19044 e posterior)
  • Windows 11 para suportar as versões do WSL que podem funcionar com o plug-in.

Problemas conhecidos e limitações

Tenha em atenção as seguintes considerações antes de começar:

  • O plug-in não suporta atualizações automáticas em versões anteriores a 1.24.522.2. Na versão 1.24.522.2 e posteriores. As atualizações são suportadas através do Windows Update em todos os canais. As atualizações através do Windows Server Update Services (WSUS), do System Center Configuration Manager (SCCM) e do catálogo do Microsoft Update só são suportadas no anel de Produção, para garantir a estabilidade do pacote.

  • O plug-in demora alguns minutos a instanciar totalmente e até 30 minutos para que uma instância WSL2 se integre. Instâncias de contentores WSL de curta duração podem fazer com que a instância WSL2 não apareça no portal Microsoft Defender. Quando qualquer distribuição já está a funcionar há tempo suficiente (pelo menos 30 minutos), a instância do WSL2 aparece no portal Microsoft Defender.

  • A execução de um kernel personalizado e de uma linha de comandos de kernel personalizada não é suportada. Embora o plug-in não bloqueie a execução nessa configuração, não garante visibilidade no WSL quando está a executar um kernel personalizado e uma linha de comandos de kernel personalizada. Recomendamos que bloqueie tais configurações com as definições do WSL no Microsoft Intune.

  • O plug-in não é suportado em computadores com um processador ARM64.

  • O plug-in não é suportado em variantes de várias sessões de Windows 10 e 11.

  • O plug-in fornece visibilidade sobre eventos do WSL, mas outras funcionalidades como antimalware, Gestão de Vulnerabilidades e Ameaças e comandos de resposta não estão disponíveis para o dispositivo lógico WSL.

Nomes de ficheiros de instalador e componentes de software

Instalador: DefenderPlugin-x64-0.24.426.1.msi. Pode descarregar o instalador a partir da página de integração no portal do Microsoft Defender. (Aceda a Definições>Pontos finais>Inclusão.)

Diretórios de instalação:

  • %ProgramFiles%

  • %ProgramData%

Componentes instalados:

  • DefenderforEndpointPlug-in.dll. Esta DLL é a biblioteca que carrega o Defender for Endpoint para funcionar no WSL. Pode encontrá-la em %ProgramFiles%\Microsoft Defender para Endpoint plug-in for WSL\plug-in.

  • healthcheck.exe. Este programa verifica o estado de funcionamento do Defender para Endpoint e permite-lhe ver as versões instaladas do WSL, plug-in e Defender para Endpoint. Pode encontrá-la em %ProgramFiles%\Microsoft Defender para Endpoint plug-in for WSL\tools.

Instale o plug-in do Defender para Endpoint para WSL

Se a sua Subsistema Windows para Linux ainda não estiver instalada, siga estes passos:

  1. Abra o Terminal ou a Linha de Comandos. (No Windows, aceda a Iniciar>Linha de Comandos. Em alternativa, clique com o botão direito do rato no botão iniciar e, em seguida, selecione Terminal.)

  2. Execute o comando wsl -–install.

  3. Confirme que o WSL está instalado e em execução.

    1. Com o Terminal ou a Linha de Comandos, execute wsl –-update para se certificar de que tem a versão mais recente.

    2. Execute o wsl comando para garantir que o WSL está em execução antes do teste.

  4. Instale o plug-in ao seguir estes passos:

    1. Instale o ficheiro MSI transferido da secção de integração no portal Microsoft Defender (Definições>Endpoints>Integração>Subsistema do Windows para Linux 2 (plug-in)).

    2. Abra uma linha de comandos/terminal e execute wsl.

    Pode implementar o pacote com Microsoft Intune.

Nota

Se WslService estiver em execução, é interrompido durante o processo de instalação. Não é necessário adicionar o subsistema separadamente. Em vez disso, o plug-in é automaticamente associado ao tenant ao qual o anfitrião Windows está associado. Atualização do plug-in para WSL do Microsoft Defender para Endpoint KB Update.

Lista de verificação de validação da instalação

Use a seguinte lista de verificação para verificar se o plug-in está corretamente instalado e a funcionar como esperado:

  1. Após a atualização ou instalação, aguarde pelo menos cinco minutos para que o plug-in inicialize completamente e grave informação de registo.

  2. Abra o Terminal ou a Linha de Comandos. (No Windows, aceda a Iniciar>Linha de Comandos. Em alternativa, clique com o botão direito do rato no botão iniciar e, em seguida, selecione Terminal.)

  3. Execute o comando: cd "%ProgramFiles%\Microsoft Defender para Endpoint plug-in for WSL\tools".

  4. Execute o comando .\healthcheck.exe.

  5. Reveja os detalhes do Defender e WSL e certifique-se de que correspondem ou excedem os seguintes requisitos:

    • Versão do Plug-in: 1.24.522.2
    • Versão do WSL: 2.0.7.0 ou posterior
    • Versão da Aplicação Defender: 101.24032.0007
    • Estado de saúde do Defender: Healthy

Definir um proxy para o Defender em execução no WSL

Podes configurar conectividade proxy para o plug-in Defender for Endpoint para WSL. Se a sua empresa utilizar um proxy para fornecer conectividade ao Defender para Endpoint em execução no anfitrião do Windows, continue a ler para determinar se precisa de o configurar para o plug-in.

Se quiser utilizar a configuração do proxy de telemetria EDR do anfitrião Windows do MDE para o plug-in WSL, não é necessário fazer mais nada. A configuração do proxy de telemetria EDR do Windows é adotada automaticamente pelo plug-in.

Se quiser utilizar a configuração do proxy winhttp do sistema anfitrião para o plug-in do WSL para MDE, não é necessário fazer mais nada. A configuração do proxy WinHTTP do host é adotada automaticamente pelo plug-in.

Se quiser utilizar a rede do anfitrião e a definição de proxy de rede para o plug-in MDE para WSL, não é necessário mais nada. A configuração do proxy da rede anfitriã é adotada automaticamente pelo plug-in.

Nota

O WSL Defender suporta apenas http proxy.

Como o plug-in WSL seleciona um proxy

Se o computador anfitrião contiver várias definições de proxy, o plug-in seleciona as configurações de proxy com a seguinte hierarquia:

  1. Definição de proxy estático do Defender para Endpoint (TelemetryProxyServer).

  2. Winhttp proxy (configurado através do netsh comando).

  3. Definições de proxy de Rede e Internet.

    Por exemplo, se o computador anfitrião tiver Winhttp proxy e Network & Internet proxy, o plug-in seleciona Winhttp proxy como a configuração do proxy.

Nota

A DefenderProxyServer chave de registo já não é suportada. Siga os passos em Definir um proxy para o Defender a correr em WSL para configurar o proxy no plug-in.

Teste de conectividade do Defender para Endpoint em execução no WSL

O teste de conectividade do Defender para Endpoint é acionado sempre que existir uma modificação de proxy no seu dispositivo e está agendado para ser executado a cada hora.

Ao iniciar o computador wsl, aguarde 5 minutos e, em seguida, execute healthcheck.exe (localizado em %ProgramFiles%\Microsoft Defender para Endpoint plug-in for WSL\tools para obter os resultados do teste de conectividade). Se o teste de conectividade for bem-sucedido, a verificação de saúde reporta um resultado bem-sucedido. Se o teste de conectividade falhar, a verificação do estado indica o estado como invalid, assinalando que a conectividade do cliente a partir do plug-in MDE para WSL com os URLs de serviço do Defender para Endpoint está a falhar.

Nota

A ConnectivityTest chave de registo já não é suportada. Para definir um proxy para utilização em contentores WSL (as distribuições em execução no subsistema), veja Configuração de definições avançadas no WSL.

Verificar a funcionalidade e a experiência dos analistas do SOC

Depois de instalar o plug-in, o subsistema e todos os contentores em execução são integrados no portal do Microsoft Defender.

  1. Inicie sessão no portal Microsoft Defender e abra a vista Dispositivos.

  2. Filtre com a etiqueta WSL2.

    Captura de ecrã a mostrar o filtro de inventário de dispositivos

    Pode ver todas as instâncias do WSL no seu ambiente com um plug-in ativo do Defender para Endpoint para WSL. Estas instâncias representam todas as distribuições em execução no WSL num determinado anfitrião. O nome do anfitrião de um dispositivo corresponde ao do anfitrião do Windows. No entanto, é representado como um dispositivo Linux.

  3. Abra a página do dispositivo. No painel de Visão Geral, o link de alojamento mostra que o dispositivo está a correr num host Windows. Pode selecionar esta hiperligação para aceder diretamente ao host Windows para investigação adicional e/ou resposta.

    Captura de ecrã a mostrar a descrição geral do dispositivo.

A linha cronológica é preenchida, semelhante ao Defender para Endpoint no Linux, com eventos de dentro do subsistema (ficheiro, processo, rede). Pode observar a atividade e as deteções na vista de cronologia. Os alertas e os incidentes também são gerados, consoante apropriado.

Configurar uma etiqueta personalizada para o seu computador WSL

O plug-in integra o computador WSL com a etiqueta WSL2. Se você ou a sua organização precisarem de uma etiqueta personalizada, siga estes passos para configurar uma:

  1. Abra o Editor de Registo como administrador.

  2. Crie uma chave de registo com os seguintes detalhes:

    • Nome: GROUP
    • Tipo: REG_SZ ou cadeia de registo
    • Valor: Custom tag
    • Caminho: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection\DeviceTagging
  3. Assim que o registo estiver definido, reinicie o wsl com os seguintes passos:

    1. Abra a Linha de Comandos e execute o comando . wsl --shutdown

    2. Execute o wsl comando .

  4. Aguarde 5 a 10 minutos para que o portal reflita as alterações.

Nota

O valor da etiqueta personalizada configurado na entrada de registo GROUP recebe o sufixo _WSL2. Por exemplo, se o valor de registo GROUP for Microsoft, a etiqueta personalizada aparece como Microsoft_WSL2 no portal.

Teste o plug-in

Para testar o plug-in após a instalação, siga estes passos:

  1. Abra o Terminal ou a Linha de Comandos. (No Windows, aceda a Iniciar>Linha de Comandos. Em alternativa, clique com o botão direito do rato no botão iniciar e, em seguida, selecione Terminal.)

  2. Execute o comando wsl.

  3. Descarregue e extraia o ficheiro de script do pacote de teste MDE Linux EDR DIY.

  4. Na linha de comandos do Linux, execute o comando ./mde_linux_edr_diy.sh. Deve aparecer um alerta no portal após alguns minutos, relativo à deteção na instância do WSL2.

    Nota

    Os eventos demoram cerca de cinco minutos a aparecer no portal do Microsoft Defender.

Trate a máquina como se fosse um anfitrião de Linux regular no seu ambiente para realizar testes. Em particular, gostaríamos de obter o seu feedback sobre a capacidade de apresentar comportamentos potencialmente maliciosos com o novo plug-in.

Utilize a caça avançada para investigar os dispositivos WSL

No esquema de Pesquisa Avançada, na tabela DeviceInfo, há um novo atributo chamado HostDeviceId que pode utilizar para mapear uma instância do WSL para o dispositivo anfitrião Windows. Eis alguns exemplos de consultas de deteção proativa:

Obter todos os IDs de dispositivos WSL da organização/tenant atual

Use a seguinte consulta para listar todos os IDs de dispositivos WSL no seu tenant:

//Get all WSL device ids for the current organization/tenant 
let wsl_endpoints = DeviceInfo  
| where OSPlatform == "Linux" and isnotempty(HostDeviceId)
| distinct DeviceId; 
wsl_endpoints

Obter IDs de dispositivo WSL e os respetivos IDs de dispositivo anfitrião correspondentes

Utilize a seguinte consulta para mapear cada ID de dispositivo WSL ao seu correspondente ID de dispositivo anfitrião Windows:

//Get WSL device ids and their corresponding host device ids 
DeviceInfo  
| where OSPlatform == "Linux" and isnotempty(HostDeviceId)
| distinct WSLDeviceId=DeviceId, HostDeviceId

Obter uma lista de IDs de dispositivos WSL em que curl ou wget foi executado

Use a seguinte consulta para encontrar dispositivos WSL onde curl ou wget foram executados:

//Get a list of WSL device ids where curl or wget was run
let wsl_endpoints = DeviceInfo  
| where OSPlatform == "Linux" and isnotempty(HostDeviceId)
| distinct DeviceId; 
DeviceProcessEvents   
| where FileName == "curl" or FileName == "wget" 
| where DeviceId in (wsl_endpoints) 
| sort by Timestamp desc

Resolução de Problemas

Use os seguintes passos de resolução de problemas para diagnosticar e resolver problemas comuns com o plug-in Defender for Endpoint WSL.

Falha na instalação

Se vir um erro ao iniciar o WSL, como A fatal error was returned by plugin 'DefenderforEndpointPlug-in' Error code: Wsl/Service/CreateInstance/CreateVm/Plugin/ERROR_FILE_NOT_FOUND, isso significa que a instalação do plug-in do Defender para Endpoint para o WSL está com problemas. Para o reparar, siga estes passos:

  1. No Painel de Controlo, aceda a Programas>e Funcionalidades.

  2. Procure e selecione o plug-in do Microsoft Defender para Endpoint para WSL. Em seguida, selecione Reparar. Esta ação deve corrigir o problema ao colocar os ficheiros corretos nos diretórios esperados.

    Captura de ecrã que mostra a opção de reparação do WSL do plug-in MDE no Painel de Controlo.

O comando healthcheck.exe mostra a saída "Iniciar distribuição WSL com o comando "bash" e tentar novamente em cinco minutos."

Se vir esta mensagem, inicie uma distribuição de WSL e espere antes de repetir a verificação de saúde:

Captura de ecrã a mostrar a saída do PowerShell.

  1. Abra uma instância de terminal e execute o comando wsl.

  2. Aguarde pelo menos cinco minutos antes de voltar a executar a verificação de estado de funcionamento.

O comando healthcheck.exe pode apresentar a saída "À espera de telemetria." Tente novamente dentro de cinco minutos."

Pode ver a seguinte mensagem enquanto a telemetria ainda está a inicializar-se:

Captura de ecrã a mostrar o estado da telemetria de integridade.

Se aparecer a mensagem "À espera de telemetria", espere cinco minutos e volte a executar healthcheck.exe.

Não vê nenhum dispositivo no portal do Microsoft Defender ou não vê nenhum evento na linha cronológica

Verifique os seguintes itens:

  • Se não estiver a ver um objeto de máquina, certifique-se de que tenha decorrido tempo suficiente para que a integração seja concluída (normalmente, até 10 minutos).

  • Certifique-se de que utiliza os filtros corretos e de que tem as permissões adequadas atribuídas para ver todos os objetos do dispositivo. (Por exemplo, a sua conta/grupo está restrito a um grupo específico?)

  • Utilize a ferramenta de verificação de estado de funcionamento para fornecer uma descrição geral do estado de funcionamento geral do plug-in. Abra o Terminal e execute a ferramenta healthcheck.exe a partir de %ProgramFiles%\Microsoft Defender para Endpoint plug-in for WSL\tools.

    Captura de ecrã a mostrar o estado no PowerShell.

  • Ative o teste de conectividade e verifique a conectividade do Defender para Endpoint no WSL. Se o teste de conectividade falhar, forneça a saída da ferramenta de verificação de estado de funcionamento à nossa equipa de suporte.

Relatórios de teste de conectividade "inválidos" na verificação de estado de funcionamento

Se o teste de conectividade reportar invalid, use as seguintes verificações para diagnosticar o problema:

  • Se o computador tiver uma configuração de proxy, execute o comando healthCheck --extendedProxy. Isto fornecerá informações sobre que proxy ou proxies estão definidos na sua máquina e se estas configurações são inválidas no WSL Defender.

    Captura de ecrã do comando healthCheck --extendedProxy que mostra configurações de proxy detetadas na máquina para o plug-in WSL Defender.

  • Se a execução de healthCheck --extendedProxy não resolver a falha do teste de conectividade, inclua as seguintes definições de configuração no ficheiro .wslconfig localizado no seu %UserProfile% e reinicie o WSL. Pode encontrar detalhes sobre as definições nas Definições do WSL.

    Em Windows 11

    Adicione as seguintes definições ao seu .wslconfig ficheiro para permitir o tunelamento DNS e a rede espelhada:

    
    # Settings apply across all Linux distros running on WSL 2
    [wsl2]
    
    dnsTunneling=true
    
    networkingMode=mirrored  
    

    Em Windows 10

    Adicione a seguinte configuração ao seu .wslconfig ficheiro para desativar o proxy DNS:

    # Settings apply across all Linux distros running on WSL 2
    [wsl2]
    
    dnsProxy=false
    
    

Os problemas de conectividade persistem

Recolha os registos de rede ao seguir estes passos:

  1. Abra uma linha de comandos elevada (administrador) do PowerShell.

  2. Transferir e executar: .\collect-networking-logs.ps1

    
    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-networking-logs.ps1" -OutFile collect-networking-logs.ps1
    Set-ExecutionPolicy Bypass -Scope Process -Force
    .\collect-networking-logs.ps1
    
    
  3. Abra uma nova linha de comandos e execute o seguinte comando: wsl.

  4. Abra uma linha de comandos elevada (admin) e execute o seguinte comando: wsl --debug-shell.

  5. Na shell de depuração, execute: mdatp connectivity test.

  6. Permitir que o teste de conectividade seja concluído.

  7. Pare o script .ps1 executado no passo n.º 2.

  8. Partilhe o ficheiro de .zip gerado juntamente com um pacote de suporte recolhido ao executar healthcheck.exe --supportBundle a partir de %ProgramFiles%\Microsoft Defender para Endpoint plug-in for WSL\tools.

Recolher um pacote de suporte

Para recolher informação de diagnóstico para suporte, gere um pacote de suporte usando os seguintes passos:

  1. Se encontrares outros desafios ou problemas, abre o Terminal. Primeiro, navegue até ao diretório de ferramentas plug-in WSL do Defender for Endpoint e depois execute a healthcheck.exe ferramenta para gerar um pacote de suporte:

    cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools"
    

    Depois, execute o seguinte comando para gerar um pacote de suporte que recolhe informação de diagnóstico para resolução de problemas:

    .\healthcheck.exe --supportBundle 
    

    O pacote de suporte pode ser encontrado no caminho fornecido pelo comando anterior.

    Captura de ecrã a mostrar o estado na saída do PowerShell.

WSL1 vs WSL2

O plug-in do Microsoft Defender para Endpoint para WSL suporta distribuições Linux em execução no WSL 2. Se essas distribuições Linux estiverem associadas ao WSL 1, podes encontrar problemas. Por conseguinte, é aconselhável desativar o WSL 1. Para tal com a política de Intune, execute os seguintes passos:

  1. Aceda ao centro de administração do Microsoft Intune.

  2. Aceda aPerfis de Configuração de Dispositivos>>Criar>Nova Política.

  3. Selecione Windows 10 e posterior>Catálogo de definições.

  4. Crie um nome para o novo perfil e procure Subsistema Windows para Linux para ver e adicionar a lista completa de definições disponíveis.

  5. Defina a definição Permitir WSL1 como Desativado, para garantir que apenas as distribuições do WSL 2 podem ser utilizadas.

    Alternativamente, se quiser continuar a usar o WSL 1, ou não usar a Política Intune, pode atualizar seletivamente uma distribuição instalada específica do WSL 1 para o WSL 2 executando o seguinte comando no PowerShell:

    wsl --set-version <YourDistroName> 2
    

    Para garantir que todas as distribuições futuras são criadas com o WSL 2 por defeito, execute o seguinte comando no PowerShell para definir o WSL 2 como versão predefinida:

    wsl --set-default-version 2
    

Anule o anel de libertação do plug-in WSL

Podes sobrescrever o anel de libertação padrão do plug-in configurando uma definição de registo.

  • O plug-in utiliza o anel EDR do Windows por predefinição. Se pretender mudar para um canal anterior, defina OverrideReleaseRing como um dos seguintes no Registo e reinicie o WSL:

    • Nome: OverrideReleaseRing
    • Tipo: REG_SZ
    • Valor: Dogfood or External or InsiderFast or Production
    • Caminho: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender para Endpoint plug-in for WSL