Utilizar o sensor baseado em eBPF para Microsoft Defender para Endpoint no Linux
Aplica-se a:
- Microsoft Defender para Endpoint no Linux
- API do Microsoft Defender para Endpoint 1
- Microsoft Defender para Endpoint Plano 2
O Filtro de Pacotes berkeley (eBPF) alargado para Microsoft Defender para Endpoint no Linux fornece dados suplementares de eventos para sistemas operativos Linux. O eBPF pode ser utilizado como uma tecnologia alternativa à auditoria, uma vez que o eBPF ajuda a resolver várias classes de problemas observados com o fornecedor de eventos auditados e é benéfico nas áreas de desempenho e estabilidade do sistema.
Os principais benefícios incluem:
- Dados irrelevantes relacionados com auditorias ao nível do sistema reduzidos
- Regras de eventos otimizadas ao nível do sistema, caso contrário, estão a causar conflitos entre aplicações
- Sobrecarga reduzida para monitorização de eventos de ficheiros (leitura/abertura de ficheiros)
- Melhoramento do débito da taxa de eventos e redução da quantidade de memória
- Desempenho otimizado para configurações específicas
Como funciona o eBPF
Com o eBPF, os eventos obtidos anteriormente a partir do fornecedor de eventos auditados agora fluem do sensor eBPF. Isto ajuda na estabilidade do sistema, melhora a utilização da CPU e da memória e reduz a utilização do disco. Além disso, quando o eBPF está ativado, todas as regras personalizadas relacionadas com auditoria são eliminadas, o que ajuda a reduzir a possibilidade de conflitos entre aplicações. Os dados relacionados com o eBPF são registados no ficheiro /var/log/microsoft/mdatp/microsoft_defender_core.log.
Além disso, o sensor eBPF utiliza capacidades do kernel do Linux sem exigir a utilização de um módulo de kernel que ajude a aumentar a estabilidade do sistema.
Nota
O eBPF é utilizado em conjunto com a auditoria, enquanto a auditoria é utilizada apenas para eventos de início de sessão do utilizador e captura estes eventos sem quaisquer regras personalizadas e flui-os automaticamente. Tenha em atenção que a auditoria será gradualmente removida em versões futuras.
Pré-requisitos do sistema
O sensor eBPF para Microsoft Defender para Endpoint no Linux é suportado nas seguintes versões mínimas de distribuição e kernel:
Distribuição do Linux | Versão de distribuição | Versão do kernel |
---|---|---|
Ubuntu | 16.04 | 4.15.0 |
Fedora | 33 | 5.8.15 |
CentOS | 7.6 | 3.10.0-957.10 |
SLES | 15 | 5.3.18-18.47 |
RHEL | 7.6 | 3.10.0-957.10 |
Debian | 9.0 | 4.19.0 |
Oracle Linux RHCK | 7.9 | 3.10.0-1160 |
Oracle Linux UEK | 7.9 | 5.4 |
Amazon Linux 2 | 2 | 5.4.261-174.360 |
Nota
O Oracle Linux 8.8 com a versão de kernel 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 resultará num bloqueio de kernel quando o eBPF estiver ativado como fornecedor de subsistema suplementar. Esta versão de kernel não deve ser utilizada para o modo eBPF. Veja a secção Resolução de Problemas e Diagnóstico para obter os passos de mitigação.
Utilizar eBPF
O sensor eBPF é ativado automaticamente para todos os clientes por predefinição para as versões de agente "101.23082.0006" e superiores. Os clientes têm de atualizar para as versões suportadas acima mencionadas para experimentar a funcionalidade. Quando o sensor eBPF está ativado num ponto final, o Defender para Endpoint no Linux atualiza supplementary_events_subsystem para ebpf.
Caso pretenda desativar manualmente o eBPF, pode executar o seguinte comando:
sudo mdatp config ebpf-supplementary-event-provider --value [enabled/disabled]
Também pode atualizar o ficheiro mdatp_managed.json:
{
"features": {
"ebpfSupplementaryEventProvider": "disabled"
}
}
Veja a ligação para obter o ficheiro json de exemplo detalhado – Definir preferências para Microsoft Defender para Endpoint no Linux.
Importante
Se desativar o eBPF, o fornecedor de eventos suplementar muda novamente para auditado. Caso o eBPF não fique ativado ou não seja suportado em nenhum kernel específico, mudará automaticamente para auditado e manterá todas as regras personalizadas auditadas.
Também pode verificar o estado do eBPF (ativado/desativado) nos pontos finais do linux através da investigação avançada no Portal do Microsoft Defender. Os passos são os seguintes:
Aceda ao portal Microsoft Defender e inicie sessão.
No painel de navegação, aceda a Investigação>Avançada de Investigação.
Em Investigação avançada, aceda a Gestão de Vulnerabilidades do Defender.
Execute a seguinte consulta:
DeviceTvmInfoGathering
.Na saída, na coluna Campos adicionais , selecione Mostrar mais e, em seguida , procure EBPF STATUS: true.
Modo imutável auditado
Para os clientes que utilizam auditorias no modo imutável, é necessário reiniciar após a ativação do eBPF para limpar as regras de auditoria adicionadas pelo Microsoft Defender para Endpoint. Esta é uma limitação no modo imutável de auditoria, que bloqueia o ficheiro de regras e proíbe a edição/substituição. Este problema é resolvido com o reinício. Após o reinício, execute o comando abaixo para verificar se as regras de auditoria foram desmarcadas.
% sudo auditctl -l
O resultado do comando acima não deve mostrar regras nem regras adicionadas pelo utilizador. Caso as regras não foram removidas, execute os seguintes passos para limpar o ficheiro de regras de auditoria.
- Mudar para o modo ebpf
- Remover o ficheiro /etc/audit/rules.d/mdatp.rules
- Reiniciar o computador
Resolução de Problemas e Diagnóstico
Pode verificar o estado de funcionamento do agente ao executar o comando de mdatp
estado de funcionamento. Certifique-se de que o sensor eBPF para Defender para Endpoint no Linux é suportado ao verificar a versão atual do kernel com a seguinte linha de comandos:
uname -a
Problemas Conhecidos
Ativar o eBPF na versão RHEL 8.1 com SAP pode resultar em pânico no kernel. Para mitigar este problema, pode seguir um dos seguintes passos:
- Utilize uma versão de distribuição superior ao RHEL 8.1.
- Mude para o modo auditado se precisar de utilizar a versão RHEL 8.1.
Utilizar o Oracle Linux 8.8 com a versão de kernel 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 poderá resultar em pânico no kernel. Para mitigar este problema, pode seguir um dos seguintes passos:
- Utilize uma versão de kernel superior ou inferior a 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 no Oracle Linux 8.8 se quiser utilizar o eBPF como fornecedor de subsistema suplementar. Tenha em atenção que a versão mínima do kernel para Oracle Linux é RHCK 3.10.0 e Oracle Linux UEK é 5.4.
- Mudar para o modo auditado se precisar de utilizar a mesma versão do kernel
sudo mdatp config ebpf-supplementary-event-provider --value disabled
Os dois conjuntos de dados seguintes ajudam a analisar potenciais problemas e a determinar as opções de resolução mais eficazes.
Recolha um pacote de diagnóstico da ferramenta de analisador de cliente com as seguintes instruções: Resolver problemas de desempenho de Microsoft Defender para Endpoint no Linux.
Recolha um pacote de diagnóstico de depuração quando o Defender para Endpoint utiliza recursos elevados com as seguintes instruções: Microsoft Defender para Endpoint em recursos do Linux.
Resolver problemas de desempenho
Se vir um aumento no consumo de recursos ao Microsoft Defender nos pontos finais, é importante identificar o processo/ponto de montagem/ficheiros que está a consumir a maior parte da utilização da CPU/Memória e, em seguida, aplicar as exclusões necessárias. Depois de aplicar possíveis exclusões av, se wdavdaemon (processo principal) ainda estiver a consumir os recursos, utilize o comando ebpf-statistics para obter a contagem de chamadas de sistema superior:
sudo mdatp diagnostic ebpf-statistics
Output
Monitor 20 seconds
Top file paths:
/var/log/microsoft/mdatp/microsoft_defender.log : 10
/var/log/microsoft/mdatp/rotated/microsoft_defender.log00001 : 2
/var/log/microsoft/mdatp/rotated/microsoft_defender.log : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374993 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374991 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374989 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374987 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374985 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374983 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374981 : 1
Top initiator paths:
/usr/bin/stress-ng : 50000
/opt/microsoft/mdatp/sbin/wdavdaemon : 13
Top syscall ids:
82 : 1699333
90 : 10
87 : 3
No resultado acima, pode ver que stress-ng é o processo principal que gera um grande número de eventos e pode resultar em problemas de desempenho. O mais provável é que o stress esteja a gerar a chamada do sistema com o ID 82. Pode criar um pedido de suporte com a Microsoft para excluir este processo. No futuro, como parte das melhorias futuras, tem mais controlo para aplicar essas exclusões no final.
As exclusões aplicadas à auditoria não podem ser migradas ou copiadas para o eBPF. Preocupações comuns, como registos ruidosos, pânico de kernel, syscalls ruidosas já são tratados internamente pelo eBPF. Caso pretenda adicionar mais exclusões, contacte a Microsoft para obter as exclusões necessárias aplicadas.
Consulte também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários