14.5. RHCOS 노드 호스트 스캔


OpenShift Container Platform의 경우 RHCOS(Red Hat Enterprise Linux CoreOS)는 컨트롤 플레인에서 지원되는 유일한 운영 체제입니다. 노드 호스트의 경우 OpenShift Container Platform은 RHCOS 및 Red Hat Enterprise Linux (RHEL)를 둘 다 지원합니다. RHACS(Red Hat 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 설치 방법을 사용하는 경우 이 기능은 기본적으로 활성화됩니다.

14.5.1. RHCOS 노드 스캔 활성화

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

사전 요구 사항

프로세스

  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"}]}]}}}}'
    • 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"}]}]}}}}'
  2. 다음 단계를 수행하여 Collector 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"}}]}}}}'
    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.5.4","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"}]}]}}}}'

14.5.2. 분석 및 탐지

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

14.5.3. 취약점 일치

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

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

14.5.4. 관련 환경 변수

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

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

ROX_NODE_SCANNING_CACHE_TIME

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

ROX_NODE_SCANNING_INITIAL_BACKOFF

노드 검사의 초기 시간(초)은 백오프 파일이 발견되면 지연됩니다. 기본값은 30s입니다.

ROX_NODE_SCANNING_MAX_BACKOFF

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

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

ROX_NODE_SCANNING_INTERVAL

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

ROX_NODE_SCANNING_INTERVAL_DEVIATION

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

ROX_NODE_SCANNING_MAX_INITIAL_WAIT

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

14.5.5. 대시보드를 사용하여 노드의 취약점 식별

취약점 관리 보기를 사용하여 노드의 취약점을 식별할 수 있습니다. 확인된 취약점에는 핵심 Kubernetes 구성 요소의 취약점 및 Docker, CRI-O, runC 및 containerd와 같은 컨테이너 런타임이 포함됩니다. RHACS에서 검사할 수 있는 운영 체제에 대한 자세한 내용은 "지원되는 운영 체제"를 참조하십시오.

프로세스

  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로 내보내기 를 선택합니다.

14.5.6. 노드 CVE 보기

RHACS를 사용하여 노드의 취약점을 식별할 수 있습니다. 확인된 취약점은 다음과 같습니다.

  • 핵심 Kubernetes 구성 요소의 취약점
  • Docker, CRI-O, runC 및 containerd와 같은 컨테이너 런타임의 취약점

RHACS에서 검사할 수 있는 운영 체제에 대한 자세한 내용은 "지원되는 운영 체제"를 참조하십시오.

프로세스

  1. RHACS 포털에서 취약점 관리 노드 CVE를 클릭합니다.
  2. 데이터를 보려면 다음 작업을 수행합니다.

    • 모든 노드에 영향을 미치는 모든 CVE 목록을 보려면 < number> CVE를 선택합니다.
    • CVE가 포함된 노드 목록을 보려면 < number> 노드를 선택합니다.
  3. 선택 사항: 엔터티에 따라 CVE를 필터링하려면 적절한 필터 및 속성을 선택합니다. 필터링 기준을 추가하려면 다음 단계를 따르십시오.

    1. 목록에서 엔터티 또는 특성을 선택합니다.
    2. 선택 사항에 따라 텍스트와 같은 적절한 정보를 입력하거나 날짜 또는 개체를 선택합니다.
    3. 오른쪽 화살표 아이콘을 클릭합니다.
    4. 선택 사항: 추가 엔터티 및 특성을 선택한 다음 오른쪽 화살표 아이콘을 클릭하여 추가합니다. 필터 엔터티 및 속성은 다음 표에 나열되어 있습니다.

      표 14.6. CVE 필터링
      엔터티속성

      노드

      • name: 노드의 이름입니다.
      • 운영 체제: 노드의 운영 체제(예: RHEL(Red Hat Enterprise Linux))입니다.
      • label: 노드의 레이블입니다.
      • annotation: 노드의 주석입니다.
      • 검사 시간: 노드의 검사 날짜입니다.

      CVE

      • name: CVE의 이름입니다.
      • 검색된 시간: RHACS가 CVE를 발견한 날짜입니다.
      • CVSS: CVE의 심각도 수준입니다. 심각도 수준에 대해 다음 옵션에서 선택할 수 있습니다.

        • 보다 크거나
        • 크거나 같음
        • 이 값과 같습니다
        • 작거나 같음
        • 보다 작음

      노드 구성 요소

      • name: 구성 요소의 이름입니다.
      • Version: 구성 요소의 버전입니다(예: 4.15.0-2024 ). 이를 사용하여 구성 요소 이름과 함께 특정 버전의 구성 요소(예:)를 검색할 수 있습니다.

      Cluster

      • name: 클러스터의 이름입니다.
      • label : 클러스터의 레이블입니다.
      • type: 클러스터 유형입니다(예: OCP).
      • 플랫폼 유형: 플랫폼의 유형입니다(예: OpenShift 4 클러스터).
  4. 선택 사항: 결과 목록을 구체화하려면 다음 작업 중 하나를 수행합니다.

    • CVE 심각도 를 클릭한 다음 하나 이상의 수준을 선택합니다.
    • CVE 상태를 클릭한 다음 Fixable 또는 Not fixable 을 선택합니다.
  5. 선택 사항: CVSS 점수 및 해당 노드의 수정 가능한 CVE에 따라 노드의 세부 정보와 CVE에 대한 정보를 보려면 노드 목록에서 노드 이름을 클릭합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.