Utilizar o sensor baseado em eBPF para Microsoft Defender para Ponto de Extremidade no Linux
Observação
A partir do Defender para Endpoint no Linux, a versão 101.2408.0000
, AuditD já não é suportada como fornecedor de eventos suplementar. Para obter mais informações, veja as FAQs no final deste artigo.
O Filtro de Pacotes berkeley (eBPF) alargado para Microsoft Defender para Ponto de Extremidade no Linux fornece dados suplementares de eventos para sistemas operativos Linux. O eBPF ajuda a resolver várias classes de problemas observados com o fornecedor de eventos AuditD e é benéfico nas áreas de desempenho e estabilidade do sistema.
Os principais benefícios incluem:
- Dados irrelevantes de registos 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 AuditD 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. O eBPF ajuda a reduzir a possibilidade de conflitos entre aplicações, uma vez que não são necessárias regras personalizadas. 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.
Pré-requisitos do sistema
O sensor eBPF para Microsoft Defender para Ponto de Extremidade 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 |
Rocky Linux 8 | 8.7 | 4.18.0-425 |
Rocky Linux 9 | 9.2 | 5.14.0-284 |
Alma Linux 8 | 8.4 | 4.18.0-305 |
Alma Linux 9 | 9.2 | 5.14.0-284 |
Observação
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 versões de 101.23082.0006
agente e posteriores. Os clientes precisam de atualizar para uma versão suportada 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 Ponto de Extremidade no Linux.
Importante
Se desativar o eBPF ou, no caso de o eBPF não ser suportado em nenhum kernel específico, o fornecedor de eventos suplementar muda para o Netlink. Todas as operações de processo continuarão a fluir de forma totalmente integrada, mas poderá perder eventos específicos relacionados com o ficheiro e socket que o eBPF capturaria de outra forma.
Também pode marcar o status de 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 Gerenciamento 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 de AuditD
Para os clientes que utilizam AuditD 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 Ponto de Extremidade. Este requisito é uma limitação no modo imutável de AuditD, 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 seguinte comando para marcar se as regras de auditoria foram limpas:
% sudo auditctl -l
O resultado do comando anterior não deve mostrar regras nem regras adicionadas pelo utilizador. Caso as regras não foram removidas, efetue os seguintes passos para limpar o ficheiro de regras de auditoria:
- Mude para o modo ebpf.
- Remova o ficheiro
/etc/audit/rules.d/mdatp.rules
. - Reinicie o computador.
Resolução de Problemas e Diagnóstico
Pode marcar o estado de funcionamento do agente status 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 AuditD 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. A versão mínima do kernel para o Oracle Linux é RHCK 3.10.0 e Oracle Linux UEK é 5.4.
- Mudar para o modo AuditD 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 Ponto de Extremidade 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 Ponto de Extremidade em recursos do Linux.
Resolver problemas de desempenho
Se vir um aumento do consumo de recursos ao Microsoft Defender nos pontos finais, é importante identificar o processo/ponto de montagem/ficheiros que estão a causar a maior parte da utilização da CPU/Memória. Em seguida, pode aplicar as exclusões necessárias. Depois de aplicar possíveis exclusões antivírus, 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 anterior, 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 ao AuditD 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.
FAQs - Transição para eBPF
1. Por que deve considerar mudar para o eBPF?
O Filtro de Pacotes de Berkeley (eBPF) alargado para Microsoft Defender para Ponto de Extremidade no Linux serve como uma alternativa eficiente ao AuditD e resolve vários desafios associados ao fornecedor de eventos AuditD, ao mesmo tempo que proporciona vantagens significativas em termos de desempenho e estabilidade do sistema. Alguns dos principais benefícios incluem -
Desempenho: o eBPF melhora significativamente o desempenho ao reduzir a sobrecarga nos recursos do sistema em comparação com o AuditD.
Eficiência de Recursos: o eBPF utiliza menos recursos, o que ajuda a manter a estabilidade do sistema mesmo em condições de carga pesadas.
Escalabilidade: a arquitetura do eBPF é mais dimensionável, tornando-a uma escolha melhor para ambientes com cargas de trabalho crescentes ou complexas.
Tecnologia Moderna: o eBPF representa uma tecnologia moderna e orientada para o futuro que se alinha com futuros desenvolvimentos de kernel do Linux, garantindo um melhor suporte a longo prazo.
2. Como posso continuar a utilizar o AuditD?
Se preferir continuar a utilizar o AuditD:
Versões Suportadas: pode permanecer no Defender para Endpoint na versão 101.24072.0000 do Linux, que irá suportar AuditD durante a validade da compilação, que é de aproximadamente nove meses. Isto fornece um período de transição suficiente para planear a sua mudança para o eBPF. A data de expiração pode ser verificada ao executar o comando
mdatp health
no servidor Linux.Long-Term Plano: embora permanecer na
101.24072.0000
compilação seja uma opção, recomendamos que planeie a sua transição para o eBPF dentro deste período de tempo para garantir que beneficia das melhorias de segurança e desempenho mais recentes e também obter suporte contínuo.
Dito isto, a nossa recomendação seria planear uma mudança para a utilização do eBPF como fornecedor principal de eventos.
3. O que acontece se o eBPF não for suportado em alguns cenários?
Nos casos em que o eBPF não é suportado:
Netlink Fallback: o sistema volta a utilizar o fornecedor de eventos Netlink. Enquanto o Netlink continua a capturar eventos de processo (por exemplo,
exec
,exit
,fork
,gid
outid
), não suporta eventos relacionados com o sistema de ficheiros (por exemplo,rename
,unlink
) ou eventos de socket.Impacto: as cargas de trabalho não serão interrompidas, mas poderá perder eventos específicos relacionados com o ficheiro e socket que o eBPF capturaria de outra forma.
4. Como posso gerir exclusões com as Versões Atualizadas?
Seguem-se alguns motivos comuns para colocar exclusões para AuditD:
O desempenho como um processo ou syscall está a gerar muito ruído
Kernel Panic, há alturas em que muitas chamadas syscalls especificamente chamadas de rede/sistema de ficheiros resultaram em pânico no kernel.
Registos ruidosos, em que os registos de auditoria estão a utilizar o espaço em disco. O cliente colocou as exclusões para os processos ruidosos para reduzir o tamanho do registo.
Com o eBPF, os dois primeiros casos de utilização são os candidatos à migração. Os registos já não são um problema com o eBPF. No caso das duas primeiras utilizações, pode escolher entre as seguintes opções:
Contactar o suporte: contacte a Microsoft para aplicar as exclusões do back-end.
Exclusões Globais: nas versões atualizadas do Defender para Endpoint no Linux, as exclusões podem ser geridas com exclusões globais. As exclusões globais aplicam-se ao antivírus e ao EDR e podem ser configuradas através do json gerido atualmente. Para mais informações, confira Configurar e validar exclusões no Microsoft Defender para Ponto de Extremidade no Linux.
5. O que devo fazer caso existam problemas?
Contactar o Suporte: se encontrar problemas durante ou após a transição para o eBPF, contacte o suporte técnico para obter assistência. Estamos empenhados em garantir uma transição suave e estamos disponíveis para ajudar a resolve quaisquer desafios que possa enfrentar.
Canais de Suporte: pode contactar o suporte através do portal Microsoft Defender. Além disso, os nossos fóruns de base de dados de conhecimento e comunidade são recursos valiosos para resolver problemas comuns.