15.5. RHCOS 노드 호스트 스캔
OpenShift Container Platform의 경우 RHCOS(Red Hat Enterprise Linux CoreOS)는 컨트롤 플레인에서 지원되는 유일한 운영 체제입니다. 노드 호스트의 경우 OpenShift Container Platform은 RHCOS 및 RHEL (Red Hat Enterprise Linux)을 모두 지원합니다. RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하면 RHCOS 노드에서 취약점을 스캔하고 잠재적인 보안 위협을 감지할 수 있습니다.
RHACS는 RHCOS 설치의 일부로 노드 호스트에 설치된 RHCOS RPM을 검사하여 알려진 취약점을 검사합니다.
먼저 RHACS는 RHCOS 구성 요소를 분석하고 감지합니다. 그런 다음 RHEL 및 다음 데이터 스트림을 사용하여 식별된 구성 요소의 취약점과 일치합니다.
- 노드 검사에 StackRox Scanner를 사용하는 경우 OpenShift 4.X OVAL(Open Vulnerability and Assessment Language) v2 보안 데이터 스트림이 사용됩니다.
- 스캐너 V4를 노드 스캔에 사용하는 경우 Red Hat Common Security Advisory Framework (CSAF) Vulnerability Exploitability eXchange (VEX)가 사용됩니다.
-
roxctl
CLI를 사용하여 RHACS를 설치한 경우 RHCOS 노드 검사 기능을 수동으로 활성화해야 합니다. OpenShift Container Platform에서 Helm 또는 Operator 설치 방법을 사용하는 경우 이 기능은 기본적으로 활성화됩니다.
15.5.1. StackRox 스캐너를 사용하여 RHCOS 노드 스캔 활성화
OpenShift Container Platform을 사용하는 경우 RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하여 취약점에 대해 RHCOS(Red Hat Enterprise Linux CoreOS) 노드 검사를 활성화할 수 있습니다.
사전 요구 사항
- 보안 클러스터의 RHCOS 노드 호스트를 스캔하려면 OpenShift Container Platform 4.12 이상에 Secured Cluster 서비스를 설치해야 합니다. 지원되는 플랫폼 및 아키텍처에 대한 자세한 내용은 Red Hat Advanced Cluster Security for Kubernetes 지원 매트릭스 를 참조하십시오. RHACS에 대한 라이프 사이클 지원 정보는 Red Hat Advanced Cluster Security for Kubernetes 지원 정책을 참조하십시오.
- 다음 절차에서는 처음으로 노드 스캔을 활성화하는 방법을 설명합니다. 스캐너 V4 대신 StackRox 스캐너를 사용하도록 Red Hat Advanced Cluster Security for Kubernetes를 재구성하는 경우 " StackRox 스캐너로 RHCOS 노드 스캔 복원" 절차를 따르십시오.
프로세스
다음 명령 중 하나를 실행하여 규정 준수 컨테이너를 업데이트합니다.
메트릭이 비활성화된 기본 규정 준수 컨테이너의 경우 다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":"disabled"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
$ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":"disabled"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
Prometheus 지표가 활성화된 규정 준수 컨테이너의 경우 다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":":9091"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
$ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":":9091"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
다음 단계를 수행하여 Collector DaemonSet(DS)를 업데이트합니다.
다음 명령을 실행하여 수집기 DS에 새 볼륨 마운트를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"volumes":[{"name":"tmp-volume","emptyDir":{}},{"name":"cache-volume","emptyDir":{"sizeLimit":"200Mi"}}]}}}}'
$ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"volumes":[{"name":"tmp-volume","emptyDir":{}},{"name":"cache-volume","emptyDir":{"sizeLimit":"200Mi"}}]}}}}'
다음 명령을 실행하여 새
NodeScanner
컨테이너를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"command":["/scanner","--nodeinventory","--config=",""],"env":[{"name":"ROX_NODE_NAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}},{"name":"ROX_CLAIR_V4_SCANNING","value":"true"},{"name":"ROX_COMPLIANCE_OPERATOR_INTEGRATION","value":"true"},{"name":"ROX_CSV_EXPORT","value":"false"},{"name":"ROX_DECLARATIVE_CONFIGURATION","value":"false"},{"name":"ROX_INTEGRATIONS_AS_CONFIG","value":"false"},{"name":"ROX_NETPOL_FIELDS","value":"true"},{"name":"ROX_NETWORK_DETECTION_BASELINE_SIMULATION","value":"true"},{"name":"ROX_NETWORK_GRAPH_PATTERNFLY","value":"true"},{"name":"ROX_NODE_SCANNING_CACHE_TIME","value":"3h36m"},{"name":"ROX_NODE_SCANNING_INITIAL_BACKOFF","value":"30s"},{"name":"ROX_NODE_SCANNING_MAX_BACKOFF","value":"5m"},{"name":"ROX_PROCESSES_LISTENING_ON_PORT","value":"false"},{"name":"ROX_QUAY_ROBOT_ACCOUNTS","value":"true"},{"name":"ROX_ROXCTL_NETPOL_GENERATE","value":"true"},{"name":"ROX_SOURCED_AUTOGENERATED_INTEGRATIONS","value":"false"},{"name":"ROX_SYSLOG_EXTRA_FIELDS","value":"true"},{"name":"ROX_SYSTEM_HEALTH_PF","value":"false"},{"name":"ROX_VULN_MGMT_WORKLOAD_CVES","value":"false"}],"image":"registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8:4.7.3","imagePullPolicy":"IfNotPresent","name":"node-inventory","ports":[{"containerPort":8444,"name":"grpc","protocol":"TCP"}],"volumeMounts":[{"mountPath":"/host","name":"host-root-ro","readOnly":true},{"mountPath":"/tmp/","name":"tmp-volume"},{"mountPath":"/cache","name":"cache-volume"}]}]}}}}'
$ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"command":["/scanner","--nodeinventory","--config=",""],"env":[{"name":"ROX_NODE_NAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}},{"name":"ROX_CLAIR_V4_SCANNING","value":"true"},{"name":"ROX_COMPLIANCE_OPERATOR_INTEGRATION","value":"true"},{"name":"ROX_CSV_EXPORT","value":"false"},{"name":"ROX_DECLARATIVE_CONFIGURATION","value":"false"},{"name":"ROX_INTEGRATIONS_AS_CONFIG","value":"false"},{"name":"ROX_NETPOL_FIELDS","value":"true"},{"name":"ROX_NETWORK_DETECTION_BASELINE_SIMULATION","value":"true"},{"name":"ROX_NETWORK_GRAPH_PATTERNFLY","value":"true"},{"name":"ROX_NODE_SCANNING_CACHE_TIME","value":"3h36m"},{"name":"ROX_NODE_SCANNING_INITIAL_BACKOFF","value":"30s"},{"name":"ROX_NODE_SCANNING_MAX_BACKOFF","value":"5m"},{"name":"ROX_PROCESSES_LISTENING_ON_PORT","value":"false"},{"name":"ROX_QUAY_ROBOT_ACCOUNTS","value":"true"},{"name":"ROX_ROXCTL_NETPOL_GENERATE","value":"true"},{"name":"ROX_SOURCED_AUTOGENERATED_INTEGRATIONS","value":"false"},{"name":"ROX_SYSLOG_EXTRA_FIELDS","value":"true"},{"name":"ROX_SYSTEM_HEALTH_PF","value":"false"},{"name":"ROX_VULN_MGMT_WORKLOAD_CVES","value":"false"}],"image":"registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8:4.7.3","imagePullPolicy":"IfNotPresent","name":"node-inventory","ports":[{"containerPort":8444,"name":"grpc","protocol":"TCP"}],"volumeMounts":[{"mountPath":"/host","name":"host-root-ro","readOnly":true},{"mountPath":"/tmp/","name":"tmp-volume"},{"mountPath":"/cache","name":"cache-volume"}]}]}}}}'
15.5.2. 스캐너 V4로 RHCOS 노드 스캔 활성화
OpenShift Container Platform을 사용하는 경우 RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하여 취약점에 대해 RHCOS(Red Hat Enterprise Linux CoreOS) 노드 검사를 활성화할 수 있습니다.
사전 요구 사항
보안 클러스터의 RHCOS 노드 호스트를 스캔하려면 다음 소프트웨어를 설치해야 합니다.
- OpenShift Container Platform 4.12 이상에서 보안 클러스터 서비스
RHACS 버전 4.6 이상
지원되는 플랫폼 및 아키텍처에 대한 자세한 내용은 Red Hat Advanced Cluster Security for Kubernetes 지원 매트릭스 를 참조하십시오. RHACS에 대한 라이프 사이클 지원 정보는 Red Hat Advanced Cluster Security for Kubernetes 지원 정책을 참조하십시오.
프로세스
스캐너 V4를 사용하여 노드 인덱싱 (노드 스캔이라고도 함)을 활성화하려면 다음을 수행합니다.
scanner V4가 Central 클러스터에 배포되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox get deployment scanner-v4-indexer scanner-v4-matcher scanner-v4-db
$ kubectl -n stackrox get deployment scanner-v4-indexer scanner-v4-matcher scanner-v4-db
1 - 1
- OpenShift Container Platform의 경우
kubectl
대신oc
를 사용합니다.
중앙 포드에서
중앙
컨테이너에서ROX_NODE_INDEX_ENABLED
및ROX_SCANNER_V4
변수를 Central 클러스터에서 다음 명령을 실행하여true
로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox set env deployment/central ROX_NODE_INDEX_ENABLED=true ROX_SCANNER_V4=true
$ kubectl -n stackrox set env deployment/central ROX_NODE_INDEX_ENABLED=true ROX_SCANNER_V4=true
1 - 1
- OpenShift Container Platform의 경우
kubectl
대신oc
를 사용합니다.
센서
컨테이너에서 노드 검사를 활성화하려는 모든 보안 클러스터에서 다음 명령을 실행하여 센서 컨테이너에서ROX_NODE_INDEX_ENABLED
및ROX_SCANNER_V4
변수를true
로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox set env deployment/sensor ROX_NODE_INDEX_ENABLED=true ROX_SCANNER_V4=true
$ kubectl -n stackrox set env deployment/sensor ROX_NODE_INDEX_ENABLED=true ROX_SCANNER_V4=true
1 - 1
- OpenShift Container Platform의 경우
kubectl
대신oc
를 사용합니다.
수집기 데몬 세트에서 노드 스캔을 활성화하려는 모든 보안 클러스터에서 다음 명령을 실행하여
규정 준수
컨테이너에서ROX_NODE_INDEX_ENABLED
및ROX_SCANNER_V4
변수를true
로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox set env daemonset/collector ROX_NODE_INDEX_ENABLED=true ROX_SCANNER_V4=true
$ kubectl -n stackrox set env daemonset/collector ROX_NODE_INDEX_ENABLED=true ROX_SCANNER_V4=true
1 - 1
- OpenShift Container Platform의 경우
kubectl
대신oc
를 사용합니다.
노드 검사가 작동하는지 확인하려면 중앙 로그에서 다음 메시지를 검사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Scanned index report and found <number> components for node <node_name>.
Scanned index report and found <number> components for node <node_name>.
다음과 같습니다.
- <number>
- 검색된 구성 요소의 수를 지정합니다.
- <node_name>
- 노드의 이름을 지정합니다.
15.5.3. StackRox 스캐너를 사용하여 RHCOS 노드 스캔 복원
OpenShift Container Platform을 사용하는 경우 RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하여 취약점에 대해 RHCOS(Red Hat Enterprise Linux CoreOS) 노드 검사를 활성화할 수 있습니다. 이 기능은 StackRox 스캐너 및 스캐너 V4 모두에서 사용할 수 있습니다. StackRox 스캐너를 사용하여 RHCOS(Red Hat Enterprise Linux CoreOS) 노드를 검사하지만 스캐너 V4를 계속 사용하여 다른 노드를 스캔하려면 다음 절차를 따르십시오.
사전 요구 사항
- 보안 클러스터의 RHCOS 노드 호스트를 스캔하려면 OpenShift Container Platform 4.12 이상에 Secured Cluster 서비스를 설치해야 합니다. 지원되는 플랫폼 및 아키텍처에 대한 자세한 내용은 Red Hat Advanced Cluster Security for Kubernetes 지원 매트릭스 를 참조하십시오. RHACS에 대한 라이프 사이클 지원 정보는 Red Hat Advanced Cluster Security for Kubernetes 지원 정책을 참조하십시오.
프로세스
StackRox 스캐너를 사용하여 노드 인덱싱 (노드 스캔이라고도 함)을 활성화하려면 다음을 수행합니다.
StackRox 스캐너가 중앙 클러스터에 배포되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox get deployment scanner scanner-db
$ kubectl -n stackrox get deployment scanner scanner-db
1 - 1
- OpenShift Container Platform의 경우
kubectl
대신oc
를 사용합니다.
중앙 포드에서 중앙 컨테이너에서 다음 명령을 실행하여
중앙
컨테이너에서ROX_NODE_INDEX_ENABLED
를false
로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox set env deployment/central ROX_NODE_INDEX_ENABLED=false
$ kubectl -n stackrox set env deployment/central ROX_NODE_INDEX_ENABLED=false
1 - 1
- OpenShift Container Platform의 경우
kubectl
대신oc
를 사용합니다.
수집기 데몬 세트에서 노드 스캔을 활성화하려는 모든 보안 클러스터에서 다음 명령을 실행하여
규정 준수
컨테이너에서ROX_CALL_NODE_INVENTORY_ENABLED
를true
로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl -n stackrox set env daemonset/collector ROX_CALL_NODE_INVENTORY_ENABLED=true
$ kubectl -n stackrox set env daemonset/collector ROX_CALL_NODE_INVENTORY_ENABLED=true
1 - 1
- OpenShift Container Platform의 경우
kubectl
대신oc
를 사용합니다.
노드 검사가 작동하는지 확인하려면 중앙 로그에서 다음 메시지를 검사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Scanned node inventory <node_name> (id: <node_id>) with <number> components.
Scanned node inventory <node_name> (id: <node_id>) with <number> components.
다음과 같습니다.
- <number>
- 검색된 구성 요소의 수를 지정합니다.
- <node_name>
- 노드의 이름을 지정합니다.
- <node_id>
- 노드의 내부 ID를 지정합니다.
15.5.4. 분석 및 탐지
OpenShift Container Platform과 함께 RHACS를 사용하는 경우 RHACS는 규정 준수 컨테이너와 Node-inventory 컨테이너를 분석 및 탐지하기 위해 두 가지 조정 컨테이너를 생성합니다. Compliance 컨테이너는 이미 이전 RHACS 버전의 일부였습니다. 그러나 Node-inventory 컨테이너는 RHACS 4.0의 새로운 기능이며 OpenShift Container Platform 클러스터 노드에서만 작동합니다.
시작 시 Compliance 및 Node-inventory 컨테이너는 5분 이내에 RHCOS(Red Hat Enterprise Linux CoreOS) 소프트웨어 구성 요소의 첫 번째 인벤토리 검사를 시작합니다. 다음으로 Node-inventory 컨테이너는 노드의 파일 시스템을 검사하여 설치된 RPM 패키지를 식별하고 RHCOS 소프트웨어 구성 요소를 보고합니다. 이후 인벤토리 검색은 일반적으로 4시간마다 주기적인 간격으로 수행됩니다. Compliance 컨테이너에 대해 ROX_NODE_SCANNING_INTERVAL 환경 변수를 구성하여 기본 간격을 사용자 지정할 수 있습니다.
15.5.5. RHCOS 노드에서의 취약점 일치
중앙 및 스캐너를 포함하는 중앙 서비스는 취약점 일치를 수행합니다. 노드 스캔은 다음 스캐너를 사용하여 수행됩니다.
- StackRox 스캐너: 기본 스캐너입니다. StackRox Scanner는 Red Hat의 OVAL(Open Vulnerability and Assessment Language) v2 보안 데이터 스트림을 사용하여 RHCOS(Red Hat Enterprise Linux CoreOS) 소프트웨어 구성 요소의 취약점과 일치합니다.
- 스캐너 V4: 스캐너 V4는 노드 스캔에 기술 프리뷰 기능으로 사용할 수 있습니다. 스캐너 V4를 명시적으로 활성화해야 합니다. 자세한 내용은 "추가 리소스"의 설명서를 참조하십시오.
RHCOS 노드를 스캔할 때 4.0 후 RHACS 릴리스는 더 이상 Kubernetes 노드 메타데이터를 사용하여 커널 및 컨테이너 런타임 버전을 찾지 않습니다. 대신 RHACS는 설치된 RHCOS RPM을 사용하여 해당 정보를 평가합니다.
15.5.6. 관련 환경 변수
다음 환경 변수를 사용하여 RHACS에서 RHCOS 노드 스캔을 구성할 수 있습니다.
환경 변수 | 설명 |
---|---|
|
캐시된 인벤토리가 오래된 것으로 간주되는 시간입니다. 기본값은 |
|
노드 검사의 초기 시간(초)은 백오프 파일이 발견되면 지연됩니다. 기본값은 |
| backoff의 상한값입니다. 기본값은 5m이며 Kubernetes 재시작 정책 안정성 타이머의 50%입니다. |
환경 변수 | 설명 |
---|---|
|
이 클러스터에 노드 인덱싱이 활성화되어 있는지 여부를 제어합니다. 기본값은 |
|
노드 검사 사이의 간격 기간의 기본 값입니다. 기본값은 |
|
노드 검사 기간은 기본 간격 시간과 다를 수 있습니다. 그러나 최대값은 |
|
임의로 생성되는 첫 번째 노드 검사 전의 최대 대기 시간입니다. 이 값을 |
15.5.7. 대시보드를 사용하여 노드의 취약점 식별
취약점 관리 보기를 사용하여 노드의 취약점을 식별할 수 있습니다. 확인된 취약점에는 핵심 Kubernetes 구성 요소의 취약점 및 Docker, CRI-O, runC 및 containerd와 같은 컨테이너 런타임이 포함됩니다. RHACS에서 검사할 수 있는 운영 체제에 대한 자세한 내용은 "지원되는 운영 체제"를 참조하십시오.
프로세스
-
RHACS 포털에서 취약점 관리
대시보드 로 이동합니다. - 헤더 에서 노드를 선택하여 노드에 영향을 미치는 모든 CVE 목록을 확인합니다.
목록에서 노드를 선택하여 해당 노드에 영향을 미치는 모든 CVE의 세부 정보를 확인합니다.
- 노드를 선택하면 선택한 노드에 대한 노드 세부 정보 패널이 열립니다. 노드 보기에는 노드에 대한 심층적인 세부 정보가 표시되고 CVSS 점수별 CVE 및 해당 노드의 수정 가능한 CVE에 대한 정보가 포함되어 있습니다.
- CVSS별 CVE 점수 위젯 헤더에서 View All on the CVEs by CVSS score widget 헤더를 선택하여 선택한 노드의 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다.
- 수정 가능한 CVE를 CSV 파일로 내보내려면 Node Findings 섹션에서 CSV로 내보내기 를 선택합니다.
15.5.8. 노드의 취약점 보기
RHACS를 사용하여 노드의 취약점을 식별할 수 있습니다. 확인된 취약점은 다음과 같습니다.
- 핵심 Kubernetes 구성 요소의 취약점
- Docker, CRI-O, runC 및 containerd와 같은 컨테이너 런타임의 취약점
RHACS에서 검사할 수 있는 운영 체제에 대한 자세한 내용은 "지원되는 운영 체제"를 참조하십시오.
RHACS는 현재 StackRox 스캐너 및 스캐너 V4로 노드 스캔 기능을 지원합니다. 구성된 스캐너에 따라 취약점 목록에 다른 결과가 표시될 수 있습니다. 자세한 내용은 " StackRox 스캐너 및 스캐너 V4 간의 스캔 결과에 대한 이해"를 참조하십시오.
프로세스
-
RHACS 포털에서 취약점 관리
결과 로 이동합니다. - 노드 탭을 선택합니다.
- 선택 사항: 페이지가 기본적으로 관찰된 CVE 목록으로 설정됩니다. Show sno#159ed CVE를 클릭하여 확인합니다.
선택 사항: 엔터티에 따라 CVE를 필터링하려면 적절한 필터 및 속성을 선택합니다. 필터링 기준을 추가하려면 다음 단계를 따르십시오.
- 목록에서 엔터티 또는 특성을 선택합니다.
- 선택 사항에 따라 텍스트와 같은 적절한 정보를 입력하거나 날짜 또는 개체를 선택합니다.
- 오른쪽 화살표 아이콘을 클릭합니다.
선택 사항: 추가 엔터티 및 특성을 선택한 다음 오른쪽 화살표 아이콘을 클릭하여 추가합니다. 필터 엔터티 및 속성은 다음 표에 나열되어 있습니다.
표 15.9. 필터 옵션 엔터티 속성 노드
- name: 노드의 이름입니다.
- 운영 체제: 노드의 운영 체제(예: RHEL(Red Hat Enterprise Linux))입니다.
- label: 노드의 레이블입니다.
- annotation: 노드의 주석입니다.
- 검사 시간: 노드의 검사 날짜입니다.
CVE
- name: CVE의 이름입니다.
- 검색된 시간: RHACS가 CVE를 발견한 날짜입니다.
CVSS: CVE의 심각도 수준입니다.
다음 값은 CVE의 심각도 수준과 관련이 있습니다.
- 보다 크거나
- 크거나 같음
- 이 값과 같습니다
- 작거나 같음
- 보다 작음
노드 구성 요소
- name: 구성 요소의 이름입니다.
-
Version: 구성 요소의 버전입니다(예:
4.15.0-2024
). 이를 사용하여 구성 요소 이름과 함께 특정 버전의 구성 요소(예:)를 검색할 수 있습니다.
Cluster
- id: 클러스터의 영숫자 ID입니다. RHACS에서 추적을 위해 할당하는 내부 식별자입니다.
- name: 클러스터의 이름입니다.
- label : 클러스터의 레이블입니다.
- type: 클러스터 유형입니다(예: OCP).
- 플랫폼 유형: 플랫폼의 유형입니다(예: OpenShift 4 클러스터).
선택 사항: 결과 목록을 구체화하려면 다음 작업 중 하나를 수행합니다.
- CVE 심각도 를 클릭한 다음 하나 이상의 수준을 선택합니다.
- CVE 상태를 클릭한 다음 Fixable 또는 Not fixable 을 선택합니다.
데이터를 보려면 다음 탭 중 하나를 클릭합니다.
- <number> CVE: 모든 노드에 영향을 미치는 모든 CVE 목록을 표시합니다.
- <number> 노드: CVE가 포함된 노드 목록을 표시합니다.
- 노드의 세부 정보와 CVSS 점수 및 수정 가능한 CVE에 대한 정보를 보려면 노드 목록에서 노드 이름을 클릭합니다.
15.5.9. Stackrox 스캐너와 스캐너 V4 간의 스캔 결과의 차이점 이해
scanner V4를 사용하여 RHCOS 노드 호스트를 스캔하면 동일한 운영 체제 버전에 대해 더 많은 CVE를 보고합니다. 예를 들어 scanner V4는 StackRox 스캐너에서 보고한 약 50개의 CVE와 비교하여 약 390개의 CVE를 보고합니다. 선택한 취약점을 수동으로 검토하면 다음과 같은 원인이 발견되었습니다.
- scanner V4에서 사용되는 VEX( Vulnerability Exploitability eXchange) 데이터가 더 정확합니다.
- VEX 데이터에는 "안정된 수정" 및 "고정된 수정"과 같은 세분화된 상태가 포함됩니다.
- StackRox Scanner에서 보고한 일부 취약점은 잘못된 프록시입니다.
그 결과 scanner V4는 보다 정확하고 이해할 수 있는 취약점 평가를 제공합니다.
보고된 취약점의 불일치를 찾을 수 있습니다. 특히 일부 보안 클러스터에서 StackRox 스캐너에서 이전 RHACS 버전을 계속 사용하는 경우 scanner V4를 사용할 수 있습니다. 이러한 차이점을 이해하는 데 도움이 되도록 다음 예제에서는 보고된 취약점을 수동으로 확인하는 방법에 대한 설명과 지침을 제공합니다.
15.5.9.1. 보고된 취약점의 불일치 예
이 예제에서는 임의로 선택한 RHCOS 버전 세 개에 대해 보고된 CVE의 차이점을 분석했습니다. 이 예에서는 RHCOS 버전 417.94.202501071621-0
에 대한 결과를 제공합니다. 이 버전의 RHACS는 다음 검사 결과를 제공했습니다.
- StackRox Scanner는 49 CVE를 보고했습니다.
- 스캐너 V4는 389 CVE를 보고했습니다.
분석 결과는 다음과 같습니다.
- 1 CVE는 StackRox 스캐너에서만 보고됩니다.
- 두 스캐너 모두에 의해 48 개의 CVE가 보고됩니다.
- 341 CVE는 스캐너 V4에서만 보고됩니다.
15.5.9.1.1. StackRox 스캐너에서만 보고된 CVE
StackRox 스캐너에서만 보고된 단일 CVE는 잘못된 긍정이었습니다. CVE-2022-4122는 버전 5:5.2.2-1.rhaos4.17.el9.x86_64
의 podman
패키지에 플래그가 지정되었습니다. 그러나 RHSA-2024:9102 의 VEX 데이터를 수동으로 검토하면 이 취약점이 버전 5:5.2.2-1.el9
에서 수정되었음을 나타냅니다. 따라서 스캔한 패키지 버전은 수정 사항을 포함하는 첫 번째 문제였으며 더 이상 영향을 받지 않았습니다.
15.5.9.1.2. Scanner V4에서만 보고된 CVE
341에서 스캐너 V4로 고유 한 10 개의 CVE를 무작위로 선택하고 VEX 데이터를 사용하여 자세한 분석을 수행했습니다. 이 취약점은 다음 두 가지 범주로 분류되었습니다.
- 수정 사항이 계획되어 있지 않음을 나타내는 세분화된 상태의 영향을 받는 패키지
- 수정 사항에 대한 추가 상태 세부 정보가 없는 영향을 받는 패키지
예를 들어 다음 결과가 분석되었습니다.
-
git-core
패키지(버전2.43.5-1.el9_4
)는 CVE-2024-50349(VEX 데이터)용으로 플래그가 지정되었으며 "Fix deferred" 상태로 "Affected"로 표시되었습니다. 즉 우선 순위가 높은 개발 작업으로 인해 수정이 보장되지 않습니다. 이 패키지는 총 세 가지 CVE의 영향을 받습니다. -
vim-minimal
패키지(버전2:8.2.2637-20.el9_1
)는 109 CVE로 플래그가 지정되었으며, 그 중 108은 CVSS 점수가 낮습니다. 대부분은 "수정되지 않음"이라는 세분화된 상태로 "영향을 받는"으로 표시됩니다. -
krb5-libs
패키지(버전1.21.1-2.el9_4.1
)는 CVE-2025-24528(VEX 데이터)에 대해 플래그가 지정되었지만 세분화된 상태는 사용할 수 없었습니다. 이 CVE가 최근 분석 시 발견되었으므로 곧 해당 상태가 업데이트될 수 있습니다.
15.5.9.1.3. 두 스캐너에서 보고한 CVE
무작위로 선택한 세 개의 패키지를 수동으로 검증하여 StackRox 스캐너 및 스캐너 V4에서 사용되는 VEX 데이터에 사용된 OVAL v2 데이터가 탐지된 CVE에 대한 일관된 설명을 제공했음을 확인했습니다. 경우에 따라 CVSS 점수가 약간 다르며 VEX 게시자 데이터의 변형으로 인해 예상되는 경우가 있습니다.
15.5.9.2. 취약점 상태 확인
공개적으로 사용 가능한 VEX 데이터를 사용하여 환경에 중요한 노드 호스트 구성 요소의 취약점의 세분화된 상태를 확인하십시오. VEX 데이터는 사람이 읽을 수 있는 형식과 머신에서 읽을 수 있는 형식으로 모두 액세스할 수 있습니다. VEX 데이터 해석에 대한 자세한 내용은 Red Hat Enterprise Linux CoreOS 보안 데이터의 최근 개선 사항을 참조하십시오.