Introdução
Este documento descreve como identificar, resolver e verificar a falha 11 no conector Secure Endpoint Linux.
Determine o suporte BTF
Para que o conector monitore os eventos do sistema de arquivos e da rede usando o eBPF, uma destas afirmações deve ser verdadeira:
- O kernel atual tem
CONFIG_DEBUG_INFO_BTF
habilitado ou
- Há um cabeçalho de kernel instalado para o kernel atual.
É preferível que o kernel tenha CONFIG_DEBUG_INFO_BTF
habilitado. Para verificar se o kernel atual tem CONFIG_DEBUG_INFO_BTF
habilitado, execute o comando:
cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF
Se você vir CONFIG_DEBUG_INFO_BTF=y
, seu kernel suporta BTF e o conector pode monitorar o sistema de arquivos e os eventos de rede usando eBPF. As versões 1.25.0 e mais recentes do conector Linux suportam o eBPF CO-RE, que permite o monitoramento de eventos do sistema de arquivos e da rede em kernels suportados pelo BTF sem exigir a instalação de cabeçalhos do kernel.
Falha 11
Se o seu kernel atual não suporta BTF e o cabeçalho do kernel necessário está ausente, então a falha 11 é levantada pelo conector Linux. Use uma destas etapas para resolver a falha:
- Atualize seu kernel e conector para uma versão compatível com BTF (solução preferencial) ou
- Instalar o cabeçalho de kernel ausente
Distribuições suportadas BTF
Essas distribuições têm CONFIG_DEBUG_INFO_BTF
habilitado por padrão na versão mais recente do kernel:
- Centos/RHEL 8.2 e posterior
- Ubuntu 20.04 e posterior
- Oracle Linux 8.5 e posterior
- Debian 11 e mais recente
- Alma Linux 8.3 e posterior
- Rocky Linux 8.3 e posterior
- SUSE Enterprise 15 SP4 / openSUSE Leap 15.4 e posterior
Atualizar para um kernel suportado por BTF
Se você estiver em uma distribuição que suporte BTF em uma versão de kernel posterior, é preferível que você atualize seu kernel para resolver a falha 11.
Antes de continuar a atualizar seu kernel, atualize primeiro seu conector Linux para a versão 1.25.0 ou mais recente para garantir que seu conector suporte BTF.
Distribuições baseadas em RPM
Esta seção é aplicável a:
- Linux Alma
- Linux da Amazon
- CentOS Linux
- Kernel compatível com o Oracle Linux Red Hat (RHCK)
- Red Hat Enterprise Linux
- Linux rochoso
Para atualizar para a versão mais recente do kernel:
- Verifique se há atualizações disponíveis para o kernel:
yum check-update
Se você vir kernel.x86_64
na saída, então há uma atualização de kernel disponível.
- Atualize o pacote do kernel:
sudo yum update kernel
- Reinicialize o sistema:
sudo reboot
- Verifique se o novo kernel suporta BTF e se a falha 11 é eliminada pelo conector.
Kernel Corporativo Inquebrável do Oracle Linux (UEK)
Para atualizar para a versão mais recente do kernel:
- Verifique se há atualizações disponíveis para o kernel:
yum check-update
Se você vir kernel-uek.x86_64
na saída, então há uma atualização de kernel disponível.
- Atualize o pacote do kernel:
sudo yum update kernel-uek
- Reinicialize o sistema:
sudo reboot
- Verifique se o novo kernel suporta BTF e se a falha 11 é eliminada pelo conector.
SUSE Linux Enterprise e openSUSE Leap
Para atualizar para a versão mais recente do kernel:
- Verifique sua versão atual do kernel:
uname -r
- Liste os pacotes
kernel-default
disponíveis: zypper search -s --match-exact kernel-default
A saída é exibida como:
| kernel-default | package |
|
|
Localize uma versão
que seja superior à sua versão atual do kernel, determinada na etapa 1.
- Instale as novas versões do
kernel-default
com o comando: sudo zypper install kernel-default=
- Reinicialize o sistema:
sudo reboot
- Verifique se o novo kernel suporta BTF e se a falha 11 é eliminada pelo conector.
Distribuições baseadas em Debian
Para atualizar para a versão mais recente do kernel:
- Recupere as listas de pacotes mais recentes:
sudo apt update
- Instale os pacotes mais recentes:
sudo apt upgrade
- Reinicialize o sistema:
sudo reboot
- Verifique se o novo kernel suporta BTF e se a falha 11 é eliminada pelo conector.
Instalar Cabeçalho de Kernel Ausente
Antes de instalar um cabeçalho de kernel ausente, tente atualizar seu sistema para uma versão BTF suportada. Se isso não resolver a falha 11, ou se a sua distribuição ainda não suporta BTF na versão mais recente, continue a instalar o cabeçalho do kernel ausente.
Distribuições baseadas em RPM
Esta seção é aplicável a:
- Linux Alma
- Linux da Amazon
- CentOS Linux
- Kernel compatível com o Oracle Linux Red Hat (RHCK)
- Red Hat Enterprise Linux
- Linux rochoso
Verificar
As distribuições baseadas em RPM exigem que um pacote kernel-devel
esteja instalado para o kernel atualmente em execução. Para verificar se um pacote kernel-devel
está instalado para o kernel em execução no momento, execute:
rpm -qa | grep kernel-devel-$(uname -r)
Se não houver resultados, o pacote kernel-devel
necessário está ausente e precisa ser instalado.
Resolução
Para instalar o pacote kernel-devel
necessário, execute o comando:
sudo dnf install -y kernel-devel-$(uname -r)
Verificar novamente. A falha 11 será eliminada pelo conector após cerca de um minuto.
Kernel Corporativo Inquebrável do Oracle Linux (UEK)
Verificar
O Oracle Linux UEK requer que um pacote kernel-uek-devel
esteja instalado para o kernel em execução no momento. Para verificar se um pacote kernel-uek-devel
está instalado para o kernel em execução no momento, execute:
rpm -qa | grep kernel-uek-devel-$(uname -r)
Se não houver resultados, o pacote kernel-uek-devel
necessário está ausente e precisa ser instalado.
Resolução
Para instalar o pacote kernel-uek-devel
necessário, execute o comando:
sudo dnf install -y kernel-uek-devel-$(uname -r)
Verificar novamente. A falha 11 será eliminada pelo conector após cerca de um minuto.
SUSE Linux Enterprise e openSUSE Leap
Verificar
O SUSE e o openSUSE exigem que o pacote kernel-default-devel
esteja instalado para o kernel atualmente em execução. Para verificar se o pacote kernel-default-devel
está instalado para o kernel em execução no momento, execute:
zypper search -si kernel-default-devel | grep $(uname -r | sed "s/-default//")
Se não houver resultados, o pacote kernel-default-devel
necessário está ausente e precisa ser instalado.
Resolução
Instalar cabeçalhos do kernel
- Para determinar se o pacote
kernel-default-devel
correto para sua versão do kernel está disponível para instalação, execute o comando: zypper search -s kernel-default-devel | grep $(uname -r | sed "s/-default//")
A saída inclui a sintaxe:
| kernel-default-devel |
|
|
|
Se você vir uma saída semelhante, anote a versão
especificada na saída e continue na etapa 2. Caso contrário, ignore esta seção e, em vez disso, use os passos para atualizar o kernel e instalar os cabeçalhos do kernel correspondentes.
- Instale o pacote
kernel-default-devel
usando este comando, substituindo <version>
pela versão disponível identificada na etapa anterior: sudo zypper install --oldpackage kernel-default-devel=
- Verifique se o pacote
kernel-default-devel
foi instalado. A falha 11 é eliminada pelo conector após cerca de um minuto.
Atualizar Kernel e Instalar Cabeçalhos de Kernel Correspondentes
Se o pacote kernel-default-devel
necessário não estiver disponível, atualize seu kernel para uma versão suportada e instale os cabeçalhos do kernel correspondentes.
- Liste os pacotes
kernel-default
e kernel-default-devel
disponíveis com o comando: zypper search -s --match-exact kernel-default kernel-default-devel
Procure versões correspondentes dos pacotes kernel-default
e kernel-default-devel
. Por exemplo:
| kernel-default | package |
|
|
| kernel-default-devel | package |
|
|
Anote a nova versão
especificada na saída.
Observação: se você não conseguir encontrar um kernel mais recente para o qual atualizar, você deve atualizar para uma versão de distribuição mais recente.
- Instale as novas versões de
kernel-default
e kernel-default-devel
com o comando: sudo zypper install kernel-default=
kernel-default-devel=
- Reinicialize o sistema:
sudo reboot
- Verificar novamente. A falha 11 é eliminada pelo conector.
Distribuições baseadas em Debian
Verificar
Distribuições baseadas em Debian requerem que um pacote linux-headers
esteja instalado para o kernel atualmente em execução. Para verificar se um pacote linux-headers
está instalado para o kernel em execução no momento, execute:
apt list linux-headers-$(uname -r)
Se não houver resultados, o pacote linux-headers
necessário está ausente e precisa ser instalado.
Resolução
Para instalar o pacote linux-headers
necessário, execute o comando:
sudo apt install linux-headers-$(uname -r)
Verificar novamente. A falha 11 é eliminada pelo conector após cerca de um minuto.