운영 체제


Red Hat Advanced Cluster Security for Kubernetes 4.4

Red Hat Advanced Cluster Security for Kubernetes 운영

Red Hat OpenShift Documentation Team

초록

이 문서에서는 대시보드 사용, 규정 준수 관리, 보안 위험 평가, 보안 정책 및 네트워크 정책 관리, 취약점 검사 및 위반 대응 등 Red Hat Advanced Cluster Security for Kubernetes에서 일반적인 운영 작업을 수행하는 방법을 설명합니다.

1장. 대시보드 보기

RHACS(Red Hat Advanced Cluster Security for Kubernetes) 대시보드를 사용하면 필요한 데이터에 빠르게 액세스할 수 있습니다. 또한 필터링하고 사용자 정의할 수 있는 추가 탐색 바로 가기와 실행 가능한 위젯이 포함되어 있으므로 사용자에게 가장 중요한 데이터에 집중할 수 있습니다. 이미지의 환경 위험 수준, 규정 준수 상태, 정책 위반, 일반적인 취약점 및 노출(CVE)에 대한 정보를 볼 수 있습니다.

참고

RHACS 포털을 처음 열면 대시보드가 비어 있을 수 있습니다. 하나 이상의 클러스터에 센서를 배포하면 대시보드에 환경 상태가 반영됩니다.

다음 섹션에서는 대시보드 구성 요소에 대해 설명합니다.

1.2. 대시보드 필터

대시보드에는 모든 위젯에 동시에 적용되는 최상위 필터가 포함되어 있습니다. 선택한 클러스터 내에서 하나 이상의 클러스터 및 하나 이상의 네임스페이스를 선택할 수 있습니다. 선택한 클러스터 또는 네임스페이스가 없는 경우 보기가 모두 자동으로 전환됩니다. 필터에 대한 모든 변경은 모든 위젯에 즉시 반영되므로 선택한 범위로 표시되는 데이터를 제한합니다. 대시보드 필터는 상태 표시줄에 영향을 미치지 않습니다.

1.3. 위젯 옵션

일부 위젯은 특정 데이터에 집중할 수 있도록 사용자 지정할 수 있습니다. 위젯은 데이터를 정렬하고, 데이터를 필터링하고, 위젯의 출력을 사용자 지정하는 데 사용할 수 있는 다양한 컨트롤을 제공합니다.

위젯은 다양한 측면을 사용자 지정하는 두 가지 방법을 제공합니다.

  • 옵션 메뉴가 있는 경우 해당 위젯에 적용할 수 있는 특정 옵션을 제공합니다.
  • 동적 축 범례는 하나 이상의 축 범주를 숨기는 방식으로 데이터를 필터링하는 방법을 제공합니다.A dynamic axis legend, when present, provides a method to filter data by hide one or more of the axis categories. 예를 들어 범주 위젯별 정책 위반 에서 심각도를 클릭하여 데이터에서 선택한 심각도의 위반을 포함하거나 제외할 수 있습니다.
참고

개별 위젯 사용자 지정 설정은 수명이 짧고 대시보드를 종료할 때 기본적으로 시스템으로 재설정됩니다.

1.4. 실행 가능한 위젯

다음 섹션에서는 대시보드에서 사용할 수 있는 실행 가능한 위젯에 대해 설명합니다.

1.4.1. 심각도별 정책 위반

이 위젯은 Dashboard-filtered 범위의 심각도 수준에서 위반되는 것을 보여줍니다. 차트에서 심각도 수준을 클릭하면 해당 심각도 및 범위에 대해 필터링된 Violations 페이지로 이동합니다. 또한 Dashboard 필터에서 정의한 범위 내에 Critical 수준 정책의 최근 세 가지 위반이 나열됩니다. 특정 위반을 클릭하면 해당 위반에 대한 위반 세부 정보 페이지로 직접 이동합니다.

1.4.2. 대부분의 위험이 있는 이미지

이 위젯에는 Dashboard-filtered 범위에서 상위 6개의 취약한 이미지를 나열하고, 계산된 위험 우선 순위에 따라 정렬되고, 포함된 중요 및 중요한 CVE 수를 나열합니다. 이미지 이름을 클릭하여 취약점 관리에서 이미지 찾기 페이지로 직접 이동합니다. 옵션 메뉴를 사용하여 수정 가능한 CVE에 집중하거나 활성 이미지에 중점을 둡니다.

참고

대시보드 필터에서 클러스터 또는 네임스페이스를 선택하면 표시되는 데이터가 이미 활성 이미지 또는 필터링된 범위 내의 배포에서 사용하는 이미지로 필터링됩니다.

1.4.3. 대부분의 위험 배포

이 위젯은 사용자 환경에서 위험할 수 있는 주요 배포에 대한 정보를 제공합니다. 리소스 위치(클러스터 및 네임스페이스) 및 위험 우선 순위 점수와 같은 추가 정보를 표시합니다. 또한 배포를 클릭하여 배포에 대한 위험 정보(예: 정책 위반 및 취약점)를 볼 수 있습니다.

1.4.4. 오래된 이미지

이전 이미지에는 이미 해결된 취약점이 포함될 수 있으므로 보안 위험이 더 높습니다. 이전 이미지가 활성화되어 있는 경우 악용할 배포를 노출할 수 있습니다. 이 위젯을 사용하여 보안 상태를 신속하게 평가하고 잘못된 이미지를 식별할 수 있습니다. 기본 범위를 사용하거나 고유한 값으로 수명 간격을 사용자 지정할 수 있습니다. 비활성 이미지와 활성 이미지를 모두 보거나 대시보드 필터를 사용하여 활성 이미지의 특정 영역에 중점을 둘 수 있습니다. 그런 다음 이 위젯에서 나이 그룹을 클릭하여 취약점 관리 → 이미지 페이지에서 해당 이미지만 볼 수 있습니다.

1.4.5. 카테고리별 정책 위반

이 위젯은 어떤 유형의 정책이 다른 것보다 위반되는지 분석하여 보안 정책을 준수하는 데 직면하는 과제에 대한 통찰력을 얻을 수 있습니다. 위젯은 가장 관심있는 5가지 정책 범주를 보여줍니다. 데이터를 분할하는 다양한 방법은 옵션 메뉴를 살펴봅니다. 데이터를 필터링하여 배포 또는 런타임 위반에만 집중할 수 있습니다.

정렬 모드를 변경할 수도 있습니다. 기본적으로 데이터는 가장 높은 심각도 내의 위반 수에 따라 먼저 정렬됩니다. 따라서 중요한 정책이 포함된 모든 카테고리는 중요한 정책 없이 카테고리 앞에 표시됩니다. 다른 정렬 모드에서는 심각도에 관계없이 총 위반 수를 고려합니다. 일부 카테고리에는 중요한 정책(예: "Docker CIS")이 포함되어 있지 않으므로 두 정렬 모드가 크게 다른 뷰를 제공하여 추가 통찰력을 제공할 수 있습니다.

데이터에서 해당 수준을 포함하거나 제외하려면 그래프 하단에서 심각도 수준을 클릭합니다. 다른 심각도 수준을 선택하면 상위 5개 선택 또는 순위 순서가 다를 수 있습니다. 데이터는 대시보드 필터에서 선택한 범위로 필터링됩니다.

1.4.6. 표준 준수

대시보드 필터와 함께 표준 위젯을 사용하여 가장 중요한 영역에 중점을 둘 수 있습니다. 위젯은 정렬 순서에 따라 상위 또는 아래 6개의 규정 준수 벤치마크를 나열합니다. 적용 범위 백분율로 정렬할 옵션을 선택합니다. 벤치마크 레이블 또는 그래프 중 하나를 클릭하여 대시보드 범위와 선택한 벤치마크로 필터링한 Compliance Controls 페이지로 직접 이동합니다.

참고

규정 준수 위젯은 규정 준수 검사를 실행한 후에만 세부 정보를 표시합니다.

2장. Compliance Operator 사용

2.1. Red Hat Advanced Cluster Security for Kubernetes에서 Compliance Operator 사용

OpenShift Container Platform 클러스터의 규정 준수 보고 및 수정을 위해 Compliance Operator를 사용하도록 RHACS를 구성할 수 있습니다. Compliance Operator의 결과는 RHACS Compliance Dashboard에서 보고됩니다.

참고

Central이 설치된 클러스터에 Compliance Operator를 설치하고 규정 준수를 위해 검토하려는 각 보안 클러스터에 설치해야 합니다.

Compliance Operator는 다양한 기술 구현을 자동으로 검토하고 업계 표준, 벤치마크 및 기준선의 특정 측면과 비교합니다.

Compliance Operator는 감사자가 아닙니다. 이러한 다양한 표준을 준수하거나 인증하려면 QSA(Qualified Security Assessor), JAB( Joint Authorization Commission) 또는 기타 업계가 인정하는 규제 당국과 같은 승인된 감사인을 고용해야 합니다.

Compliance Operator는 이러한 표준과 관련된 일반적으로 사용 가능한 정보 및 관행을 기반으로 권장 사항을 제시하고 수정을 지원할 수 있지만 실제 규정 준수는 귀하의 책임이 있습니다. 표준을 준수하기 위해 권한 있는 감사자와 협력해야 합니다.

최신 업데이트는 Compliance Operator 릴리스 노트 를 참조하십시오.

2.1.1. Compliance Operator 설치

Operator Hub를 사용하여 Compliance Operator를 설치합니다.

중요

센서가 완전히 작동하는 후 Compliance Operator를 설치하는 경우 보안 클러스터에서 센서를 다시 시작해야 합니다.

센서를 다시 시작하는 방법에 대한 자세한 내용은 "추가 리소스" 섹션의 "보안 클러스터에서 센서 다시 시작"을 참조하십시오.

프로세스

  1. 웹 콘솔에서 OperatorOperatorHub 페이지로 이동합니다.
  2. Compliance Operator키워드로 필터링 상자에 입력하여 Compliance Operator를 찾습니다.
  3. Compliance Operator 를 선택하여 세부 정보 페이지를 확인합니다.
  4. Operator에 대한 정보를 읽은 다음 설치를 클릭합니다.

2.1.2. 보안 클러스터에서 센서 다시 시작

RHACS를 설치한 후 Compliance Operator를 설치한 경우 CLI(명령줄 인터페이스) 또는 UI(사용자 인터페이스)를 사용하여 보안 클러스터에서 Sensor를 다시 시작해야 합니다.

프로세스

  • CLI에서 센서를 다시 시작하려면 다음 명령을 실행합니다.

    $ oc -n stackrox delete pod -lapp=sensor
  • UI에서 센서를 다시 시작하려면 다음 단계를 수행합니다.

    1. 활성 프로젝트를 stackrox 로 변경합니다.
    2. 워크로드 → Pod 로 이동합니다.
    3. 센서로 시작하는 이름으로 Pod를 찾은 다음 작업 → Pod 삭제 를 클릭합니다.

2.1.3. ScanSettingBinding 오브젝트 구성

openshift-compliance 네임스페이스에 ScanSettingBinding 오브젝트를 생성하여 ciscis-node 프로필을 사용하여 클러스터를 검사합니다.

중요
  • 규정 준수 2.0 기능을 사용하는 경우 Compliance Operator에서 ScanSettingBinding 을 생성하는 대신 RHACS를 사용하여 규정 준수 검사 일정을 생성하여 검사를 예약할 수 있습니다.

    규정 준수 2.0 기능을 사용하여 규정 준수 검사 예약에 대한 자세한 내용은 "추가 리소스" 섹션의 "규정 준수 검사 사용자 지정 및 자동화"를 참조하십시오.

  • 이 예에서는 ocp4-cisocp4-cis-node 프로필을 사용하지만 OpenShift Container Platform에서는 추가 프로필을 제공합니다. 자세한 내용은 "추가 리소스" 섹션의 " Compliance Operator 이해"를 참조하십시오.
중요

Compliance 2.0은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하는 것을 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

프로세스

다음 옵션 중 하나를 선택합니다.

  • CLI를 사용하여 YAML 파일 및 오브젝트를 생성합니다. 예를 들면 다음과 같습니다.

    1. 다음 텍스트를 사용하여 sscan.yaml 이라는 파일을 생성합니다.

      apiVersion: compliance.openshift.io/v1alpha1
      kind: ScanSettingBinding
      metadata:
        name: cis-compliance
      profiles:
        - name: ocp4-cis-node
          kind: Profile
          apiGroup: compliance.openshift.io/v1alpha1
        - name: ocp4-cis
          kind: Profile
          apiGroup: compliance.openshift.io/v1alpha1
      settingsRef:
        name: default
        kind: ScanSetting
        apiGroup: compliance.openshift.io/v1alpha1
    2. 다음 명령을 실행하여 ScanSettingBinding 오브젝트를 생성합니다.

      $ oc create -f sscan.yaml -n openshift-compliance

      성공하면 다음 메시지가 표시됩니다.

      $ scansettingbinding.compliance.openshift.io/cis-compliance created
  • 웹 콘솔을 사용하여 다음 단계를 수행하여 오브젝트를 생성합니다.

    1. 활성 프로젝트를 openshift-compliance 로 변경합니다.
    2. + 를 클릭하여 YAML 가져오기 페이지를 엽니다.
    3. 이전 예제에서 YAML을 붙여넣은 다음 생성 을 클릭합니다.

검증

  1. RHACS에서 규정 준수 검사를 실행합니다.

    규정 준수 1.0 기능을 사용하여 규정 준수 검사를 실행하는 방법에 대한 자세한 내용은 "추가 리소스" 섹션의 "규정 준수 검사 실행"을 참조하십시오.

  2. ocp4-cisocp4-cis-node 결과가 표시되는지 확인합니다.

3장. 규정 준수 관리

3.1. 컴플라이언스 1.0 기능 관리

Red Hat Advanced Cluster Security for Kubernetes를 사용하면 컨테이너화된 인프라의 규정 준수 상태를 평가, 확인 및 보고할 수 있습니다. 다음과 같은 업계 표준을 기반으로 즉시 사용 가능한 규정 준수 검사를 실행할 수 있습니다.

  • DockerKubernetesCIS 벤치마크 (Internet Security용Center)
  • HIPAA (Health Insurance Portability and Accountability Act)
  • NIST Special Publication 800-190800-53 (National Institute of Standards and Technology)
  • PCI DSS (Payment Card Industry Data Security Standard)
  • OpenSCAP (Open Security Content Automation Protocol): RHACS에 결과를 제공하도록 Compliance Operator가 설치 및 구성된 경우 OpenShift Container Platform 클러스터용 RHACS에서 사용 가능

이러한 표준을 기반으로 하는 환경을 스캔하면 다음을 수행할 수 있습니다.

  • 규제 준수를 위해 인프라를 평가합니다.
  • Docker Engine 및 Kubernetes 오케스트레이터 강화.
  • 환경의 전체 보안 상태를 이해하고 관리합니다.
  • 클러스터, 네임스페이스 및 노드에 대한 규정 준수 상태를 자세히 봅니다.

3.1.1. 규정 준수 대시보드 보기

규정 준수 대시보드는 환경의 모든 클러스터, 네임스페이스 및 노드에서 규정 준수 표준을 개괄적으로 표시합니다.

규정 준수 대시보드에는 차트가 포함되어 있으며 규정 준수 요구 사항으로 잠재적인 문제를 조사할 수 있는 옵션을 제공합니다. 단일 클러스터, 네임스페이스 또는 노드에 대한 규정 준수 검사 결과로 이동할 수 있습니다. 또한 컨테이너화된 환경의 규정 준수 상태에 대한 보고서를 생성할 수 있습니다.

프로세스

  • RHACS 포털의 탐색 메뉴에서 Compliance(1.0) 를 선택합니다.
참고

규정 준수 대시보드를 처음 열면 빈 대시보드가 표시됩니다. 대시보드를 채우려면 규정 준수 스캔을 실행해야 합니다.

3.1.2. 규정 준수 검사 실행

규정 준수 검사를 실행하면 모든 규정 준수 표준에서 전체 인프라에 대한 규정 준수 상태를 확인합니다. 규정 준수 검사를 실행하면 Red Hat Advanced Cluster Security for Kubernetes는 해당 환경의 데이터 스냅샷을 사용합니다. 데이터 스냅샷에는 경고, 이미지, 네트워크 정책, 배포 및 관련 호스트 기반 데이터가 포함됩니다. Central은 클러스터에서 실행되는 센서에서 호스트 기반 데이터를 수집합니다. 그 후 Central은 각 컬렉터 Pod에서 실행 중인 규정 준수 컨테이너에서 더 많은 데이터를 수집합니다. 규정 준수 컨테이너는 환경에 대한 다음 데이터를 수집합니다.

  • Docker 데몬, Docker 이미지 및 Docker 컨테이너에 대한 구성입니다.
  • Docker 네트워크에 대한 정보입니다.
  • Docker, Kubernetes 및 OpenShift Container Platform의 명령줄 인수 및 프로세스.
  • 특정 파일 경로의 권한.
  • 핵심 Kubernetes 및 OpenShift Container Platform 서비스에 대한 구성 파일입니다.

데이터 수집이 완료되면 Central은 데이터를 확인하여 결과를 확인합니다. 규정 준수 대시보드에서 결과를 보고 결과를 기반으로 규정 준수 보고서를 생성할 수도 있습니다.

참고

규정 준수 검사에서 다음을 수행합니다.

  • Control 은 감사자가 해당 표준을 준수하기 위해 정보 시스템을 평가하는 업계 또는 규정 준수 표준의 단일 라인 항목을 설명합니다. Red Hat Advanced Cluster Security for Kubernetes는 하나 이상의 검사를 완료하여 단일 제어 준수의 증거를 확인합니다.
  • 검사는 단일 제어 평가 중에 수행되는 단일 테스트입니다.
  • 일부 컨트롤에는 연결된 여러 검사가 있습니다. 컨트롤에 연결된 검사 중 하나라도 실패하면 전체 컨트롤 상태가 Fail로 표시됩니다.If any of the associated check fails for a control, the entire control state is marked as Fail.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
  2. 선택 사항: 기본적으로 모든 표준에 따른 정보가 규정 준수 결과에 표시됩니다. 특정 표준의 정보만 보려면 다음 단계를 수행합니다.

    1. 표준 관리를 클릭합니다.
    2. 기본적으로 모든 기준이 선택됩니다. 표시할 특정 표준의 확인란을 지우고 저장을 클릭합니다. 선택되지 않은 표준이 대시보드 디스플레이( 위젯 포함), 대시보드에서 액세스할 수 있는 규정 준수 결과 테이블 및 내보내기 버튼을 사용하여 생성된 PDF 파일에 표시되지 않습니다. 그러나 결과가 CSV 파일로 내보낼 때 모든 기본 표준이 포함됩니다.
  3. 검사 환경을 클릭합니다.

    참고

    전체 환경을 스캔하는 데 약 2분이 걸립니다. 이 시간은 환경의 클러스터 및 노드 수에 따라 다를 수 있습니다.

검증

  1. RHACS 포털에서 구성 관리로 이동합니다.
  2. CIS Kubernetes v1.5 위젯에서 Scan을 클릭합니다.
  3. RHACS에는 규정 준수 검사가 진행 중임을 나타내는 메시지가 표시됩니다.

3.1.3. 컴플라이언스 검사 결과 보기

규정 준수 검사를 실행하면 규정 준수 대시보드에 환경에 대한 규정 준수 상태로 결과가 표시됩니다. 대시보드에서 직접 규정 준수 위반을 보고 세부 정보 보기를 필터링하고 규정 준수 표준을 드릴다운하여 환경을 특정 벤치마크에 대해 준수하는지 파악할 수 있습니다. 이 섹션에서는 규정 준수 검사 결과를 보고 필터링하는 방법을 설명합니다.

바로 가기를 사용하여 클러스터, 네임스페이스 및 노드의 규정 준수 상태를 확인할 수 있습니다. 규정 준수 대시보드 상단에서 이러한 바로 가기를 찾습니다. 이러한 바로 가기를 클릭하면 규정 준수 스냅샷을 보고 클러스터, 네임스페이스 또는 노드의 전체 규정 준수에 대한 보고서를 생성할 수 있습니다.

규정 준수 상태
상태설명

실패

규정 준수 확인에 실패했습니다.

통과

규정 준수 검사가 통과되었습니다.

해당 없음

Red Hat Advanced Cluster Security for Kubernetes는 적용되지 않기 때문에 검사를 건너뛰었습니다.

정보

규정 준수 점검에서 데이터를 수집했지만 Red Hat Advanced Cluster Security for Kubernetes는 Pass 또는 Fail 을 결정할 수 없었습니다.

오류

기술적인 문제로 인해 규정 준수 확인이 실패했습니다.

3.1.3.1. 클러스터의 규정 준수 상태 보기

규정 준수 대시보드에서 모든 클러스터 또는 단일 클러스터에 대한 규정 준수 상태를 볼 수 있습니다.

프로세스

  • 사용자 환경의 모든 클러스터에 대한 규정 준수 상태를 보려면 다음을 수행합니다.

    1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
    2. 규정 준수 대시보드에서 클러스터를 클릭합니다.
  • 사용자 환경의 특정 클러스터에 대한 규정 준수 상태를 보려면 다음을 수행합니다.

    1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
    2. 규정 준수 대시보드에서 클러스터 위젯을 통해 통과 표준을 찾습니다.
    3. 이 위젯에서 클러스터 이름을 클릭하여 규정 준수 상태를 확인합니다.
3.1.3.2. 네임스페이스의 규정 준수 상태 보기

규정 준수 대시보드에서 모든 네임스페이스 또는 단일 네임스페이스에 대한 규정 준수 상태를 볼 수 있습니다.

프로세스

  • 사용자 환경의 모든 네임스페이스에 대한 규정 준수 상태를 보려면 다음을 수행합니다.

    1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
    2. 규정 준수 대시보드에서 네임스페이스 를 클릭합니다.
  • 사용자 환경에서 특정 네임스페이스에 대한 규정 준수 상태를 보려면 다음을 수행합니다.

    1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
    2. 네임스페이스를 클릭하여 네임스페이스 세부 정보 페이지를 엽니다.
    3. 네임스페이스 표에서 네임스페이스를 클릭합니다. 오른쪽에 측면 패널이 열립니다.
    4. 측면 패널에서 네임스페이스 이름을 클릭하여 규정 준수 상태를 확인합니다.
3.1.3.3. 특정 표준에 대한 규정 준수 상태 보기

Red Hat Advanced Cluster Security for Kubernetes는 NIST, PCI DSS, NIST, HIPAA, CIS for Kubernetes 및 CIS for Docker 준수 표준을 지원합니다. 단일 규정 준수 표준에 대한 모든 규정 준수 제어를 볼 수 있습니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
  2. 규정 준수 대시보드에서 클러스터 클러스터 위젯에서 통과 표준을 찾습니다.
  3. 이 위젯에서 표준을 클릭하여 해당 표준과 연결된 모든 컨트롤에 대한 정보를 봅니다.
참고

CIS Docker의 많은 제어는 각 Kubernetes 노드에서 Docker 엔진의 구성을 나타냅니다. 또한 많은 CIS Docker 제어는 컨테이너를 빌드하고 사용하기 위한 모범 사례이며 RHACS에는 사용을 강제 적용하는 정책이 있습니다. 자세한 내용은 "추가 리소스"의 "보안 정책 관리"를 참조하십시오.

추가 리소스

3.1.3.4. 특정 제어에 대한 규정 준수 상태 보기

선택한 표준에 대한 특정 제어에 대한 규정 준수 상태를 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 Compliance(1.0) 로 이동합니다.
  2. 규정 준수 대시보드에서 클러스터 위젯을 통해 통과 표준을 찾습니다.
  3. 이 위젯에서 표준을 클릭하여 해당 표준과 연결된 모든 컨트롤에 대한 정보를 봅니다.
  4. Controls 표에서 컨트롤을 클릭합니다. 오른쪽에 측면 패널이 열립니다.
  5. 측면 패널에서 컨트롤 이름을 클릭하여 세부 정보를 확인합니다.

3.1.4. 규정 준수 상태 필터링

Red Hat Advanced Cluster Security for Kubernetes 검색을 사용하면 규정 준수 대시보드에서 다양한 데이터 조합을 쉽게 필터링할 수 있습니다. 클러스터, 업계 표준, 통과 또는 실패 제어의 하위 집합에 집중하기 위해 규정 준수 대시보드에 표시되는 데이터의 범위를 좁힐 수 있습니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
  2. 규정 준수 대시보드에서 클러스터 또는 네임스페이스 또는 노드를 선택하여 세부 정보 페이지를 엽니다.
  3. 검색 창에 필터링 기준을 입력한 다음 Enter 키를 누릅니다.

3.1.5. 규정 준수 보고서 생성

Red Hat Advanced Cluster Security for Kubernetes를 사용하면 보고서를 생성하여 환경의 규정 준수 상태를 추적할 수 있습니다. 이러한 보고서를 사용하여 다른 이해 관계자에게 다양한 산업상 규정 준수 상태를 전달할 수 있습니다.

다음을 생성할 수 있습니다.

  • Executive는 비즈니스 측면에 중점을 두고 있으며 PDF 형식의 규정 준수 상태에 대한 차트 및 요약을 포함하는 보고서 입니다.
  • 기술적인 측면에 중점을 두고 있고 CSV 형식으로 자세한 정보를 포함하는 증명 보고서 입니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 규정 준수 (1.0)를 선택하여 규정 준수 대시보드를 엽니다.
  2. 규정 준수 대시보드에서 내보내기 를 클릭합니다.

    • 핵심 보고서를 생성하려면 다운로드 페이지를 PDF로 선택합니다.
    • 증명 보고서를 생성하려면 CSV로 Evidence 다운로드를 선택합니다.
작은 정보

내보내기 옵션은 모든 규정 준수 페이지 및 필터링된 뷰에 나타납니다.

3.1.5.1. 인증 보고서

Red Hat Advanced Cluster Security for Kubernetes의 포괄적인 규정 준수 관련 데이터를 증명 보고서로 CSV 형식으로 내보낼 수 있습니다. 이 증명 보고서에는 규정 준수 평가에 대한 자세한 정보가 포함되어 있으며 규정 준수 감사자, DevOps 엔지니어 또는 보안 실무자와 같은 기술 역할에 맞게 조정됩니다.

증명 보고서에는 다음 정보가 포함되어 있습니다.

CSV 필드설명

Standard

규정 준수 표준(예: CIS Kubernetes).

Cluster

평가된 클러스터의 이름입니다.

네임스페이스

배포가 존재하는 네임스페이스 또는 프로젝트의 이름입니다.

오브젝트 유형

오브젝트의 Kubernetes 엔터티 유형입니다. 예를 들어 노드,cluster,DaemonSet,Deployment 또는 StaticPod.

오브젝트 이름

오브젝트를 고유하게 식별하는 Kubernetes 시스템 생성 문자열인 오브젝트의 이름입니다. 예를 들어 gke-setup-dev21380-default-pool-8e086a77-1jfq.

제어

규정 준수 표준에 표시되는 제어 번호입니다.

제어 설명

제어가 수행되는 규정 준수 확인에 대한 설명입니다.

상태

규정 준수 검사가 통과되었는지 또는 실패했는지 여부입니다. 예를 들면 Pass 또는 Fail 입니다.

증명

특정 규정 준수 검사가 실패하거나 통과한 이유에 대한 설명입니다.

평가 시간

규정 준수 검사를 실행한 시간 및 날짜입니다.

3.1.6. 지원되는 벤치마크 버전

Red Hat Advanced Cluster Security for Kubernetes는 다음과 같은 업계 표준 및 규제 프레임워크에 대한 규정 준수 검사를 지원합니다.

벤치마크지원되는 버전

Docker 및 Kubernetes용 CIS 벤치마크(Internet Security용Center)

CIS Kubernetes v1.5.0 및 CIS Docker v1.2.0

HIPAA(Health Insurance Portability and Accountability Act)

HIPAA 164

NIST (National Institute of Standards and Technology)

NIST Special Publication 800-190 및 800-53 Rev. 4

PCI DSS (Payment Card Industry Data Security Standard)

PCI DSS 3.2.1

3.2. 컴플라이언스 2.0 기능 관리 (기술 프리뷰)

중요

Compliance 2.0은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하는 것을 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

RHACS(Red Hat Advanced Cluster Security for Kubernetes) 포털에서 규정 준수 2.0 기능을 사용하여 클러스터와 관련된 규정 준수 결과를 볼 수 있습니다. 이 기능은 Compliance Operator에서 수집한 규정 준수 정보를 단일 인터페이스로 수집합니다.

Compliance Operator 사용에 대한 자세한 내용은 Red Hat Advanced Cluster Security for Kubernetes에서 Compliance Operator 사용을 참조하십시오.

참고

현재 컴플라이언스 2.0 기능과 Compliance Operator는 인프라 및 플랫폼 규정 준수만 평가합니다.

3.2.1. 클러스터의 규정 준수 상태 보기

클러스터 규정 준수 페이지를 보면 클러스터의 규정 준수 상태에 대한 포괄적인 개요를 얻을 수 있습니다.

프로세스

  • RHACS 포털에서 규정 준수(2.0) → 클러스터 규정 준수 → 지원 탭으로 이동합니다.

3.2.2. 클러스터 규정 준수 페이지 개요

클러스터 규정 준수 페이지는 다음 그룹에서 정보를 구성합니다.

  • Cluster: 클러스터 세부 정보를 표시하고 현재 상태 및 구성의 스냅샷을 제공합니다.
  • Operator 상태: 클러스터 내에서 Compliance Operator 인스턴스의 상태 및 작동 상태를 평가하고 Operator가 최적으로 실행되고 원활하게 작동하는지 확인합니다.
  • Compliance: 스캔한 프로필에 대해 전달된 검사의 백분율을 표시합니다.

3.2.3. 규정 준수 검사 사용자 정의 및 자동화

규정 준수 검사 일정을 생성하면 규정 준수 검사를 사용자 지정하고 자동화하여 운영 요구 사항에 맞게 조정할 수 있습니다.

프로세스

  1. RHACS 포털에서 Compliance (2.0) → Cluster Compliance → Schedules 탭으로 이동합니다.
  2. 스캔 일정 생성을 클릭합니다.
  3. 구성 옵션 페이지에서 다음 정보를 제공합니다.

    • name: 다른 규정 준수 검사를 식별하는 이름을 입력합니다.
    • Description: 각 컴플라이언스 검사의 이유를 지정합니다.
    • Configure schedule: 필요한 스케줄에 맞게 스캔 스케줄을 조정합니다.

      • frequency: 드롭다운 목록에서 검사를 수행하려는 빈도 를 선택합니다.

        지원되는 값은 다음과 같습니다.

        • daily
        • weekly
        • monthly
      • 요일: 목록에서 검사를 수행하려는 주 중 하나 이상의 요일을 선택합니다.

        지원되는 값은 다음과 같습니다.

        • 월요일
        • 화요일
        • 수요일
        • 목요일
        • 금요일
        • 토요일
        • 일요일
        • The first of the month
        • The middle of the month

          참고

          이러한 값은 검사 빈도를 Weekly 또는 Monthly 로 지정하는 경우에만 적용할 수 있습니다.

      • Time: 검사를 실행하려는 hh:mm 의 시간을 입력합니다. 표시되는 목록에서 시간을 선택합니다.
  4. 다음을 클릭합니다.
  5. 클러스터 페이지에서 검사에 포함할 하나 이상의 클러스터를 선택합니다.
  6. 다음을 클릭합니다.
  7. 프로필 페이지에서 검사에 포함할 하나 이상의 프로필을 선택합니다.
  8. 다음을 클릭합니다.
  9. 검사 구성을 검토한 다음 생성 을 클릭합니다.

검증

  1. RHACS 포털에서 Compliance (2.0) → Cluster Compliance → Schedules 탭으로 이동합니다.
  2. 생성한 규정 준수 검사를 선택합니다.
  3. Clusters 섹션에서 Operator 상태가 정상인지 확인합니다.
  4. 선택 사항: 검사 일정을 편집하려면 검사 일정 편집을 클릭하고 변경 사항을 수행한 다음 저장을 클릭합니다.

3.2.4. 클러스터 상태 모니터링 및 분석

규정 준수 검사 상태를 확인하여 클러스터 상태를 효율적으로 모니터링하고 분석할 수 있습니다.

중요

Compliance Operator에서 검사 결과를 반환할 때까지 기다립니다. 이 작업을 수행하는 데 몇 분 정도 걸릴 수 있습니다.

프로세스

  1. RHACS 포털에서 규정 준수(2.0) → 클러스터 규정 준수 → 지원 탭으로 이동합니다.
  2. 개별 검사의 세부 정보를 보려면 클러스터를 선택합니다.
  3. 선택 사항: 키워드로 필터링 상자에 규정 준수 확인란의 이름을 입력하여 상태를 확인합니다.
  4. 선택 사항: Compliance status 드롭다운 목록에서 검사 세부 정보를 필터링할 하나 이상의 상태를 선택합니다.

    지원되는 값은 다음과 같습니다.

    • 통과
    • 실패
    • 오류
    • 정보
    • Manual
    • 해당 없음
    • 일관성 없음

3.2.5. 컴플라이언스 검사 상태 개요

규정 준수 검사 상태를 이해하면 환경의 전반적인 보안 상태를 관리할 수 있습니다.

상태설명

실패

규정 준수 확인에 실패했습니다.

통과

규정 준수 검사가 통과되었습니다.

해당 없음

적용되지 않았기 때문에 규정 준수 검사를 건너뛰었습니다.

정보

규정 준수 검사에서 데이터를 수집했지만 RHACS는 통과하거나 실패한 결정을 내릴 수 없었습니다.

오류

기술적인 문제로 인해 규정 준수 확인이 실패했습니다.

Manual

규정 준수를 위해서는 수동 개입이 필요합니다.

일관성 없음

규정 준수 검사 데이터는 일관성이 없으며 더 밀접한 검사 및 대상 해결이 필요합니다.

4장. 보안 위험 평가

Red Hat Advanced Cluster Security for Kubernetes는 전체 환경에서 위험을 평가하고 보안 위험에 따라 실행 중인 배포의 순위를 정합니다. 또한 즉각적인 주의가 필요한 취약점, 구성 및 런타임 활동에 대한 세부 정보도 제공합니다.

4.1. 위험 보기

위험 보기에는 정책 위반, 이미지 콘텐츠, 배포 구성 및 기타 유사한 요인을 기반으로 다단계 위험 지표로 정렬된 모든 클러스터의 모든 배포가 나열됩니다. 목록 상단에 배포하면 가장 큰 위험이 있습니다.

위험 보기에는 각 행에 대해 다음 속성이 있는 배포 목록이 표시됩니다.

  • name: 배포 이름입니다.
  • created: 배포 생성 시간입니다.
  • cluster: 배포가 실행 중인 클러스터의 이름입니다.
  • namespace: 배포가 존재하는 네임스페이스입니다.
  • Priority: 심각도 및 위험 메트릭을 기반으로 하는 우선 순위입니다.

위험 보기에서 다음을 수행할 수 있습니다.

  • 열 제목을 선택하여 위반을 오름차순 또는 내림차순으로 정렬합니다.
  • 필터 표시줄을 사용하여 위반을 필터링합니다.
  • 필터링된 기준에 따라 새 정책을 생성합니다.

배포 위험에 대한 자세한 내용을 보려면 위험 보기에서 배포를 선택합니다.

4.1.1. 위험 보기 열기

위험 관점에서 모든 위험을 분석하고 적절한 조치를 취할 수 있습니다.

프로세스

  • RHACS 포털로 이동하여 탐색 메뉴에서 위험을 선택합니다.

4.2. 위험 보기에서 보안 정책 생성

위험 보기에서 배포 위험을 평가하는 동안 로컬 페이지 필터링을 적용할 때 사용 중인 필터링 기준을 기반으로 새 보안 정책을 만들 수 있습니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 위험을 선택합니다.
  2. 정책을 생성할 로컬 페이지 필터링 기준을 적용합니다.
  3. 새 정책을 선택하고 필수 필드를 입력하여 새 정책을 생성합니다.

4.2.1. Red Hat Advanced Cluster Security for Kubernetes가 필터링 기준을 정책 기준으로 변환하는 방법 이해

사용하는 필터링 기준에 따라 위험 보기에서 새 보안 정책을 생성할 때 모든 기준이 새 정책에 직접 적용되는 것은 아닙니다.

  • Red Hat Advanced Cluster Security for Kubernetes는 클러스터,네임스페이스배포 필터를 동등한 정책 범위로 변환합니다.

    • 위험 보기에서 로컬 페이지 필터링은 다음 방법을 사용하여 검색 용어를 결합합니다.

      • 검색 용어를 OR 연산자와 동일한 범주 내에서 결합합니다. 예를 들어 검색 쿼리가 Cluster:A,B 인 경우 필터는 클러스터 A 또는 클러스터 B 의 배포와 일치합니다.
      • 다른 범주의 검색 용어를 AND 연산자와 결합합니다. 예를 들어 검색 쿼리가 Cluster:A+Namespace:Z 인 경우 필터는 클러스터 A네임스페이스 Z 의 배포와 일치합니다.
    • 정책에 여러 범위를 추가하면 정책은 해당 범위의 위반과 일치합니다.

      • 예를 들어 (Cluster A OR Cluster B) 및 (Namespace Z) 를 검색하는 경우 두 개의 정책 범위 (Cluster=A AND Namespace=Z) 또는 (Cluster=B AND Namespace=Z) 입니다.
  • Red Hat Advanced Cluster Security for Kubernetes는 정책 기준에 직접 매핑되지 않고 삭제된 필터를 보고하는 필터를 삭제하거나 수정합니다.

다음 표에는 필터링 검색 속성이 정책 기준에 매핑되는 방법이 나열되어 있습니다.

검색 속성정책 기준

기능 추가

기능 추가

주석

허용되지 않는 주석

CPU 코어 제한

컨테이너 CPU 제한

CPU 코어 요청

컨테이너 CPU 요청

CVE

CVE

CVE 게시됨

Cryostat dropped

CVE Sno Cryostated

Cryostat dropped

CVSS

CVSS

Cluster

Cryostat 범위로 변환됨

Component

이미지 구성 요소(이름)

구성 요소 버전

이미지 구성 요소(버전)

Deployment

Cryostat 범위로 변환됨

배포 유형

Cryostat dropped

Dockerfile 지침 키워드

Dockerfile 라인(키)

Dockerfile 명령 값

Dockerfile 라인(값)

드롭 기능

Cryostat dropped

환경 키

환경 변수(키)

환경 값

환경 변수(값)

환경 변수 소스

환경 변수(소스)

노출된 노드 포트

Cryostat dropped

서비스 노출

Cryostat dropped

서비스 포트 노출

Cryostat dropped

노출 수준

포트 노출

외부 호스트 이름

Cryostat dropped

외부 IP

Cryostat dropped

이미지

Cryostat dropped

이미지 명령

Cryostat dropped

이미지 생성 시간

이미지가 생성된 이후 일수

이미지 Entrypoint

Cryostat dropped

이미지 라벨

허용되지 않는 이미지 라벨

이미지 OS

이미지 OS

이미지 가져오기 시크릿

Cryostat dropped

이미지 레지스트리

이미지 레지스트리

이미지 원격 이미지

이미지 원격 이미지

이미지 검사 시간

이미지가 마지막으로 스캔된 이후의 일

이미지 태그

이미지 태그

이미지 상위 CVSS

Cryostat dropped

이미지 사용자

Cryostat dropped

이미지 볼륨

Cryostat dropped

레이블

Cryostat 범위로 변환됨

최대 노출 수준

Cryostat dropped

메모리 제한(MB)

컨테이너 메모리 제한

메모리 요청(MB)

컨테이너 메모리 요청

네임스페이스

Cryostat 범위로 변환됨

네임스페이스 ID

Cryostat dropped

Pod 라벨

Cryostat dropped

포트

포트

포트 프로토콜

프로토콜

우선 순위

Cryostat dropped

privileged

privileged

프로세스 Ancestor

프로세스 Ancestor

프로세스 인수

프로세스 인수

프로세스 이름

프로세스 이름

프로세스 경로

Cryostat dropped

프로세스 태그

Cryostat dropped

프로세스 UID

프로세스 UID

읽기 전용 루트 파일 시스템

읽기 전용 루트 파일 시스템

Secret

Cryostat dropped

시크릿 경로

Cryostat dropped

서비스 계정

Cryostat dropped

서비스 계정 권한 수준

최소 RBAC 권한 수준

허용 오차 키

Cryostat dropped

허용 오차 값

Cryostat dropped

볼륨 대상

볼륨 대상

볼륨 이름

볼륨 이름

볼륨 읽기 전용

쓰기 가능한 볼륨

볼륨 소스

볼륨 소스

볼륨 유형

볼륨 유형

4.3. 위험 세부 정보 보기

위험 보기에서 배포를 선택하면 오른쪽 패널에서 위험 세부 정보가 열립니다. 위험 세부 정보 패널에는 여러 탭으로 그룹화된 세부 정보가 표시됩니다.

4.3.1. 위험 지표 탭

위험 세부 정보 패널의 위험 지표 탭에서는 발견된 위험을 설명합니다.

위험 지표 탭에는 다음 섹션이 포함되어 있습니다.

  • 정책 위반: 선택한 배포에 대해 위반하는 정책의 이름입니다.
  • 의심 스러운 프로세스 실행: 프로세스가 실행된 순환 프로세스, 인수 및 컨테이너 이름을 지정합니다.
  • Image Vulnerabilities: CVSS 점수와 함께 총 CVE를 포함한 이미지
  • 서비스 구성: RW(읽기-쓰기) 기능, 기능이 삭제되었는지 여부, 권한 있는 컨테이너의 존재와 같이 문제가 있는 구성을 지정합니다.
  • Service Reachability: 클러스터 내부 또는 외부에 노출되는 컨테이너 포트입니다.
  • 구성 요소는 공격자 가 자주 사용하는 탐지된 소프트웨어 도구에 사용됩니다.
  • 이미지의 구성 요소 수: 각 이미지에 있는 패키지 수입니다.
  • Image Freshness: 이미지 이름과 나이(예: 285일)입니다.
  • RBAC 구성: Kubernetes 역할 기반 액세스 제어(RBAC)의 배포에 부여된 권한 수준입니다.
참고

모든 섹션이 Risk Indicators 탭에 표시되지는 않습니다. Red Hat Advanced Cluster Security for Kubernetes는 선택한 배포에 영향을 미치는 관련 섹션만 표시합니다.

4.4. 배포 세부 정보 탭

Deployment Risk 패널의 Deployment Details 탭에 있는 섹션에서는 더 많은 정보를 제공하므로 검색된 위험을 해결하는 방법에 대한 적절한 결정을 내릴 수 있습니다.

4.4.1. 개요 섹션

개요 섹션에는 다음에 대한 세부 정보가 표시됩니다.

  • Deployment ID: 배포에 대한 영숫자 식별자입니다.
  • namespace: 배포가 존재하는 Kubernetes 또는 OpenShift Container Platform 네임스페이스입니다.
  • updated: 배포가 업데이트된 시점의 타임스탬프입니다.
  • 배포 유형: 배포 유형(예: Deployment 또는 DaemonSet )입니다.
  • replicas: 이 배포에 배포된 Pod 수입니다.
  • labels: Kubernetes 또는 OpenShift Container Platform 애플리케이션에 연결된 키-값 레이블입니다.
  • cluster: 배포가 실행 중인 클러스터의 이름입니다.
  • annotations: 배포에 대한 Kubernetes 주석입니다.
  • 서비스 계정: Pod에서 실행되는 프로세스의 ID를 나타냅니다. 서비스 계정을 통해 프로세스가 인증되면 Kubernetes API 서버에 연결하여 클러스터 리소스에 액세스할 수 있습니다. Pod에 서비스 계정이 할당되지 않은 경우 기본 서비스 계정을 가져옵니다.

4.4.2. 컨테이너 구성 섹션

컨테이너 구성 섹션에는 다음에 대한 세부 정보가 표시됩니다.

  • Image Name: 배포된 이미지의 이름입니다.
  • Resources

    • CPU 요청(코어): 컨테이너에서 요청한 CPU 수입니다.
    • CPU 제한(코어): 컨테이너에서 사용할 수 있는 최대 CPU 수입니다.
    • 메모리 요청(MB): 컨테이너에서 요청한 메모리 크기입니다.
    • 메모리 제한(MB): 컨테이너가 종료하지 않고 사용할 수 있는 최대 메모리 양입니다.
  • mounts

    • name: 마운트의 이름입니다.
    • Source: 마운트의 데이터가 들어오는 경로입니다.
    • destination: 마운트 데이터가 이동하는 경로입니다.
    • type: 마운트의 유형입니다.
  • secrets: 배포에 사용되는 Kubernetes 시크릿의 이름 및 X.509 인증서인 시크릿 값에 대한 기본 세부 정보입니다.

4.4.3. 보안 컨텍스트 섹션

보안 컨텍스트 섹션에는 다음에 대한 세부 정보가 표시됩니다.

  • privileged: 컨테이너에 권한이 있는 경우 true 를 나열합니다.

4.5. 프로세스 검색 탭

Process Discovery (프로세스 검색) 탭에는 배포 시 요약된 환경의 각 컨테이너에서 실행된 모든 바이너리의 포괄적인 목록이 있습니다.

프로세스 검색 탭에는 다음에 대한 세부 정보가 표시됩니다.

  • 바이너리 이름: 실행된 바이너리의 이름입니다.
  • container: 프로세스가 실행되는 배포의 컨테이너입니다.
  • arguments: 바이너리와 함께 전달된 특정 인수입니다.
  • Time: 지정된 컨테이너에서 바이너리가 실행된 가장 최근의 날짜와 시간입니다.
  • Pod ID: 컨테이너가 상주하는 Pod의 식별자입니다.
  • UID: 프로세스가 실행되는 Linux 사용자 ID입니다.

필터 표시줄에서 Process Name:<name > 쿼리를 사용하여 특정 프로세스를 찾습니다.

4.5.1. 이벤트 타임라인 섹션

Process Discovery 탭의 이벤트 타임라인 섹션에는 선택한 배포에 대한 이벤트 개요가 있습니다. 정책 위반, 프로세스 활동, 컨테이너 종료 또는 재시작 이벤트 수를 표시합니다.

이벤트 타임라인 을 선택하여 자세한 내용을 볼 수 있습니다.

이벤트 타임라인 모달 상자에는 선택한 배포에 대한 모든 Pod에 대한 이벤트가 표시됩니다.

타임라인의 이벤트는 다음과 같이 분류됩니다.

  • 프로세스 활동
  • 정책 위반
  • 컨테이너 재시작
  • 컨테이너 종료

이벤트는 타임라인에 아이콘으로 표시됩니다. 이벤트에 대한 자세한 내용을 보려면 이벤트 아이콘 위에 마우스 포인터를 유지합니다. 세부 정보가 툴팁에 표시됩니다.

  • 범례 표시를 클릭하여 이벤트 유형에 해당하는 아이콘을 확인합니다.
  • 내보내기PDF 다운로드 또는 내보내기CSV 다운로드를 선택하여 이벤트 타임라인 정보를 다운로드합니다.
  • 타임라인에 표시되는 이벤트 유형을 필터링하려면 모두 표시 드롭다운 메뉴를 선택합니다.
  • 선택한 Pod의 각 컨테이너에 대해 이벤트를 별도로 보려면 확장 아이콘을 클릭합니다.

타임라인의 모든 이벤트는 하단의 Minimap 컨트롤에도 표시됩니다. Minimap은 이벤트 타임라인에 표시되는 이벤트 수를 제어합니다. 타임라인에 표시된 이벤트를 Minimap의 강조 표시된 영역을 수정하여 변경할 수 있습니다. 이렇게 하려면 강조 표시된 영역을 왼쪽 또는 오른쪽(또는 둘 다)에서 감소한 다음 강조 표시된 영역을 드래그합니다.

참고
  • 컨테이너가 다시 시작되면 Kubernetes용 Red Hat Advanced Cluster Security:

    • Pod의 각 컨테이너에 대해 컨테이너 종료에 대한 정보와 최대 10개의 비활성 컨테이너 인스턴스에 대한 이벤트를 재시작합니다. 예를 들어 두 개의 컨테이너 사이드카 가 있는 Pod의 경우 Kubernetes용 Red Hat Advanced Cluster Security는 최대 10개의 인스턴스와 최대 10개의 사이드카 인스턴스에 대한 활동을 유지합니다.
    • 컨테이너의 이전 인스턴스와 연결된 프로세스 활동을 추적하지 않습니다.
  • Red Hat Advanced Cluster Security for Kubernetes는 각 pod에 대한 각 (프로세스 이름, 프로세스 인수, UID) 튜플의 최신 실행만 표시합니다.
  • Red Hat Advanced Cluster Security for Kubernetes는 활성 Pod에 대한 이벤트만 표시합니다.
  • Red Hat Advanced Cluster Security for Kubernetes는 쿠버네티스 및 수집기에서 보고한 시간에 따라 보고된 타임스탬프를 조정합니다. Kubernetes 타임스탬프는 두 번째 기반 전체 비율을 사용하며 시간을 가장 가까운 초로 반올림합니다. 그러나 수집기는 더 정확한 타임스탬프를 사용합니다. 예를 들어 Kubernetes에서 컨테이너 시작 시간을 10:54:48 으로 보고하고 수집기에서 10:54:47.5349823 에서 시작된 해당 컨테이너의 프로세스를 보고하는 경우 Kubernetes의 Red Hat Advanced Cluster Security는 컨테이너 시작 시간을 10:54:47.5349823 으로 조정합니다.

4.6. 프로세스 기준 사용

인프라 보안에 대한 프로세스 기본 설정을 사용하여 위험을 최소화할 수 있습니다. 이 접근 방식을 통해 Red Hat Advanced Cluster Security for Kubernetes는 먼저 기존 프로세스를 검색하고 기준을 생성합니다. 그런 다음 기본 거부 모드에서 작동하며 기준선에 나열된 프로세스만 실행할 수 있습니다.

프로세스 기준

Red Hat Advanced Cluster Security for Kubernetes를 설치할 때 기본 프로세스 기준이 없습니다. Red Hat Advanced Cluster Security for Kubernetes는 배포를 검색하므로 배포의 모든 컨테이너 유형에 대한 프로세스 기준을 생성합니다. 그런 다음 검색된 모든 프로세스를 자체 프로세스 기준선에 추가합니다.

프로세스 기준 상태

프로세스 검색 단계에서 모든 기준선은 잠금 해제 상태에 있습니다.

잠금 해제된 상태에서 다음을 수행합니다.

  • Red Hat Advanced Cluster Security for Kubernetes가 새 프로세스를 발견하면 프로세스 기준선에 해당 프로세스를 추가합니다.
  • 프로세스는 위험으로 표시되지 않으며 위반을 트리거하지 않습니다.

Red Hat Advanced Cluster Security for Kubernetes가 배포의 컨테이너에서 첫 번째 프로세스 표시기를 수신한 후 프로세스 검색 단계를 완료합니다. 이 시점에서 다음을 수행합니다.

  • Red Hat Advanced Cluster Security for Kubernetes는 프로세스 기준선에 프로세스 추가를 중지합니다.
  • 프로세스 기준선에 없는 새 프로세스는 위험으로 표시되지만 위반을 트리거하지는 않습니다.

위반을 생성하려면 프로세스 기준선을 수동으로 잠그어야 합니다.

잠긴 상태에서 다음을 수행합니다.

  • Red Hat Advanced Cluster Security for Kubernetes는 프로세스 기준선에 프로세스 추가를 중지합니다.
  • 프로세스 기준 트리거 위반에 없는 새 프로세스입니다.

잠금 해제되거나 잠금 해제된 기준 상태와는 무관하게도 항상 기준선에서 프로세스를 추가하거나 제거할 수 있습니다.

참고

배포의 경우 각 Pod에 여러 컨테이너가 있는 경우 Kubernetes용 Red Hat Advanced Cluster Security는 각 컨테이너 유형에 대한 프로세스 기준을 생성합니다. 이러한 배포의 경우 일부 기준선이 잠겨 있고 일부가 잠금 해제된 경우 해당 배포의 기본 상태가 Cryostated 로 표시됩니다.

4.6.1. 프로세스 기준 보기

위험 관점에서 프로세스 기준선을 볼 수 있습니다.

프로세스

  1. RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
  2. 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽의 패널에서 배포 세부 정보가 열립니다.
  3. Deployment details 패널에서 Process Discovery 탭을 선택합니다.
  4. 프로세스 기준선은 Spec Container Baselines 섹션 아래에 표시됩니다.

4.6.2. 기준선에 프로세스 추가

기준선에 프로세스를 추가할 수 있습니다.

프로세스

  1. RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
  2. 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽의 패널에서 배포 세부 정보가 열립니다.
  3. Deployment details 패널에서 Process Discovery 탭을 선택합니다.
  4. 실행 중 섹션에서 프로세스 기준선에 추가할 프로세스의 추가 아이콘을 클릭합니다.
참고

추가 아이콘은 프로세스 기준선에 없는 프로세스에 대해서만 사용할 수 있습니다.

4.6.3. 기준에서 프로세스 제거

기준선에서 프로세스를 제거할 수 있습니다.

프로세스

  1. RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
  2. 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽의 패널에서 배포 세부 정보가 열립니다.
  3. Deployment details 패널에서 Process Discovery 탭을 선택합니다.
  4. Spec Container baselines 섹션에서 프로세스 기준에서 제거할 프로세스의 제거 아이콘을 클릭합니다.

4.6.4. 프로세스 기준 잠금 및 잠금 해제

기준선을 잠그 면 기준선에 나열되지 않은 모든 프로세스에 대한 위반을 트리거하고 기준의 잠금을 해제 하여 위반 트리거를 중지할 수 있습니다.

프로세스

  1. RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
  2. 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽의 패널에서 배포 세부 정보가 열립니다.
  3. Deployment details 패널에서 Process Discovery 탭을 선택합니다.
  4. Spec Container baselines 섹션에서 다음을 수행합니다.

    • 잠금 아이콘을 클릭하여 기준선에 없는 프로세스에 대한 위반을 트리거합니다.
    • Unlock 아이콘을 클릭하여 기준선에 없는 프로세스에 대한 위반 트리거를 중지합니다.

5장. 승인 컨트롤러 적용 사용

Red Hat Advanced Cluster Security for Kubernetes는 Kubernetes 승인 컨트롤러OpenShift Container Platform 승인 플러그인 과 함께 작동하므로 Kubernetes 또는 OpenShift Container Platform이 워크로드를 생성하기 전에 보안 정책을 적용할 수 있습니다(예: 배포, 데몬 세트 또는 작업).

RHACS 승인 컨트롤러는 사용자가 RHACS에서 구성하는 정책을 위반하는 워크로드를 생성하지 못하도록 합니다. RHACS 버전 3.0.41부터 정책을 위반하는 워크로드에 대한 업데이트가 발생하지 않도록 승인 컨트롤러를 구성할 수도 있습니다.

RHACS는 ValidatingAdmissionWebhook 컨트롤러를 사용하여 프로비저닝 중인 리소스가 지정된 보안 정책을 준수하는지 확인합니다. 이를 처리하기 위해 RHACS는 여러 웹 후크 규칙이 포함된 ValidatingWebhookConfiguration 을 생성합니다.

Kubernetes 또는 OpenShift Container Platform API 서버에서 Webhook 규칙 중 하나와 일치하는 요청을 수신하면 API 서버에서 RHACS로 AdmissionReview 요청을 보냅니다. 그러면 RHACS는 구성된 보안 정책에 따라 요청을 수락하거나 거부합니다.

참고

OpenShift Container Platform에서 승인 컨트롤러 적용을 사용하려면 Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.49 이상이 필요합니다.

5.1. 승인 컨트롤러 적용 이해

승인 컨트롤러 적용을 사용하려면 다음 사항을 고려하십시오.

  • API 대기 시간: 승인 컨트롤러 시행을 사용하면 추가 API 검증 요청이 포함되어 있기 때문에 Kubernetes 또는 OpenShift Container Platform API 대기 시간이 증가합니다. fabric8과 같은 많은 표준 Kubernetes 라이브러리는 기본적으로 짧은 Kubernetes 또는 OpenShift Container Platform API 시간 초과를 갖습니다. 또한 사용 중인 사용자 정의 자동화에서 API 시간 초과를 고려하십시오.
  • 이미지 검사: 클러스터 구성 패널에서 Contact Image Scanners 옵션을 설정하여 승인 컨트롤러에서 요청을 검토하는지 여부를 선택할 수 있습니다.

    • 이 설정을 활성화하면 검사 또는 이미지 서명 확인 결과를 사용할 수 없는 경우 Red Hat Advanced Cluster Security for Kubernetes는 이미지 스캐너에 연결하여 상당한 대기 시간을 추가합니다.
    • 이 설정을 비활성화하면 적용 결정은 캐시된 검사 및 서명 확인 결과를 사용할 수 있는 경우에만 이미지 검사 기준을 고려합니다.
  • 승인 컨트롤러 적용은 다음을 수행할 수 있습니다.

    • Pod securityContext 의 옵션
    • 배포 구성.
    • 이미지 구성 요소 및 취약점.
  • 승인 컨트롤러 적용은 다음을 위해 사용할 수 없습니다.

    • 프로세스와 같은 런타임 동작입니다.
    • 포트 노출을 기반으로 하는 모든 정책입니다.
  • Kubernetes 또는 OpenShift Container Platform API 서버와 RHACS 센서 간에 연결 문제가 있는 경우 승인 컨트롤러가 실패할 수 있습니다. 이 문제를 해결하려면 승인 컨트롤러 적용 섹션에 설명된 대로 ValidatingWebhookConfiguration 오브젝트를 삭제합니다.
  • 정책에 배포 시간 적용이 활성화되어 있고 승인 컨트롤러를 활성화하는 경우 RHACS는 정책을 위반하는 배포를 차단하려고 합니다. 예를 들어 시간 초과의 경우 RHACS는 승인 컨트롤러에서 비호환 배포를 거부하지 않는 경우 RHACS는 여전히 복제본 0으로 스케일링과 같은 다른 배포 시간 적용 메커니즘을 적용합니다.

5.2. 승인 컨트롤러 적용 활성화

센서를 설치하거나 기존 클러스터 구성을 편집할 때 클러스터 보기에서 승인 컨트롤러 적용을 활성화할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성 → 클러스터로 이동합니다.
  2. 목록에서 기존 클러스터를 선택하거나 클러스터 보안 → 레거시 설치 방법을 선택하여 새 클러스터를 보호합니다.
  3. 새 클러스터를 보호하는 경우 클러스터 구성 패널의 정적 구성 섹션에서 클러스터 세부 정보를 입력합니다.
  4. 승인 컨트롤러를 사용하여 오브젝트 생성 이벤트를 적용하려는 경우 Configure Admission Controller Webhook만 활성화하여 오브젝트 생성에서 수신 대기 하도록 하는 것이 좋습니다.
  5. 승인 컨트롤러를 사용하여 업데이트 이벤트를 적용하려는 경우 Configure Admission Controller Webhook만 활성화하여 오브젝트 업데이트에서 수신 대기 하도록 하는 것이 좋습니다.
  6. Red Hat은 허용 컨트롤러를 사용하여 Pod 실행 및 Pod 포트를 전달하려는 경우 Enable Admission Controller Webhook를 사용하여 exec 및 port-forward 이벤트에서 수신 대기 하도록 하는 것이 좋습니다.
  7. 동적 구성 섹션에서 다음 옵션을 구성합니다.

    • 오브젝트 생성 시 적용: 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 Object Creates 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.
    • 오브젝트 업데이트 적용: 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 Object Updates 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.
  8. 다음을 선택합니다.
  9. Download files 섹션에서 Download YAML files and keys 를 선택합니다.

    참고

    기존 클러스터에 승인 컨트롤러를 활성화할 때 다음 지침을 따르십시오.

    • 정적 구성 섹션을 변경하는 경우 YAML 파일을 다운로드하고 센서를 다시 배포해야 합니다.
    • 동적 구성 섹션을 변경하면 RHACS에서 센서를 자동으로 동기화하고 변경 사항을 적용하므로 파일 및 배포 다운로드를 건너뛸 수 있습니다.
  10. 완료 를 선택합니다.

검증

  • 생성된 YAML을 사용하여 새 클러스터를 프로비저닝한 후 다음 명령을 실행하여 승인 컨트롤러 적용이 올바르게 구성되었는지 확인합니다.

    $ oc get ValidatingWebhookConfiguration 1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.

    출력 예

    NAME       CREATED AT
    stackrox   2019-09-24T06:07:34Z

5.3. 승인 컨트롤러 적용 우회

승인 컨트롤러를 바이패스하려면 구성 YAML에 admission.stackrox.io/break-glass 주석을 추가합니다. 승인 컨트롤러를 우회하면 배포 세부 정보가 포함된 정책 위반이 트리거됩니다. 다른 사용자가 승인 컨트롤러를 우회한 이유를 이해할 수 있도록 문제 추적기 링크 또는 기타 참조를 이 주석의 값으로 제공하는 것이 좋습니다.

5.4. 승인 컨트롤러 적용 비활성화

RHACS(Red Hat Advanced Cluster Security for Kubernetes) 포털의 Clusters 보기에서 승인 컨트롤러 시행을 비활성화할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성클러스터를 선택합니다.
  2. 목록에서 기존 클러스터를 선택합니다.
  3. 동적 구성 섹션에서 Object CreatesEnforce on Object Updates 토글을 끕니다.
  4. 다음을 선택합니다.
  5. 완료 를 선택합니다.

5.4.1. 연결된 정책 비활성화

관련 정책에 대한 적용 기능을 끄면 승인 컨트롤러가 적용 사항을 건너뛰도록 지시할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.
  2. 기본 정책에서 적용을 비활성화합니다.

    • 정책 보기에서 Kubernetes 작업: Exec into Pod 정책을 찾습니다. 오버플로 메뉴 kebab 를 클릭한 다음 정책 비활성화 를 선택합니다.
    • 정책 보기에서 Kubernetes 작업: Pod로 전달 포트 정책을 찾습니다. 오버플로 메뉴 kebab 를 클릭한 다음 정책 비활성화 를 선택합니다.
  3. 기본 Kubernetes 동작의 기준을 사용하여 생성한 다른 사용자 정의 정책에 대한 적용(포드 및 Kubernetes 작업으로 전달: Pod 정책으로 실행) 을 비활성화합니다.

5.4.2. Webhook 비활성화

RHACS 포털의 클러스터 보기에서 승인 컨트롤러 시행을 비활성화할 수 있습니다.

중요

Webhook를 해제하여 승인 컨트롤러를 비활성화하는 경우 센서 번들을 다시 배포해야 합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성 → 클러스터로 이동합니다.
  2. 목록에서 기존 클러스터를 선택합니다.
  3. Enable Admission Controller Webhook to listen on exec and port-forward events toggles on the Static Configuration 섹션에서 수신 대기합니다.
  4. 다음을 선택하여 센서 설정을 계속합니다.
  5. YAML 파일 및 키 다운로드를 클릭합니다.
  6. 모니터링된 클러스터에 액세스할 수 있는 시스템에서 센서 스크립트를 추출하고 실행합니다.

    $ unzip -d sensor sensor-<cluster_name>.zip
    $ ./sensor/sensor.sh
    참고

    센서를 배포하는 데 필요한 권한이 없다는 경고가 표시되면 화면의 지침을 따르거나 클러스터 관리자에게 도움을 요청하십시오.

    센서가 배포되면 Central에 연결하여 클러스터 정보를 제공합니다.

  7. RHACS 포털로 돌아가서 배포가 완료되었는지 확인합니다. 성공하면 섹션 #2에 녹색 확인 표시가 표시됩니다. 녹색 확인 표시가 표시되지 않는 경우 다음 명령을 사용하여 문제를 확인합니다.

    • OpenShift Container Platform에서 다음을 수행합니다.

      $ oc get pod -n stackrox -w
    • Kubernetes에서 다음을 수행합니다.

      $ kubectl get pod -n stackrox -w
  8. 완료 를 선택합니다.
참고

승인 컨트롤러를 비활성화하면 RHACS에서 ValidatingWebhookConfiguration 매개변수를 삭제하지 않습니다. 그러나 위반 요청을 확인하는 대신 모든 AdmissionReview 요청을 수락합니다.

ValidatingWebhookConfiguration 오브젝트를 제거하려면 보안 클러스터에서 다음 명령을 실행합니다.

  • OpenShift Container Platform에서 다음을 수행합니다.

    $ oc delete ValidatingWebhookConfiguration/stackrox
  • Kubernetes에서 다음을 수행합니다.

    $ kubectl delete ValidatingWebhookConfiguration/stackrox

5.5. ValidatingWebhookConfiguration YAML 파일 변경

Red Hat Advanced Cluster Security for Kubernetes를 사용하면 다음에 대한 보안 정책을 적용할 수 있습니다.

  • 오브젝트 생성
  • 오브젝트 업데이트
  • Pod 실행
  • Pod 포트 전달
중앙 또는 센서를 사용할 수 없는 경우

승인 컨트롤러에서는 센서가 작동하려면 초기 구성이 필요합니다. Kubernetes 또는 OpenShift Container Platform은 이 구성을 저장하고 모든 승인 제어 서비스 복제본을 다른 노드에 다시 예약하더라도 액세스할 수 있습니다. 이 초기 구성이 있는 경우 승인 컨트롤러에서 구성된 모든 배포 시간 정책을 적용합니다.

나중에 Sensor 또는 Central을 사용할 수 없게 되는 경우:

  • 이미지 검사를 실행하거나 캐시된 이미지 검사에 대한 정보를 쿼리할 수 없습니다. 그러나 승인 컨트롤러 시행은 수집된 정보가 불완전하더라도 시간 초과가 만료되기 전에 수집된 사용 가능한 정보를 기반으로 계속 작동합니다.
  • 변경 사항이 승인 제어 서비스로 전파되지 않으므로 RHACS 포털에서 승인 컨트롤러를 비활성화하거나 기존 정책에 대한 적용 사항을 수정할 수 없습니다.
참고

승인 제어 적용을 비활성화해야 하는 경우 다음 명령을 실행하여 검증 웹 후크 구성을 삭제할 수 있습니다.

  • OpenShift Container Platform에서 다음을 수행합니다.

    $ oc delete ValidatingWebhookConfiguration/stackrox
  • Kubernetes에서 다음을 수행합니다.

    $ kubectl delete ValidatingWebhookConfiguration/stackrox
승인 컨트롤러의 안정성 향상

Red Hat은 작업자 노드가 아닌 컨트롤 플레인에 승인 제어 서비스를 예약하는 것이 좋습니다. 배포 YAML 파일에는 컨트롤 플레인에서 실행하기 위한 소프트 기본 설정이 포함되어 있지만 적용되지 않습니다.

기본적으로 승인 제어 서비스는 3개의 복제본을 실행합니다. 안정성을 높이기 위해 다음 명령을 실행하여 복제본을 늘릴 수 있습니다.

$ oc -n stackrox scale deploy/admission-control --replicas=<number_of_replicas> 1
1
Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.
roxctl CLI에서 사용

센서 배포 YAML 파일을 생성할 때 다음 옵션을 사용할 수 있습니다.

  • --admission-controller-listen-updates: 이 옵션을 사용하는 경우 Kubernetes용 Red Hat Advanced Cluster Security는 Kubernetes 또는 OpenShift Container Platform API 서버에서 업데이트 이벤트를 수신하도록 사전 구성된 ValidatingWebhookConfiguration 이 포함된 센서 번들을 생성합니다.
  • --admission-controller-enforce-on-updates: 이 옵션을 사용하는 경우 승인 컨트롤러가 보안 정책 오브젝트 업데이트를 적용하도록 Kubernetes용 Red Hat Advanced Cluster Security를 구성합니다.

이러한 두 옵션은 모두 선택 사항이며 기본적으로 false 입니다.

6장. 보안 정책 관리

Red Hat Advanced Cluster Security for Kubernetes를 사용하면 즉시 사용 가능한 보안 정책을 사용하고 컨테이너 환경에 대한 사용자 지정 다단계 정책을 정의할 수 있습니다. 이러한 정책을 구성하면 환경의 위험이 높은 서비스 배포를 자동으로 방지하고 런타임 보안 사고에 대응할 수 있습니다.

6.1. 기본 보안 정책 사용

Red Hat Advanced Cluster Security for Kubernetes에는 보안 문제를 식별하고 해당 환경의 보안에 대한 모범 사례를 제공하는 광범위한 기본 정책이 포함되어 있습니다.

기본 정책을 보려면 다음을 수행합니다.

  • RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.

Policies 보기에는 기본 정책이 나열되고 각 정책에 대한 다음 매개변수가 포함됩니다.

  • 정책: 정책의 이름입니다.
  • Description: 정책에 대한 경고에 대한 자세한 설명입니다.
  • status : 정책의 현재 상태( 활성화됨 또는 Disabled )입니다.
  • Notifiers: 정책에 대해 구성된 알림자 목록입니다.
  • 심각도: 필요한 관심 정도에 따라 심각, 높음, 중간 또는 낮음 정책의 순위입니다.
  • 라이프사이클: 이 정책이 적용되는 컨테이너 라이프사이클(빌드, 배포 또는 런타임)과 정책이 활성화되면 시행이 적용되는 단계입니다.

기본 정책에는 사전 구성된 매개변수가 있으며 다음과 같은 카테고리에 속합니다.

  • 비정상적인 활동
  • Cryptocurrency Cryostat
  • DevOps 모범 사례
  • Kubernetes
  • 네트워크 툴
  • 패키지 관리
  • 권한
  • 보안 모범 사례
  • 시스템 수정
  • 취약점 관리

이러한 범주를 편집하고 고유한 범주를 만들 수 있습니다.

참고

기본 정책을 삭제하거나 기본 정책에 대한 정책 기준을 편집할 수 없습니다.

6.2. 기존 보안 정책 수정

생성한 정책과 Red Hat Advanced Cluster Security for Kubernetes에서 제공하는 기존 기본 정책을 편집할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.
  2. 정책 페이지에서 편집할 정책을 선택합니다.
  3. 작업정책 편집을 선택합니다.
  4. 정책 세부 정보를 수정합니다. 정책 이름, 심각도, 카테고리, 설명, 이유 및 지침을 수정할 수 있습니다. 또한 사용 가능한 Notifiers 섹션에서 사용 가능한 Notifiers 섹션에서 선택하여 정책에 알림기를 연결할 수도 있습니다.
  5. 다음을 클릭합니다.
  6. 정책 동작 섹션에서 정책에 대한 라이프사이클 단계이벤트 소스 를 선택합니다.
  7. 정책 위반을 해결하기 위한 응답 방법을 선택합니다.
  8. 다음을 클릭합니다.
  9. Policy criteria 섹션의 정책 필드 섹션 아래의 범주를 확장합니다. 드래그 앤 드롭 정책 필드를 사용하여 정책 기준에 대한 논리 조건을 지정합니다.

    참고

    기본 정책에 대한 정책 기준을 편집할 수 없습니다.

  10. 다음을 클릭합니다.
  11. 정책 범위 섹션에서 범위 별 제한 사항 수정,범위 초과, 이미지 설정 제외.
  12. 다음을 클릭합니다.
  13. 검토 정책 섹션에서 정책 위반을 미리 봅니다.
  14. 저장을 클릭합니다.

6.3. 정책 카테고리 생성 및 관리

6.3.1. 정책 카테고리 탭을 사용하여 정책 카테고리 생성

버전 3.74부터 RHACS는 PostgreSQL 데이터베이스가 활성화된 경우 Red Hat Advanced Cluster Security Cloud Service 또는 RHACS에서 정책 카테고리를 생성하고 관리하는 새로운 방법을 제공합니다. 정책 생성 이외의 모든 정책 워크플로우는 이 기능을 사용할 때 변경되지 않은 상태로 유지됩니다.

PolicyCategoryService API 오브젝트를 사용하여 정책 범주를 구성할 수도 있습니다. 자세한 내용은 RHACS 포털에서 도움말API 참조로 이동하십시오.

프로세스

  1. RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.
  2. 정책 카테고리 탭을 클릭합니다. 이 탭에서는 기존 카테고리 목록을 제공하고 카테고리 이름으로 목록을 필터링할 수 있습니다. 모든 카테고리 표시를 클릭하고 확인란을 선택하여 표시된 목록에서 기본 또는 사용자 지정 카테고리를 제거할 수도 있습니다.
  3. 카테고리 생성을 클릭합니다.
  4. 카테고리 이름을 입력하고 생성 을 클릭합니다.

6.3.2. 정책 카테고리 탭을 사용하여 정책 카테고리 수정

버전 3.74부터 RHACS는 PostgreSQL 데이터베이스가 활성화된 경우 Red Hat Advanced Cluster Security Cloud Service 또는 RHACS에서 정책 카테고리를 생성하고 관리하는 새로운 방법을 제공합니다. 정책 생성 이외의 모든 정책 워크플로우는 이 기능을 사용할 때 변경되지 않은 상태로 유지됩니다.

PolicyCategoryService API 오브젝트를 사용하여 정책 범주를 구성할 수도 있습니다. 자세한 내용은 RHACS 포털에서 도움말API 참조로 이동하십시오.

프로세스

  1. RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.
  2. 정책 카테고리 탭을 클릭합니다. 이 탭에서는 기존 카테고리 목록을 제공하고 카테고리 이름으로 목록을 필터링할 수 있습니다. 모든 카테고리 표시를 클릭하고 확인란을 선택하여 표시된 목록에서 기본 또는 사용자 지정 카테고리를 제거할 수도 있습니다.
  3. 정책 이름을 클릭하거나 편집하여 삭제합니다. 기본 정책 범주는 선택, 편집 또는 삭제할 수 없습니다.

6.4. 사용자 정의 정책 생성

기본 정책을 사용하는 것 외에도 Red Hat Advanced Cluster Security for Kubernetes에서 사용자 지정 정책을 만들 수도 있습니다.

새 정책을 빌드하려면 기존 정책을 복제하거나 처음부터 새 정책을 생성할 수 있습니다.

  • RHACS 포털의 위험 보기의 필터 기준을 기반으로 정책을 생성할 수도 있습니다.
  • 정책 기준에는 AND,OR, 및 NOT 논리 연산자를 사용하여 고급 정책을 생성할 수도 있습니다.

6.4.1. 시스템 정책 보기에서 보안 정책 생성

시스템 정책 보기에서 새 보안 정책을 생성할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.
  2. 정책 생성을 클릭합니다.
  3. 정책 세부 정보 섹션에서 정책에 대한 다음 세부 정보를 입력합니다.

    • 정책의 이름을 입력합니다.
    • 선택 사항: 사용 가능한 알림 섹션의 사용 가능한 알림 에서 선택하여 정책에 알림 기를 연결합니다.

      참고

      경고를 전달하려면 Webhook, Jira, PagerDuty, Splunk 등과 같은 RHACS를 알림 공급자와 통합해야 합니다.

    • 이 정책에 대한 심각도 수준을 선택합니다( 심각,높음,중간 또는 낮음 ).
    • 정책에 적용할 정책 범주를 선택합니다. 범주 생성에 대한 자세한 내용은 이 문서의 뒷부분에 나오는 "정책 카테고리 생성 및 관리"를 참조하십시오.
    • 설명 필드에 정책에 대한 세부 정보를 입력합니다.
    • Rationale 필드에 정책이 존재하는 이유에 대한 설명을 입력합니다.
    • 지침 필드에 이 정책 위반을 해결하는 단계를 입력합니다.
    • 선택 사항: MITRE ATT&CK 섹션에서 정책에 지정할 전략 및 기술을 선택합니다.

      1. 전략 추가 를 클릭한 다음 드롭다운 목록에서 전략을 선택합니다.
      2. 선택한 전략의 기술을 추가하려면 추가 기술을 클릭합니다. 방법에 대한 여러 기술을 지정할 수 있습니다.
  4. 다음을 클릭합니다.
  5. 정책 동작 섹션에서 다음 단계를 수행합니다.

    1. 정책이 적용되는 라이프사이클 단계 ( 빌드,배포 또는 런타임 )를 선택합니다. 하나 이상의 단계를 선택할 수 있습니다.

      • 빌드 시간 정책은 CVE 및 Dockerfile 명령과 같은 이미지 필드에 적용됩니다.
      • 배포 시간 정책에는 모든 빌드 시간 정책 기준이 포함될 수 있지만 권한 있는 모드에서 실행 또는 Docker 소켓 마운트와 같은 클러스터 구성의 데이터를 포함할 수도 있습니다.
      • 런타임 정책에는 모든 빌드 시간 및 배포 시간 정책 기준이 포함될 수 있지만 런타임 중에 프로세스 실행에 대한 데이터를 포함할 수도 있습니다.
    2. 선택 사항: 런타임 라이프사이클 단계를 선택한 경우 다음 이벤트 소스 중 하나를 선택합니다.

      • 배포: RHACS는 이벤트 소스에 프로세스 및 네트워크 활동, Pod exec 및 Pod 포트 전달이 포함된 경우 정책 위반을 트리거합니다.
      • 이벤트 소스가 Kubernetes 감사 로그 레코드와 일치하는 경우 RHACS는 정책 위반을 트리거합니다.
  6. 응답 방법의 경우 다음 옵션 중 하나를 선택합니다.

    1. notify: 위반 목록에 위반을 포함합니다.
    2. 정보 및 적용: 작업을 시행합니다.
  7. 선택 사항: 시행 동작 구성에서 Inform 및 enforce 를 선택한 경우 각 라이프사이클에 토글을 사용하여 정책의 시행 동작을 선택합니다. 라이프사이클 단계를 구성할 때 선택한 단계에서만 사용할 수 있습니다. 적용 동작은 라이프사이클 단계마다 다릅니다.

    • Build: RHACS는 이미지가 정책의 기준과 일치할 때 CI(Continuous Integration) 빌드에 실패합니다.
    • 배포 단계의 경우 RHACS는 RHACS 승인 컨트롤러가 구성되어 실행되는 경우 정책 조건과 일치하는 배포의 생성 및 업데이트를 차단합니다.

      • 승인 컨트롤러 적용이 있는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 호환되지 않는 모든 배포를 차단합니다. 다른 클러스터에서 RHACS는 비호환 배포를 편집하여 Pod가 예약되지 않도록 합니다.
      • 기존 배포의 경우 정책 변경으로 인해 Kubernetes 이벤트가 발생하는 경우 다음 기준을 탐지할 때만 적용됩니다. 적용 단계에 대한 자세한 내용은 "배포 단계에 대한 보안 정책 적용"을 참조하십시오.
    • Runtime - RHACS는 Pod의 이벤트가 정책 기준과 일치하면 모든 Pod를 삭제합니다.

      주의

      정책 적용은 실행 중인 애플리케이션 또는 개발 프로세스에 영향을 미칠 수 있습니다. 시행 옵션을 활성화하기 전에 모든 이해 관계자에게 알리고 자동화된 적용 작업에 대응하는 방법을 계획하십시오.

  8. 다음을 클릭합니다.
  9. 정책 기준 섹션에서 정책을 트리거할 속성을 구성합니다.

    1. 정책 필드를 클릭하고 Policy 섹션 으로 드래그하여 기준을 추가합니다.

      참고

      사용 가능한 정책 필드는 정책에 선택한 라이프사이클 단계에 따라 다릅니다. 예를 들어 Kubernetes 액세스 정책 또는 네트워킹 의 기준은 런타임 라이프사이클에 대한 정책을 생성할 때 사용할 수 있지만 빌드 라이프사이클에 대한 정책을 생성할 때는 사용할 수 없습니다. 기준 및 사용 가능한 라이프사이클 단계에 대한 정보를 포함하여 정책 기준에 대한 자세한 내용은 "추가 리소스" 섹션의 "정책 기준"을 참조하십시오.

    2. 선택 사항: 정책을 트리거할 추가 기준이 포함된 정책 섹션을 추가하려면(예: 오래된 이미지에서 트리거하려면 이미지 태그가 최신 또는 이미지 기간이 아니며 이미지가 빌드된 이후 최소 일 수를 지정할 수 있습니다).
  10. 다음을 클릭합니다.
  11. 정책 범위 섹션에서 다음을 구성합니다.

    • Restrict by scope 을 사용하려면 포함 범위 추가 를 클릭하여 특정 클러스터, 네임스페이스 또는 라벨에만 이 정책을 활성화합니다. 네임스페이스 및 레이블에 RE2 Syntax 에서 여러 범위를 추가하고 정규식을 사용할 수도 있습니다.
    • Exclude를 사용하여 지정된 배포, 클러스터, 네임스페이스 및 레이블을 제외하려면 제외 범위 추가 를 클릭합니다. 정책은 선택한 엔터티에는 적용되지 않습니다. 네임스페이스 및 레이블에 RE2 Syntax 에서 여러 범위를 추가하고 정규식을 사용할 수도 있습니다. 그러나 배포 선택에는 정규식을 사용할 수 없습니다.
    • 제외된 이미지(Build Lifecycle only) 의 경우 위반을 트리거하지 않으려는 모든 이미지를 선택합니다.

      참고

      제외된 이미지 설정은 Build 라이프사이클 단계와 함께 연속 통합 시스템에서 이미지를 확인하는 경우에만 적용됩니다. 이 정책을 사용하여 Runtime 라이프사이클 단계의 Deploy 라이프사이클 단계 또는 런타임 활동에서 실행 중인 배포를 확인하는 경우에는 적용되지 않습니다.

  12. 다음을 클릭합니다.
  13. 검토 정책 섹션에서 정책 위반을 미리 봅니다.
  14. 저장을 클릭합니다.
6.4.1.1. 배포 단계에 대한 보안 정책 적용

Red Hat Advanced Cluster Security for Kubernetes는 배포 정책에 대한 두 가지 유형의 보안 정책 시행을 지원합니다. 즉, RHACS 센서의 승인 컨트롤러 및 소프트 시행을 통한 하드 시행입니다. 승인 컨트롤러는 정책을 위반하는 배포의 생성 또는 업데이트를 차단합니다. 승인 컨트롤러가 비활성화되거나 사용할 수 없는 경우 Sensor는 정책을 위반하는 배포의 복제본을 0 으로 축소하여 시행을 수행할 수 있습니다.

주의

정책 적용은 실행 중인 애플리케이션 또는 개발 프로세스에 영향을 미칠 수 있습니다. 시행 옵션을 활성화하기 전에 모든 이해 관계자에게 알리고 자동화된 적용 작업에 대응하는 방법을 계획하십시오.

6.4.1.1.1. 하드 적용

하드 적용은 RHACS 승인 컨트롤러에서 수행합니다. 승인 컨트롤러 적용이 있는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 호환되지 않는 모든 배포를 차단합니다. 승인 컨트롤러는 CREATEUPDATE 작업을 차단합니다. 배포 시간 적용이 활성화된 정책을 충족하는 Pod 생성 또는 업데이트 요청이 실패합니다.

참고

Kubernetes 승인 Webhook는 CREATE,UPDATE,DELETE 또는 CONNECT 작업만 지원합니다. RHACS 승인 컨트롤러는 CREATEUPDATE 작업만 지원합니다. kubectl 패치,kubectl set, kubectl scale 과 같은 작업은 UPDATE 작업이 아닌 PATCH 작업입니다. PATCH 작업은 Kubernetes에서 지원되지 않으므로 RHACS는 PATCH 작업에 대한 적용을 수행할 수 없습니다.

차단 적용의 경우 RHACS의 클러스터에 대해 다음 설정을 활성화해야 합니다.

  • 오브젝트 생성: 동적 구성 섹션의 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 정적 구성 섹션에서 오브젝트 생성 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.
  • 오브젝트 업데이트 적용: 동적 구성 섹션의 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 정적 구성 섹션의 오브젝트 업데이트 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.

정적 구성 설정에서 설정을 변경하는 경우 해당 변경 사항을 적용하려면 보안 클러스터를 재배포해야 합니다.

6.4.1.1.2. 소프트 적용

소프트 적용은 RHACS 센서가 수행합니다. 이러한 적용으로 인해 작업이 시작되지 않습니다. 소프트 적용 기능을 사용하면 센서가 복제본을 0으로 스케일링하고 Pod가 예약되지 않습니다. 이 적용에서는 클러스터에서 준비되지 않은 배포를 사용할 수 있습니다.

소프트 적용이 구성되고 센서가 다운된 경우 RHACS는 적용을 수행할 수 없습니다.

6.4.1.1.3. 네임스페이스 제외

기본적으로 RHACS는 stackrox,kube-system, istio-system 네임스페이스와 같은 특정 관리 네임스페이스를 시행 차단에서 제외합니다. 그 이유는 RHACS가 제대로 작동하려면 이러한 네임스페이스의 일부 항목을 배포해야 하기 때문입니다.

6.4.1.1.4. 기존 배포에 적용

기존 배포의 경우 정책 변경으로 인해 Kubernetes 이벤트가 발생하는 경우 다음 기준을 탐지할 때만 적용됩니다. 정책을 변경하는 경우 정책 관리를 선택하고 Reassess all을 클릭하여 정책을 재평가해야 합니다. 이 작업은 들어오는 새 Kubernetes 이벤트가 있는지 여부에 관계없이 기존의 모든 배포에 배포 정책을 적용합니다. 정책을 위반하는 경우 RHACS는 적용을 수행합니다.

6.4.2. 위험 보기에서 보안 정책 생성

위험 보기에서 배포 위험을 평가하는 동안 로컬 페이지 필터링을 적용할 때 사용 중인 필터링 기준을 기반으로 새 보안 정책을 만들 수 있습니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 위험을 선택합니다.
  2. 정책을 생성할 로컬 페이지 필터링 기준을 적용합니다.
  3. 새 정책을 선택하고 필수 필드를 입력하여 새 정책을 생성합니다.

6.4.3. 정책 기준

정책 기준 섹션에서 정책을 트리거할 데이터를 구성할 수 있습니다.

다음 표에 나열된 특성을 기반으로 정책을 구성할 수 있습니다.

이 표에서는 다음을 수행합니다.

  • 정규 표현식,AND, OR, NOT 열은 특정 특성과 함께 정규식 및 기타 논리 연산자를 사용할 수 있는지 여부를 나타냅니다.

    • ! Cryo stat (Regular expressions)는 나열된 필드에 대해서만 정규식을 사용할 수 있음을 나타냅니다.
    • AND ! 또는 OR 는 속성에 언급된 논리 연산자만 사용할 수 있음을 나타냅니다.
    • Cryostat / NOT / AND, OR 열의 경우 속성이 해당 속성(regex, 부정, 논리 연산자)을 지원하지 않음을 나타냅니다.
  • RHACS 버전 열에는 특성을 사용해야 하는 Red Hat Advanced Cluster Security for Kubernetes 버전이 표시됩니다.
  • 다음과 같은 특성에는 논리 조합 연산자 ANDOR 를 사용할 수 없습니다.

    • 부울 값이 truefalse
    • 최소 값 의미 체계는 다음과 같습니다.

      • 최소 RBAC 권한
      • 이미지가 생성된 이후 일수
  • 다음과 같은 특성에 NOT 논리 연산자를 사용할 수 없습니다.

    • 부울 값이 truefalse
    • < , > , , <= , >= 연산자와 같이 이미 비교를 사용하는 숫자 값입니다.
    • 예를 들어 여러 값을 가질 수 있는 복합 조건:

      • Dockerfile line: 명령 및 인수를 모두 포함합니다.
      • 환경 변수: name 및 value로 구성됩니다.
    • 기능 추가,드롭다운 기능, 이미지가생성된 이후의 일, 이미지가 마지막으로 스캔된 날짜 등 기타 의미
속성설명JSON 속성허용되는 값regex,NOT,AND, OR단계

섹션: 이미지 레지스트리

이미지 레지스트리

이미지 레지스트리의 이름입니다.

이미지 레지스트리

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 이름

레지스트리의 이미지의 전체 이름입니다(예: library/nginx ).

이미지 원격 이미지

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 태그

이미지의 식별자입니다.

이미지 태그

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 서명

이미지의 서명을 확인하는 데 사용할 수 있는 서명 통합 목록입니다. 서명이 없거나 제공된 서명 통합 중 하나 이상에서 확인할 수 없는 이미지에 대한 경고를 생성합니다.

이미지 서명 확인

이미 구성된 이미지 서명 통합의 유효한 ID

! 또는 하나만

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

섹션: 이미지 콘텐츠

CVE(Common Vulnerabilities and Exposures)는 수정 가능

이 기준으로 평가 중인 배포에 있는 이미지에 수정 가능한 CVE가 있는 경우에만 위반이 발생합니다.

수정 가능

부울

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVE가 이미지에 처음 발견된 일자

이러한 기준은 RHACS가 특정 이미지에서 CVE를 발견한 이후 지정된 일수보다 많은 경우에만 위반을 초래합니다.

CVE가 이미지에 처음 발견된 일자

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVE가 시스템에서 처음 발견된 일자

이러한 기준은 RHACS가 RHACS가 모니터링하는 모든 클러스터에서 배포된 모든 이미지에서 CVE를 발견한 이후 지정된 일수에 해당하는 경우에만 위반이 발생합니다.

CVE가 시스템에서 처음 발견된 일자

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 기간

이미지 생성 날짜로부터 최소 일 수입니다.

이미지 기간

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 검사 기간

이미지가 마지막으로 스캔된 후 최소 일 수입니다.

이미지 검사 기간

정수

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 사용자

Dockerfile의 USER 지시문과 일치합니다. 자세한 내용은 https://docs.docker.com/engine/reference/builder/#user 을 참조하십시오.

이미지 사용자

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

Dockerfile 라인

명령 및 인수를 포함하여 Dockerfile의 특정 행.

Dockerfile 라인

다음 중 하나: LABEL, RUN, CMD, EXV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ONBUILD

! regex only for values,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 검사 상태

이미지가 스캔되었는지 확인합니다.

검사되지 않은 이미지

부울

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVSS (Common Vulnerability Scoring System)

CVSS: 점수가 >보다 크거나 < , 지정된 CVSS보다 작거나 같은 취약점 일치하는 이미지를 사용합니다.

CVSS

<, > >, <=, >= 또는 아무것도(즉, 동일한 값)
Cryostat- Cryostatand Cryostat- Cryostat 
10진수(선택적인 소수 값이 있는 숫자)입니다.

예:
>=5 또는
9.5

AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

심각도

CVSS 또는 공급 업체를 기반으로 하는 취약점의 심각도입니다. 낮음, 보통, 중요 또는 심각 중 하나일 수 있습니다.

심각도

<, >, Cryostat, >= 또는 아무것도(이는 동일함)
Cryostat-propertyand Cryostat- Cryostat 
one of:
UNKNOWN
LOW
LOW
MODERATE
CRITICAL

예:
>=IMPORTANT,
CRITICAL

AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

수정자

이미지의 플래그가 지정된 취약점을 수정하는 패키지의 버전 문자열입니다. 이 기준은 예를 들어 CVE 기준을 사용하여 취약점을 식별하는 다른 기준과 함께 사용될 수 있습니다.

수정자

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

CVE

일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다.

CVE

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 구성 요소

이미지에 있는 특정 소프트웨어 구성 요소의 이름 및 버전 번호입니다.

이미지 구성 요소

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 OS

이미지의 기본 운영 체제의 이름 및 버전 번호입니다. 예: alpine:3.17.3

이미지 OS

문자열

regex,
NOT,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 레이블 필요

Docker 이미지 레이블이 있는지 확인합니다. 배포의 이미지에 지정된 레이블이 없는 경우 정책이 트리거됩니다. key 및 value 필드에 정규식을 사용하여 레이블과 일치시킬 수 있습니다. 이미지 레이블 정책 조건이 Docker 레지스트리와 통합되는 경우에만 작동합니다. Docker 레이블에 대한 자세한 내용은 https://docs.docker.com/config/labels-custom-metadata/ Docker 문서를 참조하십시오.

필수 이미지 레이블

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

이미지 레이블 허용

특정 Docker 이미지 레이블을 사용하지 않는지 확인합니다. 배포의 이미지에 지정된 레이블이 있으면 정책이 트리거됩니다. key 및 value 필드에 정규식을 사용하여 레이블과 일치시킬 수 있습니다. '이미지 레이블 정책 비활성화' 기준은 Docker 레지스트리와 통합할 때만 작동합니다. Docker 레이블에 대한 자세한 내용은 https://docs.docker.com/config/labels-custom-metadata/ Docker 문서를 참조하십시오.

허용되지 않는 이미지 라벨

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

Build,
Deploy,
Runtime (런타임 기준)과 함께 사용되는 경우)

섹션: 컨테이너 구성

환경 변수

이름 또는 값으로 환경 변수를 확인합니다. 환경 변수 속성이 포함된 정책을 생성할 때 정책이 일치해야 하는 환경 변수 유형을 선택할 수 있습니다. 예를 들어 배포 YAML에서 직접 제공되는 원시 값을 지정하거나 구성 맵, 시크릿, 필드 또는 리소스 요청 또는 제한의 값에 대한 참조를 지정할 수 있습니다. 배포 YAML에서 직접 지정된 원시 값이 아닌 모든 유형의 경우 정책 규칙의 해당 value 속성이 무시됩니다. 이 경우 정책 일치는 지정된 환경 변수 유형의 존재 여부에 따라 평가됩니다. 또한 이 기준에서는 raw 값이 아닌 유형에 대해 비어 있지 않은 특성을 사용하여 정책을 생성할 수 없습니다.

환경 변수

배포 YAML에 직접 지정된 환경 변수와 특정 키 및 값과 일치하는 RAW=key=value입니다. 키에서만 일치하도록 value 속성을 생략할 수 있습니다.

환경 변수가 구성 YAML에 정의되지 않은 경우 SOURCE=KEY 형식을 사용할 수 있습니다. 여기서 SOURCE 는 다음 오브젝트 중 하나입니다.

  • SECRET_KEY (SecretKeyRef)
  • CONFIG_MAP_KEY(ConfigMapRef)
  • FIELD (FieldRef)
  • RESOURCE_FIELD (ResourceFieldRef)

이전 목록은 먼저 API 오브젝트 레이블을 제공한 다음 사용자 인터페이스 레이블을 설명에 제공합니다.

! key 및 value ( RAW를 사용하는 경우)
AND, OR에 대해서만 regex

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 CPU 요청

지정된 리소스에 예약된 코어 수를 확인합니다.

컨테이너 CPU 요청

<, > >, >= 또는 아무것도 (이를 의미하는 것과 같습니다)
Cryostat- Cryostatand Cryostat- Cryostat 
10진수 (선택적인 소수 값이 있는 숫자)

예:
>=5 또는
9.5

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 CPU 제한

리소스에서 사용할 수 있는 최대 코어 수를 확인합니다.

컨테이너 CPU 제한

(컨테이너 CPU 요청과 동일)

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 메모리 요청

요청되는 부분(MB)을 포함한 숫자입니다.

컨테이너 메모리 요청

(컨테이너 CPU 요청과 동일)

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 메모리 제한

리소스가 사용할 수 있는 최대 메모리 양을 확인합니다.

컨테이너 메모리 제한

(컨테이너 CPU 요청과 동일)

AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

권한 있는 컨테이너

배포가 권한 있는 모드에서 구성되었는지 확인합니다. 이 기준은 해당 Pod 보안 컨텍스트에서 권한 있는 필드의 값만 확인합니다.

권한이 있는 컨테이너

부울: 해당 PodSecurityContextprivileged 필드 값이 true 로 설정된 경우 true

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

루트 파일 시스템 쓰기 기능

배포가 readOnlyFilesystem 모드에서 구성되었는지 확인합니다.

읽기 전용 루트 파일 시스템

부울: 해당 PodSecurityContextreadOnlyRootFilesystem 필드 값이 true 로 설정된 경우 true

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

seccomp 프로필 유형

배포에 정의된 seccomp 프로필의 유형입니다. seccomp 옵션이 Pod 및 컨테이너 수준에서 모두 제공되는 경우 컨테이너 옵션은 Pod 옵션을 재정의합니다. 보안 컨텍스트 를 참조하십시오.

seccomp 프로필 유형

그 중 하나:

UNCONFINED
RUNTIME_DEFAULT
LOCALHOST

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

권한 에스컬레이션

배포를 통해 컨테이너 프로세스에서 상위 프로세스보다 더 많은 권한을 얻을 수 있는 경우 경고를 제공합니다.

권한 에스컬레이션 허용

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

드롭 기능

컨테이너에서 삭제해야 하는 Linux 기능. 지정된 기능이 삭제되지 않은 경우 경고를 제공합니다. 예를 들어 SYS_ADMIN AND SYS_BOOT 를 사용하여 구성하고 배포가 이 두 기능 중 하나만 떨어지면 경고가 발생합니다.

드롭 기능

그 중 하나:

모든
AUDIT_CONTROL
AUDIT_READ
AUDIT_WRITE
BLOCK_SUSPEND
DAC_OVERRIDE
DAC_READ_SEARCH
FOWNER CRYOSTAT FSETID CRYOSTAT IPC_LOCK IPC_OWNER CRYOSTAT




KILL
LEASE
LINUX_IMMU CRYOSTAT
MAC_ADMIN
MAC_OVERRIDE
MAC_ADMIN
NET_ADMIN
NET_BIND_SERVICE
NET_BROADCAST CRYOSTAT NET_RAW CRYOSTAT SETFCAP CRYOSTAT SETFCAP CRYOSTAT SETUID CRYOSTAT SYS_ADMIN






SYS_BOOT
SYS_CHROOT
SYS_MODULE
SYS_NICE
SYS_PACCT
SYS_PTRACE
SYS_RAWIO
SYS_RESOURCE CRYOSTAT SYS_TIME CRYOSTAT SYS_TTY_CONFIG>-< SYSLOG CRYOSTAT WAKE_ALARM




배포,
런타임 (런타임 기준과 함께 사용되는 경우)

기능 추가

원시 패킷을 보내거나 파일 권한을 재정의하는 기능과 같이 컨테이너에 추가해서는 안 되는 Linux 기능. 지정된 기능이 추가될 때 경고를 제공합니다. 예를 들어 NET_ADMIN 또는 NET_RAW 로 구성된 경우 배포 매니페스트 YAML 파일에 이러한 두 기능 중 하나 이상이 포함된 경우 경고가 발생합니다.

기능 추가

AUDIT_CONTROL
AUDIT_READ
BLOCK_WRITE
BLOCK_SUSPEND
DAC_OVERRIDE
DAC_READ_SEARCH
FOWNER
FSETID CRYOSTAT IPC_LOCK CRYOSTAT IPC_OWNER CRYOSTAT



KILL
LEASE
LINUX_IMMU CRYOSTAT
MAC_ADMIN
MAC_OVERRIDE
MAC_ADMIN
NET_ADMIN
NET_BIND_SERVICE
NET_BROADCAST CRYOSTAT NET_RAW CRYOSTAT SETFCAP CRYOSTAT SETFCAP CRYOSTAT SETUID CRYOSTAT SYS_ADMIN






SYS_BOOT
SYS_CHROOT
SYS_MODULE
SYS_PACCT
SYS_PTRACE
SYS_RAWIO
SYS_RESOURCE
SYS_TIME
SYS_TTY_CONFIG CRYOSTAT SYSLOG WAKE_ALARM


또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

컨테이너 이름

컨테이너의 이름입니다.

컨테이너 이름

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

AppArmor 프로필

컨테이너에 사용되는 Application Armor("AppArmor") 프로필입니다.

AppArmor 프로필

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

활성 프로브

컨테이너에서 활성 프로브를 정의하는지 여부입니다.

활성 프로브

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

준비 프로브

컨테이너에서 준비 상태 프로브를 정의하는지 여부입니다.

준비 프로브

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 배포 메타데이터

허용되지 않는 주석

지정된 환경의 Kubernetes 리소스에 존재할 수 없는 주석입니다.

허용되지 않는 주석

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

필수 라벨

Kubernetes에 필수 라벨이 있는지 확인합니다.

필수 라벨

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

필수 주석

Kubernetes에 필요한 주석이 있는지 확인합니다.

필수 주석

key=value

값은 선택 사항입니다.

값이 없는 경우 "key=" 형식이어야 합니다.

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

런타임 클래스

배포의 RuntimeClass 입니다.

런타임 클래스

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 네트워크

컨테이너가 별도의 네트워크 스택 내에 배치되지 않았음을 나타내는 HostNetwork 가 활성화되어 있는지 확인합니다(예: 컨테이너의 네트워킹이 컨테이너화되지 않음). 이는 컨테이너에 호스트의 네트워크 인터페이스에 대한 전체 액세스 권한이 있음을 의미합니다.

호스트 네트워크

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 PID

컨테이너와 호스트 간에 PID(프로세스 ID) 네임스페이스가 격리되었는지 확인합니다. 이를 통해 다른 PID 네임스페이스의 프로세스에 동일한 PID가 있을 수 있습니다.

호스트 PID

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 IPC

호스트에서 이름이 지정된 공유 메모리 세그먼트, 세마포어 및 메시지 큐를 분리하는 IPC(POSIX/SysV IPC) 네임스페이스가 컨테이너와 공유되는지 확인합니다.

호스트 IPC

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

네임스페이스

배포가 속한 네임스페이스의 이름입니다.

네임스페이스

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

replicas

배포 복제본 수입니다. oc scale 을 사용하여 배포 복제본을 0에서 숫자로 확장하면 배포가 정책을 위반하는 경우 승인 컨트롤러에서 이 작업을 차단합니다.

replicas

<, >, Cryostat, >= 또는 아무것도 (이를 의미하는 것과 같습니다)
Cryostat-단지및진단-지정수 
10진수 (선택적인 소수 값이 있는 숫자)

예:
>=5 또는
9.5

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 스토리지

볼륨 이름

스토리지의 이름입니다.

볼륨 이름

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

볼륨 소스

볼륨이 프로비저닝되는 폼을 나타냅니다. 예를 들면 persistentVolumeClaim 또는 hostPath 입니다.

볼륨 소스

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

볼륨 대상

볼륨이 마운트된 경로입니다.

볼륨 대상

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

볼륨 유형

볼륨 유형입니다.

볼륨 유형

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

마운트된 볼륨 writability

쓰기 가능으로 마운트된 볼륨입니다.

쓰기 가능한 볼륨

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

Mount Propagation

컨테이너가 양방향, 호스트로컨테이너로의 호스트 또는 None 모드에서 볼륨을 마운트하는지 확인합니다.

Mount Propagation

그 중 하나:

NONE
HOSTTOCONTAINER
양방향

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

호스트 마운트 writability

리소스에서 쓰기 권한이 있는 호스트의 경로를 마운트했습니다.

쓰기 가능한 호스트 마운트

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 네트워킹

프로토콜

노출된 포트에서 사용하는 TCP 또는 UDP와 같은 프로토콜입니다.

노출된 포트 프로토콜

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

포트

배포로 노출된 포트 번호입니다.

노출된 포트

<, >, Cryostat, >= 또는 아무것도(즉, 동일한 값)
Cryostat- Cryostatand Cryostat- Cryostat 
정수입니다.

예:
>=1024 또는
22

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

노출된 노드 포트

배포에 의해 외부에 노출되는 포트 번호입니다.

노출된 노드 포트

(종료된 포트와 동일합니다.)

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

포트 노출

서비스의 노출 방법(예: 로드 밸런서 또는 노드 포트)

포트 노출 방법

그 중 하나:

설정되지 않음
외부
노드
호스트
내부
경로

NOT,
또는

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

예기치 않은 네트워크 흐름 감지

감지된 네트워크 트래픽이 배포에 대한 네트워크 기준의 일부인지 확인합니다.

예기치 않은 네트워크 흐름 감지

부울

런타임 전용 - 네트워크

인그레스 네트워크 정책

ingress Kubernetes 네트워크 정책이 있는지 확인합니다.

Ingress 네트워크 정책

부울

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

송신 네트워크 정책

송신 Kubernetes 네트워크 정책이 있는지 확인합니다.

Egress 네트워크 정책 보유

부울

regex,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: 프로세스 활동

프로세스 이름

배포에서 실행된 프로세스의 이름입니다.

프로세스 이름

문자열

regex,
NOT,
AND, OR

런타임 전용 - 프로세스

프로세스 Ancestor

배포에서 실행되는 프로세스의 상위 프로세스의 이름입니다.

프로세스 Ancestor

문자열

regex,
NOT,
AND, OR

런타임 전용 - 프로세스

프로세스 인수

배포에서 실행되는 프로세스의 명령 인수입니다.

프로세스 인수

문자열

regex,
NOT,
AND, OR

런타임 전용 - 프로세스

프로세스 UID

배포에서 실행되는 프로세스의 UNIX 사용자 ID입니다.

프로세스 UID

정수

NOT,
또는

런타임 전용 - 프로세스

예기치 않은 프로세스 실행

배포의 잠긴 프로세스 기준선에 프로세스 실행이 나열되지 않은 배포를 확인합니다.

예기치 않은 프로세스 실행

부울

런타임 전용 - 프로세스

섹션: Kubernetes 액세스

서비스 계정

서비스 계정의 이름입니다.

서비스 계정

문자열

regex,
NOT,
AND, OR

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

Quarkus 서비스 계정 토큰

배포 구성이 서비스 계정 토큰을 자동으로 마운트하는지 확인합니다.

Quarkus 서비스 계정 토큰

부울

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

최소 RBAC 권한

배포의 Kubernetes 서비스 계정에 Kubernetes RBAC 권한 수준이 = 또는 지정된 수준보다 경우 일치합니다.

최소 RBAC 권한

그 중 하나:

DEFAULT
ELEVATED_IN_NAMESPACE
ELEVATED_CLUSTER_WIDE
CLUSTER_ADMIN

NOT

배포,
런타임 (런타임 기준과 함께 사용되는 경우)

섹션: Kubernetes 이벤트

Kubernetes 작업

Pod Exec 과 같은 Kubernetes 작업의 이름입니다.

Kubernetes 리소스

그 중 하나:

PODS_EXEC
PODS_PORTFORWARD

! 또는 하나만

Runtime only - Kubernetes 이벤트

Kubernetes 사용자 이름

리소스에 액세스한 사용자의 이름입니다.

Kubernetes 사용자 이름

하이픈(-) 및 콜론(:)만으로 영숫자

regex,
not,
! 또는 하나만

Runtime only - Kubernetes 이벤트

Kubernetes 사용자 그룹

리소스에 액세스한 사용자가 속한 그룹의 이름입니다.

Kubernetes 사용자 그룹

하이픈(-) 및 콜론(:)만으로 영숫자

regex,
! 또는 하나만

Runtime only - Kubernetes 이벤트

Kubernetes 리소스 유형

액세스한 Kubernetes 리소스의 유형입니다.

Kubernetes 리소스

그 중 하나:

구성 맵
시크릿
ClusterRoles
ClusterRoleBindings
NetworkPolicies
SecurityContextConstraints
EgressFirewalls

! 또는 하나만

런타임 전용 - 감사 로그

Kubernetes API Verb

GET 또는 POST 와 같이 리소스에 액세스하는 데 사용되는 Kubernetes API 동사입니다.

Kubernetes API Verb

그 중 하나:

생성
삭제
가져오기
패치
업데이트

! 또는 하나만

런타임 전용 - 감사 로그

Kubernetes 리소스 이름

액세스한 Kubernetes 리소스의 이름입니다.

Kubernetes 리소스 이름

하이픈(-) 및 콜론(:)만으로 영숫자

regex,
not,
! 또는 하나만

런타임 전용 - 감사 로그

사용자 에이전트

사용자가 리소스에 액세스하는 데 사용한 사용자 에이전트입니다. 예를 들면 oc 또는 kubectl 입니다.

사용자 에이전트

문자열

regex,
not,
! 또는 하나만

런타임 전용 - 감사 로그

소스 IP 주소

사용자가 리소스에 액세스한 IP 주소입니다.

소스 IP 주소

IPV4 또는 IPV6 주소

regex,
not,
! 또는 하나만

런타임 전용 - 감사 로그

Impersoned User

서비스 계정 또는 기타 계정으로 가장하는 사용자에 의해 요청이 수행되었는지 확인합니다.

Impersoned User

부울

런타임 전용 - 감사 로그

6.4.3.1. 정책 기준에 대한 논리 조건 추가

드래그 앤 드롭 정책 필드 패널을 사용하여 정책 기준에 대한 논리 조건을 지정할 수 있습니다.

사전 요구 사항

  • Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.45 이상을 사용해야 합니다.

프로세스

  1. 정책 기준 섹션에서 새 조건 추가를 선택하여 새 정책 섹션을 추가합니다.

    • 편집 아이콘을 클릭하여 정책 섹션의 이름을 변경할 수 있습니다.
    • 정책 필드 섹션에는 사용 가능한 정책 기준이 여러 카테고리로 나열됩니다. 이러한 카테고리를 확장하고 축소하여 정책 기준 특성을 볼 수 있습니다.
  2. 속성을 정책 섹션의 범위 내에 있는 정책 필드로 드래그합니다.
  3. 선택한 특성 유형에 따라 선택한 특성에 대한 조건을 구성하는 다양한 옵션이 제공됩니다. 예를 들면 다음과 같습니다.

    • 부울 값이 읽기 전용 루트 파일 시스템인 속성을 선택하면 READ- ONLY 및 WRI Cryostat 옵션이 표시됩니다.
    • 복합 값 Environment 변수 를 사용하여 특성을 선택하는 경우 Key, Value 및 Value From 필드에 대한 값을 입력하는 옵션과 사용 가능한 옵션에 대한 더 많은 값을 추가하는 아이콘이 표시됩니다.

      1. 속성에 대해 여러 값을 결합하려면 추가 아이콘을 클릭합니다.
      2. 정책 섹션에 논리 연산자 AND 또는 OR 목록을 클릭하여 AND 및 OR 연산자 간에 전환할 수도 있습니다. 운영자 간 집계는 policy 섹션 내에서만 작동하며 두 개의 다른 정책 섹션 사이는 작동하지 않습니다.
  4. 이러한 단계를 반복하여 둘 이상의 ANDOR 조건을 지정할 수 있습니다. 추가된 속성에 대한 조건을 구성한 후 Next 를 클릭하여 정책 생성을 계속합니다.

6.5. 보안 정책 공유

Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.44부터 다른 중앙 인스턴스 간에 보안 정책을 공유하고 정책을 가져올 수 있습니다. 이는 모든 클러스터에 대해 동일한 표준을 적용하는 데 도움이 됩니다. 정책을 공유하려면 JSON 파일로 내보낸 다음 다른 중앙 인스턴스로 다시 가져옵니다.

참고

현재 RHACS 포털을 사용하여 여러 보안 정책을 한 번에 내보낼 수 없습니다. 그러나 API를 사용하여 여러 보안 정책을 내보낼 수 있습니다. RHACS 포털에서 HelpAPI 참조로 이동하여 API 참조를 확인합니다.

6.5.1. 보안 정책 내보내기

정책을 내보낼 때 모든 정책 내용이 포함되며 클러스터 범위, 클러스터 제외 및 모든 구성된 알림도 포함됩니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.
  2. 정책 페이지에서 편집할 정책을 선택합니다.
  3. 작업JSON으로 내보내기 정책을 선택합니다.

6.5.2. 보안 정책 가져오기

RHACS 포털의 시스템 정책 보기에서 보안 정책을 가져올 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성정책 관리로 이동합니다.
  2. 정책 가져오기 를 클릭합니다.
  3. Import policy JSON 대화 상자에서 업로드 를 클릭하고 업로드할 JSON 파일을 선택합니다.
  4. 가져오기 시작을 클릭합니다.

RHACS의 각 보안 정책에는 고유한 ID(UID)와 고유한 이름이 있습니다. 정책을 가져올 때 RHACS는 업로드된 정책을 다음과 같이 처리합니다.

  • 가져온 정책 UID 및 이름이 기존 정책과 일치하지 않으면 RHACS에서 새 정책을 생성합니다.
  • 가져온 정책에 기존 정책과 UID가 동일하지만 다른 이름이 있는 경우 다음 중 하나를 수행할 수 있습니다.

    • 두 정책을 모두 유지하십시오. RHACS는 가져온 정책을 새 UID로 저장합니다.
    • 기존 정책을 가져온 정책으로 바꿉니다.
  • 가져온 정책의 이름이 기존 정책과 동일하지만 다른 UID가 있는 경우 다음 중 하나를 수행할 수 있습니다.

    • 가져온 정책에 대한 새 이름을 제공하여 두 정책을 모두 유지합니다.
    • 기존 정책을 가져온 정책으로 바꿉니다.
  • 가져온 정책에 기존 정책과 동일한 이름과 UID가 있는 경우 Red Hat Advanced Cluster Security for Kubernetes는 정책 기준이 기존 정책과 일치하는지 확인합니다. 정책 기준이 일치하면 RHACS는 기존 정책을 유지하고 성공 메시지를 표시합니다. 정책 기준이 일치하지 않으면 다음 중 하나를 수행할 수 있습니다.

    • 가져온 정책에 대한 새 이름을 제공하여 두 정책을 모두 유지합니다.
    • 기존 정책을 가져온 정책으로 바꿉니다.
중요
  • 동일한 중앙 인스턴스로 가져오는 경우 RHACS는 내보낸 모든 필드를 사용합니다.
  • 다른 중앙 인스턴스로 가져오는 경우 RHACS는 클러스터 범위, 클러스터 제외 및 알림과 같은 특정 필드를 생략합니다. RHACS는 이러한 생략된 필드를 메시지에 보여줍니다. 이러한 필드는 설치마다 다르며 하나의 중앙 인스턴스에서 다른 인스턴스로 마이그레이션할 수 없습니다.

7장. 기본 보안 정책

Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책은 보안 문제를 식별하고 해당 환경의 보안에 대한 모범 사례를 제공할 수 있는 광범위한 범위를 제공합니다. 이러한 정책을 구성하면 해당 환경의 위험이 높은 서비스 배포를 자동으로 방지하고 런타임 보안 사고에 대응할 수 있습니다.

참고

Red Hat Advanced Cluster Security for Kubernetes 정책의 심각도 수준은 Red Hat 제품 보안에서 할당한 심각도 수준과 다릅니다.

Red Hat Advanced Cluster Security for Kubernetes 정책 심각도 수준은 심각, 높음, 중간 및 낮음입니다. Red Hat 제품 보안 등급은 심각, 중요, 보통 및 낮음의 심각도 수준입니다.

정책의 심각도 수준과 Red Hat 제품 보안 심각도 수준이 상호 작용할 수 있지만 이를 구분하는 것이 중요합니다. Red Hat 제품 보안 심각도 수준에 대한 자세한 내용은 심각도 등급을 참조하십시오.

7.1. 심각한 심각도 보안 정책

다음 표에는 심각도가 심각한 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 7.1. 심각한 심각도 보안 정책
라이프 사이클 단계이름설명상태

빌드 또는 배포

Apache Struts: CVE-2017-5638

배포에 CVE-2017-5638 Apache Struts 취약점이 포함된 이미지가 있는 경우 경고입니다.

활성화됨

빌드 또는 배포

Log4Shell: log4j 원격 코드 실행 취약점

배포에 CVE-2021-44228 및 CVE-2021-45046 Log4Shell 취약점이 포함된 이미지가 포함된 경우 경고입니다. 취약점은 버전 2.12.2를 제외하고 2.0-beta9 - 2.15.0 버전의 Apache Log4j Java 로깅 라이브러리에 있습니다.

활성화됨

빌드 또는 배포

빠른 재설정: HTTP/2 프로토콜의 서비스 취약점 거부

HTTP/2 서버의 서비스 거부(DoS) 취약점으로 인한 구성 요소가 포함된 이미지를 사용한 배포에 대한 경고입니다. HTTP/2에서 멀티플렉싱 스트림을 처리하는 데 문제가 있습니다. 클라이언트는 요청을 신속하게 생성하고 즉시 재설정할 수 있으므로 서버 측 제한에 도달하지 않고 서버에 대한 추가 작업이 생성되어 서비스 거부 공격을 방지할 수 있습니다.

활성화됨

빌드 또는 배포

Spring4Shell (Spring Framework 원격 코드 실행) 및 Spring Cloud Function 취약점

배포에 Spring Cryostat에 영향을 미치는 CVE-2022-22965 취약점과 Spring Cloud에 영향을 미치는 CVE-2022-22963 취약점을 포함하는 이미지가 포함된 경우 경고입니다. 버전 3.16, 3.2.2 및 이전 버전의 Spring Cloud에는 결함이 포함되어 있습니다. 5.3.0 - 5.3.17 버전, 5.2.0 - 5.2.19 버전 및 지원되지 않는 이전 버전의 Spring Framework에 결함이 있습니다.

활성화됨

런타임

권한이 있는 컨테이너에서 iptables 실행

권한이 있는 Pod가 iptables를 실행할 때 경고입니다.

활성화됨

7.2. 심각도가 높은 보안 정책

다음 표에는 심각도가 높은 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 7.2. 심각도가 높은 보안 정책
라이프 사이클 단계이름설명상태

빌드 또는 배포

수정 가능한 CVSS (Common Vulnerability Scoring System) >= 7

수정 가능한 취약점을 사용하여 배포하는 경우 경고에는 최소 7개의 CVSS가 있습니다. 그러나 Red Hat은 CVSS 점수 대신 CVE(Common Vulnerabilities and Exposures) 심각도를 사용하여 정책을 생성하는 것이 좋습니다.

비활성화됨

빌드 또는 배포

수정 가능한 심각도는 최소한 중요

수정 가능한 취약점이 있는 배포의 경우 심각도 등급이 최소 중요로 평가되는 경우 경고입니다.

활성화됨

빌드 또는 배포

이미지에서 보안 쉘(ssh) 포트 노출

배포에서 SSH 액세스를 위해 일반적으로 예약되는 포트 22를 노출할 때 경고입니다.

활성화됨

배포

긴급 배포 주석

배포에서 긴급 주석을 사용할 때 경고(예: "admission.stackrox.io/break-glass":"ticket-1234" to circumvent StackRox Admission Controller check).

활성화됨

배포

시크릿이 포함된 환경 변수

배포에 'SECRET'이 포함된 환경 변수가 있는 경우 경고입니다.

활성화됨

배포

수정 가능한 CVSS >= 6 및 권한

배포가 6개 이상의 CVSS가 있는 수정 가능한 취약점을 사용하여 권한 있는 모드에서 실행되는 경우 경고입니다. 그러나 CVSS 점수 대신 CVE 심각도를 사용하여 정책을 생성하는 것이 좋습니다.

버전 3.72.0 이상에서 기본적으로 비활성화되어 있습니다.

배포

중요 및 심각한 수정 가능한 CVE가 있는 권한 있는 컨테이너

권한 있는 모드에서 실행되는 컨테이너에 중요하거나 중요한 수정 가능한 취약점이 있는 경우 경고입니다.

활성화됨

배포

환경 변수로 마운트된 시크릿

배포에 환경 변수로 마운트된 Kubernetes 시크릿이 있는 경우 경고입니다.

비활성화됨

배포

Secure Shell(ssh) 포트 노출

배포에서 SSH 액세스를 위해 일반적으로 예약되는 포트 22를 노출할 때 경고입니다.

활성화됨

런타임

Cryptocurrency Cryostat 프로세스 실행

crypto-currency test 프로세스를 생성합니다.

활성화됨

런타임

iptables 실행

누군가가 컨테이너에서 네트워크 상태를 관리하는 더 이상 사용되지 않는 방법인 iptables를 실행하는 시기를 감지합니다.

활성화됨

런타임

Kubernetes 작업: Pod로 실행

Kubernetes API가 컨테이너에서 명령을 실행하라는 요청을 수신할 때 경고입니다.

활성화됨

런타임

Linux 그룹 추가 실행

사용자가 addgroup 또는 groupadd 바이너리를 실행하여 Linux 그룹을 추가할 시기를 감지합니다.

활성화됨

런타임

Linux 사용자 추가 실행

사용자가 useradd 또는 adduser 바이너리를 실행하여 Linux 사용자를 추가할 시기를 감지합니다.

활성화됨

런타임

로그인 Binaries

누군가가 로그인하려고 할 때를 나타냅니다.

비활성화됨

런타임

네트워크 관리 실행

누군가가 네트워크 구성 및 관리를 조작할 수 있는 바이너리 파일을 실행하는 시기를 감지합니다.

활성화됨

런타임

nmap 실행

실행 시간 동안 컨테이너에서 nmap 프로세스를 시작할 때 발생합니다.

활성화됨

런타임

OpenShift: Kubeadmin 시크릿 액세스

다른 사용자가 kubeadmin 시크릿에 액세스할 때 경고합니다.

활성화됨

런타임

암호 Binaries

다른 사용자가 암호를 변경하려고 할 때를 나타냅니다.

비활성화됨

런타임

클러스터 Kubelet 끝점 프로세스 대상 지정

healthz, kubelet API 또는 힙스터 끝점의 오용을 탐지합니다.

활성화됨

런타임

클러스터 Kubernetes Docker Stats Endpoint를 대상으로 하는 프로세스

Kubernetes docker 통계 끝점의 오용을 감지합니다.

활성화됨

런타임

Kubernetes 서비스 끝점을 대상으로 하는 프로세스

Kubernetes 서비스 API 끝점의 오용을 감지합니다.

활성화됨

런타임

UID가 0인 프로세스

배포에 UID 0으로 실행되는 프로세스가 포함된 경우 경고입니다.

비활성화됨

런타임

SSH(Secure Shell Server) 실행

SSH 데몬을 실행하는 컨테이너를 감지합니다.

활성화됨

런타임

Setuid 프로세스

사용자가 에스컬레이션된 권한으로 특정 프로그램을 실행할 수 있는 setuid 바이너리 파일을 사용합니다.

비활성화됨

런타임

shadow 파일 수정

누군가가 섀도우 파일을 수정하려고 할 때를 나타냅니다.

비활성화됨

런타임

Java 애플리케이션에서 제공하는 쉘

bash, csh, sh 또는 zsh와 같은 쉘이 Java 애플리케이션의 하위 프로세스로 실행되는 시기를 감지합니다.

활성화됨

런타임

무단 네트워크 흐름

"항상 위반" 설정의 기준을 벗어나는 모든 네트워크 흐름에 대한 위반을 생성합니다.

활성화됨

런타임

승인되지 않은 실행

Kubernetes 배포의 컨테이너 사양에 대해 잠긴 프로세스 기준에서 명시적으로 허용하지 않는 모든 프로세스 실행에 대한 위반을 생성합니다.

활성화됨

7.3. 중간 심각도 보안 정책

다음 표에는 심각도가 중간인 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 7.3. 중간 심각도 보안 정책
라이프 사이클 단계이름설명상태

Build

Docker CIS 4.4: 보안 패치를 포함하도록 이미지가 스캔되고 다시 빌드되었는지 확인

보안 패치를 포함하도록 이미지를 스캔하고 다시 빌드할 때 경고입니다. 이미지를 자주 스캔하여 취약점을 찾고, 보안 패치를 포함하도록 이미지를 다시 빌드한 다음 이미지의 컨테이너를 인스턴스화하는 것이 중요합니다.

비활성화됨

배포

30일 스캔 기간

배포가 30일 이내에 검사되지 않은 경우 경고입니다.

활성화됨

배포

CAP_SYS_ADMIN 기능 추가

배포에 CAP_SYS_ADMIN으로 에스컬레이션되는 컨테이너가 포함된 경우 경고입니다.

활성화됨

배포

읽기-쓰기 루트 파일 시스템을 사용하는 컨테이너

배포에 읽기-쓰기 루트 파일 시스템이 있는 컨테이너가 포함된 경우 경고입니다.

비활성화됨

배포

권한 에스컬레이션이 허용되는 컨테이너

의도하지 않은 권한으로 컨테이너가 실행 중인 경우 경고하여 보안 위험이 발생합니다. 이러한 상황은 상위 프로세스보다 많은 권한이 있는 컨테이너 프로세스에서 컨테이너를 의도하지 않은 권한으로 실행할 수 있는 경우에 발생할 수 있습니다.

활성화됨

배포

배포에는 하나 이상의 Ingress 네트워크 정책이 있어야 합니다.

배포에 Ingress 네트워크 정책이 누락된 경우 경고입니다.

비활성화됨

배포

외부에 노출된 엔드포인트를 사용한 배포

배포에 모든 메서드를 통해 외부적으로 노출되는 서비스가 있는지 감지합니다. 클러스터 외부에서 노출된 서비스를 사용하는 배포는 클러스터 외부에서 연결할 수 있으므로 시도된 침입 위험이 더 높습니다. 이 정책은 클러스터 외부의 서비스 노출이 필요한지 확인할 수 있도록 경고를 제공합니다. 서비스가 클러스터 내부 통신에만 필요한 경우 서비스 유형 ClusterIP를 사용합니다.

비활성화됨

배포

Docker CIS 5.1: 해당하는 경우 AppArmor 프로필이 활성화되어 있는지 확인합니다.

AppArmor를 사용하여 AppArmor 프로필이라고 하는 보안 정책을 적용하여 Linux 운영 체제 및 애플리케이션을 보호합니다. AppArmor는 Debian 및 Ubuntu와 같은 일부 Linux 배포판에서 사용할 수 있는 Linux 애플리케이션 보안 시스템입니다.

활성화됨

배포

Docker CIS 5.15: 호스트의 프로세스 네임스페이스가 공유되지 않도록 합니다.

컨테이너와 호스트 간의 프로세스 수준 격리를 생성합니다. PID(프로세스 ID) 네임스페이스는 프로세스 ID 공간을 격리하므로 다른 PID 네임스페이스의 프로세스에 동일한 PID가 있을 수 있습니다.

활성화됨

배포

Docker CIS 5.16: 호스트의 IPC 네임스페이스가 공유되지 않도록 합니다.

호스트의 IPC 네임스페이스가 컨테이너와 공유될 때 경고입니다. IPC(POSIX/SysV IPC) 네임스페이스는 이름이 지정된 공유 메모리 세그먼트, 세마포어 및 메시지 큐를 구분합니다.

활성화됨

배포

Docker CIS 5.19: 마운트 전파 모드가 활성화되지 않았는지 확인

마운트 전파 모드가 활성화된 경우 경고입니다. 마운트 전파 모드가 활성화되면 컨테이너 볼륨을 양방향, 컨테이너로 호스트, None 모드로 마운트할 수 있습니다. 명시적으로 필요한 경우가 아니면 양방향 마운트 전파 모드를 사용하지 마십시오.

활성화됨

배포

Docker CIS 5.21: 기본 seccomp 프로필이 비활성화되지 않았는지 확인

seccomp 프로필이 비활성화된 경우 경고입니다. seccomp 프로필은 허용 목록을 사용하여 공통 시스템 호출을 허용하고 다른 모든 호출을 차단합니다.

비활성화됨

배포

Docker CIS 5.7: 권한 있는 포트가 컨테이너 내에 매핑되지 않았는지 확인

권한 있는 포트가 컨테이너 내에 매핑되면 경고입니다. 1024보다 낮은 TCP/IP 포트 번호는 권한이 있는 포트입니다. 일반 사용자와 프로세스는 보안상의 이유로 이 포트를 사용할 수 없지만 컨테이너는 포트를 권한 있는 포트에 매핑할 수 있습니다.

활성화됨

배포

Docker CIS 5.9 및 5.20: 호스트의 네트워크 네임스페이스가 공유되지 않았는지 확인

호스트의 네트워크 네임스페이스를 공유할 때 경고합니다. HostNetwork가 활성화되면 컨테이너가 별도의 네트워크 스택 내에 배치되지 않으며 컨테이너의 네트워킹은 컨테이너화되지 않습니다. 결과적으로 컨테이너는 호스트의 네트워크 인터페이스에 대한 전체 액세스 권한을 가지며 공유 UTS 네임스페이스가 활성화됩니다. UTS 네임스페이스는 호스트 이름과 NIS 도메인 이름을 격리하고 해당 네임스페이스에서 실행 중인 프로세스에 표시되는 호스트 이름과 도메인을 설정합니다. 컨테이너 내에서 실행되는 프로세스는 일반적으로 호스트 이름 또는 도메인 이름을 알 필요가 없으므로 UTS 네임스페이스를 호스트와 공유해서는 안 됩니다.

활성화됨

배포

검사가 없는 이미지

배포에 검사되지 않은 이미지가 포함된 경우 경고입니다.

비활성화됨

런타임

Kubernetes 작업: Pod로 전달 포트

Kubernetes API가 포트 전달 요청을 수신할 때 경고입니다.

활성화됨

배포

컨테이너 런타임 소켓 마운트

배포에 컨테이너 런타임 소켓에 볼륨 마운트가 있는 경우 경고입니다.

활성화됨

배포

민감한 호스트 디렉터리 마운트

배포에서 민감한 호스트 디렉터리를 마운트할 때 경고합니다.

활성화됨

배포

지정된 리소스 요청 또는 제한 없음

배포에 리소스 요청 및 제한이 없는 컨테이너가 포함된 경우 경고입니다.

활성화됨

배포

Pod 서비스 계정 토큰이 자동으로 마운트됨

기본 서비스 계정 토큰 마운트를 최소화하여 애플리케이션이 Kubernetes API와 상호 작용해야 하는 Pod로만 Pod 기본 서비스 계정 토큰이 손상되지 않도록 보호합니다.

활성화됨

배포

권한이 있는 컨테이너

배포에 권한 있는 모드에서 실행되는 컨테이너가 포함된 경우 경고입니다.

활성화됨

런타임

crontab 실행

crontab 스케줄링된 작업 편집기 사용을 감지합니다.

활성화됨

런타임

Netcat Execution Detected

netcat이 컨테이너에서 실행되는 시기를 감지합니다.

활성화됨

런타임

OpenShift: Advanced Cluster Security Central Admin Secret Accessed

Red Hat Advanced Cluster Security Central 시크릿에 액세스할 때 경고.

활성화됨

런타임

OpenShift: 개인 사용자가 액세스하는 Kubernetes 시크릿

누군가가 사용자를 가장하여 클러스터의 시크릿에 액세스할 때 경고합니다.

활성화됨

런타임

원격 파일 복사 바이너리 실행

배포가 원격 파일 복사 툴을 실행할 때 경고합니다.

활성화됨

7.4. 심각도가 낮은 보안 정책

다음 표에는 심각도가 낮은 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 7.4. 심각도가 낮은 보안 정책
라이프 사이클 단계이름설명상태

빌드 또는 배포

90일 이미지 기간

배포가 90일 후에 업데이트되지 않은 경우 경고입니다.

활성화됨

빌드 또는 배포

COPY 대신 ADD 명령 사용

배포가 ADD 명령을 사용하는 경우 경고입니다.

비활성화됨

빌드 또는 배포

이미지의 Alpine Linux Package Manager(apk)

배포에 Alpine Linux 패키지 관리자(apk)가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

이미지의 curl

배포에 curl이 포함된 경우 경고입니다.

비활성화됨

빌드 또는 배포

Docker CIS 4.1: 컨테이너의 사용자가 생성됨 확인

컨테이너가 루트가 아닌 사용자로 실행 중인지 확인합니다.

활성화됨

빌드 또는 배포

Docker CIS 4.7: 업데이트 설명에 대한 경고

업데이트 지침이 Dockerfile에서 단독으로 사용되지 않도록 합니다.

활성화됨

빌드 또는 배포

CMD에 지정된 비보안

배포에서 명령에서 '비보안'을 사용하는 경우 경고입니다.

활성화됨

빌드 또는 배포

latest 태그

배포에 'latest' 태그를 사용하는 이미지가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

Red Hat Package Manager in Image

배포에 Red Hat, Fedora 또는 CentOS 패키지 관리 시스템의 구성 요소가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

필수 이미지 레이블

배포에 지정된 레이블이 없는 이미지가 포함된 경우 경고입니다.

비활성화됨

빌드 또는 배포

Ubuntu Package Manager 실행

Ubuntu 패키지 관리 시스템의 사용을 감지합니다.

활성화됨

빌드 또는 배포

이미지의 Ubuntu 패키지 관리자

배포에 이미지의 Debian 또는 Ubuntu 패키지 관리 시스템의 구성 요소가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

이미지의 wget

배포에 wget이 포함된 경우 경고입니다.

비활성화됨

배포

모든 기능 삭제

배포가 모든 기능을 삭제하지 않을 때 경고합니다.

비활성화됨

배포

Orchestrator Secrets Volume의 부적절한 사용

배포에서 'VOLUME /run/secrets'와 함께 Dockerfile을 사용하는 경우 경고.

활성화됨

배포

배포된 Kubernetes 대시보드

Kubernetes 대시보드 서비스가 감지되면 경고입니다.

활성화됨

배포

필수 주석: 이메일

배포에 'email' 주석이 없는 경우 경고입니다.

비활성화됨

배포

필수 주석: 소유자/팀

배포에 'owner' 또는 'team' 주석이 없는 경우 경고입니다.

비활성화됨

배포

필수 레이블: 소유자/팀

배포에 'owner' 또는 'team' 레이블이 없는 경우 경고입니다.

비활성화됨

런타임

Alpine Linux Package Manager 실행

런타임에 Alpine Linux 패키지 관리자(apk)가 실행되는 경우 경고입니다.

활성화됨

런타임

chkconfig 실행

일반적으로 컨테이너에서 사용되지 않는 ckconfig 서비스 관리자의 사용량을 감지합니다.

활성화됨

런타임

컴파일러 툴 실행

소프트웨어를 컴파일하는 바이너리 파일이 런타임에 실행되는 경우 경고입니다.

활성화됨

런타임

Red Hat Package Manager 실행

런타임 시 Red Hat, Fedora 또는 CentOS 패키지 관리자 프로그램이 실행되는 경우 경고입니다.

활성화됨

런타임

쉘 관리

쉘을 추가하거나 제거하기 위해 명령이 실행될 때의 경고입니다.

비활성화됨

런타임

systemctl Execution

systemctl 서비스 관리자의 사용을 감지합니다.

활성화됨

런타임

systemd 실행

systemd 서비스 관리자의 사용량을 감지합니다.

활성화됨

8장. 네트워크 정책 관리

Kubernetes 네트워크 정책은 Pod 그룹이 서로 및 기타 네트워크 끝점과 통신할 수 있는 방법에 대한 사양입니다. 이러한 네트워크 정책은 YAML 파일로 구성됩니다. 이러한 파일만으로는 적용된 네트워크 정책이 원하는 네트워크 토폴로지를 달성하는지 여부를 식별하기가 어려운 경우가 많습니다.

RHACS(Red Hat Advanced Cluster Security for Kubernetes)는 오케스트레이터에서 정의된 모든 네트워크 정책을 수집하고 이러한 정책을 보다 쉽게 사용할 수 있는 툴을 제공합니다.

네트워크 정책 적용을 지원하기 위해 RHACS는 다음 툴을 제공합니다.

  • 네트워크 그래프
  • 네트워크 정책 생성기
  • 네트워크 정책 시뮬레이터
  • 빌드 시간 네트워크 정책 생성기

8.1. 네트워크 그래프

8.1.1. 네트워크 그래프 정보

네트워크 그래프는 사용자 환경의 배포, 네트워크 흐름 및 네트워크 정책에 대한 고급 및 자세한 정보를 제공합니다.

RHACS는 보안된 각 클러스터의 모든 네트워크 정책을 처리하여 서로 연결할 수 있고 외부 네트워크에 연결할 수 있는 배포를 보여줍니다. 또한 실행 중인 배포를 모니터링하고 해당 배포 간의 트래픽을 추적합니다. 네트워크 그래프에서 다음 항목을 볼 수 있습니다.

내부 엔티티
이는 RFC 1918 에 정의된 대로 배포와 개인 주소 공간에 속하는 IP 주소 간의 연결을 나타냅니다. 자세한 내용은 "내부 엔티티와 관련된 연결"을 참조하십시오.
외부 엔티티
이는 RFC 1918 에 정의된 대로 개인 주소 공간에 속하지 않는 배포와 IP 주소 간의 연결을 나타냅니다. 자세한 내용은 "네트워크 그래프의 외부 엔티티 및 연결"을 참조하십시오.
네트워크 구성 요소
상단 메뉴에서 네임스페이스( NS 레이블로 표시) 및 배포( D 레이블로 표시됨)를 선택하여 선택한 클러스터의 그래프( CL 레이블로 표시됨)에 표시할 수 있습니다. 드롭다운 목록을 사용하고 일반적인 취약점 및 노출(CVEs), 라벨 및 이미지와 같이 필터링할 기준을 선택하여 배포를 추가로 필터링할 수 있습니다.
네트워크 흐름
그래프에 대해 다음 흐름 중 하나를 선택할 수 있습니다.
활성 트래픽
이 기본 옵션을 선택하면 선택한 네임스페이스 또는 특정 배포에 중점을 둔 관찰된 트래픽이 표시됩니다. 정보를 표시할 기간을 선택할 수 있습니다.
비활성 흐름
이 옵션을 선택하면 네트워크 정책에서 허용하는 잠재적 흐름이 표시되어 더 엄격한 격리를 달성하는 데 필요한 누락된 네트워크 정책을 식별할 수 있습니다. 정보를 표시할 기간을 선택할 수 있습니다.
네트워크 정책
선택한 구성 요소에 대한 기존 정책을 보거나 정책이 없는 구성 요소를 볼 수 있습니다. 네트워크 그래프 보기에서 네트워크 정책을 시뮬레이션할 수도 있습니다. 자세한 내용은 "네트워크 그래프에서 네트워크 정책 시뮬레이션"을 참조하십시오.
8.1.1.2. 네트워크 그래프의 외부 엔티티 및 연결

네트워크 그래프 보기는 관리 클러스터와 외부 소스 간의 네트워크 연결을 보여줍니다. 또한 RHACS는 Google Cloud, AWS, Microsoft Azure, Oracle Cloud 및 Cryostat와 같은 공개 CIDR(Classless Inter-Domain Routing) 주소 블록을 자동으로 검색하고 강조 표시합니다. 이 정보를 사용하면 활성 외부 연결로 배포를 식별하고 네트워크 외부에서 무단 연결을 만들고 있는지 확인할 수 있습니다.

기본적으로 외부 연결은 네트워크 그래프의 공통 외부 엔티티 아이콘 및 다른 CIDR 주소 블록을 가리킵니다. 그러나 CIDR 블록 관리를 클릭하고 자동 검색 CIDR 블록을 선택 해제하여 자동 검색 CIDR 블록을 표시하지 않도록 선택할 수 있습니다.

RHACS에는 다음 클라우드 공급자를 위한 IP 범위가 포함되어 있습니다.

  • Google Cloud
  • AWS
  • Microsoft Azure
  • Oracle Cloud
  • Cryostat

RHACS는 7일마다 클라우드 공급자의 IP 범위를 가져와서 업데이트하고 CIDR 블록을 매일 업데이트합니다. 오프라인 모드를 사용하는 경우 새 지원 패키지를 설치하여 이러한 범위를 업데이트할 수 있습니다.

다음 이미지는 네트워크 그래프의 예를 제공합니다. 이 예에서 사용자가 선택한 옵션에 따라 그래프는 선택한 네임스페이스의 배포를 보여줍니다. 배포와 같은 항목을 클릭할 때까지 트래픽 흐름이 표시되지 않습니다. 그래프는 빨간색 배지를 사용하여 정책이 누락되어 모든 네트워크 트래픽을 허용하는 배포를 나타냅니다.

8.1.1.3. 내부 엔티티와 관련된 연결

네트워크 그래프는 알려진 배포 또는 CIDR 블록에 속하지 않는 엔터티에 대한 활성 연결이 있는 배포를 식별하는 데 유용합니다. 이러한 연결 중 일부는 클러스터 외부에 도달하지 않으며 클러스터의 개인 네트워크 내에서 수행됩니다. 네트워크 그래프는 내부 엔티티에 대한 연결 또는 내부 엔터티 로 이를 나타냅니다.

내부 엔터티와의 연결은 RFC 1918 에 정의된 대로 개인 주소 공간에 속하는 배포와 IP 주소 간의 연결을 나타냅니다. 경우에 따라 Sensor가 연결에 관련된 배포 중 하나 또는 두 개를 식별할 수 없습니다. 이 경우 시스템은 IP 주소를 분석하고 연결이 내부인지 외부인지 결정합니다.

다음 시나리오에서는 내부 엔티티와 관련된 연결로 분류될 수 있습니다.

  • IP 주소 변경 또는 연결을 시작하는 동안(서버) 연결을 수락하는 배포 삭제(클라이언트)는 여전히 연결을 시도합니다.
  • 오케스트레이터 API와 통신하는 배포
  • 네트워킹 CNI 플러그인을 사용하여 통신하는 배포(예: Calico)
  • 센서를 다시 시작하여 IP 주소 매핑이 이전 배포(예: Sensor가 과거 엔티티의 IP 주소 또는 기존 엔티티의 과거 IP 주소를 인식하지 못하는 경우)를 재설정합니다.
  • 오케스트레이터에 의해 관리되지 않는 엔티티를 포함하는 연결(경우에 따라 클러스터 외부에서볼 수 있지만 RFC 1918에 정의된 대로 개인 주소 공간의 IP 주소를 사용함)

내부 엔티티는 다음 그래픽에 표시된 대로 아이콘으로 표시됩니다. 내부 엔터티를 클릭하면 이러한 엔터티 의 흐름이 표시됩니다.

그림 8.4. 내부 엔터티 예

내부 엔티티를 표시하는 네트워크 그래프

8.1.2. 액세스 제어 및 권한

네트워크 그래프를 보려면 사용자에게 네트워크 그래프 뷰어 기본 권한이 설정된 최소한 권한이 있어야 합니다.

네트워크 그래프 뷰어 권한 세트에 다음 권한이 부여됩니다.

  • 배포읽기
  • 네트워크Graph읽기
  • NetworkPolicy읽기

자세한 내용은 "추가 리소스" 섹션의 "시스템 권한 세트"를 참조하십시오.

추가 리소스

8.1.3. 배포 정보 보기

네트워크 그래프는 RHACS가 검색한 배포, 네임스페이스 및 연결에 대한 시각적 맵을 제공합니다. 그래프에서 배포를 클릭하면 다음 세부 정보를 포함하여 배포에 대한 정보를 볼 수 있습니다.

  • 흐름 수, 기존 또는 누락된 네트워크 정책 규칙 및 수신 포트와 같은 네트워크 보안
  • 레이블 및 주석
  • 포트 구성
  • 컨테이너 정보
  • 프로토콜 및 포트 번호를 포함하여 수신 및 송신 연결에 대한 비정상적인 및 기준 흐름
  • 네트워크 정책

프로세스

네임스페이스에서 배포 세부 정보를 보려면 다음을 수행합니다.

  1. RHACS 포털에서 Network Graph 로 이동하여 드롭다운 목록에서 클러스터를 선택합니다.
  2. 네임스페이스 목록을 클릭하고 검색 필드를 사용하여 네임스페이스를 검색하거나 개별 네임스페이스를 선택합니다.
  3. Deployments 목록을 클릭하고 search 필드를 사용하여 배포를 검색하거나 네트워크 그래프에 표시할 개별 배포를 선택합니다.
  4. 네트워크 그래프에서 배포를 클릭하여 정보 패널을 확인합니다.
  5. 세부 정보,흐름,기준선 또는 네트워크 정책 탭을 클릭하여 해당 정보를 확인합니다.

8.1.4. 네트워크 그래프에서 네트워크 정책 보기

네트워크 정책은 Pod 그룹이 서로 및 다른 네트워크 끝점과 통신할 수 있는 방법을 지정합니다. Kubernetes NetworkPolicy 리소스는 라벨을 사용하여 Pod를 선택하고 선택한 Pod에 허용되는 트래픽을 지정하는 규칙을 정의합니다. RHACS는 네트워크 그래프에서 모든 Kubernetes 클러스터, 네임스페이스, 배포 및 Pod에 대한 네트워크 정책 정보를 검색하고 표시합니다.

프로세스

  1. RHACS 포털에서 Network Graph 로 이동하여 드롭다운 목록에서 클러스터를 선택합니다.
  2. 네임스페이스 목록을 클릭하고 개별 네임스페이스를 선택하거나 검색 필드를 사용하여 네임스페이스를 찾습니다.
  3. Deployments 목록을 클릭하고 개별 배포를 선택하거나 검색 필드를 사용하여 배포를 찾습니다.
  4. 네트워크 그래프에서 배포를 클릭하여 정보 패널을 확인합니다.
  5. 세부 정보 탭의 네트워크 보안 섹션에서 다음 정보를 제공하는 네트워크 정책 규칙에 대한 요약 메시지를 볼 수 있습니다.

    • 수신 또는 송신 트래픽을 규제하는 네트워크에 정책이 있는 경우
    • 네트워크가 정책이 누락되어 모든 수신 또는 송신 트래픽을 허용하는 경우
  6. 네트워크 정책에 대한 YAML 파일을 보려면 정책 규칙을 클릭하거나 네트워크 정책 탭을 클릭합니다.

8.1.5. 네트워크 그래프에서 CIDR 블록 구성

사용자 지정 CIDR 블록을 지정하거나 네트워크 그래프의 자동 검색 CIDR 블록 표시를 구성할 수 있습니다.

프로세스

  1. RHACS 포털에서 네트워크 그래프로 이동한 다음 CIDR 블록 관리를 선택합니다. 다음 작업을 수행할 수 있습니다.

    • 자동 검색 CIDR 블록을 전환하여 네트워크 그래프에서 자동 검색되는 CIDR 블록을 숨깁니다.

      참고

      자동 검색 CIDR 블록을 숨기면 네트워크 그래프에서 선택한 클러스터뿐만 아니라 모든 클러스터에 대해 자동 검색 CIDR 블록이 숨겨집니다.

    • 다음 단계를 수행하여 그래프에 사용자 지정 CIDR 블록을 추가합니다.

      1. 필드에 CIDR 이름과 CIDR 주소를 입력합니다. 추가 CIDR 블록을 추가하려면 CIDR 블록 추가를 클릭하고 각 블록에 대한 정보를 입력합니다.
      2. 구성 업데이트를 클릭하여 변경 사항을 저장합니다.

8.2. 네트워크 그래프를 사용하여 네트워크 정책을 생성하고 시뮬레이션

8.2.1. 네트워크 그래프에서 정책 생성 정보

Kubernetes 네트워크 정책은 들어오는 네트워크 트래픽을 수신하는 포드와 발신 트래픽을 보낼 수 있는 포드를 제어합니다. 네트워크 정책을 사용하여 Pod로의 또는 Pod로의 트래픽을 활성화 및 비활성화하면 네트워크 공격 면적을 제한할 수 있습니다.

이러한 네트워크 정책은 YAML 구성 파일입니다. 네트워크 흐름에 대한 통찰력을 얻고 이러한 파일을 수동으로 생성하는 것은 종종 어렵습니다. RHACS를 사용하여 이러한 파일을 생성할 수 있습니다. 네트워크 정책을 자동으로 생성하면 RHACS는 다음 지침을 따릅니다.

  • RHACS는 네임스페이스의 각 배포에 대해 단일 네트워크 정책을 생성합니다. 정책의 Pod 선택기는 배포의 Pod 선택기입니다.

    • 배포에 이미 네트워크 정책이 있는 경우 RHACS는 새 정책을 생성하거나 기존 정책을 삭제하지 않습니다.

      생성된 정책은 트래픽을 기존 배포로만 제한합니다.

    • 나중에 생성하는 배포에는 새 네트워크 정책을 생성하거나 생성하지 않는 한 제한이 없습니다.
    • 새 배포가 네트워크 정책을 사용하여 배포에 문의해야 하는 경우 액세스를 허용하려면 네트워크 정책을 편집해야 할 수 있습니다.
  • 각 정책에는 배포 이름과 동일한 이름이 있으며, stackrox-generated- 접두사가 붙습니다. 예를 들어 생성된 네트워크 정책에서 배포 depABC 의 정책 이름은 stackrox-generated-depABC 입니다. 생성된 모든 정책에도 식별 레이블이 있습니다.
  • RHACS는 다음 조건 중 하나가 충족되는 경우 IP 주소의 트래픽을 허용하는 단일 규칙을 생성합니다.

    • 배포는 선택한 시간 내에 클러스터 외부에서 들어오는 연결이 있습니다.
    • 배포는 노드 포트 또는 로드 밸런서 서비스를 통해 노출됨
  • RHACS는 들어오는 연결이 있는 모든 배포에 대해 하나의 수신 규칙을 생성합니다.

    • 동일한 네임스페이스에 있는 배포의 경우 이 규칙은 다른 배포의 Pod 선택기 레이블을 사용합니다.
    • 다른 네임스페이스의 배포의 경우 이 규칙은 네임스페이스 선택기를 사용합니다. 이를 위해 RHACS는 각 네임스페이스에 namespace.metadata.stackrox.io/name 레이블을 자동으로 추가합니다.
중요

드문 경우지만 독립 실행형 Pod에 라벨이 없는 경우 생성된 정책은 Pod의 전체 네임스페이스에서 또는 해당 Pod의 전체 네임스페이스로의 트래픽을 허용합니다.

8.2.2. 네트워크 그래프에서 네트워크 정책 생성

RHACS를 사용하면 사용자 환경에서 실제 관찰되는 네트워크 통신 흐름을 기반으로 네트워크 정책을 자동으로 생성할 수 있습니다.

네트워크 그래프에서 선택한 클러스터, 네임스페이스 및 배포를 기반으로 정책을 생성할 수 있습니다. 현재 Network Graph 범위에 포함된 배포에 대해 정책이 생성됩니다. 예를 들어 현재 범위에는 전체 클러스터, 클러스터 및 네임스페이스 또는 선택한 네임스페이스에서 개별적으로 선택한 배포가 포함될 수 있습니다. 또한 클러스터, 네임스페이스, 배포 선택과 함께 필터 배포 필드에서 필터 중 하나를 적용하여 범위를 추가로 줄일 수도 있습니다. 예를 들어 특정 CVE의 영향을 받는 특정 클러스터 및 네임스페이스의 배포 범위 범위를 좁힐 수 있습니다. 정책은 기준 검색 기간 중에 관찰되는 트래픽에서 생성됩니다.

  1. RHACS 포털에서 네트워크 그래프로 이동합니다.
  2. 클러스터를 선택한 다음 하나 이상의 네임스페이스를 선택합니다.
  3. 선택 사항: 개별 배포를 선택하여 생성된 정책을 해당 배포로만 제한합니다. 배포 필터 기능을 사용하여 범위를 추가로 좁힐 수도 있습니다.
  4. 네트워크 그래프 헤더에서 네트워크 정책 생성기 를 선택합니다.
  5. 선택 사항: 열리는 정보 패널에서 포트 및 프로토콜 제외 를 선택하여 기준에서 네트워크 정책을 생성할 때 포트/프로토콜 제한을 제거합니다.

    예를 들어 nginx3 배포는 nginx4 에 포트 80을 연결하며 nginx4 의 기준선의 일부로 포함됩니다. 정책이 생성되고 이 확인란이 선택되지 않은 경우 생성된 정책은 nginx3 에서 nginx4 로 허용되는 연결을 포트 80으로 제한합니다. 이 옵션을 선택하여 정책이 생성되면 생성된 정책에서 nginx3 에서 nginx4 로의 연결의 모든 포트를 허용합니다.

  6. 네트워크 정책 생성 및 시뮬레이션을 클릭합니다. RHACS는 선택한 범위에 대한 정책을 생성합니다. 이 범위는 Generate network policy panel 상단에 표시됩니다.

    참고

    범위에서 배포 정보를 클릭하면 포함된 배포 목록이 표시됩니다.

  7. 선택 사항: 생성된 네트워크 정책 구성 YAML 파일을 클립보드에 복사하거나 패널에서 다운로드 아이콘을 클릭하여 다운로드합니다.
  8. 선택 사항: 생성된 네트워크 정책을 기존 네트워크 정책과 비교하려면 비교 를 클릭합니다. 기존 및 생성된 네트워크 정책의 YAML 파일이 side-by-side 보기에 표시됩니다.

    참고

    일부 항목에는 stackrox 또는 acs 와 같이 보호된 특정 네임스페이스에 있는 네임스페이스 또는 기존 Ingress 정책이 있는 네임스페이스와 같이 생성된 정책이 없습니다.

  9. 선택 사항: 작업 메뉴를 클릭하여 다음 작업을 수행합니다.

    • 알림자와 YAML 파일 공유: YAML 파일을 구성한 시스템 알림자(예: Slack, ServiceNow 또는 일반 Webhook를 사용하는 애플리케이션) 중 하나로 보냅니다. 이러한 알림자는 플랫폼 구성 → 통합으로 이동하여 구성됩니다. 자세한 내용은 "추가 리소스" 섹션의 설명서를 참조하십시오.
    • 활성 트래픽에서 규칙을 다시 빌드: 표시되는 생성된 정책을 새로 고칩니다.
    • 이전에 적용한 YAML로 규칙 되돌리기: 시뮬레이션된 정책을 제거하고 마지막 네트워크 정책으로 되돌립니다.

8.2.3. 네트워크 그래프에 생성된 정책 저장

RHACS에서 생성된 네트워크 정책을 다운로드하여 저장할 수 있습니다. Git과 같은 버전 제어 시스템에 정책을 커밋할 수 있도록 이 옵션을 사용하여 정책을 다운로드합니다.

프로세스

  • 네트워크 정책을 생성한 후 네트워크 정책 시뮬레이터 패널에서 YAML 다운로드 아이콘을 클릭합니다.

8.2.4. 네트워크 그래프에서 생성된 정책 테스트

RHACS가 생성하는 네트워크 정책을 다운로드한 후 CLI 또는 자동화된 배포 절차를 사용하여 클러스터에 적용하여 테스트할 수 있습니다. 네트워크 그래프에는 생성된 네트워크 정책을 직접 적용할 수 없습니다.

프로세스

  1. 저장된 YAML 파일을 사용하여 정책을 생성하려면 다음 명령을 실행합니다.

    $ oc create -f "<generated_file>.yml" 1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.
  2. 생성된 정책에서 문제가 발생하면 다음 명령을 실행하여 해당 정책을 제거할 수 있습니다.

    $ oc delete -f "<generated_file>.yml" 1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.
주의

네트워크 정책을 직접 적용하면 실행 중인 애플리케이션에 문제가 발생할 수 있습니다. 프로덕션 워크로드에 적용하기 전에 항상 개발 환경에서 네트워크 정책을 다운로드 및 테스트하거나 클러스터를 테스트하십시오.

8.2.5. 네트워크 그래프에서 이전에 적용된 정책으로 되돌리기

정책을 제거하고 이전에 적용한 정책으로 되돌릴 수 있습니다.

프로세스

  1. RHACS 포털에서 네트워크 그래프로 이동합니다.
  2. 상단 표시줄의 메뉴에서 클러스터 이름을 선택합니다.
  3. 하나 이상의 네임스페이스 및 배포를 선택합니다.
  4. 네트워크 정책 시뮬레이션을 선택합니다.
  5. 활성 YAML 보기를 선택합니다.
  6. Actions 메뉴에서 Revert rules to previously applied YAML 을 선택합니다.

    주의

    네트워크 정책을 직접 적용하면 실행 중인 애플리케이션에 문제가 발생할 수 있습니다. 프로덕션 워크로드에 적용하기 전에 항상 개발 환경에서 네트워크 정책을 다운로드 및 테스트하거나 클러스터를 테스트하십시오.

8.2.6. 네트워크 그래프에서 자동 생성되는 모든 정책 삭제

RHACS를 사용하여 생성한 클러스터에서 자동으로 생성된 모든 정책을 삭제할 수 있습니다.

프로세스

  • 다음 명령을 실행합니다.

    $ oc get ns -o jsonpath='{.items[*].metadata.name}' | \
    xargs -n 1 oc delete networkpolicies -l \
    'network-policy-generator.stackrox.io/generated=true' -n 1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.

8.2.7. 네트워크 그래프에서 네트워크 정책 시뮬레이션

현재 네트워크 정책에서 불필요한 네트워크 통신을 허용할 수 있습니다. 네트워크 정책 생성기를 사용하여 일련의 배포를 위해 수신 트래픽을 계산된 기준선으로 제한하는 네트워크 정책을 생성할 수 있습니다.

참고

네트워크 그래프는 시각화에 생성된 정책을 표시하지 않습니다. 생성된 정책은 수신 트래픽 및 송신 트래픽을 제한하는 정책에만 해당되지 않습니다.

프로세스

  1. RHACS 포털에서 네트워크 그래프로 이동합니다.
  2. 클러스터를 선택한 다음 하나 이상의 네임스페이스를 선택합니다.
  3. 네트워크 그래프 헤더에서 네트워크 정책 생성기 를 선택합니다.
  4. 선택 사항: 시뮬레이션에 사용할 네트워크 정책이 포함된 YAML 파일을 생성하려면 네트워크 정책 생성 및 시뮬레이션을 클릭합니다. 자세한 내용은 "네트워크 그래프에서 네트워크 정책 생성"을 참조하십시오.
  5. 시뮬레이션에 사용하려는 네트워크 정책의 YAML 파일을 업로드합니다. 네트워크 그래프 보기에 제안된 네트워크 정책이 표시되는 내용이 표시됩니다. 다음 단계를 수행합니다.

    1. Upload YAML 을 클릭한 다음 파일을 선택합니다.
    2. Open 을 클릭합니다. 시스템은 업로드된 정책의 처리 상태를 나타내는 메시지를 표시합니다.
  6. 활성 YAML S 탭을 클릭한 다음 드롭다운 목록에서 정책을 선택하여 현재 네트워크 정책에 해당하는 활성 YAML 파일을 볼 수 있습니다. 다음 작업을 수행할 수도 있습니다.

    • 적절한 버튼을 클릭하여 표시된 YAML 파일을 복사하거나 다운로드합니다.
    • Actions 메뉴를 사용하여 활성 트래픽에서 규칙을 다시 빌드하거나 이전에 적용된 YAML로 규칙을 되돌립니다. 자세한 내용은 "네트워크 그래프에서 네트워크 정책 생성"을 참조하십시오.

8.3. 네트워크 그래프의 네트워크 기반 구성 정보

RHACS에서는 네트워크 기본 설정을 사용하여 위험을 최소화할 수 있습니다. 인프라를 안전하게 유지하기 위한 사전 예방적 접근 방식입니다. RHACS는 먼저 기존 네트워크 흐름을 검색하고 기준선을 생성한 다음 이 기준 외부로 네트워크 흐름을 비정상적인 것으로 처리합니다.

RHACS를 설치할 때 기본 네트워크 기준이 없습니다. RHACS는 네트워크 흐름을 검색하므로 기준선을 생성하고 다음 지침에 따라 검색된 모든 네트워크 흐름을 추가합니다.

  • RHACS에서 새로운 네트워크 활동을 검색하면 해당 네트워크 흐름이 네트워크 기준선에 추가됩니다.
  • 네트워크 흐름은 비정상적인 흐름으로 표시되지 않으며 위반을 트리거하지 않습니다.

검색 단계 후 다음 작업이 수행됩니다.

  • RHACS는 네트워크 흐름을 네트워크 기준선에 추가하는 것을 중지합니다.
  • 네트워크 기준선에 없는 새 네트워크 흐름은 비정상적인 흐름으로 표시되지만 위반을 트리거하지는 않습니다.

8.3.1. 네트워크 그래프에서 네트워크 기준 보기

네트워크 그래프 보기에서 네트워크 기준을 볼 수 있습니다.

프로세스

  1. 네임스페이스 목록을 클릭하고 검색 필드를 사용하여 네임스페이스를 검색하거나 개별 네임스페이스를 선택합니다.
  2. Deployments 목록을 클릭하고 search 필드를 사용하여 배포를 검색하거나 네트워크 그래프에 표시할 개별 배포를 선택합니다.
  3. 네트워크 그래프에서 배포를 클릭하여 정보 패널을 확인합니다.
  4. Baseline 탭을 선택합니다. 엔터티 이름 필드별 필터 를 사용하여 표시되는 흐름을 추가로 제한합니다.
  5. 선택 사항: 다음 작업 중 하나를 수행하여 기준 흐름을 비정상적인 것으로 표시할 수 있습니다.

    • 개별 엔터티를 선택합니다. 오버플로 메뉴 kebab 를 클릭한 다음 불순 으로 표시 를 선택합니다.
    • 여러 엔터티를 선택한 다음 Bulk 작업을 클릭하고 비정상적인 것으로 표시 를 선택합니다.
  6. 선택 사항: 포트 및 프로토콜을 제외하려면 상자를 선택합니다.
  7. 선택 사항: 기준값을 네트워크 정책 YAML 파일로 저장하려면 Download baseline as network policy 를 클릭합니다.

8.3.2. 네트워크 그래프에서 네트워크 기준 다운로드

네트워크 그래프 뷰에서 YAML 파일로 네트워크 기준을 다운로드할 수 있습니다.

프로세스

  1. RHACS 포털에서 네트워크 그래프로 이동합니다.
  2. 네임스페이스 목록을 클릭하고 검색 필드를 사용하여 네임스페이스를 검색하거나 개별 네임스페이스를 선택합니다.
  3. Deployments 목록을 클릭하고 search 필드를 사용하여 배포를 검색하거나 네트워크 그래프에 표시할 개별 배포를 선택합니다.
  4. 네트워크 그래프에서 배포를 클릭하여 정보 패널을 확인합니다.
  5. 베이스라인 탭에는 기준 흐름이 나열됩니다. 엔터티 이름 필드별 필터 를 사용하여 흐름 목록을 추가로 제한합니다.
  6. 선택 사항: 포트 및 프로토콜을 제외하려면 상자를 선택합니다.
  7. 네트워크 정책으로 기준 다운로드를 클릭합니다.

8.3.3. 네트워크 baselining 시간 프레임 구성

ROX_NETWORK_BASELINE_OBSERVATION_PERIODROX_BASELINE_GENERATION_DURATION 환경 변수를 사용하여 관찰 기간 및 네트워크 기준 생성 기간을 구성할 수 있습니다.

프로세스

  1. 다음 명령을 실행하여 ROX_NETWORK_BASELINE_OBSERVATION_PERIOD 환경 변수를 설정합니다.

    $ oc -n stackrox set env deploy/central \1
      ROX_NETWORK_BASELINE_OBSERVATION_PERIOD=<value> 2
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.
    2
    값은 시간 단위여야 합니다(예: 300ms,-1.5h 또는 2h45m ). 유효한 시간 단위는 ns,us 또는 Cryostats ,m s ,s,m,h 입니다.
  2. 다음 명령을 실행하여 ROX_BASELINE_GENERATION_DURATION 환경 변수를 설정합니다.

    $ oc -n stackrox set env deploy/central \1
      ROX_BASELINE_GENERATION_DURATION=<value> 2
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.
    2
    값은 시간 단위여야 합니다(예: 300ms,-1.5h 또는 2h45m ). 유효한 시간 단위는 ns,us 또는 Cryostats ,m s ,s,m,h 입니다.

8.3.4. 네트워크 그래프의 기준 위반에 대한 경고 활성화

비정상적인 네트워크 흐름을 감지하고 기준선에 없는 트래픽에 대한 위반을 트리거하도록 RHACS를 구성할 수 있습니다. 이렇게 하면 네트워크 정책으로 트래픽을 차단하기 전에 네트워크에 원하지 않는 트래픽이 포함되어 있는지 확인하는 데 도움이 될 수 있습니다.

프로세스

  1. 네임스페이스 목록을 클릭하고 검색 필드를 사용하여 네임스페이스를 검색하거나 개별 네임스페이스를 선택합니다.
  2. Deployments 목록을 클릭하고 search 필드를 사용하여 배포를 검색하거나 네트워크 그래프에 표시할 개별 배포를 선택합니다.
  3. 네트워크 그래프에서 배포를 클릭하여 정보 패널을 확인합니다.
  4. Baseline 탭에서는 기준 흐름을 볼 수 있습니다. 엔터티 이름 필드별 필터 를 사용하여 표시되는 흐름을 추가로 제한합니다.
  5. 기준 위반 옵션에서 경고를 전환합니다.

    • 기본 위반 옵션에서 경고를 전환하면 비정상적인 네트워크 흐름으로 인해 위반이 트리거됩니다.
    • 기본 위반 옵션에서 경고를 다시 전환하여 비정상적인 네트워크 흐름에 대한 위반을 수신하지 않을 수 있습니다.

9장. 빌드 시간 네트워크 정책 툴

빌드 시간 네트워크 정책 툴을 사용하면 roxctl CLI를 사용하여 개발 및 작업 워크플로우에서 Kubernetes 네트워크 정책 생성 및 검증을 자동화할 수 있습니다. 이러한 툴은 프로젝트의 워크로드 및 네트워크 정책 매니페스트가 포함된 지정된 파일 디렉터리에서 작동하며 RHACS 인증이 필요하지 않습니다.

표 9.1. 네트워크 정책 툴
명령설명

roxctl netpol generate

지정된 디렉터리에서 프로젝트의 YAML 매니페스트를 분석하여 Kubernetes 네트워크 정책을 생성합니다. 자세한 내용은 빌드 시간 네트워크 정책 생성기 사용을 참조하십시오.

roxctl netpol 연결 맵

워크로드 및 Kubernetes 네트워크 정책 매니페스트를 검사하여 프로젝트 디렉터리의 워크로드 간 허용된 연결을 나열합니다. 다양한 텍스트 형식 또는 그래픽 .dot 형식으로 출력을 생성할 수 있습니다. 자세한 내용은 roxctl netpol connectivity map 명령을 사용한 연결 매핑 을 참조하십시오.

roxctl netpol connectivity diff

두 프로젝트 버전 간의 허용된 연결에서 변형 목록을 생성합니다. 이는 각 버전의 디렉터리의 워크로드 및 Kubernetes 네트워크 정책 매니페스트에 따라 결정됩니다. 이 기능은 소스 코드 (syntactic) diff 를 수행할 때 명확하지 않은 의미 차이를 보여줍니다. 자세한 내용은 프로젝트 버전 간 허용된 연결의 차이점 식별 을 참조하십시오.

9.1. 빌드 시간 네트워크 정책 생성기 사용

빌드 시간 네트워크 정책 생성기는 애플리케이션 YAML 매니페스트를 기반으로 Kubernetes 네트워크 정책을 자동으로 생성할 수 있습니다. 이를 사용하여 클러스터에 애플리케이션을 배포하기 전에 CI/CD(Continuous Integration/continuous deployment) 파이프라인의 일부로 네트워크 정책을 개발할 수 있습니다.

Red Hat은 NP-Guard 프로젝트 의 개발자와 협력하여 이 기능을 개발했습니다. 먼저 빌드 타임 네트워크 정책 생성기는 서비스 매니페스트, 구성 맵, Pod,Deployment,ReplicaSet,Job,DaemonSet, StatefulSet 과 같은 워크로드 매니페스트를 포함하여 로컬 폴더의 Kubernetes 매니페스트를 분석합니다. 그런 다음 필요한 연결을 검색하고 Pod 분리를 달성하는 Kubernetes 네트워크 정책을 생성합니다. 이러한 정책은 필요한 수신 및 송신 트래픽보다 더 많은 것을 허용하지 않습니다.

9.1.1. 빌드 시간 네트워크 정책 생성

build-time 네트워크 정책 생성기는 roxctl CLI에 포함되어 있습니다. 빌드 시간 네트워크 정책 생성 기능의 경우 roxctl CLI는 RHACS Central과 통신할 필요가 없으므로 모든 개발 환경에서 사용할 수 있습니다.

사전 요구 사항

  1. 빌드 시간 네트워크 정책 생성기는 명령을 실행할 때 지정하는 디렉터리를 재귀적으로 스캔합니다. 따라서 명령을 실행하기 전에 Pod,Deployment,ReplicaSet,Job,DaemonSet, StatefulSet 과 같은 서비스 매니페스트, 구성 맵 및 워크로드 매니페스트가 지정된 디렉터리에 YAML 파일로 이미 있어야 합니다.
  2. kubectl apply -f 명령을 사용하여 이러한 YAML 파일을 그대로 적용할 수 있는지 확인합니다. 빌드 시간 네트워크 정책 생성기는 Helm 스타일 템플릿을 사용하는 파일에서는 작동하지 않습니다.
  3. 서비스 네트워크 주소가 하드 코딩되지 않았는지 확인합니다. 서비스에 연결해야 하는 모든 워크로드는 서비스 네트워크 주소를 변수로 지정해야 합니다. 워크로드의 리소스 환경 변수 또는 구성 맵을 사용하여 이 변수를 지정할 수 있습니다.

  4. 서비스 네트워크 주소는 다음과 같은 공식 정규식 패턴과 일치해야 합니다.

    (http(s)?://)?<svc>(.<ns>(.svc.cluster.local)?)?(:<portNum>)? 1
    1
    이 패턴에서는,
    • <svc>는 서비스 이름입니다.
    • <NS>는 서비스를 정의한 네임스페이스입니다.
    • <portNum>은 노출된 서비스 포트 번호입니다.

    다음은 패턴과 일치하는 몇 가지 예입니다.

    • wordpress-mysql:3306
    • redis-follower.redis.svc.cluster.local:6379
    • redis-leader.redis
    • http://rating-service.

프로세스

  1. help 명령을 실행하여 빌드 시간 네트워크 정책 생성 기능을 사용할 수 있는지 확인합니다.

    $ roxctl netpol generate -h
  2. netpol generate 명령을 사용하여 정책을 생성합니다.

    $ roxctl netpol generate <folder_path> [flags] 1
    1
    폴더 경로를 지정합니다. 분석을 위한 YAML 리소스가 포함된 하위 폴더가 포함될 수 있습니다. 명령은 전체 하위 폴더 트리를 검사합니다. 선택적으로 매개변수를 지정하여 명령의 동작을 수정할 수도 있습니다.

    선택적 매개변수에 대한 자세한 내용은 roxctl netpol generate 명령 옵션을 참조하십시오.

다음 단계

  • 정책을 생성한 후에는 YAML 파일에서 관련 네트워크 주소가 예상대로 지정되지 않은 경우 완전성 및 정확성을 검사해야 합니다.
  • 가장 중요한 것은 격리 정책에 의해 필요한 연결이 차단되지 않았는지 확인하십시오. 이 검사를 돕기 위해 roxctl netpol 연결 맵 도구를 사용할 수 있습니다.
참고

자동화를 사용하여 워크로드 배포의 일부로 클러스터에 네트워크 정책을 적용하여 시간을 단축하고 정확성을 보장합니다. 가져오기 요청을 사용하여 생성된 정책을 제출하여 GitOps 접근 방식을 따라 파이프라인의 일부로 배포하기 전에 팀에 정책을 검토할 수 있습니다.

9.1.2. roxctl netpol generate 명령 옵션

roxctl netpol generate 명령은 다음 옵션을 지원합니다.

옵션설명

-h, --help

netpol 명령의 도움말 텍스트를 봅니다.

-d, --output-dir <dir>

생성된 정책을 대상 폴더에 저장합니다. 정책당 하나의 파일입니다.

-f, --output-file <filename>

생성된 정책을 단일 YAML 파일에 저장하고 병합합니다.

--fail

처음 발생한 오류 발생 시 실패합니다. 기본값은 false입니다.

--remove

이미 존재하는 경우 출력 경로를 제거합니다.

--strict

경고를 오류로 처리합니다. 기본값은 false입니다.

9.2. roxctl netpol 연결 맵 명령을 사용한 연결 매핑

연결 매핑은 Kubernetes 매니페스트에 정의된 네트워크 정책을 기반으로 다양한 워크로드 간에 허용되는 연결에 대한 세부 정보를 제공합니다. 설정한 네트워크 정책에 따라 Kubernetes 환경의 다양한 워크로드가 서로 통신할 수 있는 방법을 시각화하고 이해할 수 있습니다.

연결 매핑 정보를 검색하려면 roxctl netpol 연결 맵 명령에 Kubernetes 워크로드 및 네트워크 정책 매니페스트가 포함된 디렉터리 경로가 필요합니다. 출력은 Kubernetes 리소스 내의 연결 세부 정보에 대한 세부 정보를 제공합니다.

9.2.1. Kubernetes 매니페스트 디렉터리에서 연결 매핑 정보 검색

프로세스

  • 다음 명령을 실행하여 연결 매핑 정보를 검색합니다.

    $ roxctl netpol connectivity map <folder_path> [flags] 1
    1
    폴더의 경로를 지정합니다. 이 폴더에는 분석을 위한 YAML 리소스 및 네트워크 정책을 포함하는 하위 폴더(예: netpol-analysis-example-minimal/ )를 포함할 수 있습니다. 명령은 전체 하위 폴더 트리를 검사합니다. 선택적으로 매개변수를 지정하여 명령의 동작을 수정할 수도 있습니다.

    선택적 매개변수에 대한 자세한 내용은 roxctl netpol connectivity map 명령 옵션을 참조하십시오.

    예 9.1. 출력 예

    srcdstConn

    0.0.0.0-255.255.255.255

    default/frontend[Deployment]

    TCP 8080

    default/frontend[Deployment]

    0.0.0.0-255.255.255.255

    UDP 53

    default/frontend[Deployment]

    default/backend[Deployment]

    TCP 9090

출력에는 허용되는 연결 행 목록이 있는 테이블이 표시됩니다. 각 연결 행은 source(src), destination(dst) 및 허용되는 연결 특성(conn)의 세 부분으로 구성됩니다.

src 를 소스 엔드포인트로, dst 를 대상 엔드포인트로, conn 을 허용 가능한 연결 속성으로 해석할 수 있습니다. 끝점에는 namespace/name[Kind] 형식(예: default/backend[Deployment] )이 있습니다.

9.2.2. 연결 맵 출력 형식 및 시각화

txt,md,csv,jsondot 을 포함한 다양한 출력 형식을 사용할 수 있습니다. dot 형식은 출력을 연결 그래프로 시각화하는 데 이상적입니다. Graphviz 툴과 같은 그래프 시각화 소프트웨어 및 VSCode 확장을 사용하여 볼 수 있습니다. 로컬 또는 온라인 뷰어를 통해 Graphviz를 사용하여 svg,jpeg 또는 png 과 같은 형식으로 도트 출력을 변환할 수 있습니다.

9.2.3. Graphviz를 사용하여 dot 출력에서 svg 그래프 생성

다음 단계에 따라 dot 출력에서 svg 형식으로 그래프를 생성합니다.

사전 요구 사항

  • Graphviz 가 로컬 시스템에 설치되어 있습니다.

프로세스

9.2.4. roxctl netpol connectivity map 명령 옵션

roxctl netpol 연결 맵 명령은 다음 옵션을 지원합니다.

옵션설명

--fail

처음 발생한 오류 발생 시 실패합니다. 기본값은 false입니다.

--focus-workload 문자열

출력에서 지정된 워크로드 이름 연결에 중점을 둡니다.

-h, --help

roxctl netpol 연결 맵 명령의 도움말 텍스트를 확인합니다.

-f,--output-file 문자열

연결 목록 출력을 특정 파일에 저장합니다.

-o,--output-format 문자열

출력 형식을 구성합니다. 지원되는 형식은 txt,json,md,dot, csv 입니다. 기본값은 txt 입니다.

--remove

이미 존재하는 경우 출력 경로를 제거합니다. 기본값은 false입니다.

--save-to-file

연결 목록 출력을 기본 파일에 저장합니다. 기본값은 false입니다.

--strict

경고를 오류로 처리합니다. 기본값은 false입니다.

9.3. 프로젝트 버전 간 허용된 연결의 차이점 확인

이 명령을 사용하면 두 프로젝트 버전 간의 허용된 연결 차이점을 이해하는 데 도움이 됩니다. 각 버전의 디렉터리에 있는 워크로드 및 Kubernetes 네트워크 정책 매니페스트를 분석하고 텍스트 형식의 차이점을 나타냅니다.

텍스트,mdcsv 를 포함한 다양한 출력 형식의 연결 차이점 보고서를 볼 수 있습니다.

9.3.1. roxctl netpol connectivity diff 명령을 사용하여 연결 차이점 보고서 생성

연결 차이점 보고서를 생성하기 위해 roxctl netpol connectivity diff 명령에는 각각 네트워크 정책을 포함하여 Kubernetes 매니페스트가 포함된 두 개의 폴더 dir1dir2 가 필요합니다.

프로세스

  • 다음 명령을 실행하여 지정된 디렉터리에 있는 Kubernetes 매니페스트 간의 연결 차이점을 확인합니다.

    $ roxctl netpol connectivity diff --dir1=<folder_path_1> --dir2=<folder_path_2> [flags] 1
    1
    폴더 경로를 지정합니다. 여기에는 YAML 리소스 및 분석을 위한 네트워크 정책이 포함된 하위 폴더가 포함될 수 있습니다. 명령은 두 디렉토리의 전체 하위 폴더 트리를 스캔합니다. 예를 들어 < folder_path_1 >은 netpol-analysis-example-minimal/ 이고 < folder_path_2 >는 netpol-diff-example-example-minimal/ 입니다. 선택적으로 매개변수를 지정하여 명령의 동작을 수정할 수도 있습니다.

    선택적 매개변수에 대한 자세한 내용은 roxctl netpol connectivity diff 명령 옵션을 참조하십시오.

    참고

    이 명령은 kubectl apply -f 를 사용하여 수락할 수 있는 모든 YAML 파일을 고려한 다음, 이러한 파일은 roxctl netpol connectivity diff 명령에 유효한 입력이 됩니다.

    예 9.2. 출력 예

    diff-type소스대상dir 1dir 2workloads-diff-info

    changed

    default/frontend[Deployment]

    default/backend[Deployment]

    TCP 9090

    TCP 9090,UDP 53

     

    추가됨

    0.0.0.0-255.255.255.255

    default/backend[Deployment]

    연결 없음

    TCP 9090

     

의미 체계 차이 보고서는 dir1 에서 허용되는 연결에 비해 dir2 에서 변경, 추가 또는 제거된 연결에 대한 개요를 제공합니다. 출력을 검토할 때 각 행은 dir1 에 비해 dir2 에서 추가, 제거 또는 변경된 허용된 연결을 나타냅니다.

다음은 다양한 형식으로 roxctl netpol 연결 diff 명령으로 생성된 출력의 예입니다.

해당하는 경우 workloads-diff-info 는 추가 또는 제거된 연결과 관련된 추가 또는 제거된 워크로드에 대한 추가 세부 정보를 제공합니다.

예를 들어 워크로드 B 가 삭제되어 워크로드 A 에서 워크로드 B 로의 연결이 제거되면 workloads-diff-info 는 워크로드 B 가 제거되었음을 나타냅니다. 그러나 네트워크 정책으로 인해 이러한 연결이 제거되고 워크로드 A 또는 B 가 삭제되지 않은 경우 workloads-diff-info 가 비어 있습니다.

9.3.2. roxctl netpol connectivity diff 명령 옵션

roxctl netpol connectivity diff 명령은 다음 옵션을 지원합니다.

옵션설명

--dir1 string

입력 리소스의 첫 번째 디렉터리 경로입니다. 이는 필수 옵션입니다.

--dir2 string

첫 번째 디렉터리 경로와 비교할 입력 리소스의 두 번째 디렉터리 경로입니다. 이는 필수 옵션입니다.

--fail

처음 발생한 오류 발생 시 실패합니다. 기본값은 false입니다.

-h, --help

roxctl netpol connectivity diff 명령의 도움말 텍스트를 확인합니다.

-f,--output-file 문자열

연결 차이점 출력을 특정 파일에 저장합니다.

-o,--output-format 문자열

출력 형식을 구성합니다. 지원되는 형식은 txt,mdcsv 입니다. 기본값은 txt 입니다.

--remove

이미 존재하는 경우 출력 경로를 제거합니다. 기본값은 false입니다.

--save-to-file

연결 차이점 출력을 기본 파일에 저장합니다. 기본값은 false입니다.

--strict

경고를 오류로 처리합니다. 기본값은 false입니다.

9.3.3. 구문 및 의미 차이 출력 구분

다음 예에서 dir1netpol-analysis-example-minimal/ 이며 dir2netpol-diff-example-minimal/ 입니다. 디렉터리 간의 차이점은 네트워크 정책 backend-netpol 에서 약간의 변경 사항입니다.

dir1 의 정책 예:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  creationTimestamp: null
  name: backend-netpol
spec:
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - port: 9090
      protocol: TCP
  podSelector:
    matchLabels:
      app: backendservice
  policyTypes:
  - Ingress
  - Egress
status: {}

dir2 의 변경 사항은 difference 출력을 생성하는 ports 속성 앞에 추가됩니다.

9.3.3.1. 구문 차이 출력

프로세스

  • 다음 명령을 실행하여 지정된 두 디렉터리에 있는 netpols.yaml 파일의 내용을 비교합니다.

    $ diff netpol-diff-example-minimal/netpols.yaml netpol-analysis-example-minimal/netpols.yaml

    출력 예

    12c12
    <   - ports:
    ---
    >     ports:

9.3.3.2. 의미 체계 차이 출력

프로세스

  • 다음 명령을 실행하여 지정된 두 디렉터리에 있는 Kubernetes 매니페스트와 네트워크 정책 간의 연결 차이점을 분석합니다.

    $ roxctl netpol connectivity diff --dir1=roxctl/netpol/connectivity/diff/testdata/netpol-analysis-example-minimal/ --dir2=roxctl/netpol/connectivity/diff/testdata/netpol-diff-example-minimal

    출력 예

    Connectivity diff:
    diff-type: changed, source: default/frontend[Deployment], destination: default/backend[Deployment], dir1:  TCP 9090, dir2: TCP 9090,UDP 53
    diff-type: added, source: 0.0.0.0-255.255.255.255, destination: default/backend[Deployment], dir1:  No Connections, dir2: TCP 9090

10장. 수신 대기 끝점 감사

RHACS(Red Hat Advanced Cluster Security for Kubernetes)는 보안 클러스터의 포트에서 수신 대기하는 프로세스를 감사하고 배포, 네임스페이스 또는 클러스터별로 이 데이터를 필터링할 수 있는 기능을 제공합니다.

다음 방법을 사용하여 수신 대기 중인 프로세스 및 포트에 대한 정보를 볼 수 있습니다.

  • RHACS 웹 포털에서 네트워크Listening Endpoints 로 이동합니다.
  • API의 ListeningEndpointsService 오브젝트에 연결합니다. API에 대한 자세한 내용은 RHACS 웹 포털의 도움말API 참조로 이동하십시오.

페이지에는 배포별 프로세스 목록이 있으며 목록의 각 프로세스에 대해 다음 정보가 표시됩니다.

  • 배포 이름
  • Cluster
  • 네임스페이스
  • 배포의 포트에서 수신 대기 중인 프로세스 수 또는 수

필터 필드를 사용하고 개별 배포, 네임스페이스, 클러스터를 입력하여 페이지에 표시되는 정보를 추가로 필터링할 수 있습니다.

목록 상단에 있는 확장 아이콘을 클릭하여 모든 배포에 대한 모든 섹션을 확장하거나 단일 배포 행의 확장 아이콘을 클릭하여 해당 배포에 대한 추가 정보를 확인합니다. 다음 정보가 제공됩니다.

  • exec 파일 경로: 프로세스의 위치
  • PID: 프로세스의 시스템 ID
  • port: 프로세스가 수신 대기 중인 포트
  • 프로토콜: 프로세스에서 사용하는 프로토콜
  • Pod ID: 프로세스가 포함된 Pod의 이름입니다.
  • 컨테이너 이름: 수신 대기 중인 프로세스가 있는 컨테이너의 이름입니다.

배포 이름을 클릭하면 RHACS 웹 포털의 위험 페이지로 이동합니다. 여기서 정책 위반 및 추가 배포 세부 정보와 같은 위험 지표를 포함하여 배포에 대한 정보를 볼 수 있습니다.

11장. 클러스터 구성 검토

구성 관리 뷰를 사용하고 클러스터의 다양한 엔티티 간의 상관 관계를 이해하여 클러스터 구성을 효율적으로 관리하는 방법을 알아봅니다.

모든 OpenShift Container Platform 클러스터에는 클러스터 전체에 분산된 다양한 엔티티가 포함되어 있으므로 사용 가능한 정보를 이해하고 수행하는 것이 더 어렵습니다.

Red Hat Advanced Cluster Security for Kubernetes(RHACS)는 이러한 모든 분산 엔터티를 단일 페이지에 결합하는 효율적인 구성 관리를 제공합니다. 단일 구성 관리 뷰에서 모든 클러스터, 네임스페이스, 노드, 배포, 이미지, 보안, 사용자, 그룹, 서비스 계정 및 역할에 대한 정보를 결합하여 서로 다른 엔터티와 연결을 시각화할 수 있습니다.

11.1. 구성 관리 보기 사용

구성 관리 보기를 열려면 탐색 메뉴에서 구성 관리를 선택합니다. 대시보드 와 유사하게 몇 가지 유용한 위젯이 표시됩니다.

이러한 위젯은 대화식이며 다음 정보를 표시합니다.

  • 심각도별 보안 정책 위반
  • CIS (Center for Information Security) Docker 및 Kubernetes 벤치마크 제어의 상태
  • 대부분의 클러스터에서 관리자 권한이 있는 사용자
  • 클러스터에서 가장 널리 사용되는 보안

구성 관리 보기의 헤더에는 클러스터의 정책 및 CIS 제어 수가 표시됩니다.

참고

Deploy 라이프사이클 단계의 정책만 정책 수 및 정책 목록 보기에 포함됩니다.

헤더에는 엔터티 간에 전환할 수 있는 드롭다운 메뉴가 포함되어 있습니다. 예를 들면 다음을 수행할 수 있습니다.

  • Policies 를 클릭하여 모든 정책과 심각도를 확인하거나 CIS Controls 를 선택하여 모든 제어에 대한 자세한 정보를 확인합니다.
  • 애플리케이션 및 인프라를 클릭하고 클러스터, 네임스페이스, 노드, 배포, 이미지 및 시크릿을 선택하여 자세한 정보를 확인합니다.
  • RBAC 가시성 및 구성 을 클릭하고 사용자 및 그룹, 서비스 계정 및 역할을 선택하여 자세한 정보를 확인합니다.

11.2. Kubernetes 역할에서 잘못된 구성 확인

구성 관리 보기를 사용하여 사용자에게 부여되지 않은 cluster-admin 역할 또는 역할에 부여된 사용자, 그룹 또는 서비스 계정과 같은 잠재적인 잘못된 구성을 식별할 수 있습니다.

11.2.1. Kubernetes 역할 및 해당 할당 찾기

구성 관리 보기를 사용하여 특정 사용자 및 그룹에 할당된 Kubernetes 역할에 대한 정보를 가져옵니다.

프로세스

  1. RHACS 포털로 이동하여 구성 관리를 클릭합니다.
  2. 구성 관리 보기의 헤더에서 역할 기반 액세스 제어사용자 및 그룹을 선택합니다. 사용자 및 그룹 보기에는 Kubernetes 사용자 및 그룹 목록, 할당된 역할 및 각 사용자에 대해 cluster-admin 역할이 활성화되어 있는지가 표시됩니다.
  3. 사용자 또는 그룹을 선택하여 연결된 클러스터 및 네임스페이스 권한에 대한 세부 정보를 확인합니다.

11.2.2. 서비스 계정 및 권한 찾기

구성 관리 보기를 사용하여 서비스 계정이 사용 중인 위치와 해당 권한을 확인합니다.

프로세스

  1. RHACS 포털에서 구성 관리로 이동합니다.
  2. 구성 관리 보기의 헤더에서 RBAC 가시성 및 구성 → 서비스 계정을 선택합니다. 서비스 계정 보기에는 클러스터의 Kubernetes 서비스 계정 목록, 할당된 역할, cluster-admin 역할이 활성화되어 있는지 여부, 해당 배포에서 사용하는 배포 목록이 표시됩니다.
  3. 선택한 서비스 계정에 부여된 클러스터 및 네임스페이스 권한을 포함하여 자세한 세부 정보를 보려면 행 또는 밑줄을 선택합니다.

11.2.3. 사용되지 않는 Kubernetes 역할 검색

구성 관리 보기를 사용하여 Kubernetes 역할에 대한 자세한 내용을 가져오고 사용되지 않는 역할을 찾습니다.

프로세스

  1. RHACS 포털에서 구성 관리로 이동합니다.
  2. 구성 관리 보기의 헤더 에서 RBAC 가시성 및 구성 → 역할을 선택합니다. 역할 보기에는 클러스터의 Kubernetes 역할 목록, 부여한 권한 및 사용 위치에 대한 목록이 표시됩니다.
  3. 역할에 대한 자세한 정보를 보려면 행 또는 밑줄 링크를 선택합니다.
  4. 사용자, 그룹 또는 서비스 계정에 부여되지 않은 역할을 찾으려면 사용자 및 그룹 열 헤더를 선택합니다. 그런 다음 Shift 키를 누른 상태에서 Service Account 열 헤더를 선택합니다. 목록에는 사용자, 그룹 또는 서비스 계정에 부여되지 않은 역할이 표시됩니다.

11.3. Kubernetes 시크릿 보기

사용자 환경에서 사용 중인 Kubernetes 시크릿을 확인하고 해당 보안을 사용하여 배포를 식별합니다.

프로세스

  1. RHACS 포털에서 구성 관리로 이동합니다.
  2. 가장 많이 사용되는 시크릿에서 모두 보기를 선택합니다. Secrets 뷰에는 Kubernetes 시크릿 목록이 표시됩니다.
  3. 세부 정보를 보려면 행을 선택합니다.

사용 가능한 정보를 사용하여 필요하지 않은 배포에서 보안이 사용 중인지 확인합니다.

11.4. 정책 위반 검색

Configuration Management 보기에서 심각도 등급의 Policy Violations 는 선진형 차트의 정책 위반을 표시합니다. 차트의 각 수준은 하나의 링 또는 원으로 표시됩니다.

  • 가장 내부의 원은 위반의 총 수를 나타냅니다.
  • 다음 링은 낮음,중간,높음중요 정책 범주를 나타냅니다.
  • 가장 외부 링은 특정 카테고리의 개별 정책을 나타냅니다.

구성 관리 보기에는 Lifecycle StageDeploy 로 설정된 정책에 대한 정보만 표시됩니다. 런타임 동작 또는 빌드 단계에서 평가를 위해 구성된 정책을 포함하지 않습니다.

프로세스

  1. RHACS 포털에서 구성 관리로 이동합니다.
  2. Policy Violations by 심각도 위젯에서 마우스를 워보스트 차트 위로 이동하여 정책 위반에 대한 세부 정보를 확인합니다.
  3. 우선순위가 높은 정책 위반에 대한 자세한 정보를 보려면n 등급( n 이 숫자)으로 평가되는 n을 선택합니다. 정책 보기에는 선택한 카테고리에서 필터링된 정책 위반 목록이 표시됩니다.
  4. 정책 설명, 수정, 위반을 사용한 배포를 비롯한 자세한 정보를 보려면 행을 선택합니다. 세부 정보는 패널에 표시됩니다.
  5. 정보 패널의 Policy Findings 섹션에 이러한 위반이 발생한 배포가 나열됩니다.
  6. Policy Findings 섹션에서 배포를 선택하여 Kubernetes 레이블, 주석 및 서비스 계정을 포함한 관련 세부 정보를 확인합니다.

자세한 정보를 사용하여 위반에 대한 수정을 계획할 수 있습니다.

11.5. 실패한 CIS 제어 검색

Configuration Management 보기의 Policy Violations sunburst 차트와 유사하게 CIS 제어 위젯은 CIS(Center for Information Security) 제어에 대한 정보를 제공합니다.

차트의 각 수준은 하나의 링 또는 원으로 표시됩니다.

  • 가장 내부의 원은 실패한 컨트롤의 백분율을 나타냅니다.
  • 다음 링은 제어 범주를 나타냅니다.
  • 가장 외부 링은 특정 카테고리의 개별 컨트롤을 나타냅니다.

프로세스

  1. CIS 제어 위젯의 헤더에서 CIS Docker v1.2.0 을 선택합니다. 이를 사용하여 CIS Docker와 Kubernetes 컨트롤을 전환합니다.
  2. 가장 빠른 차트 위로 마우스를 가져가면 실패한 컨트롤에 대한 세부 정보를 볼 수 있습니다.
  3. 실패한 컨트롤에 대한 자세한 정보를 보려면n (여기서 n 은 숫자)을 선택합니다. Controls 뷰에는 규정 준수 상태에 따라 필터링된 제어 목록이 표시됩니다.
  4. 컨트롤 설명 및 컨트롤 실패 노드를 포함하여 세부 정보를 볼 행을 선택합니다.
  5. 정보 패널의 제어 찾기 섹션에는 제어가 실패하는 노드가 나열됩니다. Kubernetes 레이블, 주석 및 기타 메타데이터를 포함하여 세부 정보를 볼 행을 선택합니다.

자세한 정보를 사용하여 노드, 업계 표준 또는 실패한 제어의 하위 집합에 집중할 수 있습니다. 컨테이너화된 인프라의 규정 준수 상태를 평가, 확인 및 보고할 수도 있습니다.

12장. 취약점의 이미지 검사

Red Hat Advanced Cluster Security for Kubernetes를 사용하면 RHACS 스캐너를 사용하여 취약점의 이미지를 분석하거나 다른 지원되는 스캐너를 사용하도록 통합을 구성할 수 있습니다.

RHACS의 스캐너는 각 이미지 계층을 분석하여 패키지를 찾고 다른 소스에서 채워진 취약점 데이터베이스와 비교하여 알려진 취약점과 일치시킵니다. 사용된 스캐너에 따라 소스에는 NVD(National Vulnerability Database), OSV(Open Source Vulnerabilities) 데이터베이스 및 운영 체제 취약점 피드가 포함됩니다.

참고

RHACS Scanner V4는 이 라이센스 에서 OSV.dev 에서 사용할 수 있는 OSV 데이터베이스를 사용합니다.

RHACS에는 StackRox 스캐너 및 스캐너 V4의 두 개의 스캐너가 포함되어 있습니다.

중요

스캐너 V4는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하는 것을 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

StackRox 스캐너는 Clair v2 오픈 소스 스캐너의 포크에서 시작되며 이는 기본 스캐너입니다. 버전 4.4에서 RHACS는 추가 이미지 스캔 기능을 제공하는 ClairCore에 구축된 scanner V4를 도입했습니다.

참고

이 문서에서는 "RHACS 스캐너" 또는 "Scanner"라는 용어를 사용하여 StackRox 스캐너 및 스캐너 V4의 두 스캐너에서 제공하는 결합된 스캔 기능을 참조합니다. 특정 스캐너의 기능을 참조할 때 특정 스캐너의 이름이 사용됩니다.

RHACS 스캐너에서 취약점을 발견하면 다음 작업을 수행합니다.

  • 자세한 분석을 위해 취약점 관리 보기에 표시
  • 위험 평가에 따라 취약점을 분류하고 RHACS 포털에서 보안 취약점을 강조 표시
  • 활성화된 보안 정책에대해 확인

RHACS 스캐너는 이미지를 검사하고 이미지의 파일을 기반으로 설치된 구성 요소를 식별합니다. 다음 파일을 제거하도록 최종 이미지가 수정되면 설치된 구성 요소 또는 취약점을 식별하지 못할 수 있습니다.

components파일

패키지 관리자

  • /etc/alpine-release
  • /etc/apt/sources.list
  • /etc/lsb-release
  • /etc/os-release 또는 /usr/lib/os-release
  • /etc/oracle-release,/etc/centos-release,/etc/redhat-release, /etc/system-release
  • 기타 유사한 시스템 파일

언어 수준 종속 항목

  • JavaScript용 package.json.
  • Dist-info 또는 Eclipse-info for Python.
  • Java용 MANIFEST.MF in Java Archive (JAR)

애플리케이션 수준 종속 항목

  • dotnet/shared/Microsoft.AspNetCore.App/
  • dotnet/shared/Microsoft.NETCore.App/

12.1. RHACS Scanner V4 정보 (기술 프리뷰)

RHACS는 자체 스캐너를 제공하거나 다른 취약점 스캐너와 함께 RHACS를 사용하도록 통합을 구성할 수 있습니다.

버전 4.4부터 ClairCore 를 기반으로 하는 scanner V4는 언어 및 운영 체제별 이미지 구성 요소를 스캔합니다. 버전 4.4의 경우 RHACS는 StackRox 스캐너를 사용하여 향후 릴리스에서 해당 기능이 구현될 때까지 일부 스캔 기능을 제공합니다.

중요

스캐너 V4는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하는 것을 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

12.2. 이미지 스캔

버전 4.4의 경우 RHACS는 StackRox 스캐너 및 스캐너 V4의 두 가지 스캐너를 제공합니다. 두 스캐너 모두 네트워크에 연결된 보안 클러스터의 이미지를 검사할 수 있습니다. 보안 클러스터 스캔은 Operator를 사용하여 배포되거나 위임된 스캔이 사용될 때 배포된 Red Hat OpenShift 환경에서 기본적으로 활성화됩니다. 자세한 내용은 "보장된 이미지 스캔 액세스"를 참조하십시오.

중요

스캐너 V4는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하는 것을 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

StackRox 스캐너를 사용하는 경우 RHACS는 다음 작업을 수행합니다.

  • Central은 이미지 검사 요청을 StackRox 스캐너에 제출합니다.
  • 이러한 요청을 수신하면 StackRox 스캐너는 관련 레지스트리에서 이미지 계층을 가져와서 이미지를 확인하고 각 계층에서 설치된 패키지를 식별합니다. 그런 다음 확인된 패키지 및 언어별 종속 항목을 취약점 목록과 비교하고 정보를 다시 Central로 보냅니다.
  • StackRox 스캐너는 다음 영역에서 취약점을 식별합니다.

    • 기본 이미지 운영 체제
    • 패키지 관리자가 설치한 패키지
    • 프로그래밍 언어별 종속 항목
    • 프로그래밍 런타임 및 프레임워크

scanner V4를 사용하는 경우 RHACS는 다음 작업을 수행합니다.

  • Central은 스캐너 V4 인덱서가 지정된 이미지를 다운로드 및 인덱스(분석)하도록 요청합니다.
  • scanner V4 Indexer는 레지스트리에서 이미지 메타데이터를 가져와서 이미지 계층을 확인하고 이전에 인덱싱되지 않은 각 계층을 다운로드합니다.
  • scanner V4 Indexer는 인덱싱 프로세스를 지원하는 Central에서 매핑 파일을 요청합니다. scanner V4 Indexer는 인덱스 보고서를 생성합니다.
  • 중앙에서는 스캐너 V4가 지정된 이미지와 알려진 취약점과 일치하도록 요청합니다. 이 프로세스는 최종 검사 결과인 취약점 보고를 생성합니다. scanner V4 Matcher는 Central의 최신 취약점을 요청합니다.
  • scanner V4 Matcher는 scanner V4 Indexer에서 이미지 인덱싱 결과를 요청합니다. 그런 다음 보고서를 사용하여 관련 취약점을 결정합니다. 이 상호 작용은 중앙 클러스터에서 이미지를 인덱싱할 때만 발생합니다. scanner V4가 보안 클러스터에서 인덱싱된 이미지의 취약점과 일치하는 경우 이러한 상호 작용은 발생하지 않습니다.
  • 인덱서는 인덱싱 결과와 관련된 스캐너 V4 DB에 데이터를 저장하여 이미지 계층이 한 번만 다운로드 및 인덱싱되도록 합니다. 이렇게 하면 불필요한 네트워크 트래픽 및 기타 리소스 사용률이 방지됩니다.
  • 보안 클러스터 스캔을 활성화하면 센서에서 스캐너 V4를 인덱스 이미지에 요청합니다. scanner V4 Indexer는 동일한 네임스페이스에 Central이 존재하지 않는 한 인덱싱 프로세스를 지원하는 센서의 매핑 파일을 요청합니다. 이 경우 Central이 대신 연락합니다.

12.2.1. 일반적인 스캐너 경고 메시지 이해 및 해결

RHACS(Red Hat Advanced Cluster Security for Kubernetes)로 이미지를 스캔할 때 CVE Data MAY BY INACCURATE 경고 메시지가 표시될 수 있습니다. 스캐너는 이미지의 운영 체제 또는 기타 패키지에 대한 전체 정보를 검색할 수 없는 경우 이 메시지를 표시합니다.

다음 표에서는 몇 가지 일반적인 스캐너 경고 메시지를 보여줍니다.

표 12.1. 경고 메시지
메시지설명

OS CVE 데이터를 검색할 수 없는 언어 CVE 데이터만 사용할 수 있습니다.

스캐너가 이미지의 기본 운영 체제를 공식적으로 지원하지 않으므로 운영 체제 수준 패키지에 대한 CVE 데이터를 검색할 수 없음을 나타냅니다.

오래된 OS CVE 데이터

이미지의 기본 운영 체제가 수명 종료에 도달했음을 나타냅니다. 이는 취약점 데이터가 오래된 것을 의미합니다. 예를 들어, Debian 8 및 9입니다.

이미지의 구성 요소를 식별하는 데 필요한 파일에 대한 자세한 내용은 보안 취약점에 대한 이미지 검사를 참조하십시오.

기본 OS 정보를 가져올 수 없음

스캐너가 이미지를 스캔했지만 이미지에 사용된 기본 운영 체제를 확인할 수 없음을 나타냅니다.

레지스트리에서 메타데이터를 검색하지 못했습니다

대상 레지스트리가 네트워크에서 연결할 수 없음을 나타냅니다. 원인은 docker.io 를 차단하는 방화벽이거나 액세스를 방지하는 인증 문제가 될 수 있습니다.

근본 원인을 분석하려면 프라이빗 레지스트리 또는 리포지토리에 대한 특수 레지스트리 통합을 생성하여 RHACS Central의 Pod 로그를 가져옵니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 이미지 레지스트리와의 통합을 참조하십시오.

Red Hat Vulnerability Scanner Certification의 범위를 벗어남

스캐너가 이미지를 스캔했지만 이미지가 오래되어 Red Hat 스캐너 인증 범위에 속하지 않음을 나타냅니다. 자세한 내용은 Red Hat Vulnerability Scanner Certification 파트너 가이드를 참조하십시오.

중요

Red Hat 컨테이너 이미지를 사용하는 경우 2020년 6월 보다 최신의 기본 이미지를 사용하는 것이 좋습니다.

12.2.2. 지원되는 패키지 형식

스캐너는 다음 패키지 형식을 사용하는 이미지의 취약점을 확인할 수 있습니다.

  • apt
  • apk
  • dpkg
  • rpm

12.2.3. 지원되는 프로그래밍 언어

스캐너는 종속성의 취약점을 다음 프로그래밍 언어를 확인할 수 있습니다.

  • Go (Scanner V4만 해당)

    • binaries: 바이너리를 빌드하는 데 사용되는 표준 라이브러리 버전이 분석됩니다. 바이너리가 모듈 지원(go.mod)으로 빌드된 경우 종속성도 분석됩니다.
  • Java

    • JAR
    • WAR
    • EAR
  • JavaScript

    • Node.js
    • npm package.json
  • Python

    • Eleak 및 wheel 형식
  • Ruby

    • gem

12.2.4. 지원되는 런타임 및 프레임워크

Red Hat Advanced Cluster Security for Kubernetes 3.0.50 (Scanner 버전 2.5.0)부터 StackRox Scanner는 다음 개발자 플랫폼에서 취약점을 식별합니다.

  • .NET Core
  • ASP.NET Core

이는 스캐너 V4에서 지원되지 않습니다.

12.2.5. 지원되는 운영 체제

이 섹션에 나열된 지원되는 플랫폼은 스캐너가 취약점을 식별하는 배포판이며, Red Hat Advanced Cluster Security for Kubernetes를 설치할 수 있는 지원되는 플랫폼과 다릅니다.

스캐너는 다음 Linux 배포판을 포함하는 이미지의 취약점을 식별합니다. 사용된 취약점 데이터베이스에 대한 자세한 내용은 "RHACS Architecture"의 "Vulnerability Source"를 참조하십시오.

콘텐츠 배포버전

Alpine Linux

alpine:3.2[1],alpine:3.3,alpine:3.4,alpine:3.5,alpine:3.6,alpine:3.7, alpine:3.8 ,alpine:3.8,alpine:3.9, Alpine:3.10,alpine:3.11,alpine:3.12,alpine:3.13,alpine:3.14,alpine:3.15,alpine:3.16,alpine:3.17, , alpine:3.18,alpine:3.19[2], alpine:edge

Amazon Linux

amzn:2018.03, amzn:2, amzn:2023[2]

CentOS

centos:6[1], centos:7[1], centos:8[1]

Debian

Debian:10,debian:11,debian:12,debian:unstable,distroless

Oracle Linux

버전 5-9[2]

Cryostat OS

1.0[2], 2.0[2], 3.0 [2]

Red Hat Enterprise Linux (RHEL)

rhel:6[3], rhel:7[3], rhel:8[3], rhel:9[3]

SUSE

SLES 11, 12, 15[2]; openSUSE Leap 42.3, 15.0, 15.1[2]

Ubuntu

Ubuntu:14.04,ubuntu:16.04,ubuntu:18.04,ubuntu:20.04,ubuntu:21.04,ubuntu:21.10,ubuntu:22.04, Ubuntu:22.10,ubuntu:23.04,ubuntu:23.10

다음 취약점 소스는 공급 업체가 업데이트하지 않습니다. Ubuntu:12.04,ubuntu:12.10,ubuntu:13.04,ubuntu:14.10,ubuntu:15.04,ubuntu::15.10,ubuntu::16.10, Ubuntu:17.04,ubuntu:17.10,ubuntu:18.10,ubuntu:19.04,ubuntu:19.10,ubuntu:20.10,

  1. StackRox 스캐너에서만 지원됩니다.
  2. Scanner V4에서만 지원됩니다.
  3. 2020년 6월 이전의 이미지는 스캐너 V4에서 지원되지 않습니다.
참고
  • Fedora는 취약점 데이터베이스를 유지 관리하지 않기 때문에 스캐너는 Fedora 운영 체제를 지원하지 않습니다. 그러나 스캐너는 여전히 Fedora 기반 이미지에서 언어별 취약점을 감지합니다.

12.3. 위임된 이미지 검사 액세스

보안 클러스터에서만 액세스할 수 있는 격리된 컨테이너 이미지 레지스트리가 있을 수 있습니다. 위임된 이미지 검사 기능을 사용하면 보안 클러스터의 모든 레지스트리에서 이미지를 스캔할 수 있습니다.

12.3.1. 위임된 이미지 스캔에 액세스하여 이미지 스캔 강화

현재 중앙 서비스 스캐너는 OpenShift Container Platform 통합 레지스트리의 이미지를 제외하고 보안 클러스터에서 관찰되는 이미지에 대해 인덱싱(구성 요소를 식별) 및 취약점 일치(취약 데이터가 포함된 구성 요소의 부족)를 모두 수행합니다.

OpenShift Container Platform 통합 레지스트리의 이미지의 경우 보안 클러스터에 설치된 scanner-slim은 인덱싱을 수행하고 중앙 서비스 스캐너는 보안 취약점과 일치하는 취약점을 수행합니다.

위임된 이미지 검사 기능은 scanner-slim이 모든 레지스트리에서 이미지를 인덱싱할 수 있도록 허용하여 검색 기능을 확장한 다음, 일치하는 취약점을 위해 Central로 보냅니다. 이 기능을 사용하려면 Scanner-slim이 보안 클러스터에 설치되어 있는지 확인합니다. scanner-slim이 없으면 검사 요청이 Central로 직접 전송됩니다.

12.3.2. 위임된 이미지 스캔 구성

새로 위임된 레지스트리 구성은 이미지 검사를 위임할 레지스트리를 지정합니다. 센서에서 관찰한 이미지의 경우 이 구성을 사용하면 레지스트리, 모든 레지스트리 또는 특정 레지스트리에서 검사를 위임할 수 있습니다. roxctl CLI, Jenkins 플러그인 또는 API를 사용하여 검사 위임을 활성화하려면 대상 클러스터 및 소스 레지스트리도 지정해야 합니다.

사전 요구 사항

  • 이미지를 검사하려면 스캐너-slim을 보안 클러스터에 설치해야 합니다.

    참고

    scanner-slim 활성화는 OpenShift Container Platform 및 Kubernetes 보안 클러스터에서 지원됩니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성 → 클러스터로 이동합니다.
  2. Clusters 뷰 헤더에서 위임된 검사 관리를 클릭합니다.
  3. Delegated Image Scanning 페이지에서 다음 정보를 제공합니다.

    • delegate scanning for: 다음 옵션 중 하나를 선택하여 이미지 위임의 범위를 선택합니다.

      • none: 기본 옵션입니다. 이 옵션은 OpenShift Container Platform 통합 레지스트리의 이미지를 제외하고 보안 클러스터에서 이미지를 스캔하지 않도록 지정합니다.
      • 모든 레지스트리: 이 옵션은 보안 클러스터에서 모든 이미지를 스캔했음을 나타냅니다.
      • 지정된 레지스트리: 이 옵션은 레지스트리 목록을 기반으로 보안 클러스터에서 스캔해야 하는 이미지를 지정합니다.
    • 기본 클러스터를 선택합니다. 드롭다운 목록에서 CLI(명령줄 인터페이스) 및 API에서 들어오는 검사 요청을 처리할 기본 클러스터의 이름을 선택합니다. 이는 선택 사항이며 필요한 경우 None 을 선택할 수 있습니다.
    • 선택 사항: 레지스트리 추가 를 클릭하고 소스 레지스트리 및 대상 클러스터 세부 정보를 지정합니다. 검사 요청이 CLI 및 API에서 제공되지 않는 경우 대상 클러스터를 None 으로 선택할 수 있습니다. 필요한 경우 여러 소스 레지스트리 및 대상 클러스터를 추가할 수 있습니다.
  4. 저장을 클릭합니다.

이제 중앙과 센서 간에 이미지 통합이 동기화되고 각 네임스페이스에서 Sensor 캡처가 캡처됩니다. 그런 다음 센서는 이러한 인증 정보를 사용하여 이미지 레지스트리에 인증합니다.

12.3.3. 보안 클러스터에 Scanner-slim 설치 및 구성

12.3.3.1. Operator 사용

RHACS Operator는 각 보안 클러스터에 Scanner-slim 버전을 설치하여 OpenShift Container Platform 통합 레지스트리 및 기타 레지스트리의 이미지를 스캔합니다.

자세한 내용은 Operator를 사용하여 보안 클러스터에 RHACS 설치를 참조하십시오.

12.3.3.2. Helm 사용

보안 클러스터 서비스 Helm 차트(Secure-cluster-services)는 각 보안 클러스터에 Scanner-slim 버전을 설치합니다. Kubernetes에서 보안 클러스터 서비스에는 선택적 구성 요소로 scanner-slim이 포함됩니다. 그러나 OpenShift Container Platform에서 RHACS는 각 보안 클러스터에 Scanner-slim 버전을 설치하여 OpenShift Container Platform 통합 레지스트리 및 기타 레지스트리의 이미지를 스캔합니다.

12.3.3.3. 설치 후 확인

프로세스

  • 보안 클러스터의 상태가 Scanner가 있고 정상임을 나타내는지 확인합니다.

    1. RHACS 포털에서 플랫폼 구성 → 클러스터로 이동합니다.
    2. 클러스터 보기에서 클러스터를 선택하여 세부 정보를 확인합니다.
    3. 상태 카드에서 스캐너 가 있고 Healthy로 표시되어 있는지 확인합니다.
12.3.3.4. 이미지 스캔 사용

roxctl CLI, Jenkins 및 API를 사용하여 클러스터별 OpenShift Container Platform 통합 이미지 레지스트리에 저장된 이미지를 스캔할 수 있습니다. 위임된 검사 구성에서 적절한 클러스터를 지정하거나 roxctl CLI, Jenkins 및 API에서 사용할 수 있는 클러스터 매개변수를 사용할 수 있습니다.

roxctl CLI를 사용하여 이미지를 스캔하는 방법에 대한 자세한 내용은 roxctl CLI를 사용하여 이미지 스캔 을 참조하십시오.

12.4. 스캔 설정

활성 및 비활성 이미지의 자동 스캔과 같은 검사 설정을 구성할 수 있습니다.

12.4.1. 활성 이미지 자동 스캔

Red Hat Advanced Cluster Security for Kubernetes는 모든 활성 이미지를 정기적으로 검사하고 최신 취약점 정의를 반영하도록 이미지 검사 결과를 업데이트합니다. 활성 이미지는 사용자 환경에 배포한 이미지입니다.

참고

Red Hat Advanced Cluster Security for Kubernetes 3.0.57에서는 이미지 조사 설정을 구성하여 비활성 이미지를 자동으로 스캔할 수 있습니다.

Central은 스캐너 또는 기타 통합 이미지 스캐너에서 4시간마다 결과를 업데이트하는 모든 활성 이미지에 대한 이미지 검사 결과를 가져옵니다.

필요에 따라 roxctl CLI를 사용하여 이미지 검사 결과를 확인할 수도 있습니다.

12.4.2. 비활성 이미지 스캔

RHACS(Red Hat Advanced Cluster Security for Kubernetes)는 4시간마다 모든 활성(배포) 이미지를 검사하고 최신 취약점 정의를 반영하도록 이미지 검사 결과를 업데이트합니다.

RHACS를 구성하여 비활성 (배포되지 않음) 이미지를 자동으로 스캔할 수도 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리(2.0) → 워크로드 CVE(기술 프리뷰) 로 이동합니다.
  2. & lt;number > 이미지를 클릭하여 이미지 목록을 표시하고 감시할 이미지를 찾습니다.
  3. 오버플로 메뉴 kebab 를 클릭한 다음 이미지 감시 를 선택합니다. 그러면 RHACS에서 이미지를 스캔하고 오류 또는 성공 메시지를 표시합니다.
  4. (선택 사항) 감시된 이미지를 제거하려면 오버플로 메뉴 kebab 를 클릭한 다음 Unwatch 이미지를 선택합니다.
  5. (선택 사항) 모든 감시된 이미지 목록을 보고 페이지 헤더에서 감시된 이미지 관리를 클릭하여 볼 이미지를 추가할 수 있습니다.

    중요

    RHACS 포털에서 플랫폼 구성 → 시스템 구성 을 클릭하여 데이터 보존 구성을 확인합니다.

    감시된 이미지 목록에서 제거된 이미지와 관련된 모든 데이터는 시스템 구성 페이지에서 언급된 일수의 기간 동안 RHACS 포털에 계속 표시되고 해당 기간이 종료된 후에만 제거됩니다.

  6. 닫기 를 클릭하여 워크로드 CVE 페이지로 돌아갑니다.

12.5. 취약점 정보

RHACS는 여러 취약점 피드에서 취약점 정의 및 업데이트를 가져옵니다. 이러한 피드는 모두 NVD와 같이 본질적으로 일반적이거나 Alpine, Debian 및 Ubuntu와 같은 배포별입니다. 발견된 취약점을 보고 해결하는 방법에 대한 자세한 내용은 취약점 관리를 참조하십시오.

12.5.1. 취약점 정의 가져오기

온라인 모드에서 Central은 단일 피드에서 5분마다 취약점 정의를 가져옵니다. 이 피드는 업스트림 소스의 취약점 정의를 결합하고 3시간마다 새로 고쳐집니다.

  • 피드 주소는 https://definitions.stackrox.io 입니다.
  • ROX_SCANNER_VULN_UPDATE_INTERVAL 환경 변수를 설정하여 Central 및 StackRox 스캐너의 기본 쿼리 빈도를 변경할 수 있습니다.

    $ oc -n stackrox set env deploy/central ROX_SCANNER_VULN_UPDATE_INTERVAL=<value> 1
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.

다음 지침을 참조하십시오.

  • StackRox 스캐너의 구성 맵에는 여전히 스캐너의 업데이트 빈도를 구성하기 위한 updater.interval 매개변수가 있지만 더 이상 fetchFromCentral 매개변수가 포함되지 않습니다.
  • 이 환경 변수 설정은 Scanner V4에서 지원되지 않습니다.

RHACS에서 사용하는 취약점 소스에 대한 자세한 내용은 "Red Hat Advanced Cluster Security for Kubernetes 아키텍처"의 "Vulnerability Source"를 참조하십시오.

추가 리소스

12.5.2. 취약점 점수 이해

Red Hat Advanced Cluster Security for Kubernetes 포털은 각 취약점에 대한 하나의 CVSS(Common Vulnerability Scoring System) 기본 점수를 보여줍니다. RHACS는 다음 기준에 따라 CVSS 점수를 보여줍니다.

  • CVSS v3 점수를 사용할 수 있는 경우 RHACS에 점수가 표시되고 v3 목록이 함께 나열됩니다. 예를 들면 6.5(v3) 입니다.

    참고

    CVSS v3 점수는 StackRox 스캐너 버전 1.3.5 이상 또는 스캐너 V4를 사용하는 경우에만 사용할 수 있습니다.

  • CVSS v3 점수를 사용할 수 없는 경우 RHACS에 CVSS v2 점수만 표시될 수 있습니다. 예를 들면 6.5 입니다.

API를 사용하여 CVSS 점수를 얻을 수 있습니다. 취약점에 CVSS v3 정보를 사용할 수 있는 경우 응답에는 CVSS v3 및 CVSS v2 정보가 모두 포함될 수 있습니다.

RHSA(Red Hat Security Advisory)의 경우 CVSS 점수는 모든 관련 CVE 중에서 가장 높은 CVSS 점수로 설정됩니다. 하나의 RHSA에는 여러 CVE가 포함될 수 있으며 Red Hat은 취약점이 다른 Red Hat 제품에 미치는 영향에 따라 다른 점수를 할당하는 경우가 있습니다.

12.6. 언어별 취약점 검사 비활성화

스캐너는 기본적으로 프로그래밍 언어별 종속 항목의 취약점을 식별합니다. 언어별 종속성 검사를 비활성화할 수 있습니다.

프로세스

  • 언어별 취약점 검사를 비활성화하려면 다음 명령을 실행합니다.

    $ oc -n stackrox set env deploy/scanner \ 1
      ROX_LANGUAGE_VULNS=false 2
    1
    Kubernetes를 사용하는 경우 oc 대신 kubectl 을 입력합니다.
    2
    Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.47 이상을 사용하는 경우 환경 변수 ROX_LANGUAGE_VULNSLANGUAGE_VULNS 로 교체합니다.

12.7. 추가 리소스

13장. 이미지 서명 확인

RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하면 사전 구성된 키에 대해 이미지 서명을 확인하여 클러스터에서 컨테이너 이미지의 무결성을 보장할 수 있습니다.

서명이 확인되지 않은 서명이 없는 이미지를 차단하는 정책을 생성할 수 있습니다. RHACS 승인 컨트롤러를 사용하여 무단 배포 생성을 중지하여 정책을 적용할 수도 있습니다.

참고
  • RHACS 3.70은 Cosign 서명 및 Cosign 공개 키 서명 확인만 지원합니다. Cosign에 대한 자세한 내용은 Cosign 개요 를 참조하십시오.
  • 서명 확인을 위해 하나 이상의 Cosign 공개 키와 서명 통합을 구성해야 합니다.
  • 배포된 모든 이미지와 감시된 이미지의 경우:

    • RHACS는 4시간마다 서명을 가져와서 확인합니다.
    • RHACS는 서명 통합 공개 키를 변경하거나 업데이트할 때마다 서명을 확인합니다.

13.1. 서명 통합 구성

이미지 서명 확인을 수행하기 전에 RHACS에 Cosign 공개 키를 추가해야 합니다.

사전 요구 사항

  • PEM 인코딩 Cosign 공개 키가 이미 있어야 합니다. Cosign에 대한 자세한 내용은 Cosign 개요 를 참조하십시오.

프로세스

  1. RHACS 포털에서 플랫폼 구성 → 통합을 선택합니다.
  2. 서명 통합 섹션까지 아래로 스크롤하고 서명을 클릭합니다.
  3. 새 통합을 클릭합니다.
  4. 통합 이름의 이름을 입력합니다.
  5. Cosign새 공개 키 추가를 클릭합니다.
  6. 공개 키 이름을 입력합니다.
  7. 공개 키 값 필드에 PEM 인코딩 공개 키를 입력합니다.
  8. (선택 사항) 새 공개 키 추가를 클릭하고 세부 정보를 입력하여 두 개 이상의 키를 추가할 수 있습니다.
  9. 저장을 클릭합니다.

13.2. 정책에서 서명 확인 사용

사용자 정의 보안 정책을 생성할 때 신뢰할 수 있는 이미지 서명자 정책 기준을 사용하여 이미지 서명을 확인할 수 있습니다.

사전 요구 사항

  • 이미 1개 이상의 Cosign 공개 키와의 서명 통합을 구성해야 합니다.

프로세스

  1. 정책을 생성하거나 편집할 때 Policy criteria 섹션의 policy 필드 드롭다운 영역에서 신뢰할 수 있는 이미지 서명자 정책 기준에 의해 확인되지 않음을 끕니다.
  2. Select 를 클릭합니다.
  3. 목록에서 신뢰할 수 있는 이미지 서명자를 선택하고 저장을 클릭합니다.

13.3. 서명 확인 강제 적용

사용자가 서명되지 않은 이미지를 사용하지 못하도록 RHACS 승인 컨트롤러를 사용하여 서명 확인을 적용할 수 있습니다. 먼저 클러스터 구성 설정에서 연락처 이미지 스캐너 기능을 활성화해야 합니다. 그런 다음 서명 확인을 적용하기 위한 보안 정책을 생성하는 동안 Inform 및 enforce 옵션을 사용할 수 있습니다.

자세한 내용은 허용 컨트롤러 적용 활성화를 참조하십시오.

14장. 취약점 관리

14.1. 취약점 관리

공격자가 사용자 환경의 보안 취약점을 악용하여 서비스 거부, 원격 코드 실행 또는 중요한 데이터에 대한 무단 액세스와 같은 무단 작업을 수행할 수 있습니다. 따라서 취약점 관리는 성공적인 Kubernetes 보안 프로그램을 위한 기본 단계입니다.

14.1.1. 취약점 관리 프로세스

취약점 관리는 취약점을 식별하고 수정하기 위한 지속적인 프로세스입니다. Red Hat Advanced Cluster Security for Kubernetes는 취약점 관리 프로세스를 원활하게 수행할 수 있도록 지원합니다.

성공적인 취약점 관리 프로그램에는 다음과 같은 중요한 작업이 포함되는 경우가 많습니다.

  • 자산 평가 수행
  • 취약점의 우선순위 지정
  • 노출 평가
  • 작업 수행
  • 지속적으로 자산 재평가

Red Hat Advanced Cluster Security for Kubernetes는 조직이 OpenShift Container Platform 및 Kubernetes 클러스터에서 지속적인 평가를 수행할 수 있도록 지원합니다. 이를 통해 조직에 우선 순위를 정하고 환경 내 취약점을 보다 효과적으로 수행하는 데 필요한 컨텍스트 정보를 제공합니다.

14.1.1.1. 자산 평가 수행

조직의 자산 평가를 수행하는 것은 다음과 같은 조치를 취합니다.

  • 사용자 환경에서 자산 식별
  • 이러한 자산을 스캔하여 알려진 취약점 확인
  • 영향을 받는 이해관계자에게 사용자 환경의 취약점 보고

Kubernetes 또는 OpenShift Container Platform 클러스터에 Red Hat Advanced Cluster Security for Kubernetes를 설치할 때 먼저 클러스터 내에서 실행되는 자산을 집계하여 해당 자산을 식별하는 데 도움이 됩니다. RHACS를 사용하면 조직은 OpenShift Container Platform 및 Kubernetes 클러스터에서 지속적인 평가를 수행할 수 있습니다. RHACS는 조직 환경에 있는 취약점의 우선 순위를 지정하고 조치를 보다 효과적으로 수행할 수 있는 컨텍스트 정보를 제공합니다.

RHACS를 사용하여 조직의 취약점 관리 프로세스에서 모니터링해야 하는 중요한 자산은 다음과 같습니다.

  • components: 구성 요소는 이미지의 일부로 사용하거나 노드에서 실행할 수 있는 소프트웨어 패키지입니다. 구성 요소는 취약점이 존재하는 가장 낮은 수준입니다. 따라서 조직은 취약점을 해결하기 위해 어떤 방식으로든 소프트웨어 구성 요소를 업그레이드, 수정 또는 제거해야 합니다.
  • Image: 코드의 실행 가능한 부분을 실행하는 환경을 생성하는 소프트웨어 구성 요소 및 코드의 컬렉션입니다. 이미지는 취약점을 해결하기 위해 구성 요소를 업그레이드하는 위치입니다.
  • nodes: OpenShift 또는 Kubernetes 및 OpenShift Container Platform 또는 Kubernetes 서비스를 구성하는 구성 요소를 사용하여 애플리케이션을 관리하고 실행하는 데 사용되는 서버입니다.

Red Hat Advanced Cluster Security for Kubernetes는 이러한 자산을 다음 구조로 그룹화합니다.

  • Deployment: 하나 이상의 이미지를 기반으로 컨테이너가 있는 Pod를 실행할 수 있는 Kubernetes의 애플리케이션에 대한 정의입니다.
  • namespace: 애플리케이션을 지원하고 격리하는 배포와 같은 리소스 그룹입니다.
  • 클러스터: OpenShift 또는 Kubernetes를 사용하여 애플리케이션을 실행하는 데 사용되는 노드 그룹입니다.

Red Hat Advanced Cluster Security for Kubernetes는 알려진 취약점의 자산을 스캔하고 CVE(Common Vulnerabilities and Exposures) 데이터를 사용하여 알려진 취약점의 영향을 평가합니다.

14.1.2. 취약점 보기

RHACS는 시스템에서 발견된 취약점을 볼 수 있는 다음과 같은 방법을 제공합니다.

  • 네임스페이스 또는 배포별 애플리케이션 취약점을 보거나 이미지의 취약점을 보려면 RHACS 웹 포털에서 취약점 관리(1.0)대시보드 로 이동합니다.
  • 시스템의 클러스터에서 실행되는 애플리케이션의 취약점을 보려면 취약점 관리(2.0)워크로드 CVE 로 이동합니다. 이미지, 배포, 네임스페이스 및 클러스터별로 취약점을 필터링할 수 있습니다.
14.1.2.1. 애플리케이션 취약점 보기

Red Hat Advanced Cluster Security for Kubernetes에서 애플리케이션 취약점을 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리 1.0대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 애플리케이션 및 인프라네임스페이스 또는 배포를 선택합니다.
  3. 목록에서 검토할 네임스페이스 또는 배포를 검색하고 선택합니다.
  4. 애플리케이션에 대한 자세한 정보를 얻으려면 오른쪽에 있는 관련 엔티티 에서 엔터티를 선택합니다.
14.1.2.2. 이미지 취약점 보기

Red Hat Advanced Cluster Security for Kubernetes에서 이미지 취약점을 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리 1.0대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 이미지를 선택합니다.
  3. 이미지 목록에서 조사할 이미지를 선택합니다. 다음 단계 중 하나를 수행하여 목록을 필터링할 수도 있습니다.

    1. 검색 창에 Image 를 입력한 다음 Image 특성을 선택합니다.
    2. 검색 창에 이미지 이름을 입력합니다.
  4. 이미지 세부 정보 뷰에서 나열된 CVE를 검토하고 영향을 받는 구성 요소를 해결하기 위한 조치의 우선 순위를 지정합니다.
  5. 오른쪽에 있는 관련 엔티티 의 구성 요소를 선택하여 선택한 이미지의 영향을 받는 모든 구성 요소에 대한 자세한 정보를 가져옵니다. 또는 특정 CVE의 영향을 받는 구성 요소 목록에 대해 이미지 검사 섹션 아래의 영향을 받는 구성 요소 열에서 구성 요소를 선택합니다.
14.1.2.3. 취약점 관리에서 워크로드 CVE 보기 (2.0)

이미지 및 배포 전반에서 RHACS에서 포괄적인 취약점 또는 CVE 목록을 볼 수 있습니다. 검색 필터 표시줄을 사용하여 특정 CVE, 이미지, 배포, 네임스페이스 또는 클러스터를 선택할 수 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리(2.0)워크로드 CVE 로 이동합니다.
  2. 드롭다운 목록에서 사용할 검색 기준을 선택합니다. 목록에서 클러스터와 같은 항목 유형을 선택한 다음 항목의 특정 이름을 선택할 수 있습니다. 목록에서 다른 항목을 선택하고 새 항목의 특정 이름을 선택하여 필터에 항목을 추가할 수 있습니다. 예를 들어 특정 이미지와 특정 클러스터를 선택하여 결과를 해당 선택으로 제한할 수 있습니다. 다음 항목을 필터링할 수 있습니다.

    • CVE
    • 이미지
    • Deployment
    • 네임스페이스
    • Cluster
    • Component
    • 구성 요소 소스
  3. 선택 사항: CVE 심각도 목록을 사용하여 표시할 CVE의 심각도를 선택합니다.
  4. 관련 버튼을 클릭하여 시스템의 취약점, 이미지 또는 배포 목록을 확인합니다.

    참고

    필터링된 뷰 아이콘은 선택한 기준에 따라 표시된 결과가 필터링 되었음을 나타냅니다. 필터 지우기 를 클릭하여 모든 필터를 제거하거나 개별 필터를 클릭하여 제거할 수 있습니다.

  5. 결과 목록에서 CVE, 이미지 이름 또는 배포 이름을 클릭하여 항목에 대한 자세한 정보를 확인합니다. 예를 들어 항목 유형에 따라 다음 정보를 볼 수 있습니다.

    • CVE를 수정할 수 있는지 여부
    • 이미지가 활성화되어 있는지 여부
    • CVE가 포함된 이미지의 Dockerfile 행
    • Red Hat 및 기타 CVE 데이터베이스의 CVE에 대한 외부 링크

검색 예

다음 그래픽에서는 해당 클러스터에서 심각하고 중요한 심각도의 CVE를 확인하기 위해 "production"이라는 클러스터의 검색 기준의 예를 보여줍니다.

심각 및 중요 심각도가 있는 CVE에 대한 프로덕션 클러스터에 대한 검색을 표시하는 워크로드 CVE
14.1.2.3.1. 인프라 취약점 보기

Red Hat Advanced Cluster Security for Kubernetes를 사용하여 노드의 취약점을 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리 1.0대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 애플리케이션 및 인프라 → 클러스터를 선택합니다.
  3. 클러스터 목록에서 조사할 클러스터를 선택합니다.
  4. 클러스터 취약점을 검토하고 클러스터의 영향을 받는 노드에서 작업을 우선순위로 지정합니다.
14.1.2.3.2. 노드 취약점 보기

Red Hat Advanced Cluster Security for Kubernetes를 사용하여 특정 노드의 취약점을 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리 1.0대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 노드를 선택합니다.
  3. 노드 목록에서 조사할 노드를 선택합니다.
  4. 선택한 노드의 취약점을 검토하고 작업 우선순위를 지정합니다.
  5. 노드에서 영향을 받는 구성 요소에 대한 자세한 내용을 보려면 오른쪽에 있는 관련 엔티티구성 요소를 선택합니다.
14.1.2.4. 취약점의 우선순위 지정

작업 및 조사를 위해 환경의 취약점의 우선 순위를 지정하려면 다음 질문에 대답하십시오.

  • 조직의 영향을 받는 자산이 얼마나 중요합니까?
  • 취약점을 조사하기 위해 얼마나 심각한가?
  • 영향을 받는 소프트웨어 구성 요소에 대한 패치로 이 취약점을 수정할 수 있습니까?
  • 취약점의 존재가 조직의 보안 정책을 위반합니까?

이러한 질문에 대한 답변은 보안 및 개발팀이 취약점 노출을 측정해야 하는지를 결정하는 데 도움이 됩니다.

Red Hat Advanced Cluster Security for Kubernetes는 애플리케이션 및 구성 요소의 취약점의 우선 순위를 매기는 수단을 제공합니다.

14.1.2.5. 노출 평가

취약점에 대한 노출을 평가하려면 다음 질문에 대답하십시오.

  • 애플리케이션이 취약점의 영향을 받습니까?
  • 이 취약점이 다른 요인에 의해 완화됩니까?
  • 이 취약점을 악용할 수 있는 알려진 취약점이 있습니까?
  • 취약점이 있는 소프트웨어 패키지를 사용하고 있습니까?
  • 특정 취약점과 가치가 있는 소프트웨어 패키지에 시간을 소비하고 있습니까?

평가에 따라 다음 작업 중 일부를 수행합니다.

  • 노출이 없거나 환경에 취약점이 적용되지 않는 경우 취약점을 잘못된 긍정으로 표시하는 것이 좋습니다.
  • 노출되는 경우 위험을 해결, 완화 또는 수락하는 것이 좋습니다.
  • 공격 면적을 줄이기 위해 소프트웨어 패키지를 제거하거나 변경하려면 다음을 고려하십시오.
14.1.2.6. 작업 수행

취약점을 해결하기로 결정한 후 다음 작업 중 하나를 수행할 수 있습니다.

  • 취약점 수정
  • 위험 완화 및 승인
  • 위험을 감수
  • 취약점을 잘못된 긍정으로 표시

다음 작업 중 하나를 수행하여 취약점을 해결할 수 있습니다.

  • 소프트웨어 패키지 제거
  • 소프트웨어 패키지를 사용할 수 없는 버전으로 업데이트합니다.
14.1.2.6.1. 새 구성 요소 버전 찾기

다음 절차에서는 업그레이드할 새 구성 요소 버전을 찾습니다.

프로세스

  1. RHACS 포털에서 취약점 관리 1.0대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 이미지를 선택합니다.
  3. 이미지 목록에서 이미 평가한 이미지를 선택합니다.
  4. 이미지 결과 섹션에서 CVE를 선택합니다.
  5. 조치를 취할 CVE의 영향을 받는 구성 요소를 선택합니다.
  6. CVE가 수정된 구성 요소의 버전을 검토하고 이미지를 업데이트합니다.
14.1.2.7. 위험 수락

이 섹션의 지침에 따라 Red Hat Advanced Cluster Security for Kubernetes의 위험을 수락합니다.

사전 요구 사항

  • VulnerabilityManagementRequests 리소스에 대한 쓰기 권한이 있어야 합니다.

완화 또는 완화 조치 없이 위험을 감수하려면 다음을 수행합니다.

프로세스

  1. RHACS 포털에서 취약점 관리 1.0대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 이미지를 선택합니다.
  3. 이미지 목록에서 이미 평가한 이미지를 선택합니다.
  4. 작업을 수행할 CVE를 나열하는 행을 찾습니다.
  5. 식별한 CVE의 오버플로 메뉴 kebab 를 클릭합니다.
  6. Defer CVE 를 클릭합니다.
  7. CVE를 연기할 때까지 날짜와 시간을 선택합니다.
  8. 선택한 이미지 태그의 CVE 또는 이 이미지의 모든 태그를 지연하려면 선택합니다.
  9. 결함의 이유를 입력합니다.
  10. 승인 요청을 클릭합니다. CVE 오른쪽에 있는 파란색 정보 아이콘을 선택하고 조직의 deferral approver와 공유할 승인 링크를 복사합니다.
14.1.2.7.1. 취약점을 false positive로 표시

다음 절차에서는 취약점을 잘못된 긍정으로 표시합니다.

사전 요구 사항

  • VulnerabilityManagementRequests 리소스에 대한 쓰기 권한이 있어야 합니다.

프로세스

  1. RHACS 포털에서 취약점 관리 1.0대시보드 로 이동합니다.
  2. 대시보드 보기 헤더에서 이미지를 선택합니다.
  3. 이미지 목록에서 이미 평가한 이미지를 선택합니다.
  4. 작업을 수행할 CVE를 나열하는 행을 찾습니다.
  5. 식별한 CVE 오른쪽에 있는 kebab 를 클릭하고 Defer CVE 를 클릭합니다.
  6. CVE를 지연할 날짜 및 시간을 선택합니다.
  7. 선택한 이미지 태그의 CVE 또는 이 이미지의 모든 태그를 지연하려면 선택합니다.
  8. 결함의 이유를 입력합니다.
  9. 승인 요청을 클릭합니다.
  10. CVE 오른쪽에 있는 파란색 정보 아이콘을 선택하고 조직의 deferral approver와 공유할 승인 링크를 복사합니다.
14.1.2.7.2. 잘못된 긍정 또는 지연된 CVE 검토

다음 절차에 따라 긍정 또는 지연된 CVE를 검토합니다.

사전 요구 사항

  • VulnerabilityManagementApprovals 리소스에 대한 쓰기 권한이 있어야 합니다.

잘못된 긍정 또는 지연된 CVE를 검토할 수 있습니다.

프로세스

  1. 브라우저 또는 RHACS 포털에서 승인 링크를 엽니다.
  2. 취약점 관리위험 수락 으로 이동하여 CVE를 검색합니다.
  3. 취약점 범위 및 조치를 검토하여 승인할지 여부를 결정합니다.
  4. CVE의 맨 오른쪽에 있는 kebab 를 클릭하고 승인 요청을 승인하거나 거부합니다.
14.1.2.8. 팀에 취약점 보고

조직은 취약점을 지속적으로 재평가하고 보고해야 하므로 일부 조직은 취약점 관리 프로세스에 도움이 되도록 주요 이해 관계자와의 통신을 예약하는 것이 도움이 될 수 있습니다.

Red Hat Advanced Cluster Security for Kubernetes를 사용하여 이메일을 통해 이러한 반복 통신을 예약할 수 있습니다. 이러한 통신은 주요 이해 관계자가 필요로 하는 가장 적절한 정보로 범위가 지정되어야 합니다.

이러한 통신을 보내려면 다음 질문을 고려해야 합니다.

  • 이해 관계자와 통신할 때 가장 큰 영향을 미치는 일정은 무엇입니까?
  • 대상자는 무엇입니까?
  • 보고서에 특정 심각도 취약점만 전송해야 합니까?
  • 보고서에 수정 가능한 취약점만 보내야 합니까?

14.1.3. 취약점 보고

RHACS 웹 포털의 취약점 관리(2.0) 메뉴에서 온디맨드 이미지 취약점 보고서를 생성하고 다운로드할 수 있습니다. 이 보고서에는 RHACS의 워크로드 CVE라는 이미지와 배포 전반에 걸쳐 일반적인 취약점의 포괄적인 목록이 포함되어 있습니다. RHACS에서 이메일을 예약하거나 다른 방법을 사용하여 보고서를 다운로드하고 공유하여 감사자 또는 내부 이해관계자와 공유할 수 있습니다.

14.1.3.1. 취약점 관리 보고서 구성 생성

RHACS는 취약점 관리 보고서 구성 생성 프로세스를 안내합니다. 이 구성에서는 예약된 시간에 실행되거나 필요에 따라 실행되는 보고서 작업에 포함될 정보가 결정됩니다.

프로세스

  1. RHACS 포털에서 취약점 관리(2.0)취약점 보고.
  2. 보고서 생성을 클릭합니다.
  3. 보고서 이름 필드에 보고서 구성의 이름을 입력합니다.
  4. 선택 사항: 설명 필드에 보고서 구성을 설명하는 텍스트를 입력합니다.
  5. CVE 심각도 필드에서 보고서 구성에 포함할 CVE(Common vulnerabilities and exposures)의 심각도를 선택합니다.
  6. CVE 상태를 선택합니다. 수정 가능, 수정 되지 않음 또는 둘 다를 선택할 수 있습니다.
  7. 이미지 유형 필드에서 배포된 이미지의 CVE, 감시된 이미지 또는 둘 다 포함할지 여부를 선택합니다.
  8. 이후 발견된 CVE 에서 CVE를 보고서 구성에 포함할 기간을 선택합니다.
  9. 보고서 범위 구성 필드에서 다음 작업을 수행할 수 있습니다.

    • 기존 컬렉션을 선택하고 보기를 클릭하여 컬렉션 정보를 보고 컬렉션을 편집하고 컬렉션 결과 프리뷰를 가져옵니다. 컬렉션을 볼 때 필드에 텍스트를 입력하면 해당 텍스트 문자열과 일치하는 컬렉션을 검색합니다.
    • 컬렉션 생성 을 클릭하여 새 컬렉션을 생성합니다.

      참고

      컬렉션에 대한 자세한 내용은 "추가 리소스" 섹션의 "배포 컬렉션 생성 및 사용"을 참조하십시오.

  10. 다음을 클릭하여 전달 대상을 구성하고 선택적으로 전달할 일정을 설정합니다.
14.1.3.1.1. 전달 대상 및 스케줄링 구성

이전 페이지에서 마지막으로 예약된 보고서 이후 발견된 CVE를 포함하는 옵션을 선택하지 않은 경우 취약점 보고서에 대한 대상 및 제공 일정 구성은 선택 사항입니다. 해당 옵션을 선택한 경우 취약점 보고서에 대한 대상 및 제공 일정을 구성해야 합니다.

프로세스

  1. 전달 대상 구성 섹션에서 대상을 구성하려면 전달 대상을 추가하고 보고 일정을 설정할 수 있습니다.
  2. 보고서를 이메일로 보내려면 이메일 알림기를 하나 이상 구성해야 합니다. 기존 알림기를 선택하거나 새 이메일 알림기를 만들어 이메일로 보고서를 보냅니다. 이메일 알림 생성에 대한 자세한 내용은 "추가 리소스" 섹션의 "이메일 플러그인 구성"을 참조하십시오.

    알림기를 선택하면 기본 수신자배포 목록 필드에 표시되므로 notifier에 구성된 이메일 주소가 표시됩니다. 쉼표로 구분된 추가 이메일 주소를 추가할 수 있습니다.

  3. 기본 이메일 템플릿이 자동으로 적용됩니다. 이 기본 템플릿을 편집하려면 다음 단계를 수행합니다.

    1. 편집 아이콘을 클릭하고 편집 탭에 사용자 지정 제목 및 이메일 본문을 입력합니다.
    2. 프리뷰 탭을 클릭하여 제안된 템플릿을 확인합니다.
    3. 적용을 클릭하여 템플릿에 대한 변경 사항을 저장합니다.

      참고

      특정 보고서의 보고서 작업을 검토할 때 보고서를 만들 때 기본 템플릿 또는 사용자 지정된 템플릿이 사용되었는지 여부를 확인할 수 있습니다.

  4. Configure schedule 섹션에서 보고서의 빈도 및 요일을 선택합니다.
  5. 다음을 클릭하여 취약점 보고서 구성을 검토하고 생성을 완료합니다.
14.1.3.1.2. 보고서 구성 검토 및 생성

취약점 보고서 구성의 세부 정보를 생성하기 전에 검토할 수 있습니다.

프로세스

  1. 검토 및 생성 섹션에서는 이메일 전달, 전달 일정 및 보고서 형식을 선택한 경우 사용되는 보고서 구성 매개 변수, 전달 대상, 이메일 템플릿을 검토할 수 있습니다. 변경하려면 이전 섹션으로 이동하여 변경할 필드를 편집합니다.
  2. 만들기 를 클릭하여 보고서 구성을 생성하고 저장합니다.
14.1.3.2. 취약점 보고서 권한

보고서를 생성, 보기 및 다운로드하는 기능은 사용자 계정에 대한 액세스 제어 설정 또는 역할 및 권한 세트에 따라 다릅니다.

예를 들어 사용자 계정에 액세스할 수 있는 데이터에 대한 보고서만 보고, 만들고, 다운로드할 수 있습니다. 또한 다음과 같은 제한 사항이 적용됩니다.

  • 생성한 보고서만 다운로드할 수 있습니다. 다른 사용자가 생성한 보고서를 다운로드할 수 없습니다.
  • 보고서 권한은 사용자 계정의 액세스 설정에 따라 제한됩니다. 계정 액세스 설정이 변경되면 이전 보고서에 변경 사항이 반영되지 않습니다. 예를 들어 새 권한이 부여되고 해당 권한에서 현재 허용되는 취약점 데이터를 보려면 새 취약점 보고서를 생성해야 합니다.
14.1.3.3. 취약점 보고서 구성 편집

보고서 구성 목록에서 기존 취약점 보고서 구성을 편집하거나 개별 보고서 구성을 먼저 선택할 수 있습니다.

프로세스

  1. 기존 취약점 보고서 구성을 편집하려면 RHACS 웹 포털에서 취약점 관리(2.0)취약점 보고 로 이동하여 다음 방법 중 하나를 선택합니다.

    • 보고서 구성 목록에서 편집할 보고서 구성을 찾습니다. 오버플로 메뉴 kebab 를 클릭한 다음 보고서 편집을 선택합니다.
    • 보고서 구성 목록에서 보고서 구성 이름을 클릭합니다. 그런 다음 작업을 클릭하고 보고서 편집을 선택합니다.
  2. 보고서 구성을 변경하고 저장합니다.
14.1.3.4. 취약점 보고서 다운로드

온디맨드 취약점 보고서를 생성한 다음 다운로드할 수 있습니다.

참고

생성한 보고서만 다운로드할 수 있습니다. 다른 사용자가 생성한 보고서를 다운로드할 수 없습니다.

프로세스

  1. RHACS 웹 포털에서 취약점 관리(2.0)취약점 보고 로 이동하여 보고서 구성 목록에서 다운로드 가능한 보고서를 생성하는 데 사용할 보고서 구성을 찾습니다.
  2. 다음 방법 중 하나를 사용하여 취약점 보고서를 생성합니다.

    • 목록에서 보고서를 생성하려면 다음을 수행합니다.

      1. 오버플로 메뉴 kebab 를 클릭한 다음 다운로드 생성 을 선택합니다. 내 활성 작업 상태 열에는 보고서 생성 상태가 표시됩니다. 처리 상태가 종료되면 보고서를 다운로드할 수 있습니다.
    • 보고서 창에서 보고서를 생성하려면 다음을 수행합니다.

      1. 보고서 구성 이름을 클릭하여 구성 세부 정보 창을 엽니다.
      2. 작업을 클릭하고 다운로드 생성 을 선택합니다.
  3. 보고서를 다운로드하려면 보고서 구성 목록을 보는 경우 보고서 구성 이름을 클릭하여 엽니다.
  4. 모든 보고서 작업을 클릭합니다.
  5. 보고서가 완료되면 Status 열에서 다운로드 준비 링크를 클릭합니다. 이 보고서는 .csv 형식으로 되어 있으며 다운로드를 위해 .zip 파일로 압축됩니다.
14.1.3.5. 필요에 따라 취약점 보고 전송

예약된 전송 시간을 기다리지 않고 즉시 취약점 보고서를 보낼 수 있습니다.

프로세스

  1. RHACS 웹 포털에서 취약점 관리(2.0)취약점 보고 로 이동하여 보고서 구성 목록에서 보낼 보고서의 보고서 구성을 찾습니다.
  2. 오버플로 메뉴 kebab 를 클릭한 다음 지금 보고서 보내기 를 선택합니다.
14.1.3.6. 취약점 보고서 구성 복제

취약점 보고서 구성의 복사본을 복제하여 만들 수 있습니다. 이 기능은 다양한 배포 또는 네임스페이스의 취약점 보고와 같이 약간의 변경 사항으로 보고서 구성을 재사용하려는 경우에 유용합니다.

프로세스

  1. RHACS 웹 포털에서 취약점 관리(2.0)취약점 보고 로 이동하여 보고서 구성 목록에서 복제할 보고서 구성을 찾습니다.
  2. 보고서 복제 를 클릭합니다.
  3. 보고서 매개 변수 및 전달 대상으로 변경할 수 있습니다.Make any changes that you want to the report parameters and delivery destinations.
  4. 생성을 클릭합니다.
14.1.3.7. 취약점 보고서 구성 삭제

보고서 구성을 삭제하면 이 구성을 사용하여 이전에 실행된 보고서와 구성이 삭제됩니다.

프로세스

  1. RHACS 웹 포털에서 취약점 관리(2.0)취약점 보고 로 이동하여 보고서 목록에서 삭제할 보고서 구성을 찾습니다.
  2. 오버플로 메뉴 kebab 를 클릭한 다음 보고서 삭제 를 선택합니다.
14.1.3.8. 취약점 관리 보고서 작업 보존 설정 구성

보고서 작업 요청이 만료되는 시기 및 보고서 작업에 대한 기타 보존 설정을 결정하는 설정을 구성할 수 있습니다.

참고

이러한 설정은 다음 취약점 보고서 작업에 영향을 미치지 않습니다.

  • WAITING 또는 PREPARING 상태의 작업 (작업 제외)
  • 마지막으로 성공한 예약된 보고서 작업
  • 마지막으로 성공적인 온 디맨드 이메일 보고서 작업
  • 마지막으로 성공적인 다운로드 보고서 작업
  • 수동 삭제로 또는 다운로드 가능한 보고서 정리 설정을 구성하여 보고서 파일이 삭제되지 않은 다운로드 가능한 보고서 작업

프로세스

  1. RHACS 웹 포털에서 플랫폼 구성시스템 구성으로 이동합니다. 취약점 보고서 작업에 대해 다음 설정을 구성할 수 있습니다.

    • 취약점 보고서 실행 기록 보존: 실행된 취약점 보고서 작업에 대해 레코드가 유지되는 일 수입니다. 이 설정은 보고서 구성이 선택될 때 취약점 관리(2.0) → 취약점 보고모든 보고서 작업 탭에 작업을 보고하는 일 수를 제어합니다. 다음 작업을 제외하고 컷오프 날짜를 초과하는 모든 보고서 기록이 정리됩니다.

      • 완료되지 않은 작업
      • 준비된 다운로드 가능한 보고서가 시스템에 남아 있는 작업이 있습니다.
      • 각 작업 유형(스케줄링 이메일, 온디맨드 이메일 또는 다운로드)에 대해 마지막으로 성공한 보고서 작업. 이렇게 하면 각 유형의 마지막 실행 작업에 대한 정보가 사용자에게 제공됩니다.
    • 사전 다운로드 가능한 취약점 보고서 보존일: 온디맨드 다운로드 보고서 작업을 생성한 일 수는 보고서 구성이 선택되면 취약점 관리(2.0) → 취약점 보고 에서 모든 보고서 작업 탭에서 다운로드할 수 있습니다.
    • 준비된 다운로드 가능한 취약점 보고서 제한: 다운로드 가능한 취약점 보고 작업을 준비하기 위해 할당된 공간의 제한(MB)입니다. 제한에 도달하면 다운로드 큐에서 가장 오래된 보고서 작업이 제거됩니다.
  2. 이러한 값을 변경하려면 편집 을 클릭하고 변경 사항을 수행한 다음 저장을 클릭합니다.
14.1.3.9. RHACS 버전 4.3 이상으로 업그레이드할 때 취약점 보고서 마이그레이션

RHACS(Red Hat Advanced Cluster Security for Kubernetes) 버전 4.3에는 취약점 관리 1.0 → Reporting 페이지의 이전 버전의 RHACS에서 생성된 취약점 보고서 구성 자동 마이그레이션이 포함되어 있습니다. 취약점 관리(2.0) → 취약점 보고 를 클릭하여 마이그레이션된 보고서 구성에 액세스할 수 있습니다. 이전 버전의 보고서 구성은 RHACS 웹 포털에서 또는 API를 사용하여 더 이상 사용할 수 없습니다.

RHACS는 마이그레이션 중에 다음 작업을 수행합니다.

  • 보고서 구성은 취약점 관리(2.0) → 취약점 보고 를 클릭하여 액세스할 수 있는 새 버전의 보고서를 생성하기 위해 복사됩니다.
  • 보고서의 원래 이름은 보고서를 새 위치로 마이그레이션할 때 사용됩니다.
  • 취약점 관리 2.0(기술 프리뷰)보고 페이지에서 생성된 보고서 구성은 RHACS 버전 4.3 이상으로 업그레이드하면 영향을 받지 않습니다. 이러한 보고서 구성에 액세스할 메뉴 항목은 취약점 관리(2.0) 로 이름이 변경되었으며 페이지의 이름이 Vulnerability Reporting 으로 변경되었습니다.
  • 취약점 관리 1.0 페이지를 사용하여 이전에 생성된 보고서 구성이 더 이상 존재하지 않기 때문에 마이그레이션되지 않으면 중앙 pod에서 생성한 로그에 해당 구성의 세부 정보가 추가됩니다. 로그의 세부 정보를 사용하여 취약점 관리(2.0) → 취약점 보고 를 클릭하고 새 보고서를 추가하여 보고서 구성을 다시 생성할 수 있습니다.
  • 취약점 관리 1.0 페이지를 사용하여 이전에 생성된 각 보고서 구성에 대해 가장 최근의 성공적인 예약 보고서 작업이 보고서 구성의 모든 보고서 작업으로 마이그레이션됩니다. 보고서 구성을 보려면 취약점 관리(2.0)취약점 보고 를 클릭한 다음 보고서 구성을 클릭합니다.

이후 버전에서 RHACS 4.2로 롤백해야 하는 경우 다음 작업이 수행됩니다.

  • 이제 마이그레이션으로 지연된 보고서 구성이 다시 작동하고 취약점 관리 1.0Reporting 을 클릭하여 사용할 수 있습니다.
  • 마이그레이션으로 생성된 보고서 구성은 계속 작동하고 Vulnerability Reporting 2.0(기술 프리뷰) 을 클릭하여 사용할 수 있습니다. 1.0 또는 2.0 보고 버전에서 생성된 원하지 않는 보고서 구성을 수동으로 삭제할 수 있습니다.
  • RHACS 4.2 또는 이전 버전으로 롤백한 후 취약점 관리 1.0보고 페이지의 보고서 구성이 업데이트되면 시스템을 다시 업그레이드할 때 마이그레이션된 보고서 구성에 해당 업데이트가 적용되지 않을 수 있습니다. 이 경우 보고서 구성의 세부 정보가 중앙 pod에서 생성한 로그에 추가됩니다. 취약점 관리(2.0) → 취약점 보고 를 클릭하고 로그의 세부 정보를 사용하여 보고서 구성을 수동으로 업데이트할 수 있습니다.
  • 취약점 관리 1.0보고 페이지에서 생성된 새 보고서 구성은 RHACS 버전 4.3 이상으로 업그레이드하면 마이그레이션됩니다.

14.1.4. 추가 리소스

14.2. 일반적인 취약점 관리 작업

일반적인 취약점 관리 작업에는 취약점을 식별하고 우선 순위 지정, 해결 및 새로운 위협을 모니터링하는 작업이 포함됩니다. 다음은 취약점 관리대시보드 보기에서 수행할 수 있는 몇 가지 일반적인 작업입니다.

14.2.1. 인프라에 영향을 미치는 중요한 CVE 찾기

취약점 관리 보기를 사용하여 플랫폼에 가장 영향을 미치는 CVE를 식별합니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리를 클릭합니다.
  2. 취약점 관리 보기 헤더에서 CVE를 선택합니다.
  3. CVE 보기에서 Env Impact 열 헤더를 선택하여 환경 영향에 따라 CVE를 내림차순(가장 높음)으로 구성합니다.

14.2.2. 가장 취약한 이미지 구성 요소 찾기

취약점 관리 보기를 사용하여 고도로 취약한 이미지 구성 요소를 식별합니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리를 클릭합니다.
  2. 취약점 관리 보기 헤더에서 애플리케이션 및 인프라 → 구성 요소를 선택합니다.
  3. 구성 요소 보기에서 CVEs 열 헤더를 선택하여 CVE 수에 따라 구성 요소를 내림차순(가장 높음)으로 정렬합니다.

14.2.3. 취약점을 유발하는 컨테이너 이미지 계층 식별

취약점 관리 보기를 사용하여 취약한 구성 요소와 해당 구성 요소가 표시되는 이미지 계층을 식별합니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리를 클릭합니다.
  2. 상위 위험 이미지 위젯에서 이미지를 선택하거나 대시보드 상단에 있는 이미지 버튼을 클릭하고 이미지를 선택합니다.
  3. Dockerfile 옆에 있는 이미지 세부 정보 뷰에서 확장 아이콘을 선택하여 이미지 구성 요소에 대한 요약을 확인합니다.
  4. 선택한 구성 요소에 영향을 미치는 CVE에 대한 자세한 내용을 보려면 특정 구성 요소의 확장 아이콘을 선택합니다.

취약점 관리(2.0)워크로드 CVE 로 이동하여 이 정보를 볼 수도 있습니다. 자세한 내용은 "추가 리소스" 섹션의 "취약점 관리(2.0)"에서 워크로드 CVE 보기를 참조하십시오.

14.2.4. CVE를 사용한 구성 요소를 도입한 이미지에서 Dockerfile 행 식별

CVE를 사용하여 구성 요소를 도입한 이미지에서 특정 Dockerfile 행을 식별할 수 있습니다.

프로세스

문제가 있는 행을 보려면 다음을 수행합니다.

  1. RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리를 클릭합니다.
  2. 상위 위험 이미지 위젯에서 이미지를 선택하거나 대시보드 상단에 있는 이미지 버튼을 클릭하고 이미지를 선택합니다.
  3. 이미지 세부 정보 보기의 Image Findings 에서 CVE는 Observed CVEs,Deferred CVEs, False positive CVEs 탭에 나열됩니다.
  4. 추가 검사하려는 CVE를 찾습니다. 영향을 받는 구성 요소 열에서 < number> 구성 요소 링크를 클릭하여 CVE의 영향을 받는 구성 요소 목록을 확인합니다. 이 창에서 다음 작업을 수행할 수 있습니다.

    • 특정 구성 요소 옆에 있는 확장 아이콘을 클릭하여 CVE를 도입한 이미지의 Dockerfile 행을 확인합니다. CVE를 해결하려면 Dockerfile에서 이 행을 변경해야 합니다. 예를 들어 구성 요소를 업그레이드할 수 있습니다.
    • 구성 요소의 이름을 클릭하여 구성 요소 요약 페이지로 이동하여 구성 요소에 대한 자세한 정보를 봅니다.

취약점 관리(2.0)워크로드 CVE 로 이동하여 이 정보를 볼 수도 있습니다. 자세한 내용은 "추가 리소스" 섹션의 "취약점 관리(2.0)"에서 워크로드 CVE 보기를 참조하십시오.

14.2.5. 수정 가능한 CVE에만 대한 세부 정보 보기

취약점 관리 보기를 사용하여 수정 가능한 CVE만 필터링하고 표시합니다.

프로세스

 In the {product-title-short} portal, go to *Vulnerability Management*.
. From the *Vulnerability Management* view header, select *Filter CVEs* -> *Fixable*.

14.2.6. 기본 이미지의 운영 체제 식별

취약점 관리 보기를 사용하여 기본 이미지의 운영 체제를 식별합니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리를 클릭합니다.
  2. 취약점 관리 보기 헤더에서 이미지를 선택합니다.
  3. 이미지 OS 열에서 모든 이미지의 기본 운영 체제(OS) 및 OS 버전을 확인합니다.
  4. 세부 정보를 볼 이미지를 선택합니다. 기본 운영 체제는 이미지 요약세부 정보 및 메타데이터 섹션에서도 사용할 수 있습니다.
참고

Red Hat Advanced Cluster Security for Kubernetes는 다음과 같은 경우 Image OS알 수 없는 것으로 나열합니다.

  • 운영 체제 정보를 사용할 수 없거나
  • 사용 중인 이미지 스캐너가 이 정보를 제공하지 않는 경우

Docker Trusted Registry, Google Container Registry 및 Anchore는 이 정보를 제공하지 않습니다.

취약점 관리(2.0)워크로드 CVE 로 이동하여 이 정보를 볼 수도 있습니다. 자세한 내용은 "추가 리소스" 섹션의 "취약점 관리(2.0)"에서 워크로드 CVE 보기를 참조하십시오.

14.2.7. 가장 큰 위험 요소 확인

취약점 관리 보기를 사용하여 환경에서 가장 위험한 개체를 식별합니다. Top Risky 위젯은 사용자 환경의 위험한 이미지, 배포, 클러스터 및 네임스페이스에 대한 정보를 표시합니다. 위험은 취약점 수와 CVSS 점수에 따라 결정됩니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리를 클릭합니다.
  2. Top Risky widget 헤더를 선택하여 가장 위험한 이미지, 배포, 클러스터 및 네임스페이스 중에서 선택합니다.

    차트의 작은 원은 선택한 오브젝트(이미지, 배포, 클러스터, 네임스페이스)를 나타냅니다. 원점 위로 마우스를 가져가면 표시되는 오브젝트의 개요를 확인할 수 있습니다. 선택한 개체, 관련 엔터티 및 이들 간의 연결에 대한 자세한 정보를 보려면 원을 선택합니다.And select a circle to view detailed information about the selected object, its related entities, and the connections between them.

    예를 들어 CVE 수 및 CVSS 점수로 Top Risky Deployments 를 보는 경우 차트의 각 원이 배포를 나타냅니다.

    • 배포를 마우스로 가리키면 배포 이름, 클러스터 및 네임스페이스, 심각도, 위험 우선 순위, CVSS 및 CVE 수(수정 포함)가 포함된 배포 개요가 표시됩니다.
    • 배포를 선택하면 선택한 배포에 대한 배포 보기가 열립니다. 배포 보기에는 배포에 대한 심층적인 세부 정보가 표시되고 정책 위반, 일반적인 취약점, CVE 및 해당 배포에 가장 위험한 이미지에 대한 정보가 포함되어 있습니다.
  3. 위젯 헤더에서 View All 을 선택하여 선택한 유형의 모든 개체를 확인합니다. 예를 들어 CVE 수 및 CVSS 점수로 Top Risky Deployments 를 선택한 경우 모두 보기를 선택하여 인프라의 모든 배포에 대한 자세한 정보를 볼 수 있습니다.

14.2.8. 가장 위험한 이미지 및 구성 요소 확인

Top Risky 와 마찬가지로 Top Riskiest 위젯에는 가장 위험한 이미지 및 구성 요소의 이름이 나열됩니다. 이 위젯에는 총 CVE 수와 나열된 이미지의 수정 가능한 CVE 수가 포함됩니다.

프로세스

  1. RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리를 클릭합니다.
  2. Top Riskiest Images widget 헤더를 선택하여 가장 위험한 이미지와 구성 요소 중에서 선택합니다. 가장 큰 위험 이미지를 보는 경우:

    • 목록에 이미지를 마우스로 올리면 이미지 이름, 검사 시간 및 심각도(심각, 높음, 중간 및 낮음)와 함께 CVE 수가 포함된 이미지에 대한 개요가 표시됩니다.
    • 이미지를 선택하면 선택한 이미지에 대한 이미지 보기가 열립니다. 이미지 보기에는 이미지에 대한 심층적인 세부 정보가 표시되고 CVSS 점수별 CVE, 가장 위험한 구성 요소, 수정 가능한 CVE, 이미지에 대한 Dockerfile에 대한 정보가 포함되어 있습니다.
  3. 위젯 헤더에서 View All 을 선택하여 선택한 유형의 모든 개체를 확인합니다. 예를 들어 Top Riskiest Components 를 선택한 경우 모두 보기를 선택하여 인프라의 모든 구성 요소에 대한 세부 정보를 볼 수 있습니다.

14.2.9. 이미지의 Dockerfile 보기

취약점 관리 보기를 사용하여 이미지에서 취약점의 근본 원인을 찾습니다. Dockerfile을 보고 Dockerfile에서 해당 단일 명령과 관련된 취약점 및 모든 구성 요소를 도입한 명령을 정확히 찾을 수 있습니다.

Dockerfile 섹션에는 다음에 대한 정보가 표시됩니다.

  • Dockerfile의 모든 계층
  • 각 계층의 지침 및 해당 값
  • 각 계층에 포함된 구성 요소
  • 각 계층의 구성 요소의 CVE 수

특정 계층에 의해 구성 요소가 도입되면 확장 아이콘을 선택하여 구성 요소에 대한 요약을 볼 수 있습니다. 해당 구성 요소에 CVE가 있는 경우 개별 구성 요소의 확장 아이콘을 선택하여 해당 구성 요소에 영향을 미치는 CVE에 대한 자세한 정보를 얻을 수 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리로 이동합니다.
  2. 상위 위험 이미지 위젯에서 이미지를 선택하거나 대시보드 상단에 있는 이미지 버튼을 클릭하고 이미지를 선택합니다.
  3. 이미지 세부 정보 뷰에서 Dockerfile 옆에 있는 확장 아이콘을 선택하여 명령, 값, 생성 날짜 및 구성 요소에 대한 요약을 확인합니다.
  4. 개별 구성 요소의 확장 아이콘을 선택하여 자세한 정보를 확인합니다.

취약점 관리(2.0)워크로드 CVE 로 이동하여 이 정보를 볼 수도 있습니다. 자세한 내용은 "추가 리소스" 섹션의 "취약점 관리(2.0)"에서 워크로드 CVE 보기를 참조하십시오.

14.2.10. 노드의 취약점 식별 비활성화

노드의 취약점 식별은 기본적으로 활성화되어 있습니다. RHACS 포털에서 비활성화할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성통합으로 이동합니다.
  2. 이미지 통합 에서 StackRox 스캐너 를 선택합니다.
  3. 스캐너 목록에서 StackRox 스캐너 를 선택하여 세부 정보를 확인합니다.
  4. 유형에서 노드 스캐너 옵션을 제거합니다.
  5. 저장을 선택합니다.

14.2.11. 비활성 이미지 스캔

RHACS(Red Hat Advanced Cluster Security for Kubernetes)는 4시간마다 모든 활성(배포) 이미지를 검사하고 최신 취약점 정의를 반영하도록 이미지 검사 결과를 업데이트합니다.

RHACS를 구성하여 비활성 (배포되지 않음) 이미지를 자동으로 스캔할 수도 있습니다.

프로세스

  1. RHACS 포털에서 취약점 관리(2.0) → 워크로드 CVE(기술 프리뷰) 로 이동합니다.
  2. & lt;number > 이미지를 클릭하여 이미지 목록을 표시하고 감시할 이미지를 찾습니다.
  3. 오버플로 메뉴 kebab 를 클릭한 다음 이미지 감시 를 선택합니다. 그러면 RHACS에서 이미지를 스캔하고 오류 또는 성공 메시지를 표시합니다.
  4. (선택 사항) 감시된 이미지를 제거하려면 오버플로 메뉴 kebab 를 클릭한 다음 Unwatch 이미지를 선택합니다.
  5. (선택 사항) 모든 감시된 이미지 목록을 보고 페이지 헤더에서 감시된 이미지 관리를 클릭하여 볼 이미지를 추가할 수 있습니다.

    중요

    RHACS 포털에서 플랫폼 구성 → 시스템 구성 을 클릭하여 데이터 보존 구성을 확인합니다.

    감시된 이미지 목록에서 제거된 이미지와 관련된 모든 데이터는 시스템 구성 페이지에서 언급된 일수의 기간 동안 RHACS 포털에 계속 표시되고 해당 기간이 종료된 후에만 제거됩니다.

  6. 닫기 를 클릭하여 워크로드 CVE 페이지로 돌아갑니다.

14.2.12. 특정 CVE를 차단하는 정책 생성

취약점 관리 보기에서 새 정책을 만들거나 기존 정책에 특정 CVE를 추가할 수 있습니다.

프로세스

  1. 취약점 관리 보기 헤더에서 CVE 를 클릭합니다.
  2. 하나 이상의 CVE의 확인란을 선택한 다음 Add selected CVE to Policy (추가 아이콘)를 클릭하거나 목록에서 CVE 위로 마우스를 이동하고 추가 아이콘을 선택할 수 있습니다.
  3. 정책 이름:

    • 기존 정책에 CVE를 추가하려면 드롭다운 목록 상자에서 기존 정책을 선택합니다.
    • 새 정책을 생성하려면 새 정책의 이름을 입력하고 Create <policy_name>을 선택합니다.
  4. 심각도 값을 선택합니다( 심각도 , 높음,중간 또는 낮음 ).
  5. 정책을 적용할 수 있는 라이프사이클 단계, Build 또는 Deploy 를 선택합니다. 두 라이프사이클 단계를 모두 선택할 수도 있습니다.
  6. 설명 상자에 정책에 대한 세부 정보를 입력합니다.
  7. 정책을 생성하지만 나중에 활성화 하려는 경우 정책 활성화 토글을 끕니다. 정책 활성화 토글은 기본적으로 켜져 있습니다.
  8. 이 정책에 포함된 나열된 CVE를 확인합니다.
  9. Save Policy 를 클릭합니다.

14.2.13. 최근 탐지된 취약점 보기

취약점 관리 보기의 최근 탐지된 취약점 위젯에는 검사 시간 및 CVSS 점수에 따라 검사된 이미지에서 최근 발견된 취약점 목록이 표시됩니다. 또한 CVE의 영향을 받는 이미지 수 및 사용자의 환경에 미치는 영향(최근)에 대한 정보도 포함되어 있습니다.

  • 목록에서 CVE를 마우스로 가리키면 검사 시간, CVSS 점수, 설명, 영향 및 CVSS v2 또는 v3을 사용하여 점수가 높은지 여부가 포함된 CVE에 대한 개요가 표시됩니다.
  • CVE를 선택하면 선택한 CVE에 대한 CVE 세부 정보 보기가 열립니다. CVE 세부 정보 보기에는 CVE 및 구성 요소, 이미지, 배포 및 배포에 대한 세부 정보가 표시됩니다.
  • 최근 감지된 취약점 위젯 헤더에서 View All 을 선택하여 인프라의 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다.

14.2.14. 가장 일반적인 취약점 보기

취약점 관리 보기의 가장 일반적인 취약점 위젯에는 CVSS 점수에 따라 정렬된 가장 많은 배포 및 이미지 수에 영향을 미치는 취약점 목록이 표시됩니다.

  • 목록에서 CVE를 마우스로 가리키면 CVSS v2 또는 v3을 사용하여 점수가 평가되는지 여부, 검사 시간, CVSS 점수, 설명, 영향 등이 포함된 CVE에 대한 개요가 표시됩니다.
  • CVE를 선택하면 선택한 CVE에 대한 CVE 세부 정보 보기가 열립니다. CVE 세부 정보 보기에는 CVE 및 구성 요소, 이미지, 배포 및 배포에 대한 세부 정보가 표시됩니다.
  • 가장 일반적인 취약점 위젯 헤더에서 View All 을 선택하여 인프라에 있는 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다. CVE를 CSV 파일로 내보내려면 내보내기CVES 다운로드를 CSV로 선택합니다.

14.2.15. 가장 심각한 정책 위반으로 배포 확인

취약점 관리 뷰에서 가장 심각한 정책 위반 위젯을 사용하는 배포에는 배포 목록이 표시되고 해당 배포에 영향을 미치는 취약점의 심각도가 표시됩니다.

  • 목록에 배포를 마우스로 올리면 배포 이름, 클러스터 이름, 배포가 존재하는 네임스페이스, 실패한 정책 및 심각도가 포함된 배포에 대한 개요가 표시됩니다.
  • 배포를 선택하면 선택한 배포에 대한 배포 보기가 열립니다. 배포 보기에는 배포에 대한 심층적인 세부 정보가 표시되고 정책 위반, 일반적인 취약점, CVE 및 해당 배포에 가장 위험한 이미지에 대한 정보가 포함되어 있습니다.
  • 가장 일반적인 취약점 위젯 헤더에서 View All 을 선택하여 인프라에 있는 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다. CVE를 CSV 파일로 내보내려면 내보내기CVES 다운로드를 CSV로 선택합니다.

14.2.16. Kubernetes 및 Istio 취약점이 있는 클러스터 검색

사용자 환경에서 Kubernetes, Red Hat OpenShift 및 Istio 취약점 (더 이상 사용되지 않는) 취약점이 있는 클러스터를 식별하려면1.0( Vulnerability Management ) 보기를 사용합니다.

오케스트레이터 및 Istio 취약점 위젯이 가장 많이 있는 클러스터는 각 클러스터에서 Kubernetes, Red Hat OpenShift 및 Istio 취약점(더 이상 사용되지 않음)에 따라 순위가 매겨진 클러스터 목록을 보여줍니다. 목록 상단에 있는 클러스터는 취약점이 가장 많은 클러스터입니다.

프로세스

  1. 목록에서 클러스터 중 하나를 클릭하여 클러스터에 대한 세부 정보를 확인합니다. 클러스터 보기에는 다음이 포함됩니다.

    • 클러스터 세부 정보 및 메타데이터, 주요 위험 개체(배포, 네임스페이스 및 이미지)를 표시하는 클러스터 요약 섹션은 최근 취약점, 위험 가능한 이미지 및 가장 심각한 정책 위반이 있는 배포를 감지합니다.
    • Cluster Findings 섹션에는 실패한 정책 목록과 수정 가능한 CVE 목록이 포함됩니다.
    • 클러스터에 포함된 네임스페이스, 배포, 정책, 이미지, 구성 요소 및 CVE 수를 보여주는 관련 엔티티 섹션. 이러한 엔터티를 선택하여 자세한 내용을 볼 수 있습니다.
  2. 위젯 헤더에서 View All 을 클릭하여 모든 클러스터 목록을 확인합니다.

14.2.17. 노드의 취약점 확인

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

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

14.3. 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.3.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.4.8","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.3.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.3.3. 취약점 일치

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

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

14.3.4. 관련 환경 변수

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

표 14.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

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

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

ROX_NODE_SCANNING_INTERVAL

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

ROX_NODE_SCANNING_INTERVAL_DEVIATION

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

ROX_NODE_SCANNING_MAX_INITIAL_WAIT

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

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

15장. 위반에 응답

RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하면 정책 위반을 확인하고 위반의 실제 원인을 자세히 살펴보고 수정 조치를 취할 수 있습니다.

RHACS의 기본 제공 정책은 취약점(CVE), DevOps 모범 사례 위반, 위험이 높은 빌드 및 배포 관행, 의심스러운 런타임 동작을 포함하여 다양한 보안 결과를 식별합니다. 기본 기본 보안 정책을 사용하거나 사용자 지정 정책을 사용하는 경우 RHACS는 활성화된 정책이 실패할 때 위반을 보고합니다.

15.1. 위반 보기

모든 위반 사항을 분석하고 수정 조치를 취할 수 있습니다.

RHACS 포털에서 Violations 로 이동하여 검색된 위반을 확인합니다.

각 행에 대해 다음 속성이 있는 위반 목록이 표시됩니다.

  • 정책: 위반된 정책의 이름입니다.
  • entity: 위반이 발생한 엔터티입니다.
  • type: 배포, 네임스페이스 또는 클러스터와 같은 엔터티 유형입니다.
  • 적용됨: 위반이 발생했을 때 정책이 적용되었는지 여부를 나타냅니다.
  • 심각도: 심각도낮음,중간,높음 또는 심각 임을 나타냅니다.
  • categories: 정책 범주입니다. 정책 범주는 정책 범주 탭의 플랫폼 구성정책 관리에 나열됩니다.
  • 라이프사이클: 정책이 적용되는 라이프사이클 단계, 빌드,배포 또는 런타임입니다.
  • Time: 위반이 발생한 날짜와 시간입니다.

다른 보기와 유사하게 다음 작업을 수행할 수 있습니다.

  • 열 제목을 선택하여 위반을 오름차순 또는 내림차순으로 정렬합니다.
  • 필터 표시줄을 사용하여 위반을 필터링합니다. 자세한 내용은 검색 및 필터링 섹션을 참조하십시오.
  • 위반에 대한 자세한 내용을 보려면 위반 보기에서 위반을 선택합니다.

15.1.1. 위반이 해결된 것으로 표시

런타임 위반이 있는 정책이 삭제되면 시도된 위반은 위반 페이지에서 삭제되지 않습니다. 해결된 것으로 표시하여 위반 사항을 수동으로 제거할 수 있습니다.

프로세스

  1. 위반 을 선택하고 위반 목록에서 위반을 찾습니다.
  2. 오버플로 메뉴 kebab 를 클릭한 다음 다음 옵션 중 하나를 선택합니다.

    • 해결 및 프로세스 기준 추가: 위반을 해결하고 프로세스 기준선에 관련 프로세스를 추가합니다. 프로세스가 다시 실행되면 새 위반이 표시됩니다.
    • 해결된 것으로 표시: 위반을 해결합니다.

15.2. 위반 세부 정보 보기

Violations 보기에서 위반을 선택하면 위반에 대한 자세한 정보가 포함된 창이 열립니다. 여러 탭으로 그룹화된 자세한 정보를 제공합니다.

15.2.1. 위반 탭

격리 세부 정보 패널의 가시성 탭에서는 정책이 위반 된 방법을 설명합니다. 정책이 배포상 속성을 대상으로 하는 경우 정책 위반 이름과 같은 정책을 위반하는 특정 값을 볼 수 있습니다. 정책이 런타임 활동을 대상으로 하는 경우 인수를 비롯한 정책을 위반하는 프로세스에 대한 자세한 정보와 해당 인수를 생성한 상위 프로세스를 볼 수 있습니다.

15.2.2. 배포 탭

세부 정보 패널의 배포 탭에는 위반이 적용되는 배포에 대한 세부 정보가 표시됩니다.

개요 섹션

배포 개요 섹션에는 다음 정보가 나열됩니다.

  • Deployment ID: 배포의 영숫자 식별자입니다.
  • Deployment name: 배포 이름입니다.
  • 배포 유형: 배포 유형입니다.
  • Cluster: 컨테이너가 배포된 클러스터의 이름입니다.
  • namespace: 배포된 클러스터의 고유 식별자입니다.
  • replicas: 복제된 배포 수입니다.
  • created: 배포가 생성된 시간 및 날짜입니다.
  • updated: 배포가 업데이트된 시간 및 날짜입니다.
  • labels: 선택한 배포에 적용되는 라벨입니다.
  • annotations: 선택한 배포에 적용되는 주석입니다.
  • Service Account: 선택한 배포에 대한 서비스 계정의 이름입니다.
컨테이너 구성 섹션

컨테이너 구성 섹션에는 다음 정보가 나열됩니다.

  • containers: 각 컨테이너마다 다음 정보를 제공합니다.

    • Image name: 선택한 배포에 대한 이미지의 이름입니다. 이미지에 대한 자세한 정보를 보려면 이름을 클릭합니다.
    • resources: 이 섹션에서는 다음 필드에 대한 정보를 제공합니다.

      • CPU 요청(코어): 컨테이너에서 요청한 코어 수입니다.
      • CPU 제한(코어): 컨테이너에서 요청할 수 있는 최대 코어 수입니다.
      • 메모리 요청(MB): 컨테이너에서 요청한 메모리 크기입니다.
      • 메모리 제한(MB): 컨테이너에서 요청할 수 있는 최대 메모리입니다.
    • volumes: 컨테이너에 마운트된 볼륨(있는 경우).
    • secrets: 선택한 배포와 관련된 시크릿입니다. 각 시크릿에 다음 필드에 대한 정보를 제공합니다.

      • name: 시크릿의 이름입니다.
      • 컨테이너 경로: 보안이 저장되는 위치입니다.
    • name: 서비스를 마운트할 위치의 이름입니다.
    • Source: 데이터 소스 경로입니다.
    • destination: 데이터가 저장되는 경로입니다.
    • type: 볼륨의 유형입니다.
포트 구성 섹션

포트 구성 섹션에서는 다음 필드를 포함하여 배포의 포트에 대한 정보를 제공합니다.

  • ports: 배포에서 노출된 모든 포트 및 이 배포 및 포트가 있는 경우 이 배포 및 포트와 연결된 모든 Kubernetes 서비스. 각 포트에 대해 다음 필드가 나열됩니다.

    • containerPort: 배포에서 표시하는 포트 번호입니다.
    • 프로토콜: 포트에서 사용하는 TCP 또는 UDP와 같은 프로토콜입니다.
    • exposure: 서비스의 노출 방법(예: 로드 밸런서 또는 노드 포트)
    • exposureInfo: 이 섹션에서는 다음 필드에 대한 정보를 제공합니다.

      • level: 서비스가 내부적으로 또는 외부에서 포트를 노출하는지 나타냅니다.
      • ServiceName: Kubernetes 서비스의 이름입니다.
      • ServiceID: RHACS에 저장된 Kubernetes 서비스의 ID입니다.
      • serviceClusterIp: 클러스터 내 의 다른 배포 또는 서비스에서 서비스에 연결하는 데 사용할 수 있는 IP 주소입니다. 외부 IP 주소가 아닙니다.
      • servicePort: 서비스에서 사용하는 포트입니다.
      • NodePort: 외부 트래픽이 노드에 들어오는 노드의 포트입니다.
      • externalIPs: 클러스터 외부에서 서비스에 액세스하는 데 사용할 수 있는 IP 주소입니다(있는 경우). 이 필드는 내부 서비스에 사용할 수 없습니다.
보안 컨텍스트 섹션

보안 컨텍스트 섹션에는 컨테이너가 권한 있는 컨테이너로 실행되는지 여부가 나열됩니다.

  • privileged:

    • 권한이 있는 경우 true 입니다.
    • 권한이 없는 경우 false 입니다.
네트워크 정책 섹션

네트워크 정책 섹션에는 위반이 포함된 네임스페이스의 네임스페이스 및 모든 네트워크 정책이 나열됩니다. 네트워크 정책 이름을 클릭하여 네트워크 정책의 전체 YAML 파일을 확인합니다.

15.2.3. 정책 탭

세부 정보 패널의 정책 탭에는 위반을 초래한 정책의 세부 정보가 표시됩니다.

정책 개요 섹션

정책 개요 섹션에는 다음 정보가 나열되어 있습니다.

  • 심각도: 필요한 관심 정도에 대한 정책의 순위(심각, 높음, 중간 또는 낮음)입니다.
  • categories: 정책의 정책 범주입니다. 정책 범주는 정책 범주 탭의 플랫폼 구성정책 관리에 나열됩니다.
  • type: 정책이 사용자 생성(사용자에 의해 생성된 정책) 또는 시스템 정책(기본적으로 RHACS에 빌드됨)인지 여부입니다.
  • Description: 정책 경고에 대한 자세한 설명입니다.
  • 이유: 정책 설정 및 중요한 이유에 대한 정보입니다.
  • 지침: 위반을 처리하는 방법에 대한 제안
  • MITRE ATT&CK: 이 정책에 적용되는 MITRE 전략 및 기술이 있는지 여부를 나타냅니다.
정책 동작

Policy behavior 섹션에는 다음과 같은 정보가 있습니다.

  • 라이프사이클 단계: 정책이 속하는 라이프사이클 단계, 빌드,배포 또는 런타임.
  • 이벤트 소스: 이 필드는 라이프사이클 단계가 Runtime 인 경우에만 적용됩니다. 다음 중 하나일 수 있습니다.

    • Deployment: RHACS는 이벤트 소스에 프로세스 및 네트워크 활동, pod exec 및 Pod 포트 전달이 포함된 경우 정책 위반을 트리거합니다.
    • 감사 로그: RHACS는 이벤트 소스가 Kubernetes 감사 로그 레코드와 일치하는 경우 정책 위반을 트리거합니다.
  • 응답: 응답은 다음 중 하나일 수 있습니다.

    • 정보 정책 위반은 위반 목록에 위반을 생성합니다.
    • 정보 및 적용: 위반이 적용됩니다.
  • 적용: 응답을 Inform으로 설정하고 강제 적용하는 경우 다음 단계에 설정된 시행 유형을 나열합니다.

    • Build: RHACS는 이미지가 정책의 기준과 일치할 때 CI(Continuous Integration) 빌드에 실패합니다.
    • 배포 단계의 경우 RHACS는 RHACS 승인 컨트롤러가 구성되어 실행되는 경우 정책 조건과 일치하는 배포의 생성 및 업데이트를 차단합니다.

      • 승인 컨트롤러 적용이 있는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 호환되지 않는 모든 배포를 차단합니다. 다른 클러스터에서 RHACS는 비호환 배포를 편집하여 Pod가 예약되지 않도록 합니다.
      • 기존 배포의 경우 정책 변경으로 인해 Kubernetes 이벤트가 발생하는 경우 다음 기준을 탐지할 때만 적용됩니다. 적용 단계에 대한 자세한 내용은 "배포 단계에 대한 보안 정책 적용"을 참조하십시오.
    • Runtime: RHACS는 Pod의 이벤트가 정책 기준과 일치하면 모든 Pod를 삭제합니다.
정책 기준 섹션

Policy criteria 섹션에는 정책에 대한 정책 기준이 나열됩니다.

15.2.3.1. 배포 단계에 대한 보안 정책 적용

Red Hat Advanced Cluster Security for Kubernetes는 배포 정책에 대한 두 가지 유형의 보안 정책 시행을 지원합니다. 즉, RHACS 센서의 승인 컨트롤러 및 소프트 시행을 통한 하드 시행입니다. 승인 컨트롤러는 정책을 위반하는 배포의 생성 또는 업데이트를 차단합니다. 승인 컨트롤러가 비활성화되거나 사용할 수 없는 경우 Sensor는 정책을 위반하는 배포의 복제본을 0 으로 축소하여 시행을 수행할 수 있습니다.

주의

정책 적용은 실행 중인 애플리케이션 또는 개발 프로세스에 영향을 미칠 수 있습니다. 시행 옵션을 활성화하기 전에 모든 이해 관계자에게 알리고 자동화된 적용 작업에 대응하는 방법을 계획하십시오.

15.2.3.1.1. 하드 적용

하드 적용은 RHACS 승인 컨트롤러에서 수행합니다. 승인 컨트롤러 적용이 있는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 호환되지 않는 모든 배포를 차단합니다. 승인 컨트롤러는 CREATEUPDATE 작업을 차단합니다. 배포 시간 적용이 활성화된 정책을 충족하는 Pod 생성 또는 업데이트 요청이 실패합니다.

참고

Kubernetes 승인 Webhook는 CREATE,UPDATE,DELETE 또는 CONNECT 작업만 지원합니다. RHACS 승인 컨트롤러는 CREATEUPDATE 작업만 지원합니다. kubectl 패치,kubectl set, kubectl scale 과 같은 작업은 UPDATE 작업이 아닌 PATCH 작업입니다. PATCH 작업은 Kubernetes에서 지원되지 않으므로 RHACS는 PATCH 작업에 대한 적용을 수행할 수 없습니다.

차단 적용의 경우 RHACS의 클러스터에 대해 다음 설정을 활성화해야 합니다.

  • 오브젝트 생성: 동적 구성 섹션의 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 정적 구성 섹션에서 오브젝트 생성 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.
  • 오브젝트 업데이트 적용: 동적 구성 섹션의 이 토글은 승인 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 정적 구성 섹션의 오브젝트 업데이트 토글을 수신 대기하려면 Configure Admission Controller Webhook 가 있어야 합니다.

정적 구성 설정에서 설정을 변경하는 경우 해당 변경 사항을 적용하려면 보안 클러스터를 재배포해야 합니다.

15.2.3.1.2. 소프트 적용

소프트 적용은 RHACS 센서가 수행합니다. 이러한 적용으로 인해 작업이 시작되지 않습니다. 소프트 적용 기능을 사용하면 센서가 복제본을 0으로 스케일링하고 Pod가 예약되지 않습니다. 이 적용에서는 클러스터에서 준비되지 않은 배포를 사용할 수 있습니다.

소프트 적용이 구성되고 센서가 다운된 경우 RHACS는 적용을 수행할 수 없습니다.

15.2.3.1.3. 네임스페이스 제외

기본적으로 RHACS는 stackrox,kube-system, istio-system 네임스페이스와 같은 특정 관리 네임스페이스를 시행 차단에서 제외합니다. 그 이유는 RHACS가 제대로 작동하려면 이러한 네임스페이스의 일부 항목을 배포해야 하기 때문입니다.

15.2.3.1.4. 기존 배포에 적용

기존 배포의 경우 정책 변경으로 인해 Kubernetes 이벤트가 발생하는 경우 다음 기준을 탐지할 때만 적용됩니다. 정책을 변경하는 경우 정책 관리를 선택하고 Reassess all을 클릭하여 정책을 재평가해야 합니다. 이 작업은 들어오는 새 Kubernetes 이벤트가 있는지 여부에 관계없이 기존의 모든 배포에 배포 정책을 적용합니다. 정책을 위반하는 경우 RHACS는 적용을 수행합니다.

16장. 배포 컬렉션 생성 및 사용

RHACS의 컬렉션을 사용하여 일치하는 패턴을 사용하여 리소스 그룹을 정의하고 이름을 지정할 수 있습니다. 그런 다음 이러한 컬렉션을 사용하도록 시스템 프로세스를 구성할 수 있습니다.

현재 컬렉션은 다음 조건에서만 사용할 수 있습니다.

  • 컬렉션은 배포에만 사용할 수 있습니다.
  • 취약점 보고가 있는 컬렉션만 사용할 수 있습니다. 자세한 내용은 추가 리소스 섹션의 "적용성 보고"를 참조하십시오.
  • 배포 컬렉션은 PostgreSQL 데이터베이스를 사용하는 경우에만 RHACS 고객이 사용할 수 있습니다.

    참고

    기본적으로 RHACS 클라우드 서비스는 PostgreSQL 데이터베이스를 사용하며 RHACS 릴리스 4.0 이상을 설치할 때 기본적으로 사용됩니다. 3.74 이전 릴리스를 사용하는 RHACS 고객은 Red Hat의 도움을 받아 PostgreSQL 데이터베이스로 마이그레이션할 수 있습니다.

16.1. 사전 요구 사항

사용자 계정에는 컬렉션 기능을 사용하려면 다음과 같은 권한이 있어야 합니다.

  • WorkflowAdministration: 컬렉션을 보고 컬렉션을 추가, 변경 또는 삭제하려면 쓰기 액세스 권한이 있어야 합니다.
  • 배포: 구성된 규칙이 배포와 일치하는 방식을 이해하려면 읽기 액세스 또는 쓰기 액세스 권한이 필요합니다.

이러한 권한은 Admin 시스템 역할에 포함됩니다. 역할 및 권한에 대한 자세한 내용은 "추가 리소스"의 "RHACS에서 RBAC 관리"를 참조하십시오.

16.2. 배포 컬렉션 이해

배포 컬렉션은 PostgreSQL 데이터베이스를 사용하는 RHACS 사용자만 사용할 수 있습니다. 기본적으로 RHACS 클라우드 서비스는 PostgreSQL 데이터베이스를 사용하며 RHACS 릴리스 4.0 이상을 설치할 때 기본적으로 사용됩니다. 3.74 이전 릴리스를 사용하는 RHACS 고객은 Red Hat의 도움을 받아 PostgreSQL 데이터베이스로 마이그레이션할 수 있습니다.

RHACS 컬렉션은 사용자 정의 참조로 이름이 지정된 참조입니다. 선택 규칙을 사용하여 논리 그룹화를 정의합니다. 이러한 규칙은 배포, 네임스페이스 또는 클러스터 이름 또는 레이블과 일치할 수 있습니다. 정확한 일치 또는 정규식을 사용하여 규칙을 지정할 수 있습니다. 컬렉션은 런타임에 해결되며 컬렉션 정의 시 존재하지 않는 오브젝트를 참조할 수 있습니다. 컬렉션은 다른 컬렉션을 사용하여 복잡한 계층을 설명하여 구성할 수 있습니다.

컬렉션은 동적 인프라를 구성하는 방법을 설명하는 언어를 제공하므로 포함 및 제외 범위와 같은 RHACS 속성 복제 및 반복 편집이 필요하지 않습니다.

컬렉션을 사용하여 다음과 같은 시스템 배포 그룹을 식별할 수 있습니다.

  • 특정 개발 팀이 소유한 인프라 영역
  • 개발 또는 프로덕션 클러스터에서 실행할 때 다른 정책 예외가 필요한 애플리케이션
  • 공통 배포 레이블로 정의된 여러 네임스페이스를 확장하는 분산 애플리케이션
  • 전체 프로덕션 또는 테스트 환경

RHACS 포털을 사용하여 컬렉션을 생성하고 관리할 수 있습니다. 컬렉션 편집기를 사용하면 배포, 네임스페이스 및 클러스터 수준에서 선택 규칙을 적용할 수 있습니다. 정규식을 포함하여 단순하고 복잡한 규칙을 사용할 수 있습니다.

다음 이미지에 표시된 대로 하나 이상의 배포, 네임스페이스 또는 클러스터를 선택하여 컬렉션을 정의할 수 있습니다. 이 이미지에는 이름 보고가 포함된 배포가 포함되어 있거나 이름에 db 가 포함된 컬렉션이 표시됩니다. 컬렉션에는 네임스페이스의 해당 이름과 kubernetes.io/metadata.name=medical 이라는 특정 레이블이 있고 production 이라는 클러스터에는 배포가 포함됩니다.

이름이 일치하는 배포에 대해 구성된 규칙을 표시하는 컬렉션 규칙

또한 컬렉션 편집기를 사용하면 다른 컬렉션을 연결하거나 중첩하여 복잡한 계층을 설명할 수 있습니다. 편집기는 구성된 규칙에 결과 일치 항목을 표시하여 적용 중인 규칙을 이해하는 데 도움이 되는 실시간 프리뷰 측면 패널을 제공합니다. 다음 이미지는 컬렉션 규칙 집합과 함께 "Sensitive User Data"라는 컬렉션의 결과(표시되지 않음)의 예를 제공합니다. "Sensitive User Data" 컬렉션에는 두 개의 연결된 컬렉션인 "Credit 카드 프로세서"와 "Medical records"가 있으며 각 컬렉션에는 자체 컬렉션 규칙이 있습니다. 측면 패널에 표시된 결과에는 세 가지 컬렉션에 대해 구성된 규칙과 일치하는 항목이 포함됩니다.

두 개의 연결된 컬렉션을 사용하여 컬렉션을 구성하는 결과 컬렉션

16.3. 배포 컬렉션에 액세스

컬렉션을 사용하려면 플랫폼 구성 → 컬렉션을 클릭합니다. 페이지에는 현재 구성된 컬렉션 목록이 표시됩니다. 다음 작업을 수행할 수 있습니다.

  • 이름으로 검색 필드에 텍스트를 입력하여 컬렉션을 검색한 다음 를 누릅니다.
  • 컬렉션을 읽기 전용 모드로 보려면 컬렉션 목록에서 컬렉션을 클릭합니다.
  • 기존 컬렉션이 편집, 복제 또는 삭제할 경우 kebab 를 클릭합니다.

    참고

    RHACS에서 적극적으로 사용되는 컬렉션을 삭제할 수 없습니다.

  • 컬렉션 생성 을 클릭하여 새 배포 컬렉션을 생성합니다.

16.4. 배포 컬렉션 생성

컬렉션을 생성할 때 이름을 지정하고 컬렉션에 대한 규칙을 정의해야 합니다.

프로세스

  1. 컬렉션 페이지에서 컬렉션 생성 을 클릭합니다.
  2. 컬렉션의 이름 및 설명을 입력합니다.
  3. 컬렉션 규칙 섹션에서는 다음 작업 중 하나 이상을 수행해야 합니다.

    • 컬렉션에 대한 규칙 정의: 자세한 내용은 "컬렉션 규칙 생성" 섹션을 참조하십시오.
    • 기존 컬렉션을 컬렉션에 연결: 자세한 내용은 "연결된 컬렉션 추가" 섹션을 참조하십시오.
  4. 규칙 구성 또는 연결된 컬렉션을 선택한 결과는 컬렉션 결과 라이브 프리뷰 패널에서 사용할 수 있습니다. 결과 숨기기 를 클릭하여 디스플레이에서 이 패널을 제거합니다.
  5. 저장을 클릭합니다.

16.4.1. 컬렉션 규칙 생성

컬렉션을 생성할 때 하나 이상의 규칙을 구성하거나 생성 중인 새 컬렉션에 다른 컬렉션을 연결해야 합니다.

참고

현재 컬렉션은 배포에만 사용할 수 있습니다.

컬렉션에 포함할 리소스를 선택하도록 규칙을 구성합니다. 프리뷰 패널을 사용하여 컬렉션 규칙 결과를 구성할 때 확인합니다. 규칙을 순서에 따라 구성할 수 있습니다.

프로세스

  1. Deployments 섹션의 드롭다운 목록에서 다음 옵션 중 하나를 선택합니다.

    • 모든 배포: 컬렉션의 모든 배포를 포함합니다. 이 옵션을 선택하는 경우 네임스페이스 또는 클러스터를 사용하거나 다른 컬렉션을 연결하여 컬렉션을 필터링해야 합니다.
    • 일치하는 이름이 있는 배포 에서는 이 옵션을 클릭하여 이름으로 선택한 다음 다음 옵션 중 하나를 클릭합니다.

      • 의 정확한 값을 선택하고 정확한 배포 이름을 입력합니다.
      • 의 정규 표현식을 사용하여 배포를 검색하려면 의 정규 값을 선택합니다. 이 옵션은 정확한 배포 이름을 모르는 경우에 유용합니다. 정규식은 패턴을 정의하는 문자, 숫자 및 기호의 문자열입니다. RHACS는 이 패턴을 사용하여 문자 또는 문자 그룹과 일치하고 결과를 반환합니다. 정규식에 대한 자세한 내용은 "추가 리소스" 섹션의 "Regular-Expressions.info"를 참조하십시오.
    • 정확히 일치하는 라벨이 있는 배포: 이 옵션을 클릭하여 입력한 정확한 텍스트와 일치하는 라벨을 사용한 배포를 선택합니다. 레이블은 key=value 형식의 유효한 Kubernetes 레이블이어야 합니다.
  2. 선택 사항: 포함을 위한 추가 기준과 일치하는 이름 또는 레이블이 있는 배포를 추가하려면 OR 를 클릭하고 다른 정확한 또는 정규식 값을 구성합니다.

다음 예제에서는 의료 애플리케이션에 대한 컬렉션을 구성하는 단계를 제공합니다. 이 예제에서는 컬렉션에 보고 배포, patient-db 라는 데이터베이스, 그리고 key = kubernetes.io/metadata.namevalue = medical 인 라벨이 있는 네임스페이스를 선택하려고 합니다. 이 예제에서는 다음 단계를 수행합니다.

  1. 컬렉션 규칙에서 일치하는 이름이 있는 배포를 선택합니다.
  2. 의 정확한 값을 클릭하고 reporting 를 입력합니다.
  3. 또는 을 클릭합니다.
  4. 의 정규 값을 클릭하고 .*-db 를 입력하여 환경에서 db 로 끝나는 모든 배포를 선택합니다. regex 값 옵션은 패턴 일치에 정규식을 사용합니다. 정규식에 대한 자세한 내용은 추가 리소스 섹션의 "Regular-Expressions.info"를 참조하십시오. 오른쪽 패널에 포함되지 않으려는 데이터베이스가 표시될 수 있습니다. 추가 필터를 사용하여 해당 데이터베이스를 제외할 수 있습니다. 예를 들면 다음과 같습니다.

    1. 정확히 일치하는 라벨이 있는 네임스페이스 를 클릭하고 kubernetes.io/metadata.name= medical 을 입력하여 의료 라벨이 레이블이 지정된 네임스페이스에만 배포만 포함하여 네임스페이스 라벨로 필터링합니다.
    2. 네임스페이스 이름을 알고 있는 경우 이름이 일치하는 네임스페이스를 클릭하고 이름을 입력합니다.

16.4.2. 연결된 컬렉션 추가

컬렉션을 그룹화하고 다른 컬렉션에 추가하는 것은 배포를 기반으로 작은 컬렉션을 만들려면 유용할 수 있습니다. 이러한 작은 컬렉션을 재사용하고 더 큰 계층적 컬렉션으로 결합할 수 있습니다. 생성 중인 컬렉션에 컬렉션을 추가하려면 다음을 수행합니다.

  1. 다음 작업 중 하나를 수행합니다.

    • Filter by name 필드에 텍스트를 입력하고 를 눌러 일치하는 결과를 확인합니다.
    • 사용 가능한 컬렉션 목록에서 컬렉션 이름을 클릭하여 컬렉션에 대한 정보(예: 컬렉션의 이름 및 해당 컬렉션과 일치하는 배포)를 확인합니다.
  2. 컬렉션 정보를 확인한 후 창을 닫고 연결된 컬렉션 페이지로 돌아갑니다.
  3. +Attach 를 클릭합니다. 연결된 컬렉션 섹션에는 연결된 컬렉션이 나열됩니다.

    참고

    연결된 컬렉션을 추가하면 연결된 컬렉션에는 구성된 선택 규칙에 따라 결과가 포함됩니다. 예를 들어 연결된 컬렉션에 부모 컬렉션에 사용된 규칙에 의해 필터링되는 리소스가 포함된 경우 연결된 컬렉션의 규칙으로 인해 해당 항목이 여전히 상위 컬렉션에 추가됩니다. 연결된 컬렉션은 OR 연산자를 사용하여 원래 컬렉션을 확장합니다.

  4. 저장을 클릭합니다.

16.5. 컬렉션에 대한 액세스 범위 마이그레이션

rocksdb 에서 PostgreSQL으로의 RHACS의 데이터베이스 변경 사항은 릴리스 3.74부터 시작하여 기술 프리뷰로 제공되며 일반적으로 릴리스 4.0에서 사용할 수 있습니다. 데이터베이스가 rocksdb 에서 PostgreSQL으로 마이그레이션되면 취약점 보고에 사용되는 기존 액세스 범위가 컬렉션으로 마이그레이션됩니다. 취약점 관리보고 및 보고서 정보 보기로 이동하여 마이그레이션으로 인해 기존 보고서에 대한 올바른 구성이 생성되었는지 확인할 수 있습니다.

마이그레이션 프로세스에서는 보고서 구성에 사용된 액세스 범위에 대한 컬렉션 오브젝트를 생성합니다. RHACS는 액세스 범위의 복잡성에 따라 단일 액세스 범위에 대해 두 개 이상의 컬렉션을 생성합니다. 지정된 액세스 범위에 대해 생성된 컬렉션에는 다음 유형이 포함됩니다.

  • 임베디드 컬렉션: 원래 액세스 범위의 정확한 선택 논리를 모방하기 위해 RHACS는 일치하는 배포가 원래 액세스 범위와 동일한 클러스터 및 네임스페이스를 선택하는 컬렉션을 하나 이상 생성합니다. 컬렉션 이름은 숫자가 0부터 시작하는 범위에 대한 시스템 생성 포함 컬렉션 번호 형식입니다.

    참고

    이러한 포함된 컬렉션에는 연결된 컬렉션이 없습니다. 여기에는 클러스터 및 네임스페이스 선택 규칙이 있지만 원래 액세스 범위가 배포에서 필터링되지 않았기 때문에 배포 규칙이 없습니다.

  • 액세스 범위에 대한 루트 컬렉션: 이 컬렉션은 보고서 구성에 추가됩니다. 컬렉션 이름은 범위가 시스템 생성 루트 컬렉션의 형식입니다. 이 컬렉션은 규칙을 정의하지 않고 하나 이상의 포함된 컬렉션을 연결합니다. 이러한 포함된 컬렉션을 조합하면 원래 액세스 범위와 동일한 클러스터 및 네임스페이스가 선택됩니다.

클러스터 또는 네임스페이스 레이블 선택기를 정의하는 액세스 범위의 경우 RHACS는 키와 값 사이에 'IN' Operator가 있는 범위만 마이그레이션할 수 있습니다. RHACS 포털을 사용하여 생성된 라벨 선택기가 있는 액세스 범위는 기본적으로 'IN' Operator를 사용했습니다. 'NOT_IN', 'EXISTS' 및 'NOT_EXISTS' 연산자를 사용한 범위를 마이그레이션하는 것은 지원되지 않습니다. 액세스 범위에 대한 컬렉션을 생성할 수 없는 경우 마이그레이션 중에 로그 메시지가 생성됩니다. 로그 메시지의 형식은 다음과 같습니다.

Failed to create collections for scope _scope-name_: Unsupported operator NOT_IN in scope's label selectors. Only operator 'IN' is supported.
The scope is attached to the following report configurations: [list of report configs]; Please manually create an equivalent collection and edit the listed report configurations to use this collection. Note that reports will not function correctly until a collection is attached.

취약점 관리보고 에서 보고서를 클릭하여 보고서 정보 페이지를 볼 수도 있습니다. 이 페이지에는 보고서에 연결된 컬렉션이 필요한 경우 메시지가 포함되어 있습니다.

참고

원래 액세스 범위는 마이그레이션 중에 제거되지 않습니다. 취약점 관리 보고서를 필터링하는 데만 액세스 범위를 생성한 경우 액세스 범위를 수동으로 제거할 수 있습니다.

16.6. API를 사용하여 컬렉션 관리

CollectionService API 오브젝트를 사용하여 컬렉션을 구성할 수 있습니다. 예를 들어 CollectionService_DryRunCollection 을 사용하여 RHACS 포털의 라이브 프리뷰 패널에 해당하는 결과 목록을 반환할 수 있습니다. 자세한 내용은 RHACS 포털에서 도움말API 참조로 이동하십시오.

17장. 검색 및 필터링

리소스를 즉시 찾는 기능은 클러스터를 보호하는 데 중요합니다. Red Hat Advanced Cluster Security for Kubernetes 검색 기능을 사용하여 관련 리소스를 더 빠르게 찾습니다. 예를 들어 새로 게시된 CVE에 노출되는 배포를 찾고 외부 네트워크 노출이 있는 모든 배포를 찾을 수 있습니다.

17.1. 검색 구문

검색 쿼리는 다음 두 부분으로 구성됩니다.

  • 검색할 리소스 유형을 식별하는 속성입니다.
  • 일치하는 리소스를 찾는 검색어입니다.

예를 들어 비자 프로세서 배포에서 모든 위반을 찾으려면 검색 쿼리는 Deployment: visa-processor 입니다. 이 검색 쿼리에서 Deployment 는 특성이며 비자 프로세서는 검색 용어입니다.

참고

검색어를 사용하려면 먼저 속성을 선택해야 합니다. 그러나 위험 보기 및 가시성 보기와 같은 일부 보기에서 Red Hat Advanced Cluster Security for Kubernetes는 입력한 검색어에 따라 관련 속성을 자동으로 적용합니다.

  • 쿼리에 여러 특성을 사용할 수 있습니다. 둘 이상의 특성을 사용하는 경우 결과에 모든 특성과 일치하는 항목만 포함됩니다.

    예제

    Namespace:frontend CVE:CVE-2018-11776 을 검색할 때 frontend 네임스페이스에서 CVE-2018-11776을 위반하는 리소스만 반환합니다.

  • 각 속성에 둘 이상의 검색어를 사용할 수 있습니다. 두 개 이상의 검색어를 사용하는 경우 결과에는 검색 용어와 일치하는 모든 항목이 포함됩니다.

    예제

    검색 쿼리 Namespace: frontend backend 를 사용하는 경우 네임스페이스 프런트 엔드 또는 백엔드 에서 일치하는 결과를 반환합니다.

  • 여러 속성 및 검색어 쌍을 결합할 수 있습니다.

    예제

    검색 쿼리 Cluster:production Namespace:frontend CVE:CVE-2018-11776프로덕션 클러스터의 frontend 네임스페이스에서 CVE-2018-11776을 위반하는 모든 리소스를 반환합니다.

  • 검색 용어는 단어의 일부일 수 있습니다. 이 경우 Kubernetes에 대한 Red Hat Advanced Cluster Security는 일치하는 모든 결과를 반환합니다.

    예제

    Deployment:def 를 검색하는 경우 결과에 def 로 시작하는 모든 배포가 포함됩니다.

  • 특정 용어를 명시적으로 검색하려면 따옴표 안의 검색 용어를 사용합니다.

    예제

    Deployment:" def " 를 검색할 때 결과에 배포 조각만 포함됩니다.

  • 검색어 앞에 r/ 를 사용하여 정규식을 사용할 수도 있습니다.

    예제

    Namespace:r/st.*x 를 검색할 때 결과에 네임스페이스 stackroxstix 의 일치 항목이 포함됩니다.

  • 결과에서 원하지 않는 검색어를 표시하려면 ! 를 사용합니다.

    예제

    Namespace:!stackrox 를 검색하는 경우 결과에 stackrox 네임스페이스를 제외한 모든 네임스페이스의 일치 항목이 포함됩니다.

  • 비교 연산자 > , < , = , >= 또는 <=를 사용하여 특정 값 또는 값 범위를 일치시킵니다.

    예제

    CVSS:>=6 을 검색하는 경우 결과에 CVSS(Common Vulnerability Scoring System) 점수가 6 이상인 모든 취약점이 포함됩니다.

17.2. 검색 자동 완성

쿼리를 입력하면 Red Hat Advanced Cluster Security for Kubernetes가 속성 및 검색 조건에 대한 관련 제안 사항을 자동으로 표시합니다.

17.3. 글로벌 검색 사용

글로벌 검색을 사용하면 환경의 모든 리소스를 검색할 수 있습니다. 검색 쿼리에서 사용하는 리소스 유형에 따라 결과가 다음 범주로 그룹화됩니다.

  • 모든 결과(모든 카테고리에서 일치하는 결과 나열)
  • 클러스터
  • 배포
  • 이미지
  • 네임스페이스
  • 노드
  • Policies
  • 정책 카테고리 [1]
  • 역할
  • 역할 바인딩
  • 보안
  • Service accounts
  • 사용자 및 그룹
  • 위반
  1. 정책 카테고리 옵션은 다음을 사용하는 경우에만 사용할 수 있습니다.

    • RHACS(Red Hat Advanced Cluster Security for Kubernetes)의 백엔드 데이터베이스로서의 PostgreSQL.
    • Red Hat Advanced Cluster Security Cloud Service(RHACS 클라우드 서비스).

이러한 카테고리는 RHACS 포털 글로벌 검색 페이지의 표로 나열되며 범주 이름을 클릭하여 선택한 카테고리에 속하는 결과를 확인할 수 있습니다.

RHACS 포털에서 글로벌 검색을 수행하려면 검색을 선택합니다.

17.4. 로컬 페이지 필터링 사용

RHACS 포털의 모든 보기에서 로컬 페이지 필터링을 사용할 수 있습니다. 로컬 페이지 필터링은 글로벌 검색과 유사하게 작동하지만 관련 속성만 사용할 수 있습니다. 검색 표시줄을 선택하여 특정 뷰에 사용 가능한 모든 특성을 표시할 수 있습니다.

17.5. 일반적인 검색 쿼리

다음은 Red Hat Advanced Cluster Security for Kubernetes에서 실행할 수 있는 일반적인 검색 쿼리입니다.

특정 CVE의 영향을 받는 배포 찾기
쿼리예제

CVE:<CVE_number>

CVE:CVE-2018-11776

실행 중인 권한 있는 배포 검색
쿼리예제

Privileged:<true_or_false>

privileged:true

외부 네트워크 노출이 있는 배포 검색
쿼리예제

노출 수준:<level>

노출 수준:External

특정 프로세스를 실행 중인 배포 검색
쿼리예제

프로세스 이름:<process_name>

프로세스 이름:bash

심각하지만 수정 가능한 취약점이 있는 배포 찾기
쿼리예제

CVSS:<expression_and_score>

CVSS:>=6 수정 가능:.*

환경 변수를 통해 노출된 암호를 사용하는 배포 찾기
쿼리예제

환경 키:<query>

환경 키:r/.*pass.*

특정 소프트웨어 구성 요소가 있는 실행 중인 배포 찾기
쿼리예제

component:<component_name>

component:libgpg-error 또는 Component:sudo

사용자 또는 그룹 검색

Kubernetes 라벨 및 선택기주석 을 사용하여 배포에 메타데이터를 연결합니다. 그런 다음 적용된 주석 및 레이블을 기반으로 쿼리하여 개인 또는 그룹을 식별할 수 있습니다.

특정 배포를 소유한 사용자 찾기
쿼리예제

deployment :<deployment_name > Label:<key_value > 또는 Deployment:<deployment_name > 주석:<key_value>

deployment:app-server Label:team=backend

공개 레지스트리에서 이미지를 배포하는 사용자 찾기
쿼리예제

이미지 레지스트리:<registry_name > 레이블:<key_value > 또는 이미지 레지스트리:<registry_name > 주석:<key_value>

이미지 레지스트리:docker.io Label:team=backend

기본 네임스페이스에 배포 중인 사용자 찾기
쿼리예제

namespace:default Label:<key_value > 또는 Namespace:default Annotation:<key_value>

namespace:default Label:team=backend

17.6. 검색 속성

다음은 Red Hat Advanced Cluster Security for Kubernetes에서 검색하고 필터링하는 동안 사용할 수 있는 검색 속성 목록입니다.

속성설명

기능 추가

컨테이너에 추가 Linux 기능을 제공합니다. 예를 들어 파일을 수정하거나 네트워크 작업을 수행할 수 있습니다.

주석

오케스트레이터 오브젝트에 연결된 임의의 식별되지 않은 메타데이터입니다.

CPU 코어 제한

리소스에서 사용할 수 있는 최대 코어 수입니다.

CPU 코어 요청

지정된 리소스에 예약할 최소 코어 수입니다.

CVE

일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다.

CVSS

Common Vulnerability Scoring System, CVSS 점수 및 크거나 ( > ), < 미만( < ) 또는 ( = ) 기호와 함께 사용하십시오.

카테고리

정책 카테고리에는 DevOps 모범 사례, 보안 모범 사례, 권한, 취약점 관리, 여러 사용자 지정 정책 범주가 포함됩니다.

인증서 만료

인증서 만료 날짜.

Cluster

Kubernetes 또는 OpenShift Container Platform 클러스터의 이름입니다.

클러스터 ID

Kubernetes 또는 OpenShift Container Platform 클러스터의 고유 ID입니다.

클러스터 역할

true 를 사용하여 클러스터 전체 역할을 검색하고 네임스페이스 범위 역할이 있는 경우 false 를 사용합니다.

Component

소프트웨어(daemond, docker), 오브젝트(이미지, 컨테이너, 서비스), 레지스트리(Docker 이미지용 리포지토리)

구성 요소 수

이미지의 구성 요소 수입니다.

구성 요소 버전

소프트웨어, 오브젝트 또는 레지스트리의 버전입니다.

생성된 시간

보안 오브젝트가 생성된 시간 및 날짜입니다.

Deployment

배포 이름입니다.

배포 유형

배포를 기반으로 하는 Kubernetes 컨트롤러 유형입니다.

설명

배포에 대한 설명입니다.

Dockerfile 지침 키워드

이미지의 Dockerfile 명령에 있는 키워드입니다.

Dockerfile 명령 값

이미지의 Dockerfile 명령의 값입니다.

드롭 기능

컨테이너에서 삭제된 Linux 기능. 예를 들어 CAP_SETUID 또는 CAP_NET_RAW.

적용

배포에 할당된 적용 유형. 예를 들어 None,Scale to Zero Replicas 또는 Unsatisfiable Node Constraint 추가

환경 키

컨테이너 환경을 추가로 식별하고 구성하기 위한 메타데이터인 레이블 키-값 문자열의 주요 부분입니다.

환경 값

컨테이너 환경을 추가로 식별하고 구성하기 위한 메타데이터인 레이블 키-값 문자열의 값 부분입니다.

노출된 노드 포트

노출된 노드 포트의 포트 번호입니다.

서비스 노출

노출된 서비스의 이름입니다.

서비스 포트 노출

노출된 서비스의 포트 번호입니다.

노출 수준

배포 포트의 노출 유형(예: 외부 또는 노드 )입니다.

외부 호스트 이름

배포를 위한 외부 포트 노출의 호스트 이름입니다.

외부 IP

배포를 위한 외부 포트 노출의 IP 주소입니다.

수정 가능한 CVE 수

이미지의 수정 가능한 CVE 수입니다.

수정자

이미지의 플래그가 지정된 취약점을 수정하는 패키지의 버전 문자열입니다.

이미지

이미지 이름입니다.

이미지 명령

이미지에 지정된 명령입니다.

이미지 생성 시간

이미지가 생성된 시간 및 날짜입니다.

이미지 Entrypoint

이미지에 지정된 entrypoint 명령입니다.

이미지 가져오기 시크릿

배포에 지정된 대로 이미지를 가져올 때 사용할 시크릿의 이름입니다.

이미지 가져오기 시크릿 레지스트리

이미지 풀 시크릿의 레지스트리 이름입니다.

이미지 레지스트리

이미지 레지스트리의 이름입니다.

이미지 원격 이미지

원격으로 액세스할 수 있는 이미지를 나타냅니다.

이미지 검사 시간

이미지를 마지막으로 스캔한 날짜와 시간입니다.

이미지 태그

이미지의 식별자입니다.

이미지 사용자

컨테이너 이미지가 실행될 때 사용하도록 구성된 사용자 또는 그룹의 이름입니다.

이미지 볼륨

컨테이너 이미지에 구성된 볼륨의 이름입니다.

비활성 배포

true 를 사용하여 비활성 배포를 검색하고 활성 배포를 false 로 검색합니다.

레이블

이미지, 컨테이너, 데몬, 볼륨, 네트워크 및 기타 리소스를 추가로 식별하고 구성하기 위한 메타데이터인 레이블 키-값 문자열의 주요 부분입니다.

라이프사이클 단계

이 정책이 구성되거나 경고가 트리거된 라이프사이클 단계 유형입니다.

최대 노출 수준

배포의 경우 지정된 모든 포트/서비스에 대한 최대 네트워크 노출 수준입니다.

메모리 제한(MB)

리소스에서 사용할 수 있는 최대 메모리 양입니다.

메모리 요청(MB)

지정된 리소스에 예약할 최소 메모리 양입니다.

네임스페이스

네임스페이스의 이름입니다.

네임스페이스 ID

배포에 네임스페이스 오브젝트를 포함하는 의 고유 ID입니다.

노드

노드 이름입니다.

노드 ID

노드의 고유 ID입니다.

Pod 라벨

개별 Pod에 연결된 메타데이터를 식별하는 단일 조각입니다.

정책

보안 정책의 이름입니다.

포트

배포로 노출된 포트 번호입니다.

포트 프로토콜

노출된 포트에서 사용하는 TCP 또는 UDP와 같은 IP 프로토콜.

우선 순위

배포의 위험 우선 순위입니다. ( 위험 보기에서만 사용할 수 있습니다.)

privileged

true 를 사용하여 권한 있는 실행 중인 배포를 검색하거나 그렇지 않은 경우 false 를 사용합니다.

프로세스 Ancestor

배포에서 프로세스 표시기에 대한 상위 프로세스의 이름입니다.

프로세스 인수

배포의 프로세스 표시기에 대한 명령 인수입니다.

프로세스 이름

배포에서 프로세스 표시기에 대한 프로세스 이름입니다.

프로세스 경로

배포에서 프로세스 표시기에 대한 컨테이너의 바이너리 경로입니다.

프로세스 UID

배포에서 프로세스 표시기의 UNIX 사용자 ID입니다.

읽기 전용 루트 파일 시스템

true 를 사용하여 읽기 전용으로 구성된 루트 파일 시스템으로 실행 중인 컨테이너를 검색합니다.

Role

Kubernetes RBAC 역할의 이름입니다.

역할 바인딩

Kubernetes RBAC 역할 바인딩의 이름입니다.

역할 ID

Kubernetes RBAC 역할 바인딩이 바인딩된 역할 ID입니다.

Secret

중요한 정보를 보유하는 시크릿 오브젝트의 이름입니다.

시크릿 경로

파일 시스템의 시크릿 오브젝트 경로입니다.

시크릿 유형

보안 유형(예: certificate 또는 RSA 공개 키)

서비스 계정

서비스 계정 또는 배포의 서비스 계정 이름입니다.

심각도

위반의 중요성의 수준: 심각, 높음, 중간, 낮음.

제목

Kubernetes RBAC의 제목 이름입니다.

제목 종류

SERVICE_ACCOUNT,USER 또는 GROUP 과 같은 Kubernetes RBAC의 제목 유형입니다.

taint 효과

현재 노드에 적용되는 테인트의 유형입니다.

테인트 키

현재 노드에 적용되는 테인트의 키입니다.

taint 값

현재 노드에 적용되는 테인트에 허용되는 값입니다.

허용 오차 키

배포에 적용되는 허용 오차의 키입니다.

허용 오차 값

배포에 적용되는 허용 오차 값입니다.

위반

정책에서 지정한 조건이 충족되지 않은 경우 Violations 페이지에 알림이 표시됩니다.

위반 상태

이를 사용하여 해결된 위반을 검색합니다.

위반 시간

위반이 처음 발생한 시간 및 날짜입니다.

볼륨 대상

데이터 볼륨의 마운트 경로입니다.

볼륨 이름

스토리지의 이름입니다.

볼륨 읽기 전용

읽기 전용으로 마운트된 볼륨을 검색하려면 true 를 사용합니다.

볼륨 소스

볼륨이 프로비저닝된 양식(예: persistentVolumeClaim 또는 hostPath)을 나타냅니다.

볼륨 유형

볼륨 유형입니다.

18장. 사용자 액세스 관리

18.1. Red Hat Advanced Cluster Security for Kubernetes에서 RBAC 관리

RHACS(Red Hat Advanced Cluster Security for Kubernetes)에는 역할을 구성하고 다양한 사용자를 위해 Red Hat Advanced Cluster Security에 대한 다양한 수준의 액세스 권한을 부여하는 데 사용할 수 있는 RBAC(역할 기반 액세스 제어)가 제공됩니다.

버전 3.63부터 RHACS에는 지정된 RHACS 사용자 또는 사용자 그룹이 액세스할 수 있는 리소스 및 수행할 수 있는 작업과 수행할 수 있는 작업을 정의하는 세분화되고 특정 권한 세트를 구성할 수 있는 범위가 지정된 액세스 제어 기능이 포함되어 있습니다.

  • 역할은 권한 세트 및 액세스 범위 컬렉션입니다. 규칙을 지정하여 사용자 및 그룹에 역할을 할당할 수 있습니다. 인증 공급자를 구성할 때 이러한 규칙을 구성할 수 있습니다. Red Hat Advanced Cluster Security for Kubernetes에는 다음 두 가지 유형의 역할이 있습니다.

    • Red Hat에서 생성하고 변경할 수 없는 시스템 역할.
    • 사용자 지정 역할 - Kubernetes용 Red Hat Advanced Cluster Security는 언제든지 생성 및 변경할 수 있습니다.

      참고
      • 사용자에게 여러 역할을 할당하면 할당된 역할의 결합된 권한에 액세스할 수 있습니다.
      • 사용자 지정 역할에 할당된 사용자가 있고 해당 역할을 삭제하면 연결된 모든 사용자가 구성한 최소 액세스 역할로 전송합니다.
  • 권한 세트는 지정된 리소스에서 역할이 수행할 수 있는 작업을 정의하는 권한 집합입니다. 리소스는 보기(읽기) 및 수정(쓰기) 권한을 설정할 수 있는 Red Hat Advanced Cluster Security for Kubernetes의 기능입니다. Red Hat Advanced Cluster Security for Kubernetes에는 다음 두 가지 유형의 권한 세트가 있습니다.

    • Red Hat에서 생성하며 변경할 수 없는 시스템 권한 세트입니다.
    • 사용자 지정 권한 세트 - Kubernetes용 Red Hat Advanced Cluster Security는 언제든지 생성 및 변경할 수 있습니다.
  • 액세스 범위는 사용자가 액세스할 수 있는 Kubernetes 및 OpenShift Container Platform 리소스 집합입니다. 예를 들어 사용자가 지정된 프로젝트의 Pod에 대한 정보에만 액세스할 수 있는 액세스 범위를 정의할 수 있습니다. Red Hat Advanced Cluster Security for Kubernetes에는 다음 두 가지 유형의 액세스 범위가 있습니다.

    • 시스템 액세스 범위(Red Hat에서 생성하며 변경할 수 없음).
    • 사용자 지정 액세스 범위 - Kubernetes용 Red Hat Advanced Cluster Security는 언제든지 생성 및 변경할 수 있습니다.

18.1.1. 시스템 역할

RHACS(Red Hat Advanced Cluster Security for Kubernetes)에는 규칙을 생성할 때 사용자에게 적용할 수 있는 몇 가지 기본 시스템 역할이 포함되어 있습니다. 필요에 따라 사용자 지정 역할을 생성할 수도 있습니다.

시스템 역할설명

관리자

이 역할은 관리자를 대상으로 합니다. 이를 사용하여 모든 리소스에 대한 읽기 및 쓰기 액세스 권한을 제공합니다.

Anances

이 역할은 변경할 수 없지만 모든 것을 볼 수 있는 사용자를 대상으로 합니다. 이를 사용하여 모든 리소스에 대한 읽기 전용 액세스 권한을 제공합니다.

지속적 통합

이 역할은 CI(지속적인 통합) 시스템을 대상으로 하며 배포 정책을 적용하는 데 필요한 권한 세트를 포함합니다.

네트워크 그래프 뷰어

이 역할은 네트워크 그래프를 확인해야 하는 사용자를 대상으로 합니다.

없음

이 역할에는 리소스에 대한 읽기 및 쓰기 액세스 권한이 없습니다. 이 역할을 모든 사용자의 최소 액세스 역할로 설정할 수 있습니다.

센서 작성자

RHACS는 이 역할을 사용하여 새 클러스터 설정을 자동화합니다. 보안 클러스터에서 센서를 생성하는 권한 세트가 포함되어 있습니다.

취약점 관리 승인

이 역할을 사용하면 취약점 지연 또는 잘못된 긍정 요청을 승인할 수 있는 액세스 권한을 제공할 수 있습니다.

Vulnerability Management Requester

이 역할을 사용하면 취약점 지연 또는 잘못된 알림을 요청할 수 있는 액세스 권한을 제공할 수 있습니다.

Vulnerability Report Creator

이 역할을 사용하면 예약된 취약점 보고서에 대한 취약점 보고 구성을 생성하고 관리할 수 있습니다.

18.1.1.1. 시스템 역할의 권한 세트 및 액세스 범위 보기

기본 시스템 역할에 대한 권한 세트 및 액세스 범위를 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 역할을 선택합니다.
  3. 역할 중 하나를 클릭하여 세부 정보를 확인합니다. 세부 정보 페이지에는 감지된 역할의 권한 세트 및 액세스 범위가 표시됩니다.
참고

기본 시스템 역할에 대한 권한 세트 및 액세스 범위를 수정할 수 없습니다.

18.1.1.2. 사용자 정의 역할 생성

액세스 제어 보기에서 새 역할을 생성할 수 있습니다.

사전 요구 사항

  • 사용자 지정 역할을 생성, 수정, 삭제할 수 있도록 AuthProviderRole 리소스에 대한 읽기 및 쓰기 권한이 설정된 역할 또는 Admin 역할이 있어야 합니다.
  • 역할을 생성하기 전에 사용자 지정 역할에 대한 권한 세트 및 액세스 범위를 생성해야 합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 역할을 선택합니다.
  3. 역할 생성을 클릭합니다.
  4. 새 역할에 대한 이름설명을 입력합니다.
  5. 역할에 대해 Permission set 을 선택합니다.
  6. 역할의 액세스 범위를 선택합니다.
  7. 저장을 클릭합니다.
18.1.1.3. 사용자 또는 그룹에 역할 할당

RHACS 포털을 사용하여 사용자 또는 그룹에 역할을 할당할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 인증 공급자 목록에서 인증 공급자를 선택합니다.
  3. 최소 역할 및 규칙 편집을 클릭합니다.
  4. 규칙 섹션에서 새 규칙 추가 를 클릭합니다.
  5. 의 경우 userid,name,email 또는 group 의 값 중 하나를 선택합니다.
  6. 의 경우 선택한 키에 따라 사용자 ID, 이름, 이메일 주소 또는 그룹 값을 입력합니다.
  7. Role 드롭다운 메뉴를 클릭하고 할당할 역할을 선택합니다.
  8. 저장을 클릭합니다.

각 사용자 또는 그룹에 대해 이러한 지침을 반복하고 다른 역할을 할당할 수 있습니다.

18.1.2. 시스템 권한 세트

Red Hat Advanced Cluster Security for Kubernetes에는 역할에 적용할 수 있는 몇 가지 기본 시스템 권한 세트가 포함되어 있습니다. 필요에 따라 사용자 정의 권한 세트를 생성할 수도 있습니다.

권한 세트설명

관리자

모든 리소스에 대한 읽기 및 쓰기 액세스를 제공합니다.

Anances

모든 리소스에 대한 읽기 전용 액세스를 제공합니다.

지속적 통합

이 권한 세트는 CI(종속 통합) 시스템을 대상으로 하며 배포 정책을 적용하는 데 필요한 권한을 포함합니다.

네트워크 그래프 뷰어

네트워크 그래프를 볼 수 있는 최소 권한을 제공합니다.

없음

모든 리소스에 대해 읽기 및 쓰기 권한이 허용되지 않습니다.

센서 작성자

보안 클러스터에서 센서를 생성하는 데 필요한 리소스에 대한 권한을 제공합니다.

18.1.2.1. 시스템 권한 세트에 대한 권한 보기

RHACS 포털에서 설정된 시스템 권한의 권한을 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 권한 세트를 선택합니다.
  3. 세부 정보를 보려면 권한 세트 중 하나를 클릭합니다. 세부 정보 페이지에는 리소스 목록과 선택한 권한 집합에 대한 권한이 표시됩니다.
참고

시스템 권한 세트에 대한 권한을 수정할 수 없습니다.

18.1.2.2. 사용자 정의 권한 세트 생성

액세스 제어 보기에서 새 권한 세트를 만들 수 있습니다.

사전 요구 사항

  • 권한 세트를 생성, 수정, 삭제할 수 있도록 AuthProviderRole 리소스에 대해 읽기 및 쓰기 권한이 설정된 Admin 역할 또는 역할이 있어야 합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 권한 세트를 선택합니다.
  3. Create permission set 을 클릭합니다.
  4. 새 권한 세트에 대한 이름설명을 입력합니다.
  5. 각 리소스에 대해 액세스 수준 열에서 액세스 권한 없음, 읽기 액세스 또는 읽기 및 쓰기 액세스 에서 권한 중 하나를 선택합니다.

    주의
    • 사용자에 대한 권한 세트를 구성하는 경우 다음 리소스에 대한 읽기 전용 권한을 부여해야 합니다.

      • 경고
      • Cluster
      • Deployment
      • 이미지
      • NetworkPolicy
      • NetworkGraph
      • WorkflowAdministration
      • Secret
    • 이러한 권한은 새 권한 세트를 생성할 때 미리 선택됩니다.
    • 이러한 권한을 부여하지 않으면 사용자는 RHACS 포털에서 페이지를 보는 데 문제가 발생합니다.
  6. 저장을 클릭합니다.

18.1.3. 시스템 액세스 범위

Red Hat Advanced Cluster Security for Kubernetes에는 역할에 적용할 수 있는 몇 가지 기본 시스템 액세스 범위가 포함되어 있습니다. 필요에 따라 사용자 지정 액세스 범위를 생성할 수도 있습니다.

가속 범위설명

무제한

Red Hat Advanced Cluster Security for Kubernetes가 모니터링하는 모든 클러스터 및 네임스페이스에 대한 액세스를 제공합니다.

모두 거부

Kubernetes 및 OpenShift Container Platform 리소스에 대한 액세스 권한이 없습니다.

18.1.3.1. 시스템 액세스 범위에 대한 세부 정보 보기

RHACS 포털에서 액세스 범위에 허용되거나 허용되지 않는 Kubernetes 및 OpenShift Container Platform 리소스를 볼 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 액세스 범위를 선택합니다.
  3. 액세스 범위 중 하나를 클릭하여 세부 정보를 확인합니다. 세부 정보 페이지에는 클러스터 및 네임스페이스 목록과 선택한 액세스 범위에 허용되는 항목이 표시됩니다.
참고

시스템 액세스 범위에 대해 허용된 리소스를 수정할 수 없습니다.

18.1.3.2. 사용자 정의 액세스 범위 생성

액세스 제어 보기에서 새 액세스 범위를 만들 수 있습니다.

사전 요구 사항

  • 권한 세트를 생성, 수정, 삭제하려면 Access 리소스에 대한 읽기 및 쓰기 권한이 설정된 관리자 역할 또는 역할이 있어야 합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 액세스 범위를 선택합니다.
  3. 액세스 범위 생성을 클릭합니다.
  4. 새 액세스 범위에 대한 이름설명을 입력합니다.
  5. 허용된 리소스 섹션에서 다음을 수행합니다.

    • Cluster filterNamespace filter 필드를 사용하여 목록에 표시된 클러스터 및 네임스페이스 목록을 필터링합니다.
    • 클러스터 이름을 확장하여 해당 클러스터의 네임스페이스 목록을 확인합니다.
    • 클러스터의 모든 네임스페이스에 액세스할 수 있도록 하려면 수동 선택 열에서 스위치를 전환합니다.

      참고

      특정 클러스터에 대한 액세스 권한을 통해 사용자는 클러스터 범위 내에서 다음 리소스에 액세스할 수 있습니다.

      • OpenShift Container Platform 또는 Kubernetes 클러스터 메타데이터 및 보안 정보
      • 권한 있는 클러스터에 대한 규정 준수 정보
      • 노드 메타데이터 및 보안 정보
      • 해당 클러스터의 모든 네임스페이스 및 관련 보안 정보에 대한 액세스
    • 네임스페이스에 대한 액세스를 허용하려면 네임스페이스의 수동 선택 열에서 스위치를 전환합니다.

      참고

      특정 네임스페이스에 대한 액세스는 네임스페이스 범위 내에서 다음 정보에 액세스할 수 있습니다.

      • 배포에 대한 경고 및 위반
      • 이미지에 대한 취약점 데이터
      • 배포 메타데이터 및 보안 정보
      • 역할 및 사용자 정보
      • 배포에 대한 네트워크 그래프, 정책 및 기준 정보
      • 정보 및 프로세스 기준 구성 처리
      • 각 배포에 대한 우선 순위가 지정된 위험 정보
  6. 라벨을 기반으로 클러스터 및 네임스페이스에 대한 액세스를 허용하려면 라벨 선택 규칙 섹션에서 라벨 선택기 추가 를 클릭합니다. 그런 다음 규칙 추가 를 클릭하여 라벨 선택기에 대한 쌍을 지정합니다. 클러스터 및 네임스페이스에 대한 라벨을 지정할 수 있습니다.
  7. 저장을 클릭합니다.

18.1.4. 리소스 정의

Red Hat Advanced Cluster Security for Kubernetes에는 많은 리소스가 포함되어 있습니다. 다음 표에는 Red Hat Advanced Cluster Security for Kubernetes 리소스가 나열되어 있으며 사용자가 읽기 또는 쓰기 권한으로 수행할 수 있는 작업을 설명합니다.

참고
  • 권한 에스컬레이션을 방지하기 위해 새 토큰을 생성할 때 역할의 권한은 해당 토큰에 할당할 수 있는 권한을 제한합니다. 예를 들어 Integration 리소스에 대한 읽기 권한만 있는 경우 쓰기 권한이 있는 토큰을 생성할 수 없습니다.
  • 다른 사용자가 사용할 토큰을 생성하는 사용자 지정 역할을 하려면 해당 사용자 지정 역할에 필요한 권한을 할당해야 합니다.
  • CI/CD 파이프라인, 스크립트 및 기타 자동화와 같은 머신 간 통신에 수명이 짧은 토큰을 사용합니다. 또한 roxctl CLI 또는 API 액세스와 같은 human-to-machine 통신에 roxctl central login 명령을 사용합니다.
리소스읽기 권한쓰기 권한

액세스

인증 공급자가 제공하는 메타데이터를 포함하여 Red Hat Advanced Cluster Security for Kubernetes 역할 및 사용자 메타데이터와 일치하는 SSO(Single Sign-On) 및 RBAC(역할 기반 액세스 제어) 규칙에 대한 구성을 확인합니다.

SSO 구성 및 구성된 RBAC 규칙을 생성, 수정 또는 삭제합니다.

관리

다음 항목을 확인합니다.

  • 데이터 보존 옵션, 보안 알림 및 기타 관련 구성 옵션
  • Red Hat Advanced Cluster Security for Kubernetes 구성 요소의 현재 로깅 상세 정보 표시 수준
  • 업로드된 프로브 파일의 매니페스트 콘텐츠
  • 기존 이미지 스캐너 통합
  • 자동 업그레이드의 상태
  • Red Hat Advanced Cluster Security for Kubernetes 서비스 간 인증에 대한 메타데이터
  • 스캐너 번들의 콘텐츠(download)

다음 항목을 편집합니다.

  • 데이터 보존, 보안 알림 및 관련 구성
  • 로깅 수준
  • 중앙에서 지원 패키지 (업로드)
  • 이미지 스캐너 통합(생성/수정/삭제)
  • 보안 클러스터의 자동 업그레이드(활성화/비활성화)
  • 서비스 간 인증 정보(revoke/re-issue)

경고

기존 정책 위반을 확인합니다.

정책 위반을 해결하거나 편집합니다.

CVE

내부 사용 전용

내부 사용 전용

Cluster

기존 보안 클러스터를 확인합니다.

새 보안 클러스터를 추가하고 기존 클러스터를 수정하거나 삭제합니다.

컴플라이언스

규정 준수 표준 및 결과, 최근 규정 준수 실행 및 관련 완료 상태를 확인합니다.

규정 준수 실행을 트리거합니다.

Deployment

보안 클러스터에서 배포(워크로드)를 확인합니다.

해당 없음

DeploymentExtension

다음 항목을 확인합니다.

  • 프로세스 기준
  • 배포의 프로세스 활동
  • 위험 결과

다음 항목을 수정합니다.

  • 프로세스 기준(프로세스 추가 또는 제거)

탐지

이미지 또는 배포 YAML에 대한 빌드 시간 정책을 확인합니다.

해당 없음

이미지

이미지, 해당 구성 요소 및 해당 취약점을 확인합니다.

해당 없음

Integration

백업, 레지스트리, 이미지 서명, 알림 시스템, API 토큰을 포함한 통합 및 해당 구성을 확인합니다.

통합 및 해당 구성과 API 토큰을 추가, 수정 및 삭제합니다.

K8sRole

보안 클러스터에서 Kubernetes RBAC의 역할을 확인합니다.

해당 없음

K8sRoleBinding

보안 클러스터에서 Kubernetes RBAC의 역할 바인딩을 확인합니다.

해당 없음

K8sSubject

보안 클러스터에서 Kubernetes RBAC의 사용자 및 그룹을 확인합니다.

해당 없음

네임스페이스

보안 클러스터에서 기존 Kubernetes 네임스페이스를 확인합니다.

해당 없음

NetworkGraph

보안 클러스터에서 활성 및 허용된 네트워크 연결을 확인합니다.

해당 없음

NetworkPolicy

보안 클러스터에서 기존 네트워크 정책을 보고 변경 사항을 시뮬레이션합니다.

보안 클러스터에서 네트워크 정책 변경 사항을 적용합니다.

노드

보안 클러스터에서 기존 Kubernetes 노드를 확인합니다.

해당 없음

WorkflowAdministration

모든 리소스 컬렉션을 확인합니다.

리소스 컬렉션을 추가, 수정 또는 삭제합니다.

Role

기존 Red Hat Advanced Cluster Security for Kubernetes RBAC 역할 및 해당 권한을 확인합니다.

역할 및 해당 권한을 추가, 수정 또는 삭제합니다.

Secret

보안 클러스터의 보안에 대한 메타데이터를 확인합니다.

해당 없음

ServiceAccount

보안 클러스터에 Kubernetes 서비스 계정을 나열합니다.

해당 없음

VulnerabilityManagementApprovals

취약점에 대한 보류 중인 모든 deferral 또는 false positive 요청을 확인합니다.

보류 중인 deferral 또는 false positive 요청을 승인하거나 거부하고 이전에 승인된 요청을 다시 관찰하도록 이동합니다.

VulnerabilityManagementRequests

취약점에 대한 보류 중인 모든 deferral 또는 false positive 요청을 확인합니다.

취약점을 지연하거나 잘못된 것으로 표시하거나 동일한 사용자가 수행한 보류 중이거나 이전에 승인한 요청을 다시 관찰하도록 이동합니다.

WatchedImage

배포되지 않은 감시 및 모니터링된 이미지를 확인합니다.

감시된 이미지를 구성합니다.

WorkflowAdministration

모든 리소스 컬렉션을 확인합니다.

리소스 컬렉션을 생성, 수정 또는 삭제합니다.

18.1.5. 인증 및 권한 부여 리소스에 대한 선언적 구성

인증 공급자, 역할, 권한 세트 및 액세스 범위와 같은 인증 및 권한 부여 리소스에 선언적 구성을 사용할 수 있습니다. 선언적 구성을 사용하는 방법에 대한 자세한 내용은 "추가 리소스" 섹션의 " 선언적 구성 사용"을 참조하십시오.

추가 리소스

18.2. PKI 인증 활성화

인증에 엔터프라이즈 인증 기관(CA)을 사용하는 경우 개인 인증서를 사용하여 사용자를 인증하도록 RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 구성할 수 있습니다.

PKI 인증을 구성한 후 사용자 및 API 클라이언트는 개인 인증서를 사용하여 로그인할 수 있습니다. 인증서가 없는 사용자는 API 토큰, 로컬 관리자 암호 또는 기타 인증 공급자를 포함한 다른 인증 옵션을 계속 사용할 수 있습니다. PKI 인증은 웹 UI, gRPC 및 REST API와 동일한 포트 번호에서 사용할 수 있습니다.

기본적으로 PKI 인증을 구성할 때 Kubernetes용 Red Hat Advanced Cluster Security는 PKI, 웹 UI, gRPC, 기타 SSO(Single Sign-On) 공급자 및 REST API에 동일한 포트를 사용합니다. YAML 구성 파일을 사용하여 엔드포인트를 구성하고 노출하여 PKI 인증을 위해 별도의 포트를 구성할 수도 있습니다.

18.2.1. RHACS 포털을 사용하여 PKI 인증 구성

RHACS 포털을 사용하여 PKI(Public Key Infrastructure) 인증을 구성할 수 있습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 인증 공급자 생성 을 클릭하고 드롭다운 목록에서 사용자 인증서 를 선택합니다.
  3. 이름 필드에서 이 인증 공급자의 이름을 지정합니다.
  4. CA 인증서(PEM) 필드에 root CA 인증서를 PEM 형식으로 붙여넣습니다.
  5. PKI 인증을 사용하여 RHACS에 액세스하는 사용자에게 최소 액세스 역할을 할당합니다. 사용자에게 이 역할에 부여된 권한 또는 RHACS에 로그인하려면 더 높은 권한이 있는 역할이 있어야 합니다.

    작은 정보

    보안을 위해 Red Hat은 설정을 완료하는 동안 먼저 최소 액세스 역할을 None 으로 설정하는 것이 좋습니다. 나중에 액세스 제어 페이지로 돌아가 ID 공급자의 사용자 메타데이터를 기반으로 보다 맞춤형 액세스 규칙을 설정할 수 있습니다.

  6. RHACS에 액세스하는 사용자 및 그룹에 대한 액세스 규칙을 추가하려면 규칙 섹션에서 새 규칙 추가 를 클릭합니다. 예를 들어 관리자 역할을 administrator 라는 사용자에게 부여하려면 다음 키-값 쌍을 사용하여 액세스 규칙을 생성할 수 있습니다.

    현재의

    이름

    관리자

    Role

    관리자

  7. 저장을 클릭합니다.

18.2.2. roxctl CLI를 사용하여 PKI 인증 구성

roxctl CLI를 사용하여 PKI 인증을 구성할 수 있습니다.

프로세스

  • 다음 명령을 실행합니다.

    $ roxctl -e <hostname>:<port_number> central userpki create -c <ca_certificate_file> -r <default_role_name> <provider_name>

18.2.3. 인증 키 및 인증서 업데이트

RHACS 포털을 사용하여 인증 키 및 인증서를 업데이트할 수 있습니다.

프로세스

  1. 새 인증 공급자를 생성합니다.
  2. 이전 인증 공급자의 역할 매핑을 새 인증 공급자로 복사합니다.
  3. 이전 루트 CA 키를 사용하여 이전 인증 공급자의 이름을 변경하거나 삭제합니다.

18.2.4. 클라이언트 인증서를 사용하여 로그인

PKI 인증을 구성한 후 사용자는 RHACS 포털 로그인 페이지에 인증서 프롬프트가 표시됩니다. 구성된 루트 CA에서 신뢰하는 클라이언트 인증서가 사용자의 시스템에 설치된 경우에만 프롬프트가 표시됩니다.

이 섹션에 설명된 절차를 사용하여 클라이언트 인증서를 사용하여 로그인합니다.

프로세스

  1. RHACS 포털을 엽니다.
  2. 브라우저 프롬프트에서 인증서를 선택합니다.
  3. 로그인 페이지에서 인증 공급자 이름 옵션을 선택하여 인증서로 로그인합니다. 인증서를 사용하여 로그인하지 않으려면 관리자 암호 또는 다른 로그인 방법을 사용하여 로그인할 수도 있습니다.
참고

클라이언트 인증서를 사용하여 RHACS 포털에 로그인하면 브라우저를 다시 시작하지 않는 한 다른 인증서로 로그인할 수 없습니다.

18.3. 인증 공급자 이해

인증 공급자는 사용자 ID(예: ID 공급자 또는 IDP)의 타사 소스에 연결하고, 사용자 ID를 가져오고, 해당 ID를 기반으로 토큰을 발행하며, 토큰을 RHACS(Red Hat Advanced Cluster Security for Kubernetes)로 반환합니다. 이 토큰을 사용하면 RHACS가 사용자에게 권한을 부여할 수 있습니다. RHACS는 사용자 인터페이스 및 API 호출 내에서 토큰을 사용합니다.

RHACS를 설치한 후 사용자에게 권한을 부여하려면 IDP를 설정해야 합니다.

참고

OpenID Connect(OIDC)를 IDP로 사용하는 경우 RHACS는 사용자 ID 토큰 또는 UserInfo 끝점 응답에서 그룹,이메일,사용자 ID 및 이름과 같은 특정 클레임의 값을 검사하는 매핑 규칙에 의존합니다. 이러한 세부 정보가 없으면 매핑이 성공할 수 없으며 사용자가 필요한 리소스에 액세스할 수 없습니다. 따라서 IDP에서 사용자를 인증하는 데 필요한 클레임(예: 그룹 )이 IDP의 인증 응답에 포함되어 성공적으로 매핑할 수 있도록 해야 합니다.

18.3.1. 클레임 매핑

클레임은 ID 공급자가 발급한 토큰 내부의 사용자에 대해 포함하는 데이터입니다.

클레임 매핑을 사용하여 RHACS가 IDP에서 수신한 클레임 속성을 RHACS 발급 토큰의 다른 속성으로 사용자 지정해야 하는지 여부를 지정할 수 있습니다. 클레임 매핑을 사용하지 않는 경우 RHACS는 RHACS 발급 토큰에 claim 속성을 포함하지 않습니다.

예를 들어, 사용자 ID의 역할에서 클레임 매핑을 사용하여 RHACS 발행 토큰의 그룹에 매핑할 수 있습니다.

RHACS는 모든 인증 공급자에 대해 다른 기본 클레임 매핑을 사용합니다.

18.3.1.1. OIDC 기본 클레임 매핑

다음 목록은 기본 OIDC 클레임 매핑을 제공합니다.

  • userid하위
  • 이름
  • 이메일 주소
  • 그룹에 대한 그룹
18.3.1.2. Auth0 기본 클레임 매핑

Auth0 기본 클레임 매핑은 OIDC 기본 클레임 매핑과 동일합니다.

18.3.1.3. SAML 2.0 기본 클레임 매핑

다음 목록은 SAML 2.0 기본 클레임 매핑에 적용됩니다.

  • subject.NameIDuserid에 매핑됨
  • 응답의 모든 SAML AttributeStatement.Attribute 는 해당 이름에 매핑됩니다.
18.3.1.4. Google IAP 기본 클레임 매핑

다음 목록은 Google IAP 기본 클레임 매핑을 제공합니다.

  • userid하위
  • 이메일 주소
  • hd hd로 hd
  • access_levels에 대한 Google. access_levels
18.3.1.5. 사용자 인증서 기본 클레임 매핑

사용자 인증서는 타사 IDP와 통신하는 대신 사용자가 사용하는 인증서에서 사용자 정보를 가져오기 때문에 다른 모든 인증 공급자와 다릅니다.

사용자 인증서에 대한 기본 클레임 매핑은 다음과 같습니다.

  • useridCertFingerprint
  • 제목 → 일반 이름
  • 이메일 주소
  • 제목 → 조직 단위 그룹
18.3.1.6. OpenShift Auth 기본 클레임 매핑

다음 목록은 OpenShift Auth 기본 클레임 매핑을 제공합니다.

  • 그룹에 대한 그룹
  • UID to userid
  • 이름

18.3.2. 규칙

사용자에게 권한을 부여하기 위해 RHACS는 사용자 ID의 그룹,이메일,사용자 ID와 같은 특정 클레임의 값을 검사하는 매핑 규칙에 의존합니다. 규칙을 사용하면 특정 값이 있는 속성이 있는 사용자를 특정 역할에 매핑할 수 있습니다. 예를 들어 규칙에는 다음이 포함될 수 있습니다.'key'는 email,valuejohn@redhat.com 이며,역할은 Admin 입니다.

클레임이 누락된 경우 매핑이 성공할 수 없으며 사용자가 필요한 리소스에 액세스할 수 없습니다. 따라서 성공적인 매핑을 활성화하려면 IDP의 인증 응답에 사용자에게 권한을 부여하는 데 필요한 클레임(예: 그룹 )이 포함되어 있는지 확인해야 합니다.

18.3.3. 최소 액세스 역할

RHACS는 특정 인증 공급자가 발행한 RHACS 토큰이 있는 모든 호출자에 최소 액세스 역할을 할당합니다. 최소 액세스 역할은 기본적으로 None 으로 설정됩니다.

예를 들어 Analyst 의 최소 액세스 역할의 인증 공급자가 있다고 가정합니다. 이 경우 이 공급자를 사용하여 로그인하는 모든 사용자에게 Analyst 역할이 할당됩니다.

18.3.4. 필수 속성

필수 속성은 사용자 ID에 특정 값이 있는 속성이 있는지 여부에 따라 RHACS 토큰의 발행을 제한할 수 있습니다.

예를 들어 key is_internal 속성의 속성 값이 true 인 경우에만 토큰을 발행하도록 RHACS를 구성할 수 있습니다. 속성 is_internalfalse 로 설정되거나 설정되지 않은 사용자는 토큰을 가져오지 않습니다.

18.4. ID 공급자 구성

18.4.1. Okta Identity Cloud를 SAML 2.0 ID 공급자로 구성

Okta를 RHACS(Red Hat Advanced Cluster Security for Kubernetes)의 SSO(Single Sign-On) 공급자로 사용할 수 있습니다.

18.4.1.1. Okta 앱 생성

Okta를 Red Hat Advanced Cluster Security for Kubernetes의 SAML 2.0 ID 공급자로 사용하려면 Okta 앱을 생성해야 합니다.

주의

Okta의 개발자 콘솔은 사용자 지정 SAML 2.0 애플리케이션 생성을 지원하지 않습니다. 개발자 콘솔 을 사용하는 경우 먼저 관리 콘솔(Classic UI)으로 전환해야 합니다. 전환하려면 페이지 왼쪽 상단에 있는 개발자 콘솔 을 클릭하고 Classic UI 를 선택합니다.

사전 요구 사항

  • Okta 포털에 대한 관리 권한이 있는 계정이 있어야 합니다.

프로세스

  1. Okta 포털의 메뉴 모음에서 애플리케이션을 선택합니다.
  2. 애플리케이션 추가 를 클릭한 다음 새 앱 만들기 를 선택합니다.
  3. 새 애플리케이션 통합 생성 대화 상자에서 을 플랫폼으로 두고 SAML 2.0 을 사용자가 로그인하려는 프로토콜로 선택합니다.
  4. 생성을 클릭합니다.
  5. 일반 설정 페이지에서 앱 이름 필드에 앱의 이름을 입력합니다.
  6. 다음을 클릭합니다.
  7. SAML 설정 페이지에서 다음 필드에 대한 값을 설정합니다.

    1. SSO(Single Sign on URL)

      • https://<RHACS_portal_hostname>/sso/providers/saml/acs 로 지정합니다.
      • Recipient URL 및 Destination URL 옵션에 이 사용을 선택된 상태로 둡니다.
      • 다른 URL에서 RHACS 포털에 액세스할 수 있는 경우 Allow this app to request other SSO URLs 옵션을 선택하고 지정된 형식을 사용하여 대체 URL을 추가하여 여기에 추가할 수 있습니다.
    2. 대상 URI(SP 엔터티 ID)

      • 값을 RHACS 또는 선택한 다른 값으로 설정합니다.
      • 선택한 값을 기억합니다. Kubernetes용 Red Hat Advanced Cluster Security를 구성할 때 이 값이 필요합니다.
    3. 특성 정책

      • 하나 이상의 attribute 문을 추가해야 합니다.
      • 이메일 속성을 사용하는 것이 좋습니다.

        • 이름: email
        • 형식: 지정되지 않음
        • 값: user.email
  8. 계속하기 전에 하나 이상의 속성 정책을 구성했는지 확인합니다.
  9. 다음을 클릭합니다.
  10. 피드백 페이지에서 사용자에게 적용되는 옵션을 선택합니다.
  11. 적절한 앱 유형을 선택합니다.
  12. 완료를 클릭합니다.

구성이 완료되면 새 앱의 Sign On 설정 페이지로 리디렉션됩니다. 노란색 상자에는 Red Hat Advanced Cluster Security for Kubernetes를 구성하는 데 필요한 정보에 대한 링크가 포함되어 있습니다.

앱을 생성한 후 Okta 사용자를 이 애플리케이션에 할당합니다. Assignments (할당) 탭으로 이동하여 Red Hat Advanced Cluster Security for Kubernetes에 액세스할 수 있는 개별 사용자 또는 그룹 집합을 할당합니다. 예를 들어 조직의 모든 사용자가 Red Hat Advanced Cluster Security for Kubernetes에 액세스할 수 있도록 Everyone 그룹을 할당합니다.

18.4.1.2. SAML 2.0 ID 공급자 구성

이 섹션의 지침을 사용하여 SAML(Security Assertion Markup Language) 2.0 ID 공급자를 RHCS(Red Hat Advanced Cluster Security for Kubernetes)와 통합하십시오.

사전 요구 사항

  • RHACS에서 ID 공급자를 구성할 수 있는 권한이 있어야 합니다.
  • Okta ID 공급자의 경우 RHACS용으로 구성된 Okta 앱이 있어야 합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 인증 공급자 생성 을 클릭하고 드롭다운 목록에서 SAML 2.0 을 선택합니다.
  3. 이름 필드에 이 인증 공급자를 식별할 이름을 입력합니다(예: Okta 또는 Google ). 사용자가 올바른 로그인 옵션을 선택할 수 있도록 통합 이름이 로그인 페이지에 표시됩니다.
  4. ServiceProvider 발행자 필드에 Okta의 Audience URI 또는 SP Entity ID 로 사용하는 값 또는 다른 공급자의 유사한 값을 입력합니다.
  5. 구성 유형을 선택합니다.

    • 옵션 1: 동적 구성: 이 옵션을 선택하는 경우 IdP 메타데이터 URL 또는 ID 공급자 콘솔에서 사용할 수 있는 ID 공급자 메타데이터 의 URL을 입력합니다. 구성 값은 URL에서 가져옵니다.
    • 옵션 2: 정적 구성: Okta 콘솔의 View Setup instructions 링크 또는 다른 공급자의 유사한 위치에서 필요한 정적 필드를 복사합니다.

      • IdP Issuer
      • IdP SSO URL
      • 이름/ID 형식
      • IDP 인증서(PEM)
  6. SAML을 사용하여 RHACS에 액세스하는 사용자에게 최소 액세스 역할을 할당합니다.

    작은 정보

    설정을 완료하는 동안 최소 액세스 권한을 Admin 으로 설정합니다. 나중에 액세스 제어 페이지로 돌아가 ID 공급자의 사용자 메타데이터를 기반으로 보다 맞춤형 액세스 규칙을 설정할 수 있습니다.

  7. 저장을 클릭합니다.
중요

SAML ID 공급자의 인증 응답이 다음 기준을 충족하는 경우:

  • NotValidAfter 어설션이 포함됩니다. 사용자 세션은 NotValidAfter 필드에 지정된 시간이 경과할 때까지 유효합니다. 사용자 세션이 만료된 후 사용자는 다시 인증해야 합니다.
  • NotValidAfter 어설션은 포함되지 않습니다. 사용자 세션은 30일 동안 유효하며 사용자는 다시 인증해야 합니다.

검증

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. Auth Providers 탭을 선택합니다.
  3. 구성을 확인할 인증 공급자를 클릭합니다.
  4. Auth Provider 섹션 헤더에서 로그인 테스트를 선택합니다. 테스트 로그인 페이지가 새 브라우저 탭에서 열립니다.
  5. 인증 정보로 로그인합니다.

    • 성공적으로 로그인하면 RHACS에서 시스템에 로그인하는 데 사용한 인증 정보에 대해 ID 공급자가 보낸 사용자 ID 및 사용자 속성을 표시합니다.
    • 로그인 시도가 실패하면 RHACS에 ID 공급자의 응답을 처리할 수 없는 이유를 설명하는 메시지가 표시됩니다.
  6. Test login browser 탭을 닫습니다.

    참고

    응답이 성공적인 인증을 나타내는 경우에도 ID 공급자의 사용자 메타데이터를 기반으로 추가 액세스 규칙을 생성해야 할 수 있습니다.

18.4.2. Google Workspace를 OIDC ID 공급자로 구성

Red Hat Advanced Cluster Security for Kubernetes의 SSO(Single Sign-On) 공급자로 Google Workspace 를 사용할 수 있습니다.

18.4.2.1. GCP 프로젝트에 대한 OAuth 2.0 인증 정보 설정

Google Workspace를 Red Hat Advanced Cluster Security for Kubernetes의 ID 공급자로 구성하려면 먼저 GCP 프로젝트에 대한 OAuth 2.0 인증 정보를 구성해야 합니다.

사전 요구 사항

  • 새 프로젝트를 생성하려면 조직의 Google Workspace 계정에 대한 관리자 수준 액세스 권한이 있거나 기존 프로젝트에 대한 OAuth 2.0 인증 정보를 생성하고 구성할 수 있는 권한이 있어야 합니다. Red Hat Advanced Cluster Security for Kubernetes에 대한 액세스를 관리하기 위해 새 프로젝트를 생성하는 것이 좋습니다.

프로세스

  1. 새 GCP(Google Cloud Platform) 프로젝트를 생성합니다. 프로젝트를 생성하고 관리하는 Google 설명서 주제를 참조하십시오.
  2. 프로젝트를 생성한 후 Google API 콘솔에서 인증 정보 페이지를 엽니다.
  3. 로고 옆에 있는 왼쪽 상단에 나열된 프로젝트 이름을 확인하여 올바른 프로젝트를 사용하고 있는지 확인합니다.
  4. 새 인증 정보를 생성하려면 인증 정보 생성OAuth 클라이언트 ID 로 이동합니다.
  5. 애플리케이션 유형으로 웹 애플리케이션을 선택합니다.
  6. 이름 상자에 애플리케이션의 이름을 입력합니다(예: RHACS ).
  7. 인증 리디렉션 URI 상자에 https://<stackrox_hostname>:<port_number>/sso/providers/oidc/callback 을 입력합니다.

    • & lt;stackrox_hostname >을 중앙 인스턴스를 노출하는 호스트 이름으로 바꿉니다.
    • & lt;port_number& gt;를 중앙을 노출하는 포트 번호로 바꿉니다. 표준 HTTPS 포트 443 을 사용하는 경우 포트 번호를 생략할 수 있습니다.
  8. 생성을 클릭합니다. 그러면 애플리케이션 및 인증 정보가 생성되고 인증 정보 페이지로 다시 리디렉션됩니다.
  9. 새로 생성된 애플리케이션에 대한 세부 정보가 표시되는 정보 상자가 열립니다. 정보 상자를 닫습니다.
  10. .apps.googleusercontent.com 으로 끝나는 클라이언트 ID 를 복사하고 저장합니다. Google API 콘솔을 사용하여 이 클라이언트 ID를 확인할 수 있습니다.
  11. 왼쪽의 탐색 메뉴에서 OAuth 동의 화면을 선택합니다.

    참고

    OAuth 동의 화면 구성은 전체 GCP 프로젝트에 유효하며 이전 단계에서 생성한 애플리케이션에만 유효합니다. 이 프로젝트에 OAuth 승인 화면이 이미 구성되어 있고 Red Hat Advanced Cluster Security for Kubernetes 로그인에 대해 다른 설정을 적용하려면 새 GCP 프로젝트를 생성합니다.

  12. OAuth 동의 화면 페이지에서 다음을 수행합니다.

    1. 애플리케이션 유형을 Internal 로 선택합니다. 공개를 선택하면 Google 계정이 있는 모든 사용자가 로그인할 수 있습니다.
    2. 설명이 포함된 애플리케이션 이름을 입력합니다. 이 이름은 로그인할 때 동의 화면에 있는 사용자에게 표시됩니다. 예를 들어 Kubernetes용 Red Hat Advanced Cluster Security에는 RHACS 또는 <organization_name> SSO 를 사용합니다.
    3. Google API의 범위가 이메일,프로필openid 범위만 나열되는지 확인합니다. 이러한 범위만 Single Sign-On에 필요합니다. 추가 범위를 부여하면 중요한 데이터를 노출할 위험이 증가합니다.
18.4.2.2. 클라이언트 시크릿 지정

Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.39 이상에서는 클라이언트 시크릿을 지정할 때 OAuth 2.0 인증 코드 권한 부여 인증 흐름을 지원합니다. 이 인증 흐름을 사용하는 경우 Red Hat Advanced Cluster Security for Kubernetes는 새로 고침 토큰을 사용하여 사용자가 OIDC ID 공급자에 구성된 토큰 만료 시간 이상으로 로그인할 수 있도록 합니다.

사용자가 로그아웃하면 Kubernetes용 Red Hat Advanced Cluster Security가 클라이언트 측에서 새로 고침 토큰을 삭제합니다. 또한 ID 공급자 API에서 새로 고침 토큰 해지를 지원하는 경우 Red Hat Advanced Cluster Security for Kubernetes도 ID 공급자에게 새로 고침 토큰을 취소하도록 요청을 보냅니다.

OIDC ID 공급자와 통합하도록 Red Hat Advanced Cluster Security for Kubernetes를 구성할 때 클라이언트 시크릿을 지정할 수 있습니다.

참고
  • Fragment 콜백 모드에서클라이언트 시크릿 을 사용할 수 없습니다.
  • 기존 인증 공급자에 대한 구성은 편집할 수 없습니다.
  • 클라이언트 시크릿 을 사용하려면 Red Hat Advanced Cluster Security for Kubernetes에서 새로운 OIDC 통합을 생성해야 합니다.

Red Hat Advanced Cluster Security for Kubernetes를 OIDC ID 공급자와 연결할 때 클라이언트 시크릿을 사용하는 것이 좋습니다. 클라이언트 시크릿을 사용하지 않으려면 Do not use Client Secret (not recommended) 옵션을 선택해야 합니다.

18.4.2.3. OIDC ID 공급자 구성

OIDC(OpenID Connect) ID 공급자를 사용하도록 RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 구성할 수 있습니다.

사전 요구 사항

  • Google Workspace와 같은 ID 공급자에 애플리케이션을 이미 구성해야 합니다.
  • RHACS에서 ID 공급자를 구성할 수 있는 권한이 있어야 합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 인증 공급자 생성 을 클릭하고 드롭다운 목록에서 OpenID Connect 를 선택합니다.
  3. 다음 필드에 정보를 입력합니다.

    • 이름: 인증 공급자를 식별하는 이름입니다(예: Google Workspace ). 사용자가 올바른 로그인 옵션을 선택할 수 있도록 통합 이름이 로그인 페이지에 표시됩니다.
    • 콜백 모드: ID 공급자에 다른 모드가 필요하지 않는 한 기본값인 자동 선택(권장)을 선택합니다.

      참고

      조각 모드에서는 SPAs(Single Page Applications)의 제한 사항을 중심으로 설계되었습니다. Red Hat은 초기 통합을 위해 Fragment 모드만 지원하며 이후의 통합에는 사용하지 않는 것이 좋습니다.

    • issuer: ID 공급자의 루트 URL입니다(예: Google Workspace의 경우 https://accounts.google.com). 자세한 내용은 ID 공급자 설명서를 참조하십시오.

      참고

      RHACS 버전 3.0.49 이상을 사용하는 경우 발급 자의 경우 다음 작업을 수행할 수 있습니다.

    • Client ID: 구성된 프로젝트의 OIDC 클라이언트 ID입니다.
    • 클라이언트 시크릿: ID 공급자(IdP)에서 제공하는 클라이언트 시크릿을 입력합니다. 권장되지 않는 클라이언트 시크릿을 사용하지 않는 경우 Do not use Client Secret 을 선택합니다.
  4. 선택한 ID 공급자를 사용하여 RHACS에 액세스하는 사용자에게 최소 액세스 역할을 할당합니다.

    작은 정보

    설정을 완료하는 동안 최소 액세스 권한을 Admin 으로 설정합니다. 나중에 액세스 제어 페이지로 돌아가 ID 공급자의 사용자 메타데이터를 기반으로 보다 맞춤형 액세스 규칙을 설정할 수 있습니다.

  5. RHACS에 액세스하는 사용자 및 그룹에 대한 액세스 규칙을 추가하려면 규칙 섹션에서 새 규칙 추가 를 클릭합니다. 예를 들어 관리자 역할을 administrator 라는 사용자에게 부여하려면 다음 키-값 쌍을 사용하여 액세스 규칙을 생성할 수 있습니다.

    현재의

    이름

    관리자

    Role

    관리자

  6. 저장을 클릭합니다.

검증

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. Auth providers 탭을 선택합니다.
  3. 구성을 확인할 인증 공급자를 선택합니다.
  4. Auth Provider 섹션 헤더에서 로그인 테스트를 선택합니다. 테스트 로그인 페이지가 새 브라우저 탭에서 열립니다.
  5. 자격 증명을 사용하여 로그인합니다.

    • 성공적으로 로그인하면 RHACS에서 시스템에 로그인하는 데 사용한 인증 정보에 대해 ID 공급자가 보낸 사용자 ID 및 사용자 속성을 표시합니다.
    • 로그인 시도가 실패하면 RHACS에 ID 공급자의 응답을 처리할 수 없는 이유를 설명하는 메시지가 표시됩니다.
  6. 테스트 로그인 브라우저 탭을 닫습니다.

18.4.3. OpenShift Container Platform OAuth 서버를 ID 공급자로 구성

OpenShift Container Platform에는 RHACS(Red Hat Advanced Cluster Security for Kubernetes)의 인증 공급자로 사용할 수 있는 기본 제공 OAuth 서버가 포함되어 있습니다.

18.4.3.1. OpenShift Container Platform OAuth 서버를 ID 공급자로 구성

기본 제공 OpenShift Container Platform OAuth 서버를 RHACS의 ID 공급자로 통합하려면 이 섹션의 지침을 사용하십시오.

사전 요구 사항

  • RHACS에서 ID 공급자를 구성할 수 있는 AuthProvider 권한이 있어야 합니다.
  • ID 공급자를 통해 OpenShift Container Platform OAuth 서버에 사용자 및 그룹이 이미 구성되어 있어야 합니다. ID 공급자 요구 사항에 대한 자세한 내용은 ID 공급자 구성 이해를 참조하십시오.
참고

다음 절차에서는 OpenShift Container Platform OAuth 서버에 대해 central 이라는 단일 기본 경로만 구성합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성액세스 제어 로 이동합니다.
  2. 인증 공급자 생성 을 클릭하고 드롭다운 목록에서 OpenShift Auth 를 선택합니다.
  3. 이름 필드에 인증 공급자의 이름을 입력합니다.
  4. 선택한 ID 공급자를 사용하여 RHACS에 액세스하는 사용자에게 최소 액세스 역할을 할당합니다. 사용자에게 이 역할에 부여된 권한 또는 RHACS에 로그인하려면 더 높은 권한이 있는 역할이 있어야 합니다.

    작은 정보

    보안을 위해 Red Hat은 설정을 완료하는 동안 먼저 최소 액세스 역할을 None 으로 설정하는 것이 좋습니다. 나중에 액세스 제어 페이지로 돌아가 ID 공급자의 사용자 메타데이터를 기반으로 보다 맞춤형 액세스 규칙을 설정할 수 있습니다.

  5. 선택 사항: RHACS에 액세스하는 사용자 및 그룹에 대한 액세스 규칙을 추가하려면 규칙 섹션에서 새 규칙 추가 를 클릭한 다음 규칙 정보를 입력하고 저장을 클릭합니다. 액세스를 구성할 수 있도록 사용자 또는 그룹에 대한 속성이 필요합니다.

    작은 정보

    그룹 매핑은 일반적으로 팀 또는 권한 세트와 연결되며 사용자보다 덜 자주 수정이 필요하기 때문에 더 강력합니다.

    OpenShift Container Platform에서 사용자 정보를 가져오려면 다음 방법 중 하나를 사용할 수 있습니다.

    • 사용자 관리 → 사용자 → & lt; username &gt; → YAML 을 클릭합니다.
    • k8s/cluster/user.openshift.io~v1~User/<username>/yaml 파일에 액세스하고 이름 uid (RHACS의userid ) 및 그룹 값을 확인합니다.
    • OpenShift Container Platform API 참조에 설명된 대로 OpenShift Container Platform API 를 사용합니다.

    다음 구성 예제에서는 다음 특성을 사용하여 Admin 역할에 대한 규칙을 구성하는 방법을 설명합니다.

    • 이름:관리자
    • groups:["system:authenticated", "system:authenticated:oauth", "myAdministratorsGroup"]
    • uid: 12345-00aa-1234-123b-123fcdef1234

    다음 단계 중 하나를 사용하여 이 관리자 역할에 대한 규칙을 추가할 수 있습니다.

    • 이름에 대한 규칙을 구성하려면 드롭다운 목록에서 이름을 선택하고 Value 필드에 administrator 를 입력한 다음 Role 에서 Administrator 를 선택합니다.
    • 그룹에 대한 규칙을 구성하려면 드롭다운 목록에서 그룹을 선택하고 Value 필드에 myAdministratorsGroup 을 입력한 다음 Role 에서 Admin 을 선택합니다.
    • 사용자 이름에 대한 규칙을 구성하려면 드롭다운 목록에서 userid 를 선택하고 Value 필드에 12345-00aa-1234-123b-123fc1234 를 입력한 다음 Role 에서 Admin 을 선택합니다.
중요
  • OpenShift Container Platform OAuth 서버의 사용자 정의 TLS 인증서를 사용하는 경우 신뢰할 수 있는 루트 CA로 Red Hat Advanced Cluster Security for Kubernetes에 CA의 루트 인증서를 추가해야 합니다. 그렇지 않으면 Central이 OpenShift Container Platform OAuth 서버에 연결할 수 없습니다.
  • roxctl CLI를 사용하여 Red Hat Advanced Cluster Security for Kubernetes를 설치할 때 OpenShift Container Platform OAuth 서버 통합을 활성화하려면 ROX_ENABLE_OPENSHIFT_AUTH 환경 변수를 Central에서 true 로 설정합니다.

    $ oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
  • 액세스 규칙의 경우 OpenShift Container Platform OAuth 서버에서 키 이메일을 반환하지 않습니다.
18.4.3.2. OpenShift Container Platform OAuth 서버에 대한 추가 경로 생성

Red Hat Advanced Cluster Security for Kubernetes 포털을 사용하여 OpenShift Container Platform OAuth 서버를 ID 공급자로 구성하는 경우 RHACS는 OAuth 서버의 단일 경로만 구성합니다. 그러나 중앙 사용자 지정 리소스에서 주석으로 지정하여 추가 경로를 생성할 수 있습니다.

프로세스

  • RHACS Operator를 사용하여 RHACS를 설치한 경우:

    1. Central 사용자 지정 리소스에 대한 패치가 포함된 CENTRAL_ADDITIONAL_ROUTES 환경 변수를 생성합니다.

      $ CENTRAL_ADDITIONAL_ROUTES='
      spec:
        central:
          exposure:
            loadBalancer:
              enabled: false
              port: 443
            nodePort:
              enabled: false
            route:
              enabled: true
          persistence:
            persistentVolumeClaim:
              claimName: stackrox-db
        customize:
          annotations:
            serviceaccounts.openshift.io/oauth-redirecturi.main: sso/providers/openshift/callback 1
            serviceaccounts.openshift.io/oauth-redirectreference.main: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"central\"}}" 2
            serviceaccounts.openshift.io/oauth-redirecturi.second: sso/providers/openshift/callback 3
            serviceaccounts.openshift.io/oauth-redirectreference.second: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"second-central\"}}" 4
      '
      1
      기본 경로를 설정하기 위한 리디렉션 URI입니다.
      2
      기본 경로에 대한 리디렉션 URI 참조입니다.
      3
      두 번째 경로를 설정하는 리디렉션입니다.
      4
      두 번째 경로에 대한 리디렉션 참조입니다.
    2. 중앙 사용자 지정 리소스에 CENTRAL_ADDITIONAL_ROUTES 패치를 적용합니다.

      $ oc patch centrals.platform.stackrox.io \
        -n <namespace> \ 1
        <custom-resource> \ 2
        --patch "$CENTRAL_ADDITIONAL_ROUTES" \
        --type=merge
      1
      & lt;namespace >를 Central 사용자 지정 리소스가 포함된 프로젝트의 이름으로 바꿉니다.
      2
      & lt;custom-resource& gt;를 Central 사용자 정의 리소스의 이름으로 바꿉니다.
  • 또는 Helm을 사용하여 RHACS를 설치한 경우:

    1. values-public.yaml 파일에 다음 주석을 추가합니다.

      customize:
        central:
          annotations:
            serviceaccounts.openshift.io/oauth-redirecturi.main: sso/providers/openshift/callback 1
            serviceaccounts.openshift.io/oauth-redirectreference.main: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"central\"}}" 2
            serviceaccounts.openshift.io/oauth-redirecturi.second: sso/providers/openshift/callback 3
            serviceaccounts.openshift.io/oauth-redirectreference.second: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"second-central\"}}" 4
      1
      기본 경로를 설정하기 위한 리디렉션입니다.
      2
      기본 경로에 대한 리디렉션 참조입니다.
      3
      두 번째 경로를 설정하는 리디렉션입니다.
      4
      두 번째 경로에 대한 리디렉션 참조입니다.
    2. helm upgrade 를 사용하여 중앙 사용자 정의 리소스에 사용자 정의 주석을 적용합니다.

      $ helm upgrade -n stackrox \
        stackrox-central-services rhacs/central-services \
        -f <path_to_values_public.yaml> 1
      1
      -f 옵션을 사용하여 values-public.yaml 구성 파일의 경로를 지정합니다.

18.4.4. SSO 구성을 사용하여 Azure AD를 RHACS에 연결

SSO(Sign-On) 구성을 사용하여 Azure Active Directory(AD)를 RHACS에 연결하려면 특정 클레임(예: 토큰에 그룹 클레임)을 추가하고 사용자, 그룹 또는 둘 다를 엔터프라이즈 애플리케이션에 할당해야 합니다.

18.4.4.1. SSO 구성을 사용하여 SAML 애플리케이션의 토큰에 그룹 클레임 추가

토큰에 그룹 클레임을 포함하도록 Azure AD에서 애플리케이션 등록을 구성합니다. 자세한 내용은 SSO 구성을 사용하여 SAML 애플리케이션의 토큰에 그룹 클레임 추가 를 참조하십시오.

중요

최신 버전의 Azure AD를 사용하고 있는지 확인합니다. Azure AD를 최신 버전으로 업그레이드하는 방법에 대한 자세한 내용은 이전 버전에서 최신 버전으로 Azure AD Connect: Upgrade를 참조하십시오.

18.5. 수명이 짧은 액세스 구성

RHACS(Red Hat Advanced Cluster Security for Kubernetes)는 사용자 인터페이스 및 API 호출에 대한 수명이 짧은 액세스 권한을 구성할 수 있는 기능을 제공합니다.

RHACS 발급 토큰에 대해 OpenID Connect(OIDC) ID 토큰을 교환하여 이를 구성할 수 있습니다.

장기적인 API 토큰보다 수명이 짧은 액세스가 선호되는 CI(Continuous Integration) 사용에 이 방법을 사용하는 것이 좋습니다.

다음 단계에서는 사용자 인터페이스 및 API 호출에 대한 수명이 짧은 액세스를 구성하는 방법에 대한 고급 워크플로를 간략하게 설명합니다.

  1. 수명이 짧은 RHACS에서 발행한 토큰을 교환하기 위해 OIDC ID 토큰 발행자를 신뢰하도록 RHACS 구성.
  2. API를 호출하여 수명이 짧은 RHACS 발급 토큰에 대해 OIDC ID 토큰을 교환합니다.
참고
  • 권한 에스컬레이션을 방지하기 위해 새 토큰을 생성할 때 역할의 권한은 해당 토큰에 할당할 수 있는 권한을 제한합니다. 예를 들어 Integration 리소스에 대한 읽기 권한만 있는 경우 쓰기 권한이 있는 토큰을 생성할 수 없습니다.
  • 다른 사용자가 사용할 토큰을 생성하는 사용자 지정 역할을 하려면 해당 사용자 지정 역할에 필요한 권한을 할당해야 합니다.
  • CI/CD 파이프라인, 스크립트 및 기타 자동화와 같은 머신 간 통신에 수명이 짧은 토큰을 사용합니다. 또한 roxctl CLI 또는 API 액세스와 같은 human-to-machine 통신에 roxctl central login 명령을 사용합니다.

18.5.1. OIDC ID 토큰 발행자에 대한 단기 액세스 구성

OpenID Connect(OIDC) ID 토큰 발행자의 단기 액세스 구성을 시작합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성통합으로 이동합니다.
  2. 인증 토큰 범주로 스크롤한 다음 머신 액세스 구성 을 클릭합니다.
  3. 구성 생성을 클릭합니다.
  4. 다음 중 하나를 선택하여 구성 유형을 선택합니다.

    • 임의의 OIDC ID 토큰 발행자를 사용하는 경우 일반 입니다.
    • GitHub 작업에서 RHACS에 액세스하려는 경우 GitHub 작업.
  5. OIDC ID 토큰 발행자를 입력합니다.
  6. 구성에서 발행한 토큰 의 토큰 수명을 입력합니다.

    참고

    토큰 수명 형식은 XhYmZs 이며 24 시간 이상 설정할 수 없습니다.

  7. 구성에 규칙을 추가합니다.

    • 키는 사용할 OIDC 토큰의 클레임입니다.
    • 값은 예상되는 OIDC 토큰 클레임 값입니다.
    • OIDC 토큰 클레임 및 값이 있는 경우 역할에는 토큰에 할당할 역할이 있습니다.

      참고

      규칙은 클레임 값에 따라 역할을 할당하는 인증 공급자 규칙과 유사합니다.

      일반적으로 Red Hat은 규칙 내에서 고유하고 변경 불가능한 클레임을 사용할 것을 권장합니다. 일반적인 권장 사항은 OIDC ID 토큰 내에서 하위 클레임을 사용하는 것입니다. OIDC 토큰 클레임에 대한 자세한 내용은 표준 OIDC 클레임 목록을 참조하십시오.

  8. 저장을 클릭합니다.

18.5.2. ID 토큰 교환

사전 요구 사항

  • 유효한 OpenID Connect(OIDC) 토큰이 있습니다.
  • 액세스하려는 RHACS 인스턴스에 대한 머신 액세스 구성 을 추가했습니다.

프로세스

  1. POST 요청의 JSON 데이터를 준비합니다.

    {
        "idToken": "<id_token>"
    }
  2. API /v1/auth/m2m/exchange 에 POST 요청을 보냅니다.
  3. API 응답을 기다립니다.

    {
        "accessToken": "<access_token>"
    }
  4. 반환된 액세스 토큰을 사용하여 RHACS 인스턴스에 액세스합니다.
참고

GitHub Actions 를 사용하는 경우 stackrox/central-login GitHub Action 을 사용할 수 있습니다.

19장. 시스템 상태 대시보드 사용

Red Hat Advanced Cluster Security for Kubernetes 시스템 상태 대시보드는 Red Hat Advanced Cluster Security for Kubernetes 구성 요소에 대한 상태 관련 정보를 볼 수 있는 단일 인터페이스를 제공합니다.

참고

시스템 상태 대시보드는 Red Hat Advanced Cluster Security for Kubernetes 3.0.53 이상에서만 사용할 수 있습니다.

19.1. 시스템 상태 대시보드 세부 정보

상태 대시보드에 액세스하려면 다음을 수행합니다.

  • RHACS 포털에서 플랫폼 구성시스템 상태로 이동합니다.

상태 대시보드는 다음 그룹에 정보를 구성합니다.

  • 클러스터 상태 - Kubernetes 클러스터용 Red Hat Advanced Cluster Security의 전체 상태를 표시합니다.
  • 취약점 정의 - 취약점 정의의 마지막 업데이트 시간을 표시합니다.
  • 이미지 통합 - 통합한 모든 레지스트리의 상태를 표시합니다.
  • Notifier 통합 - 통합한 알림자의 상태(Slack, email, Jira 또는 기타 유사한 통합)를 표시합니다.
  • 백업 통합 - 통합한 백업 공급자의 상태를 표시합니다. Backup Integrations - Shows the health of any backup providers that you have integrated.

대시보드에는 다양한 구성 요소의 다음 상태가 나열됩니다.

  • healthy - 구성 요소가 작동합니다.
  • degraded - 구성 요소가 부분적으로 비정상적입니다. 이 상태는 클러스터가 작동하지만 일부 구성 요소는 비정상이므로 주의가 필요합니다.
  • 비정상 - 이 구성 요소는 정상이 아니며 즉각적인 주의가 필요합니다.
  • 초기화되지 않음 - 구성 요소가 아직 Central에 다시 보고되어 상태를 평가하지 않았습니다. 초기화되지 않은 상태는 종종 주의가 필요할 수 있지만 몇 분 후에 또는 통합이 사용될 때 구성 요소가 상태를 다시 보고하는 경우가 많습니다.
클러스터 상태 섹션

클러스터 개요 는 Red Hat Advanced Cluster Security for Kubernetes 클러스터 상태에 대한 정보를 보여줍니다. 다음에 대한 상태 정보를 보고합니다.

  • 수집기 상태 - Kubernetes용 Red Hat Advanced Cluster Security에서 사용하는 수집기 Pod가 정상인지 여부를 표시합니다.
  • 센서 상태 - Kubernetes용 Red Hat Advanced Cluster Security가 사용하는 센서 Pod가 정상인지 여부를 표시합니다.
  • 센서 업그레이드 - 센서가 Central과 비교할 때 센서가 올바른 버전을 실행하고 있는지 여부를 나타냅니다.
  • 인증 정보 만료 - Kubernetes용 Red Hat Advanced Cluster Security의 인증 정보가 만료되었는지 여부를 표시합니다.
참고

Uninitialized 상태의 클러스터는 확인될 때까지 Red Hat Advanced Cluster Security for Kubernetes에서 보안한 클러스터 수에 보고되지 않습니다.

취약점 정의 섹션

취약점 정의 섹션에는 마지막으로 취약점 정의가 업데이트되고 정의가 최신 상태인지 확인할 수 있습니다.

통합 섹션

세 가지 통합 섹션 이미지 통합,알림 통합백업 통합. Cluster Health 섹션과 유사하게 이러한 섹션에는 비정상적인 통합 수가 있는 경우 나열됩니다. 그렇지 않으면 모든 통합이 정상으로 보고됩니다.

참고

다음 조건이 충족되는 경우 Integrations 섹션에는 정상 통합이 0 으로 나열됩니다.

  • Red Hat Advanced Cluster Security for Kubernetes를 타사 툴과 통합하지 않았습니다.
  • 일부 툴과 통합되었지만 통합을 비활성화했거나 정책 위반을 설정하지 않았습니다.

19.2. 제품 사용량 데이터 보기

RHACS는 RHACS 센서에서 수집한 메트릭을 기반으로 보안 클러스터의 보안 Kubernetes 노드 및 CPU 단위 수에 대한 제품 사용 데이터를 제공합니다. 이 정보는 보고를 위한 RHACS 사용 데이터를 추정하는 데 유용할 수 있습니다.

Kubernetes에 CPU 단위가 정의되는 방법에 대한 자세한 내용은 CPU 리소스 단위 를 참조하십시오.

참고

OpenShift Container Platform은 자체 사용 보고서를 제공합니다. 이 정보는 자체 관리 Kubernetes 시스템과 함께 사용하기 위한 것입니다.

RHACS는 웹 포털 및 API에서 다음과 같은 사용 데이터를 제공합니다.

  • 현재 보안된 CPU 단위: 최신 메트릭 컬렉션으로 RHACS 보안 클러스터에서 사용하는 Kubernetes CPU 단위 수입니다.
  • 현재 보안된 노드 수: 최신 메트릭 컬렉션으로 RHACS에서 보호하는 Kubernetes 노드 수입니다.
  • 최대 보안 CPU 단위: RHACS 보안 클러스터에서 사용하는 최대 CPU 단위 수입니다. 시간별 측정 및 시작 날짜 및 종료 날짜에 따라 집계된 CPU 단위입니다.
  • 최대 보안 노드 수: RHACS에서 보호하는 최대 Kubernetes 노드 수입니다. 시간별 측정 및 시작 날짜 및 종료 날짜에 정의된 기간 동안 집계된 Kubernetes 노드 수입니다.
  • CPU 단위 관찰 날짜: 최대 보안 CPU 단위 데이터가 수집된 날짜입니다.
  • 노드 수 관찰 날짜: 보안된 최대 노드 수 데이터가 수집된 날짜입니다.

센서는 5분마다 데이터를 수집하므로 현재 데이터를 표시하는 데 짧은 지연이 발생할 수 있습니다. 기록 데이터를 보려면 시작 날짜와 종료 날짜 를 구성하고 데이터 파일을 다운로드해야 합니다. 날짜 범위는 포괄적이며 시간대에 따라 다릅니다.

제시된 최대 값은 요청된 기간의 시간별 최대값에 따라 계산됩니다. 시간별 최대값은 CSV 형식으로 다운로드할 수 있습니다.

참고

표시된 데이터는 Red Hat으로 전송되거나 Prometheus 지표로 표시되지 않습니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성시스템 상태로 이동합니다.
  2. 제품 사용량 표시를 클릭합니다.
  3. 시작 날짜종료 날짜 필드에서 데이터를 표시할 날짜를 선택합니다. 이 범위는 포괄적이며 시간대에 따라 다릅니다.
  4. 선택 사항: 자세한 데이터를 다운로드하려면 CSV 다운로드를 클릭합니다.

ProductUsageService API 오브젝트를 사용하여 이 데이터를 가져올 수도 있습니다. 자세한 내용은 RHACS 포털에서 도움말API 참조로 이동하십시오.

19.3. RHACS 포털을 사용하여 진단 번들 생성

RHACS 포털의 시스템 상태 대시보드를 사용하여 진단 번들을 생성할 수 있습니다.

사전 요구 사항

  • 진단 번들을 생성하려면 관리 리소스에 대한 읽기 권한이 필요합니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성시스템 상태를 선택합니다.
  2. 시스템 상태 보기 헤더에서 진단 번들 생성 을 클릭합니다.
  3. 클러스터별 필터링 드롭다운 메뉴의 경우 진단 데이터를 생성할 클러스터를 선택합니다.
  4. 시작 시 필터 의 경우 진단 데이터를 포함하려는 날짜 및 시간(UTC 형식)을 지정합니다.
  5. 진단 번들 다운로드를 클릭합니다.

19.3.1. 추가 리소스

20장. 관리 이벤트 페이지 사용

RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하여 단일 인터페이스에서 관리 이벤트 정보를 볼 수 있습니다. 이 인터페이스를 사용하여 중요한 이벤트 세부 정보를 이해하고 해석할 수 있습니다.

20.1. 다른 도메인의 이벤트 로그에 액세스

관리 이벤트 페이지를 보면 다른 도메인의 다양한 이벤트 로그에 액세스할 수 있습니다.

프로세스

  • RHACS 플랫폼에서 플랫폼 구성 → 관리 이벤트로 이동합니다.

20.2. 관리 이벤트 페이지 개요

관리 이벤트 페이지는 다음 그룹에 정보를 구성합니다.

  • domain : 이벤트가 발생한 RHACS 내의 특정 영역 또는 도메인에 의해 이벤트를 분류합니다. 이 분류는 이벤트 컨텍스트를 구성하고 이해하는 데 도움이 됩니다.

    다음 도메인이 포함됩니다.

    • 인증
    • 일반
    • 이미지 검사
    • 통합
  • 리소스 유형: 관련 리소스 또는 구성 요소 유형을 기반으로 이벤트를 분류합니다.

    다음과 같은 리소스 유형이 포함됩니다.

    • API 토큰
    • Cluster
    • 이미지
    • 노드
    • Notifier
  • level: 이벤트의 심각도 또는 중요성을 나타냅니다.

    다음 수준이 포함됩니다.

    • 오류
    • 경고
    • 성공
    • 정보
    • 알 수 없음
  • 이벤트가 발생한 시점의 타임스탬프 및 날짜에 대한 정보를 제공합니다.Provide information about the timestamp and date when an event occurred. 문제 진단 및 작업 또는 사고의 순서를 이해하는 데 필요한 이벤트 타이밍을 추적하는 데 도움이 됩니다.
  • Count: 특정 이벤트가 발생한 횟수를 나타냅니다. 이 수는 문제의 빈도를 평가하는 데 유용합니다. 여러 번 발생한 이벤트는 수정해야 하는 지속적인 문제를 나타냅니다.

또한 각 이벤트는 오류를 수정하기 위해 수행해야 할 사항에 대한 표시도 제공합니다.

20.3. 특정 도메인의 이벤트에 대한 정보 가져오기

관리 이벤트의 세부 정보를 확인하면 해당 특정 도메인의 이벤트에 대한 자세한 정보를 얻을 수 있습니다. 이를 통해 이벤트의 컨텍스트 및 세부 사항을 더 잘 이해할 수 있습니다.

프로세스

  • 관리 이벤트 페이지에서 도메인을 클릭하여 세부 정보를 확인합니다.

20.4. 관리 이벤트 세부 정보 개요

관리 이벤트는 오류 또는 이벤트를 설명하는 로그 정보를 제공합니다.

로그는 다음 정보를 제공합니다.

  • 이벤트의 컨텍스트
  • 오류를 해결하기 위한 단계

관리 이벤트 페이지는 다음 그룹에 정보를 구성합니다.

  • 리소스 유형: 관련 리소스 또는 구성 요소 유형을 기반으로 이벤트를 분류합니다.

    다음과 같은 리소스 유형이 포함됩니다.

    • API 토큰
    • Cluster
    • 이미지
    • 노드
    • Notifier
  • resource name: 이벤트가 참조하는 리소스 또는 구성 요소의 이름을 지정합니다. 이벤트가 발생한 도메인 내의 특정 인스턴스를 식별합니다.
  • 이벤트 유형: 이벤트의 소스를 지정합니다. Central은 로그 문에서 생성된 관리 이벤트에 해당하는 로그 이벤트를 생성합니다.
  • 이벤트 ID: 각 이벤트에 할당된 영숫자 문자로 구성된 고유 식별자입니다. 이벤트 ID는 시간이 지남에 따라 이벤트를 식별, 추적 및 관리하는 데 유용할 수 있습니다.
  • 생성됨: 이벤트가 원래 생성되거나 기록된 시점의 타임스탬프와 날짜를 나타냅니다.
  • 마지막 발생 시: 이벤트가 마지막으로 발생한 타임스탬프 및 날짜를 지정합니다. 이렇게 하면 이벤트의 타이밍이 추적되며 반복적인 문제를 진단하고 해결하는 데 중요할 수 있습니다.
  • Count: 특정 이벤트가 발생한 횟수를 나타냅니다. 이 수는 문제의 빈도를 평가하는 데 유용합니다. 여러 번 발생한 이벤트는 수정해야 하는 지속적인 문제를 나타냅니다.

20.5. 관리 이벤트 만료 설정

일 수를 지정하면 관리 이벤트가 만료되는 시기를 제어할 수 있습니다. 이는 이벤트를 관리하고 원하는 기간 동안 정보를 유지하는 데 중요합니다.

참고

기본적으로 관리 이벤트는 4일 동안 유지됩니다. 이러한 이벤트의 보존 기간은 생성 시점이 아닌 마지막 발생 시간에 따라 결정됩니다. 즉, 이벤트가 만료되고 마지막으로 발생한 시간이 지정된 보존 기간을 초과하는 경우에만 삭제됩니다.

프로세스

  1. RHACS 포털에서 플랫폼 구성 → 시스템 구성으로 이동합니다. 관리 이벤트에 대해 다음 설정을 구성할 수 있습니다.

    • 관리 이벤트 보존 일: 관리 이벤트를 유지할 일 수입니다.
  2. 이 값을 변경하려면 편집 을 클릭하고 변경 사항을 수행한 다음 저장을 클릭합니다.

법적 공지

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.