개요
RHEL(Red Hat Enterprise Linux) 8 및 변형, Oracle Linux 8 RHCK(Red Hat Compatible Kernel), Oracle Linux 7 및 8, UEK(Unbreakable Enterprise Kernel) 6, 4.19 이상의 시스템 커널에서 실행되는 Amazon Linux 2에서는 커널 레벨 패키지 또는 Oracle Linux UEK의 커널-uek-레벨 패키지가 현재 실행 중인 커널에 없을 때 Cisco Secure Endpoint Linux Connector에서 파일 이동을 모니터링하거나 Device Flow Correlation(네트워크 모니터링)을 활성화할 수 없습니다. 이 상황에서는 커넥터가 결함 ID 11 "필수 커널 레벨 패키지가 없습니다"를 제기합니다. Debian 및 Ubuntu의 경우 linux-headers 패키지가 없을 때 이 결함이 제기될 수 있습니다.
RHEL 8, Oracle Linux 8 RHCK, Oracle Linux 7 및 8 UEK 6, Amazon Linux 2 kernel 4.19 이상부터 커넥터는 실시간 파일 시스템 및 네트워크 모니터링에 eBPF 모듈을 사용합니다. eBPF 모듈은 RHEL 6, RHEL 7, Oracle Linux 7 RHCK, Oracle Linux 7 UEK 5 이하, Amazon Linux 2 kernel 4.14 이하에서 실행될 때 사용되는 Linux 커널 모듈을 대체합니다. Ubuntu 18.04 이상 및 Debian 10 이상의 경우 eBPF 모듈이 기본적으로 사용됩니다.
가장 폭넓은 호환성을 위해 커넥터는 시스템에서 커넥터를 로드하고 실행하기 전에 커넥터에서 사용하는 eBPF 모듈을 자동으로 컴파일합니다. 이 컴파일을 사용하려면 현재 실행 중인 커널에 해당하는 커널 개발 헤더 파일을 설치해야 합니다. 커넥터는 커넥터를 시작할 때마다 eBPF 모듈을 컴파일하고 로드하려고 합니다
이 결함은 시스템에 커널 레벨 패키지가 있더라도 UEK가 설치된 Oracle Linux에 나타날 수 있습니다. 이는 설치 과정에서 커넥터가 엔드포인트에서 작업을 모니터링하는 데 사용되는 eBPF 프로브를 허용하도록 SELinux를 구성할 수 없는 결함으로 인해 발생합니다.
적용 가능성
이 결함은 일반적으로 새로운 Secure Endpoint Linux 커넥터를 설치하거나 시스템 커널을 업데이트한 후에 제기됩니다.
운영 체제
- RHEL/CentOS/Rocky Linux/AlmaLinux 8
- Oracle Linux 8 RHCK
- Oracle Linux 7 및 8 UEK 5 및 6
- Ubuntu 18.04 이상
- 데비안 10 이상
- Amazon Linux 2
커넥터 버전
RHEL Linux
커널 개발 패키지는 필요한 커널 개발 헤더 파일을 커널 버전에 따라 구성된 /usr/src/kernels 디렉토리에 설치합니다.
원인
실시간 파일 시스템 및 네트워크 활동 모니터링에 필요한 커널 레벨 패키지가 없습니다.
해결
현재 실행 중인 커널과 일치하는 `kernel-devel` 패키지를 설치합니다.
절차
'커널 수준' 패키지는 현재 실행 중인 커널과 일치해야 합니다. 현재 '커널 레벨' 패키지가 설치되어 있는지 및/또는 누락되었는지 확인하려면 다음을 실행합니다.
rpm -qa | grep kernel*
다음은 현재 실행 중인 커널과 일치하는 'kernel-devel' 패키지를 보여 주는 샘플 출력입니다.
현재 실행 중인 커널에 해당하는 커널 레벨 패키지를 설치하려면 다음을 실행합니다.
dnf install -y kernel-devel-$(uname -r)
커넥터는 1분 이내에 오류를 복구하고 해결해야 합니다. 1분 내에 결함이 제거되지 않을 경우, 커넥터를 수동으로 다시 시작하십시오. 그러면 재시작 후 1분 이내에 결함이 해결됩니다.
참고: 위의 명령이 "No match for argument" 오류와 함께 실패하는 경우 현재 커널 버전이 더 이상 지원되지 않으며 OS 유지 관리자가 dnf 저장소에서 패키지를 제거했을 수 있습니다. 이 경우 필요한 커널 레벨 .rpm 패키지를 공급업체의 OS 아카이브에서 수동으로 다운로드한 다음 수동으로 설치할 수 있습니다. 또는 커널을 지원되는 버전으로 업데이트할 수 있으며 위의 명령이 다시 시도됩니다.
예를 들어 CentOS를 사용하고 배포에서 지원하는 버전으로 커널을 업데이트할 수 없는 경우 CentOS용의 이전 커널 레벨 .rpm 패키지를 http://vault.centos.org에서 수동으로 다운로드할 수 있습니다. 다운로드할 파일의 이름은 다음 bash 명령의 출력으로 지정됩니다.
echo kernel-devel-$(uname -r).rpm
다운로드한 커널 레벨 패키지는 다운로드한 .rpm 파일이 저장된 디렉토리에서 다음 bash 명령을 실행하여 설치할 수 있습니다.
dnf install -y kernel-devel-$(uname -r).rpm
Oracle Linux
Oracle Linux는 RHCK와 UEK라는 두 가지 다른 커널 대안과 함께 배포됩니다. kernel-devel 및 kernel-uek-devel 패키지는 각각 RHCK 및 UEK의 /usr/src/kernels 디렉토리에 필요한 커널 개발 헤더 파일을 설치합니다. 커널 개발 파일은 해당 커널 버전에 따라 /usr/src/kernels로 구성됩니다.
Oracle Linux RHCK
Oracle Linux RHCK에서 누락된 커널 패키지를 식별하고 결함 ID 11을 확인하는 절차는 RHEL Linux와 동일합니다. 자세한 내용은 위의 RHEL Linux 섹션을 참조하십시오.
Oracle Linux UEK
Oracle Linux UEK에서 누락된 커널 패키지를 식별하고 결함 ID 11을 해결하는 절차는 RHEL Linux와 유사하지만 동일하지 않습니다. 자세한 내용은 위의 RHEL Linux 섹션을 참조하되 "kernel-devel"의 모든 인스턴스를 "kernel-uek-devel"로 바꾸십시오. 구체적으로, 모든 관련 명령에 대해 kernel-devel-$(uname -r)를 kernel-uek-devel-$(uname -r)
로 교체합니다.
주: dnf 저장소에서 설치하려고 할 때 필요한 kernel-uek-devel .rpm 패키지를 찾을 수 없는 경우 https://yum.oracle.com/에 있는 Oracle 아카이브에서 패키지를 수동으로 다운로드하여 설치할 수 있습니다.
데비안/우분투 리눅스
linux-headers 패키지는 필요한 헤더 파일을 커널 버전에 따라 구성된 /usr/src 디렉토리에 설치합니다.
원인
실시간 파일 시스템 및 네트워크 활동 모니터링에 필요한 linux-headers 패키지가 없습니다.
/usr/src 디렉토리에 설치된 헤더를 확인할 수 있습니다.
해결
linux-headers 패키지는 다음 명령을 사용하여 설치할 수 있습니다.
sudo apt install linux-headers-$(uname -r)