소개
이 문서에서는 Cisco Secure Endpoint Linux Connector의 파일 시스템 및 네트워크 모니터링에 필요한 사전 컴파일된 커널 모듈이 현재 실행 중인 시스템 커널에서 제공되지 않는 경우를 식별하는 방법과, 파일 시스템 및 네트워크 모니터링이 작동하도록 커널 모듈을 수동으로 컴파일하는 절차에 대해 설명합니다.
이 문서의 목적상, "지원되지 않는 커널"은 Linux 커넥터에서 지원되는 커널 버전이지만 커널 버전에 필요한 미리 컴파일된 특정 커널 모듈은 커넥터 설치 패키지에 포함되어 있지 않으므로 수동으로 컴파일해야 합니다. 이는 Amazon Linux 2와 같은 롤링 릴리스 업데이트를 사용하는 운영 체제에서 실행되는 특정 Linux 커넥터 릴리스의 경우일 수 있습니다.
모든 Linux 배포판 및 커널 버전이 컴파일된 커널 모듈 실행을 지원하는 것은 아닙니다. 이 문서에서는 커널 모듈을 수동으로 컴파일할 수 있는 경우를 식별하는 데 도움이 됩니다.
사전 요구 사항
요구 사항
- RHEL 기반 시스템의 경우 배포 제공 gcc가 설치되어 있어야 합니다. 현재 실행 중인 커널에 대해 설치된 커널 레벨.
- UEK(Unbreakable Enterprise Kernel)를 사용하는 시스템의 경우 분산 제공 gcc가 설치되어 있습니다. 현재 실행 중인 커널에 대해 설치된 kernel-uek-devel.
적용 가능성
운영 체제
- RHEL/CentOS 7
- Oracle Linux 7 RHCK(Red Hat Compatible Kernel)
- Oracle Linux 7 UEK 5 이하
- Amazon Linux 2
커널 버전
- 네트워크 모니터링 커널 모듈은 커널 버전 2.6~4.14(포함)에 대해 컴파일될 수 있습니다.
- 파일 시스템 모니터링 커널 모듈은 커널 버전 3.10~4.14(포함)에 대해 컴파일될 수 있습니다.
참고:
- 커널 버전 2.6에서 3.10까지 커넥터는 사용자 지정 컴파일에 적용되지 않는 파일 시스템 모니터링을 위해 redirfs(트리 외부 커널 모듈)를 사용합니다.
- 4.14와 4.19 사이의 커널 버전은 커넥터와 호환되지 않으며 사용자 지정 컴파일에도 적용되지 않습니다.
- 커널 버전 4.19 이상의 경우, 커넥터는 파일 시스템 및 네트워크 모니터링을 위해 eBPF 모듈을 사용합니다. 해당 커널 버전에서 이 결함을 해결하는 방법에 대한 자세한 내용은 Linux 커널 레벨 결함 문서를 참조하십시오.
커넥터 버전
- 1.16.0 이상
- 사용자 지정 UEK 커널 모듈을 만들기 위한 1.18.0 이상
지원되지 않는 커널 진단
지원되지 않는 커널이 있는 컴퓨터에서 커넥터가 실행 중인 경우, fault 8(실시간 파일 시스템 모니터 시작 실패) 및 fault 9(실시간 네트워크 모니터 시작 실패)가 제기되고, 파일 시스템 또는 네트워크 모니터링 없이 저하된 상태로 커넥터가 실행됩니다.
지원되지 않는 커널에서 커넥터가 실행 중인지 확인하기 위해 터미널 창에서 다음 단계를 수행할 수 있습니다.
- 커넥터에 fault 8 및/또는 fault 9가 제기되었는지 확인합니다.
$ /opt/cisco/amp/bin/ampcli status
[logger] Set minimum reported log level to notice
Trying to connect...
Connected.
Status: Connected
Mode: Degraded
Scan: Ready for scan
Last Scan: none
Policy: unsupported kernel example (#7607)
Command-line: Enabled
Faults: 2 Critical
Fault IDs: 8, 9
ID 8 - Critical: Realtime filesystem monitor failed to start.
ID 9 - Critical: Realtime network monitor failed to start.
- 현재 실행 중인 커널이 2.6에서 4.14 사이이며, 미리 컴파일된 커널 모듈 버전과 일치하지 않는지 확인합니다.
다음 명령은 현재 실행 중인 커널 버전을 표시합니다.
$ uname -r
4.14.97-90.72.amzn2.x86_64
커넥터와 함께 패키지로 제공되는 미리 컴파일된 커널 모듈 버전은 다음 명령을 사용하여 나열됩니다.
$ ls /opt/cisco/amp/bin/modules/
4.14.186-146.268.amzn2.x86_64 4.14.198-152.320.amzn2.x86_64 4.14.209-160.335.amzn2.x86_64 4.14.219-161.340.amzn2.x86_64 4.14.225-169.362.amzn2.x86_64
4.14.192-147.314.amzn2.x86_64 4.14.200-155.322.amzn2.x86_64 4.14.209-160.339.amzn2.x86_64 4.14.219-164.354.amzn2.x86_64 4.14.231-173.360.amzn2.x86_64
4.14.193-149.317.amzn2.x86_64 4.14.203-156.332.amzn2.x86_64 4.14.214-160.339.amzn2.x86_64 4.14.225-168.357.amzn2.x86_64 4.14.231-173.361.amzn2.x86_64
위의 예에서 커널 버전 4.14.97-90.72.amzn2.x86_64은 사용 가능한 커널 모듈 목록에 포함되지 않습니다.
Linux 커넥터는 다음 사항이 모두 참인 경우 사용자 지정 커널 모듈을 컴파일하는 데 적합합니다.
- 커넥터에 결함 8 및/또는 9가 제기되었습니다.
- 현재 커널 버전은 2.6 ~ 4.14입니다(포함).
- 현재 커널 버전은 미리 컴파일된 커널 모듈/opt/
cisco/amp/bin/modules 목록에
포함되어 있지 않습니다
해결
Linux 커넥터가 지원되지 않는 커널에서 실행 중인 경우 다음 절차를 사용하여 시스템에 대한 사용자 지정 커널 모듈을 컴파일할 수 있습니다.
- 필요한 시스템 종속성 설치:
$ yum install gcc
gcc
는 커널 모듈을 특정 옵션으로 컴파일하기 위해 필요합니다.
- RHEL 기반 커널을 사용하는 시스템에서 다음 명령을 사용하여 필요한 커널 패키지를 설치합니다.
$ yum install kernel-devel-$(uname -r)
-
UEK를 사용하는 시스템에서는 다음 명령을 사용하여 필요한 커널 패키지를 설치합니다.
$ yum install kernel-uek-devel-$(uname -r)
시스템에 따라 현재 실행 중인 커널에
대한 커널 모듈을 컴파일하려면 kernel-devel-$(uname -r) 또는 kernel-uek-devel-$(uname -r)
가 필요합니다.
-
루트 권한이 있는 compile_kmods.sh 스크립트를 실행합니다.
$ sudo /opt/cisco/amp/bin/compile_kmods.sh
compile_kmods.sh 스크립트는 현재 실행 중인 커널 버전에 대해 파일 시스템 및 네트워킹 모니터링 커널 모듈을 컴파일하려고 시도합니다. 맞춤형 커널 모듈은 /opt/cisco/amp/extras/modules
디렉토리 아래에
생성됩니다. 실행이 끝나면 새로 컴파일된 커널 모듈이 시스템에 로드될 수 있도록 스크립트가 커넥터를 자동으로 다시 시작합니다.
- 결함 8 및 9가 제거되었는지 확인합니다.
$ /opt/cisco/amp/bin/ampcli status
[logger] Set minimum reported log level to notice
Trying to connect...
Connected.
Status: Connected
Mode: Normal
Scan: Ready for scan
Last Scan: 2021-06-14 05:53 PM
Policy: unsupported kernel example (#7607)
Command-line: Enabled
Faults: None
추가 명령
compile_kmods.sh 실행 파일은 Secure Endpoint Linux 커넥터 버전 1.16.0 이상에서 사용할 수 있으며 호환 가능한 OS 배포판에 자동으로 설치됩니다. compile_kmods.sh 실행 파일은 UEK의 사용자 지정 컴파일을 지원하도록 Secure Endpoint Linux 커넥터 버전 1.18.0 이상에서 향상되었습니다.
네트워크 모니터링을 위한 맞춤형 커널 모듈 컴파일은 커널 버전 2.6~4.14에서 지원되며, 파일 시스템 모니터링을 위한 맞춤형 커널 모듈 컴파일은 커널 버전 3.10~4.14에서 지원됩니다.
사용 가능한 명령
참고: compile_kmods.sh 실행 파일은 루트 권한으로 실행해야 합니다.
문제 해결
해결 단계를 수행한 후에도 결함 8 및/또는 9가 여전히 제기될 경우 다음 단계를 수행하여 문제를 더 자세히 조사할 수 있습니다.