소개
이 문서에서는 Secure Endpoint Linux 커넥터에서 결함 11을 식별, 해결 및 확인하는 방법에 대해 설명합니다.
BTF 지원 결정
커넥터가 eBPF를 사용하여 파일 시스템 및 네트워크 이벤트를 모니터링하려면 다음 중 하나가 참이어야 합니다.
- 현재 커널에서 CONFIG
_DEBUG_INFO_BTF
가 활성화되었거나
- 현재 커널에 대한 커널 헤더가 설치되어 있습니다.
커널에 CONFIG_DEBUG_INFO_BTF가 활성화되어 있는 것이
좋습니다. 현재 커널에서 CONFIG_DEBUG_INFO_BTF가 활성화되었는지
확인하려면 다음 명령을 실행합니다.
cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF
CONFIG_DEBUG_INFO_BTF=y가
표시되면 커널은 BTF를 지원하고 커넥터는 eBPF를 사용하여 파일 시스템 및 네트워크 이벤트를 모니터링할 수 있습니다. Linux 커넥터 버전 1.25.0 이상에서는 커널 헤더를 설치할 필요 없이 BTF 지원 커널에서 파일 시스템 및 네트워크 이벤트를 모니터링할 수 있는 eBPF CO-RE를 지원합니다.
결함 11
현재 커널이 BTF를 지원하지 않고 필요한 커널 헤더가 없는 경우 Linux 커넥터에서 결함 11을 제기합니다. 다음 단계 중 하나를 사용하여 결함을 해결합니다.
- 커널 및 커넥터를 BTF 지원 버전(권장 솔루션)으로 업그레이드하거나
- 누락된 커널 헤더 설치
BTF 지원 배포
이러한 배포는 최신 커널 버전
에서 기본적으로 CONFIG_DEBUG_INFO_BTF가 활성화되어 있습니다.
- Centos/RHEL 8.2 이상
- Ubuntu 20.04 이상
- Oracle Linux 8.5 이상
- 데비안 11 이상
- Alma Linux 8.3 이상
- Rocky Linux 8.3 이상
- SUSE Enterprise 15 SP4 / openSUSE Leap 15.4 이상
BTF 지원 커널로 업그레이드
최신 커널 버전에서 BTF를 지원하는 배포에 있는 경우 결함 11을 해결하기 위해 커널을 업데이트하는 것이 좋습니다.
커널 업데이트를 진행하기 전에 먼저 Linux 커넥터를 버전 1.25.0 이상으로 업그레이드하여 커넥터가 BTF를 지원하는지 확인하십시오.
RPM 기반 배포
이 섹션은 다음 항목에 적용됩니다.
- 알마 리눅스
- 아마존 리눅스
- CentOS Linux
- Oracle Linux Red Hat Compatible Kernel(RHCK)
- Red Hat Enterprise Linux
- 로키 리눅스
최신 커널 버전으로 업그레이드하려면
- 커널에 대해 사용 가능한 업데이트가 있는지 확인합니다.
yum check-update
출력에서 kernel.x86_64
가 표시되면 커널 업그레이드를 사용할 수 있습니다.
- 커널 패키지를 업데이트합니다.
sudo yum update kernel
- 시스템을 재부팅합니다.
sudo reboot
- 새 커널이 BTF를 지원하고 결함 11이 커넥터에서 제거되었는지 확인합니다.
Oracle Linux UEK(Unbreakable Enterprise Kernel)
최신 커널 버전으로 업그레이드하려면
- 커널에 대해 사용 가능한 업데이트가 있는지 확인합니다.
yum check-update
출력에서 kernel-uek.x86_64
가 표시되면 커널 업그레이드를 사용할 수 있습니다.
- 커널 패키지를 업데이트합니다.
sudo yum update kernel-uek
- 시스템을 재부팅합니다.
sudo reboot
- 새 커널이 BTF를 지원하고 결함 11이 커넥터에서 제거되었는지 확인합니다.
SUSE Linux Enterprise 및 openSUSE Leap
최신 커널 버전으로 업그레이드하려면
- 현재 커널 버전 확인:
uname -r
- 사용 가능한
커널 기본 패키지를
나열합니다. zypper search -s --match-exact kernel-default
출력은 다음과 같이 표시됩니다.
| kernel-default | package |
|
|
1단계에서 확인된
현재 커널 버전보다 더 큰 버전을 찾습니다.
- 다음 명령을 사용하여 새
버전의 kernel-
default를 설치합니다. sudo zypper install kernel-default=
- 시스템을 재부팅합니다.
sudo reboot
- 새 커널이 BTF를 지원하고 결함 11이 커넥터에서 제거되었는지 확인합니다.
데비안 기반 배포
최신 커널 버전으로 업그레이드하려면
- 최신 패키지 목록 검색:
sudo apt update
- 최신 패키지를 설치합니다.
sudo apt upgrade
- 시스템을 재부팅합니다.
sudo reboot
- 새 커널이 BTF를 지원하고 결함 11이 커넥터에서 제거되었는지 확인합니다.
누락된 커널 헤더 설치
누락된 커널 헤더를 설치하기 전에 시스템을 BTF 지원 버전으로 업그레이드하십시오. 이렇게 해도 결함 11이 해결되지 않거나 배포에서 최신 버전의 BTF를 아직 지원하지 않는 경우 누락된 커널 헤더를 계속 설치합니다.
RPM 기반 배포
이 섹션은 다음 항목에 적용됩니다.
- 알마 리눅스
- 아마존 리눅스
- CentOS Linux
- Oracle Linux Red Hat Compatible Kernel(RHCK)
- Red Hat Enterprise Linux
- 로키 리눅스
다음을 확인합니다.
RPM 기반 배포에서는 현재 실행 중인 커널에
대한 커널 레벨
패키지가 설치되어 있어야 합니다. 현재 실행 중인 커널에
대해 커널 레벨
패키지가 설치되어 있는지 확인하려면 다음을 실행합니다.
rpm -qa | grep kernel-devel-$(uname -r)
결과가 없는 경우 필요한 커널 레벨 패키지
가 없으므로 설치해야 합니다.
해결
필요한 커널
레벨 패키지를
설치하려면 다음 명령을 실행합니다.
sudo dnf install -y kernel-devel-$(uname -r)
다시 확인합니다. 결함 11은 약 1분 후에 커넥터에서 해결됩니다.
Oracle Linux UEK(Unbreakable Enterprise Kernel)
다음을 확인합니다.
Oracle Linux UEK를 사용하려면 현재 실행 중인 커널에
대해 kernel-uek-
dev 패키지가 설치되어 있어야 합니다. 현재 실행 중인 커널에 대해 kernel-uek-
dev 패키지가 설치되어 있는지 확인하려면 다음을 실행합니다.
rpm -qa | grep kernel-uek-devel-$(uname -r)
결과가 없는 경우 필요한 kernel-uek-devel
패키지가 없으므로 설치해야 합니다.
해결
필요한 kernel-uek-devel 패키지를
설치하려면 다음 명령을 실행합니다.
sudo dnf install -y kernel-uek-devel-$(uname -r)
다시 확인합니다. 결함 11은 약 1분 후에 커넥터에서 해결됩니다.
SUSE Linux Enterprise 및 openSUSE Leap
다음을 확인합니다.
SUSE 및 openSUSE에서는 현재 실행 중인 커널에
대해 kernel-default-
devel 패키지를 설치해야 합니다. 현재 실행 중인 커널에 대해 kernel-default-
level 패키지가 설치되어 있는지 확인하려면 다음을 실행합니다.
zypper search -si kernel-default-devel | grep $(uname -r | sed "s/-default//")
결과가 없는 경우 필요한 kernel-default-level
패키지가 없으므로 설치해야 합니다.
해결
커널 헤더 설치
- 커널 버전에 대한 올바른
커널-기본-
레벨 패키지를 설치할 수 있는지 확인하려면 다음 명령을 실행합니다. zypper search -s kernel-default-devel | grep $(uname -r | sed "s/-default//")
출력에는 다음과 같은 구문이 포함됩니다.
| kernel-default-devel |
|
|
|
유사한 출력이 표시되면 출력에 지정된 버전
에 주목하고 2단계로 진행합니다. 그렇지 않으면 이 섹션을 건너뛰고 대신 단계를 사용하여 커널을 업데이트하고 일치하는 커널 헤더를 설치합니다.
- 이 명령을 사용하여
kernel-default-devel
패키지를 설치하고 <version>
을 이전 단계에서 식별된 사용 가능한 버전으로 바꿉니다. sudo zypper install --oldpackage kernel-default-devel=
kernel-default-level 패키지
가 설치되었는지 확인합니다. 결함 11은 약 1분 후에 커넥터에서 해결됩니다.
커널 업데이트 및 일치하는 커널 헤더 설치
필요한 kernel-default-level 패키지를
사용할 수 없는 경우 커널을 지원되는 버전으로 업데이트하고 일치하는 커널 헤더를 설치합니다.
- 사용 가능한
kernel-default
및 kernel-default-
level 패키지를 명령과 함께 나열합니다. zypper search -s --match-exact kernel-default kernel-default-devel
kernel-
default 및 kernel-default
-level 패키지의 일치하는 버전을
찾습니다. 예를 들면 다음과 같습니다.
| kernel-default | package |
|
|
| kernel-default-devel | package |
|
|
출력에 지정된 새 버전
을 확인합니다.
참고: 업그레이드할 최신 커널을 찾을 수 없는 경우 최신 배포 릴리스 버전으로 업그레이드해야 합니다.
- 다음 명령을 사용하여 새
버전의 kernel-default
및 kernel-default-
default를 설치합니다. sudo zypper install kernel-default=
kernel-default-devel=
- 시스템을 재부팅합니다.
sudo reboot
- 다시 확인합니다. 결함 11이 커넥터에 의해 지워집니다.
데비안 기반 배포
다음을 확인합니다.
데비안 기반 배포에서는 현재 실행 중인 커널에
대해 linux 헤더
패키지를 설치해야 합니다. 현재 실행 중인 커널에 대해 linux-
headers 패키지가 설치되어 있는지 확인하려면 다음을 실행합니다.
apt list linux-headers-$(uname -r)
결과가 없으면 필요한 linux-headers 패키지
가 없으므로 설치해야 합니다.
해결
필요한 linux-headers 패키지를
설치하려면 다음 명령을 실행합니다.
sudo apt install linux-headers-$(uname -r)
다시 확인합니다. 결함 11은 약 1분 후에 커넥터에서 해결됩니다.