12.3. RHCOS 노드 호스트 스캔


OpenShift Container Platform의 경우 RHCOS(Red Hat Enterprise Linux CoreOS)는 컨트롤 플레인에서 지원되는 유일한 운영 체제입니다. 반면 노드 호스트의 경우 OpenShift Container Platform은 RHCOS 및 RHEL (Red Hat Enterprise Linux)을 모두 지원합니다. RHACS(Advanced Cluster Security for Kubernetes)를 사용하면 RHCOS 노드에서 취약점을 스캔하고 잠재적인 보안 위협을 감지할 수 있습니다.

RHACS는 RHCOS 설치의 일부로 알려진 모든 취약점에 대해 노드 호스트에 설치된 RHCOS RPM을 검사합니다.

먼저 RHACS는 RHCOS 구성 요소를 분석하고 탐지합니다. 그런 다음 RHEL 및 OpenShift 4.X OVAL(Open Vulnerability and Assessment Language) v2 보안 데이터 스트림을 사용하여 식별된 구성 요소의 취약점과 일치합니다.

참고
  • roxctl CLI를 사용하여 RHACS를 설치한 경우 RHCOS 노드 검사 기능을 수동으로 활성화해야 합니다. OpenShift Container Platform에서 Helm 또는 Operator 설치 방법을 사용하는 경우 이 기능은 기본적으로 활성화됩니다.

12.3.1. RHCOS 노드 스캔 활성화

OpenShift Container Platform을 사용하는 경우 RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하여 RHCOS(Red Hat Enterprise Linux CoreOS) 노드 검사를 활성화할 수 있습니다.

사전 요구 사항

  • Secured 클러스터의 RHCOS 노드 호스트를 스캔하려면 OpenShift Container Platform 4.10 이상에 Secured 클러스터를 설치해야 합니다. 지원되는 관리 및 자체 관리 OpenShift Container Platform 버전에 대한 자세한 내용은 Red Hat Advanced Cluster Security for Kubernetes 지원 정책을 참조하십시오.

절차

  1. 다음 명령 중 하나를 실행하여 규정 준수 컨테이너를 업데이트합니다.

    • 메트릭이 비활성화된 기본 규정 준수 컨테이너의 경우 다음 명령을 실행합니다.

      $ 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"}]}]}}}}'
      Copy to Clipboard Toggle word wrap
    • Prometheus 지표가 활성화된 규정 준수 컨테이너의 경우 다음 명령을 실행합니다.

      $ 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"}]}]}}}}'
      Copy to Clipboard Toggle word wrap
  2. 다음 단계를 수행하여 수집기 DaemonSet(DS)을 업데이트합니다.

    1. 다음 명령을 실행하여 수집기 DS에 새 볼륨 마운트를 추가합니다.

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"volumes":[{"name":"tmp-volume","emptyDir":{}},{"name":"cache-volume","emptyDir":{"sizeLimit":"200Mi"}}]}}}}'
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 새 NodeScanner 컨테이너를 추가합니다.

      $ 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.1.5","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"}]}]}}}}'
      Copy to Clipboard Toggle word wrap

12.3.2. 분석 및 탐지

RHACS를 OpenShift Container Platform과 함께 사용하면 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 환경 변수를 구성하여 기본 간격을 사용자 지정할 수 있습니다.

12.3.3. 취약점 일치

중부 및 스캐너가 포함된 중앙 서비스는 취약점 일치를 수행합니다. Scanner는 Red Hat의 OVAL(Open Vulnerability and Assessment Language) v2 보안 데이터 스트림을 사용하여 RHCOS(Red Hat Enterprise Linux CoreOS) 소프트웨어 구성 요소의 취약점을 일치시킵니다.

이전 버전과 달리 RHACS 4.0은 더 이상 Kubernetes 노드 메타데이터를 사용하여 커널 및 컨테이너 런타임 버전을 찾지 않습니다. 대신 설치된 RHCOS RPM을 사용하여 해당 정보를 평가합니다.

12.3.4. 관련 환경 변수

다음 환경 변수를 사용하여 RHACS에서 RHCOS 노드 스캔을 구성할 수 있습니다.

Expand
표 12.1. node-inventory 구성
환경 변수설명

ROX_NODE_SCANNING_CACHE_TIME

캐시된 인벤토리가 오래된 것으로 간주되는 시간입니다. 기본값은 ROX_NODE_SCANNING_INTERVAL 의 90%로 3h36m 입니다.

ROX_NODE_SCANNING_INITIAL_BACKOFF

백오프 파일을 찾으면 초기 시간(초)입니다. 기본값은 30s입니다.

ROX_NODE_SCANNING_MAX_BACKOFF

백오프의 상한입니다. 기본값은 5m이며 Kubernetes 재시작 정책 안정성 타이머의 50%입니다.

Expand
표 12.2. 규정 준수 구성
환경 변수설명

ROX_NODE_SCANNING_INTERVAL

노드 검사 간 간격 기간의 기본 값입니다. deafult 값은 4h 입니다.

ROX_NODE_SCANNING_INTERVAL_DEVIATION

노드 검사 기간은 기본 간격 시간과 다를 수 있습니다. 그러나 최대 값은 ROX_NODE_SCANNING_INTERVAL 에 의해 제한됩니다.

ROX_NODE_SCANNING_MAX_INITIAL_WAIT

무작위로 생성되는 첫 번째 노드 검사 전 최대 대기 시간입니다. 이 값을 0 으로 설정하여 초기 노드 검사 대기 시간을 비활성화할 수 있습니다. 기본값은 5m 입니다.

12.3.5. 노드의 취약점 확인

취약점 관리 보기를 사용하여 노드의 취약점을 식별할 수 있습니다. 발견된 취약점은 다음의 취약점을 포함합니다:

  • 핵심 Kubernetes 구성 요소.
  • 컨테이너 런타임(Docker, CRI-O, runC, containerd).

    참고
    • Red Hat Advanced Cluster Security for Kubernetes는 다음 운영 체제에서 취약점을 식별할 수 있습니다.

      • Amazon Linux 2
      • CentOS
      • Debian
      • Cryostat Linux (Debian 11)
      • RHCOS(Red Hat Enterprise Linux CoreOS)
      • Red Hat Enterprise Linux (RHEL)
      • Ubuntu (AWS, Microsoft Azure, GCP, GKE 관련 버전)

절차

  1. RHACS 포털에서 취약점 관리 대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 노드를 선택하여 노드에 영향을 미치는 모든 CVE 목록을 확인합니다.
  3. 목록에서 노드를 선택하여 해당 노드에 영향을 미치는 모든 CVE의 세부 정보를 확인합니다.

    1. 노드를 선택하면 선택한 노드에 대한 노드 세부 정보 패널이 열립니다. 노드 보기에는 노드에 대한 심층적인 세부 정보가 표시되고 CVSS 점수별 CVE 및 해당 노드의 수정 가능한 CVE에 대한 정보가 포함되어 있습니다.
    2. CVSS별 CVE 점수 위젯 헤더에서 View All on the CVEs by CVSS score widget 헤더를 선택하여 선택한 노드의 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다.
    3. 수정 가능한 CVE를 CSV 파일로 내보내려면 Node Findings 섹션에서 CSV로 내보내기 를 선택합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat