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

Este artigo explica como instalar, configurar e solucionar problemas do Microsoft Defender para Ponto de Extremidade plug-in para Subsistema do Windows para Linux (WSL) 2. O plug-in amplia a visibilidade do Defender for Endpoint para contêineres WSL executados em dispositivos com Windows 10 e Windows 11 registrados no Microsoft Defender para Ponto de Extremidade Plano 2.

Visão Geral

O Subsistema do Windows para Linux (WSL) 2, que substitui a versão anterior do WSL (compatível com o Microsoft Defender para Ponto de Extremidade sem um plug-in), fornece um ambiente Linux integrado de forma transparente ao Windows, mas isolado por meio de tecnologia de virtualização. O plug-in do Defender para Endpoint para WSL permite que o Defender para Endpoint ofereça mais visibilidade sobre todos os contêineres WSL em execução ao se integrar ao subsistema isolado.

Pré-requisitos

Antes de instalar o plug-in do WSL para o Defender for Endpoint, verifique se os seguintes pré-requisitos foram atendidos:

  • A versão 2.0.7.0 WSL ou posterior deve estar em execução com pelo menos uma distro ativa. Execute wsl --update para verificar se você 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 do Windows deve ser integrado ao Defender for Endpoint.

Sistemas operacionais com suporte

Os seguintes sistemas operacionais dão suporte ao plug-in do WSL para o Defender for Endpoint:

  • Windows 10, versão 2004 e posterior (build 19044 e posterior)
  • O Windows 11 deve oferecer suporte às versões do WSL que podem funcionar com o plug-in.

Limitações e problemas conhecidos

Lembre-se das seguintes considerações antes de começar:

  • O plug-in não dá suporte a 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 compatíveis com o Windows Update em todos os anéis. Atualizações por meio do Windows Server Update Services (WSUS), System Center Configuration Manager (SCCM) e do catálogo do Microsoft Update têm suporte apenas no anel de Produção para garantir a estabilidade do pacote.

  • Leva alguns minutos para o plug-in instanciar totalmente e até 30 minutos para uma instância WSL2 se integrar. Instâncias de contêiner WSL de curta duração podem resultar na não exibição da instância do WSL2 no portal Microsoft Defender. Quando qualquer distribuição é executada há tempo suficiente (pelo menos 30 minutos), a instância do WSL2 aparece no portal Microsoft Defender.

  • Não há suporte para a execução de um kernel personalizado e de uma linha de comando personalizada do kernel. Embora o plug-in não bloqueie a execução nessa configuração, ele não garante visibilidade no WSL quando você está executando um kernel personalizado e uma linha de comando de kernel personalizada. É recomendável bloquear essas configurações com as configurações do WSL do Microsoft Intune.

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

  • O plug-in não é compatível com variantes multissessão do Windows 10 e 11.

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

Componentes de software e nomes de arquivos do instalador

Instalador: DefenderPlugin-x64-0.24.426.1.msi. Você pode baixar o instalador na página de integração no portal do Microsoft Defender. (Vá para Configurações>Endpoints>Onboarding.)

Diretórios de instalação:

  • %ProgramFiles%

  • %ProgramData%

Componentes instalados:

  • DefenderforEndpointPlug-in.dll. Essa DLL é a biblioteca usada para carregar o Defender for Endpoint para funcionar no WSL. Você pode encontrá-lo em %ProgramFiles%\Microsoft Defender para Ponto de Extremidade plug-in for WSL\plug-in.

  • healthcheck.exe. Esse programa verifica o status de integridade do Defender para Ponto de Extremidade e permite que você veja as versões instaladas do WSL, plug-in e Defender para Ponto de Extremidade. Você pode encontrá-lo em %ProgramFiles%\Microsoft Defender para Ponto de Extremidade plug-in for WSL\tools.

Instalar o plug-in do WSL para o Defender for Endpoint

Se o seu Subsistema do Windows para Linux ainda não estiver instalado, siga estas etapas:

  1. Abra o Terminal ou o Prompt de Comando. (No Windows, acesse Iniciar>Prompt de Comando. Ou clique com o botão direito do mouse no botão Iniciar e selecione Terminal.)

  2. Execute o comando wsl -–install.

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

    1. Usando o Terminal ou o Prompt de Comando, execute wsl –-update para verificar se você tem a versão mais recente.

    2. Execute o comando wsl para garantir que o WSL esteja em execução antes de testar.

  4. Instale o plug-in seguindo estas etapas:

    1. Instale o arquivo MSI baixado na seção de integração no portal do Microsoft Defender (Configurações>Endpoints>Integração>Subsistema do Windows para Linux 2 (plug-in)).

    2. Abra um prompt de comando/terminal e execute wsl.

    Você pode implantar o pacote usando o Microsoft Intune.

Observação

Se WslService estiver em execução, ele será interrompido durante o processo de instalação. Você não precisa integrar o subsistema separadamente. Em vez disso, o plug-in é integrado automaticamente ao mesmo locatário ao qual o host do Windows está integrado. Atualização do Microsoft Defender para Endpoint para o plug-in do WSL atualização KB.

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

Use a seguinte lista de verificação para verificar se o plug-in foi instalado corretamente e está em execução conforme o esperado:

  1. Após a atualização ou instalação, aguarde pelo menos cinco minutos para que o plug-in inicialize totalmente e grave a saída do log.

  2. Abra o Terminal ou o Prompt de Comando. (No Windows, acesse Iniciar>Prompt de Comando. Ou clique com o botão direito do mouse no botão Iniciar e selecione Terminal.)

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

  4. Execute o comando .\healthcheck.exe.

  5. Examine os detalhes do Defender e do WSL e verifique se eles correspondem ou excedem os seguintes requisitos:

    • Versão do plug-in: 1.24.522.2
    • Versão WSL: 2.0.7.0 ou posterior
    • Versão do aplicativo Defender: 101.24032.0007
    • Status de saúde do Defender: Healthy

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

Você pode configurar a conectividade com proxy para o plug-in do WSL do Defender para Ponto de Extremidade. Se sua empresa usa um proxy para fornecer conectividade ao Defender para Endpoint em execução no host do Windows, continue lendo para determinar se você precisa configurar o proxy para o plug-in.

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

Se você quiser usar a configuração de proxy WinHTTP do host para o plug-in MDE para WSL, nada mais será necessário fazer. A configuração de proxy WinHTTP do host é adotada pelo plug-in automaticamente.

Se você quiser usar a rede do host e a configuração de proxy de rede para o plug-in MDE para WSL, não será necessário fazer mais nada. A configuração de proxy de rede do host é usada automaticamente pelo plug-in.

Observação

O WSL Defender oferece suporte apenas a proxy http.

Como o plug-in do WSL seleciona um proxy

Se o computador host contiver várias configurações de proxy, o plug-in selecionará as configurações de proxy com a seguinte hierarquia:

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

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

  3. Configurações de proxy de rede & Internet.

    Por exemplo, se o computador host tiver ambos Winhttp proxy e Network & Internet proxy, o plug-in selecionará Winhttp proxy como a configuração de proxy.

Observação

A DefenderProxyServer chave do Registro não é mais suportada. Siga as etapas em Definir um proxy para Defender em execução no WSL para configurar o proxy no plug-in.

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

O teste de conectividade do Defender for Endpoint é acionado sempre que houver uma alteração nas configurações de proxy do seu dispositivo e está agendado para ser executado a cada hora.

Ao iniciar sua máquina wsl, aguarde 5 minutos e execute healthcheck.exe (localizado em %ProgramFiles%\Microsoft Defender para Ponto de Extremidade 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 integridade informará um resultado positivo. Se o teste de conectividade falhar, a verificação de integridade informará o status como invalid, indicando que a conectividade do cliente entre o plug-in do MDE para WSL e as URLs de serviço do Defender for Endpoint está falhando.

Observação

A ConnectivityTest chave do Registro não é mais suportada. Para definir um proxy para uso em contêineres do WSL (as distribuições em execução no subsistema), consulte Configuração de configurações avançadas no WSL.

Verificando a funcionalidade e a experiência do analista SOC

Depois de instalar o plug-in, o subsistema e todos os seus contêineres em execução são integrados ao portal do Microsoft Defender.

  1. Entre no portal do Microsoft Defender e abra a exibição Dispositivos.

  2. Filtrar usando a marca WSL2.

    Captura de tela mostrando o filtro de inventário do dispositivo

    Você pode visualizar todas as instâncias do WSL em seu ambiente com o plug-in do Defender para Endpoint para WSL habilitado. Essas instâncias representam todas as distribuições em execução dentro do WSL em um determinado host. O nome do host de um dispositivo corresponde ao do host do Windows. No entanto, ele é representado como um dispositivo Linux.

  3. Abra a página do dispositivo. No painel Visão geral, o link de hospedagem mostra que o dispositivo está em execução em um host Windows. Você pode selecionar este link para acessar o host Windows para investigação e/ou resposta adicionais.

    Captura de tela mostrando a visão geral do dispositivo.

A linha do tempo é populada, de forma semelhante ao Defender para Endpoint no Linux, com eventos de dentro do subsistema (arquivo, processo, rede). Você pode visualizar atividades e detecções na visualização da linha do tempo. Alertas e incidentes também são gerados conforme necessário.

Configurar uma etiqueta personalizada para sua máquina WSL

O plug-in integra o computador WSL com a marca WSL2. Se você ou sua organização precisar de uma marca personalizada, siga estas etapas para configurar uma:

  1. Abra o Editor do Registro como administrador.

  2. Crie uma chave do Registro com os seguintes detalhes:

    • Nome: GROUP
    • Tipo: REG_SZ ou cadeia de caracteres do Registro
    • Valor: Custom tag
    • Caminho: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Proteção Avançada contra Ameaças\DeviceTagging
  3. Depois que o Registro for definido, reinicie o WSL usando as seguintes etapas:

    1. Abra o prompt de comando e execute o comando. wsl --shutdown

    2. Execute o comando wsl.

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

Observação

O valor da tag personalizada configurado na entrada do registro GROUP recebe o sufixo _WSL2. Por exemplo, se o valor do registro GROUP for Microsoft, a tag personalizada aparecerá como Microsoft_WSL2 no portal.

Teste o plug-in

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

  1. Abra o Terminal ou o Prompt de Comando. (No Windows, acesse Iniciar>Prompt de Comando. Ou clique com o botão direito do mouse no botão Iniciar e selecione Terminal.)

  2. Execute o comando wsl.

  3. Baixe e extraia o arquivo de script do pacote de teste DIY do MDE Linux EDR.

  4. No prompt do Linux, execute o comando ./mde_linux_edr_diy.sh. Um alerta deve aparecer no portal após alguns minutos para uma detecção na instância WSL2.

    Observação

    São necessários cerca de cinco minutos para que os eventos apareçam no portal do Microsoft Defender.

Trate a máquina como se fosse um host Linux comum em seu ambiente para realizar testes. Em particular, gostaríamos de obter seus comentários sobre a capacidade de revelar comportamentos potencialmente mal-intencionados usando o novo plug-in.

Usar a busca avançada para investigar dispositivos WSL

No esquema de Busca Avançada, abaixo da DeviceInfo tabela, há um novo atributo chamado HostDeviceId que você pode usar para mapear uma instância do WSL para seu dispositivo host Windows. Aqui estão alguns exemplos de consultas de busca:

Obter todas as IDs de dispositivo WSL para a organização/locatário atual

Use a consulta a seguir para listar todas as IDs de dispositivo WSL em seu locatário:

//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 os IDs dos dispositivos do WSL e os IDs correspondentes dos dispositivos do host

Use a consulta a seguir para mapear cada ID de dispositivo do WSL ao respectivo ID de dispositivo do host do Windows:

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

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

Use a consulta a seguir para localizar dispositivos WSL em que curl ou wget foi executado:

//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

Solução de problemas

Use as etapas de solução de problemas a seguir para diagnosticar e resolver problemas comuns com o plug-in do WSL para o Defender para Endpoint.

Falha ao instalar

Se você 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 for Endpoint para WSL está com problema. Para repará-lo, siga estas etapas:

  1. No Painel de Controle, acesse Programas>,Programas e Recursos.

  2. Pesquise e selecione o plug-in do Microsoft Defender para Endpoint para WSL. Em seguida, selecione Reparar. Essa ação deve corrigir o problema colocando os arquivos corretos nos diretórios esperados.

    Captura de tela mostrando o plug-in do MDPE para a opção de reparo do WSL no painel de controle.

O comando healthcheck.exe mostra a saída, "Inicie a distribuição WSL com o comando 'bash' e tente novamente em cinco minutos".

Se você vir essa mensagem, inicie uma distribuição WSL e aguarde antes de executar novamente a verificação de integridade:

Captura de tela mostrando 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 executar novamente a verificação de integridade.

O comando healthcheck.exe pode mostrar a saída: "Aguardando a telemetria." Tente novamente em cinco minutos."

Você pode ver a seguinte mensagem enquanto a telemetria ainda está inicializando:

Captura de tela mostrando o status da telemetria de integridade.

Se a mensagem "Aguardando Telemetria" ocorrer, aguarde cinco minutos e execute healthcheck.exenovamente.

Você não vê nenhum dispositivo no portal do Microsoft Defender ou não vê nenhum evento na linha do tempo

Verifique os seguintes itens:

  • Se você não estiver vendo um objeto de máquina, verifique se já passou tempo suficiente para que a integração seja concluída (normalmente até 10 minutos).

  • Certifique-se de usar os filtros corretos e de ter as permissões apropriadas atribuídas para exibir todos os objetos de dispositivo. (Por exemplo, sua conta/grupo está restrito a um grupo específico?)

  • Use a ferramenta de verificação de integridade para obter uma visão geral da integridade do plug-in. Abra o Terminal e execute a ferramenta healthcheck.exe a partir de %ProgramFiles%\Microsoft Defender para Ponto de Extremidade plug-in for WSL\tools.

    Captura de tela mostrando o status no PowerShell.

  • Habilite o teste de conectividade e verifique a conectividade do Defender for Endpoint no WSL. Se o teste de conectividade falhar, forneça a saída da ferramenta de verificação de integridade para nossa equipe de suporte.

O teste de conectividade mostra "inválido" na verificação de integridade

Se o teste de conectividade relatar invalid, use as verificações a seguir para diagnosticar o problema:

  • Se sua máquina tiver uma configuração de proxy, execute o comando healthCheck --extendedProxy. Isso fornecerá informações sobre quais proxies estão configurados na sua máquina e se essas configurações são inválidas para o WSL Defender.

    Captura de tela da saída do comando healthCheck --extendedProxy mostrando as configurações de proxy detectadas no computador para o plug-in do Defender WSL.

  • Se executar healthCheck --extendedProxy não resolver a falha no teste de conectividade, inclua as seguintes configurações no arquivo .wslconfig, localizado em %UserProfile%, e reinicie o WSL. Detalhes sobre as configurações podem ser encontrados em Configurações do WSL.

    No Windows 11

    Adicione as seguintes configurações ao arquivo .wslconfig para habilitar o túnel DNS e a rede espelhada:

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

    No Windows 10

    Adicione a seguinte configuração ao arquivo .wslconfig para desabilitar o proxy DNS:

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

Os problemas de conectividade persistem

Colete os logs de rede seguindo estas etapas:

  1. Abra um prompt do PowerShell com privilégios de administrador.

  2. Baixe e execute: .\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 um novo prompt de comando e execute o seguinte comando: wsl.

  4. Abra um prompt de comando elevado (admin) e execute o seguinte comando: wsl --debug-shell.

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

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

  7. Interrompa o script .ps1 executado na etapa #2.

  8. Compartilhe o arquivo de .zip gerado junto com um pacote de suporte coletado executando healthcheck.exe --supportBundle de %ProgramFiles%\Microsoft Defender para Ponto de Extremidade plug-in for WSL\tools.

Colete um pacote de suporte

Para coletar informações de diagnóstico para suporte, gere um pacote de suporte usando as seguintes etapas:

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

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

    Em seguida, execute o seguinte comando para gerar um pacote de suporte que coleta informações de diagnóstico para solução de problemas:

    .\healthcheck.exe --supportBundle 
    

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

    Captura de tela mostrando o status na saída do PowerShell.

WSL1 vs WSL2

O plug-in de ponto de extremidade do Microsoft Defender para WSL dá suporte a distribuições do Linux em execução no WSL 2. Se essas distribuições do Linux estiverem associadas ao WSL 1, você poderá encontrar problemas. Portanto, é recomendável desabilitar o WSL 1. Para fazer isso com a política do Intune, execute as seguintes etapas:

  1. Vá para o centro de administração do Microsoft Intune.

  2. Vá paraPerfis> de Configuração de Dispositivos>:Criar>Nova Política.

  3. Selecione o catálogo de configurações do Windows 10 e posterior>.

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

  5. Defina a configuração Permitir WSL1 como Desabilitada, para garantir que apenas as distribuições do WSL 2 possam ser usadas.

    Como alternativa, se você quiser continuar usando o WSL 1 ou não usar a Política do Intune, poderá 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 sejam criadas com o WSL 2 por padrão, execute o seguinte comando no PowerShell para definir o WSL 2 como a versão padrão:

    wsl --set-default-version 2
    

Sobrescrever o canal de lançamento do plug-in do WSL

Você pode substituir o canal de lançamento padrão do plug-in configurando uma entrada no Registro.

  • O plug-in usa o anel EDR do Windows por padrão. Se você quiser alternar para um anel anterior, defina OverrideReleaseRing como um dos seguintes no Registro 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 Ponto de Extremidade plug-in for WSL