운영
Red Hat Advanced Cluster Security for Kubernetes
초록
1장. 대시보드 보기
RHACS(Red Hat Advanced Cluster Security for Kubernetes) 대시보드를 사용하면 환경, 규정 준수 상태 및 정책 위반과 같은 주요 메트릭을 시각적으로 추적하고 분석할 수 있습니다. 대시보드 보기를 사용하면 이미지, 컨테이너, Pod, 네임스페이스, 클러스터 및 해당 구성을 포함하여 클라우드 네이티브 인프라를 이해할 수 있습니다.
RHACS 포털을 처음 열면 빈 대시보드가 표시될 수 있습니다. 하나 이상의 클러스터에 Sensor를 배포한 후 대시보드는 환경의 상태를 반영합니다.
대시보드 보기에 시스템 위반 요약, 규정 준수 상태 요약, 클러스터 위반, 주요 위험 배포, 활성 위반 등을 보여주는 여러 대화형 위젯이 포함되어 있습니다. 또한 새 정책 카테고리를 만들 때 자동으로 생성되는 다른 위젯도 포함합니다.
1.1. System Violations
System Violations 위젯 (upper-left)에는 대시보드 보기에 대한 중요, 높음, 중간 및 낮은 심각도 위반의 수가 표시됩니다. 위젯에서 번호를 선택하여 이러한 위반에 대한 세부 정보를 볼 수 있습니다.
1.2. 컴플라이언스
Compliance 위젯(오른쪽)에는 다양한 규정 준수 벤치마크의 상태와 제어가 통과 또는 실패하는 경우 표시됩니다.
Compliance 위젯은 규정 준수 검사를 실행한 후에만 세부 정보를 표시합니다.
1.3. 클러스터 위반
Cluster widget의 Vi olations에서는 심각도에 따라 각 클러스터의 위반 횟수를 기준으로 한 막대 차트를 다양한 색상으로 표시합니다.
1.4. 주요 위험 배포
Top Risky Deployments (상위 위험 배포) 위젯은 컨테이너화된 환경에서 위험할 위험이 있는 상위 5개의 배포가 표시됩니다.
이 위젯에서 배포를 선택하여 특정 배포 문제에 대한 자세한 정보를 얻을 수 있습니다. 또한 View All (모두 보기)을 선택하여 모든 배포에 대한 위험을 볼 수도 있습니다.
여기에서 별도의 배포를 선택하여 각 특정 배포에서 발견된 문제의 세부 정보를 확인할 수 있습니다.
1.5. 시간별 활성 바이러스
Time 위젯의 Active Violations 는 최근 며칠 동안의 위반 횟수를 보여주는데, 색상은 이러한 위반의 심각도를 나타냅니다.
1.6. 구성 가능한 대시보드 위젯
대시보드 보기에 표시되는 다른 위젯은 사용자가 정의한 정책 카테고리 및 트리거하는 위반으로부터 생성됩니다.
2장. 컴플라이언스 관리
Red Hat Advanced Cluster Security for Kubernetes를 사용하면 컨테이너화된 인프라의 규정 준수 상태를 평가, 확인 및 보고할 수 있습니다. 다음을 포함하여 업계 표준을 기반으로 기본 규정 준수 검사를 실행할 수 있습니다.
- Docker 및 Kubernetes용 CIS Benchmarks (Center for Internet Security)
- HIPAA (Health insurance Portability and Accountability Act)
- NIST Special Publication 800-190 및 800-53 (National Institute of Standards and Technology)
- PCI DSS (Payment Card Industry Data Security Standard)
다음 표준을 기반으로 환경을 스캔하면 다음을 수행할 수 있습니다.
- 규제 준수를 위해 인프라를 평가하십시오.
- Docker 엔진 및 Kubernetes 오케스트레이터를 강화합니다.
- 사용자의 환경에 대한 전체 보안 태세를 이해하고 관리합니다.
- 클러스터, 네임스페이스 및 노드에 대한 규정 준수 상태에 대한 자세한 보기를 가져옵니다.
2.1. 규정 준수 대시보드 보기
규정 준수 대시보드에서는 사용자 환경의 모든 클러스터, 네임스페이스 및 노드에 대한 규정 준수 표준을 자세히 볼 수 있습니다.
컴플라이언스 대시보드에는 차트가 포함되어 있으며 규정 준수 지침에서 잠재적인 문제를 조사할 수 있는 옵션을 제공합니다. 단일 클러스터, 네임스페이스 또는 노드에 대한 규정 준수 검사 결과로 이동할 수 있습니다. 또한 컨테이너화된 환경의 규정 준수 상태에 대한 보고서를 생성할 수 있습니다.
절차
- RHACS 포털의 탐색 메뉴에서 Compliance (규정 준수)를 선택합니다.
규정 준수 대시보드를 처음 열면 빈 대시보드가 표시됩니다. 규정 준수 검사를 실행하여 대시보드를 채워야 합니다.
2.2. 규정 준수 검사 실행
규정 준수 검사를 실행하면 모든 규정 준수 표준에 따라 전체 인프라에 대한 규정 준수 상태를 확인합니다. 규정 준수 검사를 실행하면 Red Hat Advanced Cluster Security for Kubernetes가 사용자 환경의 데이터 스냅샷을 생성합니다. 데이터 스냅샷에는 경고, 이미지, 네트워크 정책, 배포, 관련 호스트 기반 데이터가 포함됩니다. Central은 클러스터에서 실행되는 센서로부터 호스트 기반 데이터를 수집합니다. 그 후 Central은 각 컬렉터 Pod에서 실행되는 규정 준수 컨테이너에서 더 많은 데이터를 수집합니다. 규정 준수 컨테이너는 환경에 대한 다음 데이터를 수집합니다.
- Docker Daemon, Docker 이미지 및 Docker 컨테이너에 대한 구성입니다.
- Docker 네트워크에 대한 정보입니다.
- Docker, Kubernetes 및 OpenShift Container Platform에 대한 명령줄 인수 및 프로세스.
- 특정 파일 경로에 대한 권한.
- 핵심 Kubernetes 및 OpenShift Container Platform 서비스에 대한 구성 파일입니다.
데이터 수집이 완료되면 중앙에서 데이터 검사를 수행하여 결과를 결정합니다. 규정 준수 대시보드의 결과를 보고 결과를 기반으로 규정 준수 보고서를 생성할 수도 있습니다.
규정 준수 검사에서 다음을 수행합니다.
- Control 은 감사자가 규정 준수를 위해 정보 시스템을 평가하는 업계 또는 규제 준수 표준의 단일 줄 항목을 설명합니다. Red Hat Advanced Cluster Security for Kubernetes는 검사를 하나 이상 완료하여 단일 제어를 준수한다는 증거를 확인합니다.
- 점검 은 단일 제어 평가 중에 수행되는 단일 테스트입니다.
-
일부 컨트롤에는 여러 검사가 연결되어 있습니다. 연결된 검사 중 하나라도 컨트롤에 실패하면 전체 제어 상태가
Fail로 표시됩니다.
절차
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
스캔 환경 을 클릭합니다.
참고전체 환경을 스캔하는 데 걸리는 시간은 약 2분 정도 걸립니다. 이 시간은 사용자 환경의 클러스터 및 노드 수에 따라 다를 수 있습니다.
2.3. 컴플라이언스 검사 결과 보기
규정 준수 검사를 실행한 후 규정 준수 대시보드에 환경에 대한 규정 준수 상태로 결과가 표시됩니다. 대시보드에서 직접 규정 준수 위반을 보고 세부 정보 보기를 필터링하며 규정 준수 표준을 드릴다운하여 환경에서 특정 벤치마크를 준수하는지 확인할 수 있습니다. 이 섹션에서는 규정 준수 검사 결과를 보고 필터링하는 방법을 설명합니다.
바로 가기를 사용하여 클러스터, 네임스페이스 및 노드의 규정 준수 상태를 확인할 수 있습니다. 규정 준수 대시보드 상단에 있는 이러한 바로 가기를 찾습니다. 이러한 바로 가기를 클릭하면 규정 준수 스냅샷을 보고 클러스터, 네임스페이스 또는 노드의 전반적인 규정 준수에 대한 보고서를 생성할 수 있습니다.
규정 준수 상태
| 상태 | 설명 |
|---|---|
|
| 컴플라이언스 검사에 실패했습니다. |
|
| 규정 준수 검사를 통과했습니다. |
|
| Red Hat Advanced Cluster Security for Kubernetes는 적용되지 않았기 때문에 검사를 건너뛰었습니다. |
|
|
컴플라이언스 검사에서 수집된 데이터를 확인했지만 Red Hat Advanced Cluster Security for Kubernetes는 |
|
| 기술적인 문제로 인해 규정 준수 검사가 실패했습니다. |
2.3.1. 클러스터의 규정 준수 상태 보기
규정 준수 대시보드에서 모든 클러스터 또는 단일 클러스터의 규정 준수 상태를 볼 수 있습니다.
절차
사용자 환경의 모든 클러스터의 규정 준수 상태를 보려면 다음을 수행합니다.
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
- 규정 준수 대시보드에서 클러스터를 클릭합니다.
사용자 환경에서 특정 클러스터의 규정 준수 상태를 보려면 다음을 수행합니다.
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
- 규정 준수 대시보드에서 클러스터 위젯의 Passing 표준을 찾습니다.
- 이 위젯에서 클러스터 이름을 클릭하여 규정 준수 상태를 확인합니다.
2.3.2. 네임스페이스의 규정 준수 상태 보기
모든 네임스페이스 또는 규정 준수 대시보드에서 단일 네임스페이스의 규정 준수 상태를 볼 수 있습니다.
절차
환경의 모든 네임스페이스의 규정 준수 상태를 보려면 다음을 수행합니다.
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
- 규정 준수 대시보드에서 네임스페이스를 클릭합니다.
사용자 환경의 특정 네임스페이스의 규정 준수 상태를 보려면 다음을 수행합니다.
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
- 네임스페이스를 클릭 하여 네임스페이스 세부 정보 페이지를 엽니다.
- Namespaces (네임스페이스) 표에서 네임스페이스를 클릭합니다. 오른쪽에 패널이 열립니다.
- 측면 패널에서 네임스페이스 이름을 클릭하여 규정 준수 상태를 확인합니다.
2.3.3. 특정 표준의 규정 준수 상태 보기
Red Hat Advanced Cluster Security for Kubernetes는 NIST, PCI DSS, NIST, HIPAA, Kubernetes용 CIS for Kubernetes 및 CIS for Docker 규정 준수 표준을 지원합니다. 단일 규정 준수 표준에 대한 모든 규정 준수 제어를 볼 수 있습니다.
절차
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
- 규정 준수 대시보드에서 클러스터 위젯의 Passing 표준을 찾습니다.
- 이 위젯에서 표준을 클릭하여 해당 표준과 관련된 모든 컨트롤에 대한 정보를 봅니다.
2.3.4. 특정 컨트롤의 규정 준수 상태 보기
선택한 표준에 대한 특정 제어에 대한 규정 준수 상태를 볼 수 있습니다.
절차
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
- 규정 준수 대시보드에서 클러스터 위젯의 Passing 표준을 찾습니다.
- 이 위젯에서 표준을 클릭하여 해당 표준과 관련된 모든 컨트롤에 대한 정보를 봅니다.
- 제어 표에서 컨트롤을 클릭합니다.From the Controls table, click a control. 오른쪽에 패널이 열립니다.
- 측면 패널에서 컨트롤 이름을 클릭하여 세부 정보를 확인합니다.
2.4. 규정 준수 상태 필터링
Red Hat Advanced Cluster Security for Kubernetes search를 사용하면 규정 준수 대시보드에서 다양한 데이터 조합을 쉽게 필터링할 수 있습니다. 클러스터, 산업 표준, 제어 전달 또는 실패의 하위 집합에 중점을 두려면 규정 준수 대시보드에 표시되는 데이터의 범위를 좁힐 수 있습니다.
절차
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
- 규정 준수 대시보드에서 클러스터 또는 네임스페이스 또는 노드를 선택 하여 세부 정보 페이지를 엽니다.
- 검색 창에 필터링 기준을 입력한 다음 Enter 를 누릅니다.
2.5. 규정 준수 보고서 생성
Red Hat Advanced Cluster Security for Kubernetes를 사용하면 보고서를 생성하여 환경의 규정 준수 상태를 추적할 수 있습니다. 이러한 보고서를 사용하여 다른 이해 관계자에게 다양한 산업의 규정 준수 상태를 전달할 수 있습니다.
다음을 생성할 수 있습니다.
- 핵심 보고서 는 비즈니스 측면에 중점을 두고 PDF 형식의 규정 준수 상태에 대한 차트 및 요약을 포함합니다.
- 기술적 측면에 중점을 둔 증거 보고서 에는 CSV 형식의 세부 정보가 포함되어 있습니다.
절차
- 탐색 메뉴에서 Compliance (규정 준수)를 선택하여 RHACS 포털로 이동하여 규정 준수 대시보드를 엽니다.
규정 준수 대시보드에서 오른쪽 상단에 있는 Export (내보내기)를 클릭합니다.
- 경영진 보고서를 생성하려면 Download page as PDF 를 선택합니다.
- 증거 보고서를 생성하려면 CSV로 Evidence 다운로드 를 선택합니다.
Export (내보내기) 옵션이 모든 규정 준수 페이지 및 필터링된 뷰에 표시됩니다.
2.5.1. 증거 보고서
Red Hat Advanced Cluster Security for Kubernetes in CSV 형식에서 포괄적인 규정 준수 관련 데이터를 증거 보고서로 내보낼 수 있습니다. 이 증거 보고서에는 규정 준수 평가에 대한 자세한 정보가 포함되어 있으며 규정 준수 감사자, DevOps 엔지니어 또는 보안 실무 담당자와 같은 기술 역할에 맞게 조정됩니다.
증거 보고서에는 다음 정보가 포함됩니다.
| CSV 필드 | 설명 |
|---|---|
| Standard | 규정 준수 표준(예: CIS Kubernetes)입니다. |
| Cluster | 평가 클러스터의 이름입니다. |
| 네임스페이스 | 배포가 존재하는 네임스페이스 또는 프로젝트의 이름입니다. |
| 오브젝트 유형 |
오브젝트의 Kubernetes 엔터티 유형입니다. 예를 들어 |
| 오브젝트 이름 |
Kubernetes 시스템 생성 문자열인 오브젝트의 이름입니다. 이 문자열은 오브젝트를 고유하게 식별합니다. 예를 들어 |
| 제어 | 규정 준수 표준에 표시된 제어 번호입니다. |
| 제어 설명 | 제어가 수행되는지 규정 준수 검사에 대한 설명입니다. |
| 상태 |
규정 준수 검사를 통과했는지 또는 실패했는지 여부입니다. 예를 들면 |
| 증명 | 특정 규정 준수 검사가 실패했거나 통과한 이유에 대한 설명입니다. |
| 평가 시간 | 규정 준수 스캔을 실행한 시간 및 날짜입니다. |
2.6. 지원되는 벤치마크 버전
Red Hat Advanced Cluster Security for Kubernetes는 다음과 같은 업계 표준 및 규제 프레임워크에 대한 규정 준수 검사를 지원합니다.
| 벤치마크 | 지원되는 버전 |
|---|---|
| Docker 및 Kubernetes용 CIS Benchmarks (Center for Internet Security) | 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 리v. 4 |
| PCI DSS (Payment Card Industry Data Security Standard) | PCI DSS 3.2.1 |
3장. 보안 위험 평가
Red Hat Advanced Cluster Security for Kubernetes는 전체 환경의 위험을 평가하고 보안 위험에 따라 실행 중인 배포의 순위를 지정합니다. 또한 즉각적인 주의가 필요한 취약점, 구성 및 런타임 활동에 대한 세부 정보도 제공합니다.
3.1. 위험 보기
위험 보기는 정책 위반, 이미지 콘텐츠, 배포 구성 및 기타 유사한 요인에 따라 다단계 위험 지표로 정렬된 모든 클러스터의 모든 배포를 나열합니다. 목록의 맨 위에 있는 배포는 가장 위험이 높습니다.
위험 보기는 각 행에 대해 다음 속성이 있는 배포 목록을 보여줍니다.
- Name: 배포 이름입니다.
- Created: 배포 생성 시간입니다.
- cluster: 배포가 실행 중인 클러스터의 이름입니다.
- namespace : 배포가 존재하는 네임스페이스입니다.
- priority: 심각도 및 위험 메트릭을 기반으로 하는 우선 순위입니다.
위험 화면에서는 다음을 수행할 수 있습니다.
- 열 제목을 선택하여 오름차순 또는 내림차순으로 위반을 정렬합니다.Select a column heading to sort the violations in ascending or descending order.
- 필터 바를 사용하여 위반을 필터링합니다.
- 필터링된 기준에 따라 새 정책을 생성합니다.
배포 위험에 대한 자세한 정보를 보려면 위험 보기에서 배포를 선택합니다.
3.1.1. 위험 보기 열기
위험 뷰의 모든 위험 을 분석하고 적절한 조치를 취할 수 있습니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 Risk 를 선택합니다.
3.2. 위험 보기를 통해 보안 정책 생성
위험 요소 보기에서 배포에서 위험 을 평가하는 동안 로컬 페이지 필터링을 적용할 때 사용하는 필터링 기준에 따라 새 보안 정책을 생성할 수 있습니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 Risk 를 선택합니다.
- 정책을 생성할 로컬 페이지 필터링 기준을 적용합니다.
- New Policy (새 정책)를 선택하고 새 정책을 생성하는 데 필요한 필드를 입력합니다.
3.2.1. Red Hat Advanced Cluster Security for Kubernetes가 필터링 기준을 정책 기준으로 변환하는 방법 이해
사용하는 필터링 기준에 따라 위험 보기에서 새 보안 정책을 생성할 때 모든 기준이 새 정책에 직접 적용되는 것은 아닙니다.
Red Hat Advanced Cluster Security for Kubernetes는 Cluster,Namespace, Deployment 필터를 동등한 정책 범위로 변환합니다.
위험 보기에서 로컬 페이지 필터링은 다음 방법을 사용하여 검색 조건을 결합합니다.
-
동일한 범주의 검색 용어와
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는 정책 기준에 직접 매핑되지 않는 필터를 삭제하거나 수정합니다.
다음 표에는 검색 특성 필터링이 정책 기준에 매핑되는 방법이 나와 있습니다.
| search 속성 | 정책 기준 |
|---|---|
| 기능 추가 | 기능 추가 |
| 주석 | 허용되지 않는 주석 |
| CPU Cores Limit | 컨테이너 CPU 제한 |
| CPU 코어 요청 | 컨테이너 CPU 요청 |
| CVE | CVE |
| CVE Published On | 삭제됨 |
| CVE Snoozed | 삭제됨 |
| CVSS | CVSS |
| Cluster | 범위로 변환 |
| 구성 요소 | 이미지 구성 요소(이름) |
| 구성 요소 버전 | 이미지 구성 요소(버전) |
| 배포 | 범위로 변환 |
| 배포 유형 | 삭제됨 |
| Dockerfile 명령 키워드 | Dockerfile 라인(키) |
| Dockerfile 명령 값 | Dockerfile 라인(값) |
| 드롭 기능 | 삭제됨 |
| 환경 키 | 환경 변수(키) |
| 환경 값 | 환경 변수(값) |
| 환경 변수 소스 | 환경 변수(소스) |
| 노출된 노드 포트 | 삭제됨 |
| 서비스 노출 | 삭제됨 |
| 서비스 포트 노출 | 삭제됨 |
| 노출 수준 | 포트 Exposure |
| 외부 호스트 이름 | 삭제됨 |
| 외부 IP | 삭제됨 |
| Image | 삭제됨 |
| 이미지 명령 | 삭제됨 |
| 이미지 생성 시간 | 이미지가 생성된 날짜 |
| 이미지 Entrypoint | 삭제됨 |
| 이미지 레이블 | 허용되지 않는 이미지 레이블 |
| 이미지 OS | 이미지 OS |
| 이미지 가져오기 보안 | 삭제됨 |
| 이미지 레지스트리 | 이미지 레지스트리 |
| 이미지 원격 | 이미지 원격 |
| 이미지 스캔 시간 | 이미지가 마지막으로 스캔된 날짜 |
| 이미지 태그 | 이미지 태그 |
| 이미지 상위 CVSS | 삭제됨 |
| 이미지 사용자 | 삭제됨 |
| 이미지 볼륨 | 삭제됨 |
| 레이블 | 범위로 변환 |
| 최대 노출 수준 | 삭제됨 |
| 메모리 제한 (MB) | 컨테이너 메모리 제한 |
| 메모리 요청(MB) | 컨테이너 메모리 요청 |
| 네임스페이스 | 범위로 변환 |
| 네임스페이스 ID | 삭제됨 |
| Pod 라벨 | 삭제됨 |
| 포트 | 포트 |
| 포트 프로토콜 | 프로토콜 |
| 우선 순위 | 삭제됨 |
| privileged | privileged |
| 프로세스 Ancestor | 프로세스 Ancestor |
| 프로세스 인수 | 프로세스 인수 |
| 프로세스 이름 | 프로세스 이름 |
| 프로세스 경로 | 삭제됨 |
| 프로세스 태그 | 삭제됨 |
| 프로세스 UID | 프로세스 UID |
| 루트 파일 시스템만 읽기 | 읽기 전용 루트 파일 시스템 |
| Secret | 삭제됨 |
| 보안 경로 | 삭제됨 |
| 서비스 계정 | 삭제됨 |
| 서비스 계정 권한 수준 | 최소 RBAC 권한 수준 |
| 허용 오차 키 | 삭제됨 |
| 허용 오차 값 | 삭제됨 |
| 볼륨 대상 | 볼륨 대상 |
| 볼륨 이름 | 볼륨 이름 |
| volume ReadOnly | 쓰기 가능한 볼륨 |
| 볼륨 소스 | 볼륨 소스 |
| 볼륨 유형 | 볼륨 유형 |
3.3. 위험 세부 정보 보기
위험 보기에서 배포를 선택하면 오른쪽에 있는 패널에서 Risk Details 가 열립니다. 위험 세부 정보 패널에는 여러 탭으로 그룹화된 자세한 정보가 표시됩니다.
3.3.1. risk Indicators 탭
위험 세부 정보 패널의 위험 표시 탭에는 검색된 위험 이 설명되어 있습니다.
Risk Indicators 탭에는 다음 섹션이 포함되어 있습니다.
- Policy Violations: 선택한 배포에 대해 위반되는 정책의 이름입니다.
- 의심스러운 프로세스 실행: 프로세스가 실행된 관련 프로세스, 인수 및 컨테이너 이름입니다.
- Image Vulnerabilities: CVSS 점수가 있는 전체 CVE를 포함한 이미지입니다.
- 서비스 구성: RW(Read-write) 기능, 기능 삭제 여부 및 권한 있는 컨테이너 존재와 같이 종종 문제가 되는 구성의 검사.
- Service Reachability: 클러스터 내부 또는 외부에 노출된 컨테이너 포트입니다.
- 구성 요소 사용: 공격자가 자주 사용하는 소프트웨어 도구 검색.
- 이미지의 구성 요소 수: 각 이미지에 있는 패키지 수입니다.
-
Image Freshness: 이미지 이름과 사용 기간 (예:
285 일) - RBAC 구성: Kubernetes 역할 기반 액세스 제어(RBAC)에서 배포에 부여된 권한 수준입니다.
모든 섹션이 Risk Indicators 탭에 표시되는 것은 아닙니다. Red Hat Advanced Cluster Security for Kubernetes에는 선택한 배포에 영향을 미치는 관련 섹션만 표시됩니다.
3.4. 배포 세부 정보 탭
Deployment Risk 패널의 Deployment Details (배포 세부 정보) 탭에 있는 섹션에서는 검색된 위험을 해결하는 방법에 대한 적절한 결정을 내릴 수 있도록 자세한 정보를 제공합니다.
3.4.1. 개요 섹션
개요 섹션에서는 다음에 대한 세부 정보를 보여줍니다.
- 배포 ID: 배포에 대한 영숫자 식별자입니다.
- namespace: 배포가 존재하는 Kubernetes 또는 OpenShift Container Platform 네임스페이스입니다.
- Updated: 배포가 업데이트되었을 때의 날짜입니다.
-
Deployment Type (배포 유형): 배포 유형(예:
Deployment또는DaemonSet)입니다. - replicas: 이 배포에 배포된 Pod 수입니다.
- labels : Kubernetes 또는 OpenShift Container Platform 애플리케이션에 연결된 키-값 레이블입니다.
- cluster: 배포가 실행 중인 클러스터의 이름입니다.
- annotations: 배포에 대한 Kubernetes 주석입니다.
- Service Account: Pod에서 실행되는 프로세스의 ID를 나타냅니다. 서비스 계정을 통해 프로세스를 인증하면 Kubernetes API 서버에 연결하여 클러스터 리소스에 액세스할 수 있습니다. 포드에 서비스 계정이 할당되지 않은 경우 기본 서비스 계정이 부여됩니다.
3.4.2. 컨테이너 구성 섹션
컨테이너 구성 섹션에서는 다음에 대한 세부 정보를 보여줍니다.
- Image Name: 배포된 이미지의 이름입니다.
리소스
- CPU 요청(코어): 컨테이너에서 요청한 CPU 수입니다.
- CPU 제한(코어): 컨테이너에서 사용할 수 있는 최대 CPU 수입니다.
- 메모리 요청(MB): 컨테이너에서 요청한 메모리 크기입니다.
- 메모리 제한(MB): 컨테이너가 종료하지 않고 사용할 수 있는 최대 메모리 양입니다.
mounts
- name : 마운트의 이름입니다.
- Source: 마운트의 데이터가 들어오는 경로입니다.
- destination: 마운트의 데이터가 이동하는 경로입니다.
- type : 마운트 유형입니다.
- secrets: 배포에 사용되는 Kubernetes 시크릿의 이름과 X.509 인증서인 시크릿 값에 대한 기본 세부 정보입니다.
3.4.3. 보안 컨텍스트 섹션
보안 컨텍스트 섹션에는 다음에 대한 세부 정보가 표시됩니다.
-
privileged: 컨테이너에 권한이 있는 경우
true를 나열합니다.
3.5. 프로세스 검색 탭
Process Discovery (프로세스 검색) 탭에서는 배포별로 요약된 환경의 각 컨테이너에서 실행된 모든 바이너리의 포괄적인 목록을 제공합니다.
프로세스 검색 탭에는 다음에 대한 세부 정보가 표시됩니다.
- Binary Name: 실행된 바이너리의 이름입니다.
- Container: 프로세스가 실행된 배포의 컨테이너입니다.
- arguments: 바이너리와 함께 전달된 특정 인수입니다.
- Time: 바이너리가 지정된 컨테이너에서 실행된 최근의 날짜 및 시간입니다.
- Pod ID: 컨테이너가 상주하는 Pod의 식별자입니다.
- UID: 프로세스가 실행된 Linux 사용자 ID입니다.
필터 모음에서 Process Name:<name& gt; 쿼리를 사용하여 특정 프로세스를 찾습니다.
3.5.1. 이벤트 타임라인 섹션
Process Discovery (프로세스 검색) 탭의 이벤트 타임라인 섹션에서는 선택한 배포에 대한 이벤트 개요를 제공합니다. 여기에는 정책 위반, 프로세스 활동, 컨테이너 종료 또는 다시 시작 이벤트 수가 표시됩니다.
자세한 내용을 보려면 이벤트 타임라인 을 선택할 수 있습니다.
이벤트 타임라인 모달 상자에는 선택한 배포에 대한 모든 Pod에 대한 이벤트가 표시됩니다.
타임라인의 이벤트는 다음과 같이 분류됩니다.
- 프로세스 활동
- 정책 위반
- 컨테이너 재시작
- 컨테이너 종료
이벤트는 타임라인에서 아이콘으로 표시됩니다. 이벤트에 대한 자세한 내용을 보려면 이벤트 아이콘 위에 마우스 포인터를 유지합니다. 세부 정보가 툴팁에 표시됩니다.
- Legend 표시 를 클릭하여 어떤 유형의 이벤트에 해당하는 아이콘이 있는지 확인합니다.
- 내보내기 → PDF 다운로드 또는 내보내기 → CSV 다운로드 를 선택하여 이벤트 타임라인 정보를 다운로드합니다.
- Show All 드롭다운 메뉴를 선택하여 타임라인에 표시되는 이벤트 유형을 필터링합니다.
- 확장 아이콘을 클릭하여 선택한 Pod의 각 컨테이너에 대한 이벤트를 별도로 확인합니다.
타임라인의 모든 이벤트는 맨 아래 minimap 컨트롤에도 표시됩니다. minimap은 이벤트 타임라인에 표시되는 이벤트 수를 제어합니다. 미니맵에서 강조 표시된 영역을 수정하여 타임라인에 표시된 이벤트를 변경할 수 있습니다. 이렇게 하려면 강조 표시된 영역을 왼쪽 또는 오른쪽(또는 둘 다)에서 감소한 다음 강조 표시된 영역을 드래그합니다.
컨테이너가 다시 시작되면 Red Hat Advanced Cluster Security for Kubernetes:
-
Pod의 각 컨테이너에 대해 컨테이너 종료 및 재시작에 대한 최대 10개의 비활성 컨테이너 인스턴스에 대한 정보를 표시합니다. 예를 들어 두 개의 컨테이너
앱과사이드카가 있는 Pod의 경우 Kubernetes용 Red Hat Advanced Cluster Security는 최대 10개의앱인스턴스와 최대 10개의사이드카인스턴스에 대한 활동을 유지합니다. - 컨테이너의 이전 인스턴스와 연결된 프로세스 활동을 추적하지 않습니다.
-
Pod의 각 컨테이너에 대해 컨테이너 종료 및 재시작에 대한 최대 10개의 비활성 컨테이너 인스턴스에 대한 정보를 표시합니다. 예를 들어 두 개의 컨테이너
- Red Hat Advanced Cluster Security for Kubernetes는 각 Pod에 대한 각 포드에 대한 각 (프로세스 이름, 프로세스 인수, UID) 값의 최신 실행만 표시합니다.
- Red Hat Advanced Cluster Security for Kubernetes는 활성 포드에 대한 이벤트만 표시합니다.
-
Red Hat Advanced Cluster Security for Kubernetes는 Kubernetes 및 수집기에서 보고한 시간에 따라 보고된 타임스탬프를 조정합니다. Kubernetes 타임스탬프는 보조 기반 전체 자릿수를 사용하며 시간을 가장 가까운 초로 반올림합니다. 그러나 수집기는 더 정확한 타임스탬프를 사용합니다. 예를 들어 Kubernetes에서 컨테이너 시작 시간을
10:54:48으로 보고하고 수집기에서10:54:47.5349823에서 시작된 해당 컨테이너의 프로세스를 보고하면 Red Hat Advanced Cluster Security for Kubernetes는 컨테이너 시작 시간을10:54:47.5349823으로 조정합니다.
3.6. 프로세스 기준 사용
인프라 보안을 위해 프로세스 기반을 사용하여 위험을 최소화할 수 있습니다. 이 접근 방식을 통해 Red Hat Advanced Cluster Security for Kubernetes는 먼저 기존 프로세스를 검색하고 기준을 만듭니다. 그러면 기본 거부 모드로 작동하고 기준선에 나열된 프로세스만 실행할 수 있습니다.
<discreet><title>프로세스 기준</title>Red Hat Advanced Cluster Security for Kubernetes를 설치하면 기본 프로세스 기준은 없습니다. Red Hat Advanced Cluster Security for Kubernetes는 배포를 발견하므로 배포의 모든 컨테이너 유형에 대한 프로세스 기준을 만듭니다. 그런 다음 검색된 모든 프로세스를 자체 프로세스 기준선에 추가합니다.
</discreet><discreet><title>프로세스 기준 상태</title>프로세스 검색 단계에서 모든 기준은 잠금 해제된 상태에 있습니다.
잠금 해제 된 상태에서:
- 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는 각 컨테이너 유형에 대한 프로세스 기준을 만듭니다. 이러한 배포의 경우 일부 기준이 잠기고 일부가 잠금 해제되면 해당 배포에 대한 기준 상태가 Mixed 로 표시됩니다.
3.6.1. 프로세스 기준 보기
위험 화면에서 프로세스 기준을 볼 수 있습니다.
절차
- RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
- 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽에 있는 패널에서 배포 세부 정보가 열립니다.
- 배포 세부 정보 패널에서 Process Discovery (프로세스 검색) 탭을 선택합니다.
- 프로세스 기준은 Spec Container Baselines 섹션 아래에 표시됩니다.
3.6.2. 베이스에 프로세스 추가Add a process to the baseline
베이스에 프로세스를 추가할 수 있습니다.
절차
- RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
- 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽에 있는 패널에서 배포 세부 정보가 열립니다.
- 배포 세부 정보 패널에서 Process Discovery (프로세스 검색) 탭을 선택합니다.
- 실행 중인 프로세스 섹션에서 프로세스 기준으로 추가할 프로세스의 추가 아이콘을 클릭합니다.
프로세스 기준에는 없는 프로세스만 추가 아이콘을 사용할 수 있습니다.
3.6.3. 기준에서 프로세스 제거
기준에서 프로세스를 제거할 수 있습니다.
절차
- RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
- 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽에 있는 패널에서 배포 세부 정보가 열립니다.
- 배포 세부 정보 패널에서 Process Discovery (프로세스 검색) 탭을 선택합니다.
- Spec Container baselines 섹션에서 프로세스 기준에서 제거 할 프로세스의 제거 아이콘을 클릭합니다.
3.6.4. 프로세스 기준 잠금 및 잠금 해제
기준선을 잠그면 기준선에 나열되지 않은 모든 프로세스의 위반을 트리거하고 기준은 잠금 해제 를 중지하여 트리거를 중지할 수 있습니다.
절차
- RHACS 포털의 탐색 메뉴에서 Risk 를 선택합니다.
- 기본 위험 보기의 배포 목록에서 배포를 선택합니다. 오른쪽에 있는 패널에서 배포 세부 정보가 열립니다.
- 배포 세부 정보 패널에서 Process Discovery (프로세스 검색) 탭을 선택합니다.
Spec Container baselines 섹션 아래:
- 잠금 아이콘을 클릭하여 기준 상태에 있지 않은 프로세스에 대한 위반을 트리거합니다.
- 잠금 해제 아이콘을 클릭하여 기준 상태에 있지 않은 프로세스에 대한 위반 트리거를 중지합니다.
4장. 승인 컨트롤러 적용 사용
Red Hat Advanced Cluster Security for Kubernetes는 Kubernetes 승인 컨트롤러 및 OpenShift Container Platform 승인 플러그인과 함께 작동하므로 Kubernetes 또는 OpenShift Container Platform에서 워크로드를 생성하기 전에 보안 정책을 적용할 수 있습니다(예: 배포, 데몬 세트 또는 작업). Red Hat Advanced Cluster Security for Kubernetes 승인 컨트롤러는 사용자가 Red Hat Advanced Cluster Security for Kubernetes에서 구성한 정책을 위반하는 워크로드를 생성하지 못하도록 합니다. Kubernetes 버전 3.0.41용 Red Hat Advanced Cluster Security부터 정책을 위반하는 워크로드 업데이트를 방지하도록 승인 컨트롤러를 구성할 수도 있습니다.
Red Hat Advanced Cluster Security for Kubernetes는 ValidatingAdmissionWebhook 컨트롤러를 사용하여 프로비저닝 중인 리소스가 지정된 보안 정책을 준수하는지 확인합니다. 이를 처리하기 위해 Red Hat Advanced Cluster Security for Kubernetes는 여러 웹 후크 규칙이 포함된 ValidatingWebhookConfiguration 을 생성합니다. Kubernetes 또는 OpenShift Container Platform API 서버에서 웹 후크 규칙 중 하나와 일치하는 요청을 수신하면 API 서버에서 AdmissionReview 요청을 Red Hat Advanced Cluster Security for Kubernetes에 보냅니다. Red Hat Advanced Cluster Security for Kubernetes는 구성된 보안 정책을 기반으로 요청을 수락하거나 거부합니다.
OpenShift Container Platform에서 승인 컨트롤러 적용을 사용하려면 Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.49 이상이 필요합니다.
4.1. 승인 컨트롤러 적용 이해
승인 컨트롤러 적용을 사용하려면 다음을 고려하십시오.
- API 대기 시간: 승인 컨트롤러 적용을 사용하면 추가 API 검증 요청이 포함되므로 Kubernetes 또는 OpenShift Container Platform API 대기 시간이 증가합니다. fabric8과 같은 많은 표준 Kubernetes 라이브러리에는 기본적으로 짧은 Kubernetes 또는 OpenShift Container Platform API 시간이 있습니다. 또한 사용 중인 사용자 지정 자동화에서 API 시간 초과를 고려하십시오.
이미지 스캔: 클러스터 구성 패널에서 연락처 이미지 스캐너 옵션을 설정하여 요청을 검토하면서 승인 컨트롤러가 이미지 를 스캔하는지 여부를 선택할 수 있습니다.
- 이 설정을 활성화하면 검사 또는 이미지 서명 확인 결과를 사용할 수 없는 경우 Red Hat Advanced Cluster Security for Kubernetes에 이미지 스캐너에 연결하여 상당한 대기 시간이 추가됩니다.
- 이 설정을 비활성화하면 캐시된 검사 및 서명 검증 결과를 사용할 수 있는 경우에만 시행 결정에서는 이미지 검사 기준만 고려합니다.
다음을 위해 승인 컨트롤러 적용을 사용할 수 있습니다.
-
Pod
securityContext의 옵션. - 배포 구성.
- 이미지 구성 요소 및 취약점.
-
Pod
다음을 위해 허용 컨트롤러 적용을 사용할 수 없습니다.
- 프로세스와 같은 런타임 동작입니다.
- 포트 노출을 기반으로 하는 모든 정책입니다.
-
Kubernetes 또는 OpenShift Container Platform API 서버와 Red Hat Advanced Cluster Security for Kubernetes Sensor 간에 연결 문제가 있는 경우 허용 컨트롤러가 실패할 수 있습니다. 이 문제를 해결하려면 승인 컨트롤러 적용 섹션에 설명된 대로
ValidatingWebhookConfiguration오브젝트를 삭제합니다. - 정책에 대한 배포 시간 적용이 활성화되고 승인 컨트롤러를 활성화하면 Red Hat Advanced Cluster Security for Kubernetes가 정책을 위반하는 배포를 차단하려고 합니다. 승인 컨트롤러에서 비호환 배포를 거부하지 않는 경우(예: 타임아웃이 발생하는 경우 Red Hat Advanced Cluster Security for Kubernetes는 복제본 스케일링과 같은 기타 배포 실행 메커니즘을 적용합니다.
4.2. 승인 컨트롤러 적용 활성화
Sensor를 설치하거나 기존 클러스터 구성 을 편집할 때 클러스터 보기에서 승인 컨트롤러 적용을 활성화할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 클러스터 로 이동합니다.
- 목록에서 기존 클러스터를 선택하거나 + New Cluster 를 선택합니다.
- 클러스터 구성 패널에서 클러스터의 세부 정보를 입력합니다.
- 허용 컨트롤러를 사용하여 오브젝트 생성 이벤트에 적용하려는 경우 Configure Admission Controller Webhook가 생성 토글만 수신 대기하도록 설정하는 것이 좋습니다.
- 승인 컨트롤러를 사용하여 업데이트 이벤트에 적용하려는 경우 Configure Admission Controller Webhook에서 업데이트 토글만 수신하도록 설정하는 것이 좋습니다.
- 허용 컨트롤러를 사용하여 Pod 실행 및 Pod 포트 전달 이벤트를 적용하려면 Enable Admission Controller Webhook에서 exec 및 port- forward 이벤트 토글만 사용하도록 설정하는 것이 좋습니다.
다음 옵션을 설정합니다.
- Object Creates: 이 토글은 허용 제어 서비스의 동작을 제어합니다. 이 작업이 작동하려면 Configure Admission Controller webhook to listen on create toggle가 설정되어 있어야 합니다.
- Object Updates에서 적용:이 토글은 허용 제어 서비스의 동작을 제어합니다. 이 기능이 작동하려면 업데이트를 수신하려면 Configure Admission Controller Webhook 가 설정되어 있어야 합니다.
- 다음 을 선택합니다.
파일 다운로드 섹션에서 YAML 파일 및 키 다운로드 를 선택합니다.
참고기존 클러스터에 대해 승인 컨트롤러를 활성화하면 다음을 변경합니다.
- 정적 구성 섹션에서는 YAML 파일을 다운로드하고 Sensor를 재배포해야 합니다.
- 동적 구성 섹션에서는 Kubernetes용 Red Hat Advanced Cluster Security가 자동으로 Sensor를 동기화하고 변경 사항을 적용할 때 파일 및 배포 다운로드를 건너뛸 수 있습니다.
- 완료 를 선택합니다.
검증
생성된 YAML로 새 클러스터를 프로비저닝한 후 다음 명령을 실행하여 승인 컨트롤러 적용이 올바르게 구성되었는지 확인합니다.
$ oc get ValidatingWebhookConfiguration 1- 1
- Kubernetes를 사용하는 경우
oc대신kubectl을 입력합니다.
출력 예
NAME CREATED AT stackrox 2019-09-24T06:07:34Z
4.3. 승인 컨트롤러 적용 바이스
승인 컨트롤러를 바이패스하려면 admission.stackrox.io/break-glass 주석을 구성 YAML에 추가합니다. 승인 컨트롤러를 바이패스하면 배포 세부 정보가 포함된 정책 위반이 트리거됩니다. Red Hat은 이 주석의 값으로 issue-tracker 링크 또는 기타 참조를 제공하여 다른 사용자가 승인 컨트롤러를 바이패스한 이유를 이해할 수 있도록 권장합니다.
4.4. 승인 컨트롤러 적용 비활성화
RHACS(Red Hat Advanced Cluster Security for Kubernetes) 포털의 Clusters 보기에서 승인 컨트롤러 적용을 비활성화할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 클러스터를 선택합니다.
- 목록에서 기존 클러스터를 선택합니다.
- Dynamic Configuration (동적 구성) 섹션에서 Enforce on Object Creates and Enforce on Object Updates 를 켜십시오.
- 다음 을 선택합니다.
- 완료 를 선택합니다.
4.4.1. 연결된 정책 비활성화
관련 정책에 대한 적용을 끄면 허용 컨트롤러가 적용을 건너뛰도록 지시할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 정책으로 이동 합니다.
기본 정책에 대한 적용을 비활성화합니다.
- 정책 보기에서 아래로 스크롤하여 Kubernetes 작업: Exec into Pod 정책 옆에 있는 전원 아이콘을 선택하여 해당 정책을 비활성화합니다.
- 정책 보기에서 아래로 스크롤하여 Kubernetes 작업: Port Forward to Pod 정책 옆에 있는 전원 아이콘을 선택하여 해당 정책을 비활성화합니다.
- 기본 Kubernetes 작업에서 조건을 사용하여 생성한 다른 사용자 지정 정책(Port Forward to Pod 및 Kubernetes Actions: Exec into Pod 정책에 대한 적용을 비활성화합니다.
4.4.2. Webhook 비활성화
RHACS 포털의 클러스터 보기에서 승인 컨트롤러 적용을 비활성화할 수 있습니다.
웹 후크를 끄고 승인 컨트롤러를 비활성화하는 경우 Sensor 번들을 다시 배포해야 합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 클러스터 로 이동합니다.
- 목록에서 기존 클러스터를 선택합니다.
- Enable Admission Controller Webhook를 비활성화하여 정적 구성 섹션에서 exec 및 port-forward 이벤트를 수신 대기 합니다.
- Sensor 설정을 계속 사용하려면 다음 을 선택합니다.
- YAML 파일 및 키 다운로드 를 클릭합니다.
모니터링된 클러스터에 액세스할 수 있는 시스템에서 의 압축을 풀고 센서 스크립트
를실행합니다.$ unzip -d sensor sensor-<cluster_name>.zip
$ ./sensor/sensor.sh
참고센서를 배포하는 데 필요한 권한이 없다는 경고가 표시되면 화면의 지침에 따라 클러스터 관리자에게 문의하십시오.
센서를 배포한 후 중앙에 연결하여 클러스터 정보를 제공합니다.
RHACS 포털로 돌아가서 배포가 성공했는지 확인합니다. 성공하면 녹색 체크 표시가 섹션 #2에 나타납니다. 녹색 확인 표시가 없으면 다음 명령을 사용하여 문제를 확인합니다.
OpenShift Container Platform에서 다음을 수행합니다.
$ oc get pod -n stackrox -w
Kubernetes에서 다음을 수행합니다.
$ kubectl get pod -n stackrox -w
- 완료 를 선택합니다.
승인 컨트롤러를 비활성화하면 Red Hat Advanced Cluster Security for Kubernetes는 ValidatingWebhookConfiguration 을 삭제하지 않습니다. 그러나 위반에 대한 요청을 확인하는 대신 모든 AdmissionReview 요청을 수락합니다.
ValidatingWebhookConfiguration 오브젝트를 제거하려면 보안 클러스터에서 다음 명령을 실행합니다.
OpenShift Container Platform에서 다음을 수행합니다.
$ oc delete ValidatingWebhookConfiguration/stackrox
Kubernetes에서 다음을 수행합니다.
$ kubectl delete ValidatingWebhookConfiguration/stackrox
4.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
허용 컨트롤러를 보다 안정적으로 설정합니다.
작업자 노드가 아닌 컨트롤 플레인에서 승인 제어 서비스를 예약하는 것이 좋습니다. 배포 YAML 파일에는 컨트롤 플레인에서 실행하기 위한 소프트 기본 설정이 포함되어 있지만 적용되지 않습니다.
기본적으로 승인 제어 서비스는 3개의 복제본을 실행합니다. 안정성을 높이기 위해 다음 명령을 실행하여 복제본을 늘릴 수 있습니다.
$ oc -n stackrox scale deploy/admission-control --replicas=<number_of_replicas> 1- 1
- Kubernetes를 사용하는 경우
oc대신kubectl을 입력합니다.
roxctl CLI에서 사용
Sensor 배포 YAML 파일을 생성할 때 다음 옵션을 사용할 수 있습니다.
-
--admission-controller-listen-on-updates: 이 옵션을 사용하는 경우 Red Hat Advanced Cluster Security for Kubernetes는 Kubernetes 또는 OpenShift Container Platform API 서버에서 업데이트 이벤트를 수신하도록 사전 구성된ValidatingWebhookConfiguration이 포함된 Sensor 번들을 생성합니다. -
--admission-controller-enforce-on-updates: 이 옵션을 사용하는 경우 허용 컨트롤러가 보안 정책 오브젝트 업데이트를 적용하도록 Red Hat Advanced Cluster Security for Kubernetes를 구성합니다.
이 두 옵션은 모두 선택 사항이며 기본적으로 false 입니다.
5장. 보안 정책 관리
Red Hat Advanced Cluster Security for Kubernetes를 사용하면 기본 제공 보안 정책을 사용하고 컨테이너 환경에 대한 사용자 지정 다중 요소 정책을 정의할 수 있습니다. 이러한 정책을 구성하면 사용자 환경에서 고위험 서비스 배포를 자동으로 방지하고 런타임 보안 사고에 대응할 수 있습니다.
5.1. 기본 보안 정책 사용
Red Hat Advanced Cluster Security for Kubernetes에는 보안 문제를 식별하고 환경 내 보안 모범 사례를 보장하기 위한 광범위한 범위를 제공하는 기본 정책 세트가 포함되어 있습니다.
기본 정책을 보려면 다음을 수행합니다.
- RHACS 포털에서 플랫폼 구성 → 정책으로 이동 합니다.
정책 보기는 기본 정책을 나열하고 각 정책에 대해 다음 매개변수를 포함합니다.
- Policy: 정책의 이름입니다.
- Description: 정책에 대한 경고에 대한 더 길고 자세한 설명입니다.
- Status: Enabled 또는 Disabled 정책의 현재 상태입니다.
- Notifiers: 정책에 대해 구성된 알림기 목록입니다.
- 심각도(심각도: 필요한 관심의 양에 대한 중요, 높음, 중간 또는 낮은 정책의 순위입니다.
- Lifecycle: 이 정책이 적용되는 컨테이너 라이프사이클(빌드, 배포 또는 런타임)의 단계와 정책이 활성화되면 시행 단계가 적용됩니다.
기본 정책에는 사전 구성된 매개변수가 있으며 다음과 같은 카테고리에 속합니다.
- 불투명 활동
- Cryptocurrency Mining
- DevOps 모범 사례
- Kubernetes
- 네트워크 도구
- 패키지 관리
- 권한
- 보안 모범 사례
- 시스템 수정
- 취약점 관리
이러한 카테고리를 편집하고 자체 카테고리를 만들 수 있습니다. 자체 카테고리를 만들 때 새 위젯은 대시보드에 해당 범주에 대한 정보를 표시합니다.
기본 정책 또는 기본 정책에 대한 정책 기준을 편집할 수 없습니다.
5.2. 기존 보안 정책 수정
생성한 정책과 Red Hat Advanced Cluster Security for Kubernetes에서 제공하는 기존 기본 정책을 편집할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 정책으로 이동 합니다.
- 정책 페이지에서 편집할 정책을 선택합니다.
- 작업 → 정책 편집 을 선택합니다.
- 정책 세부 정보 를 수정합니다. 정책 이름, 심각도, 카테고리, 설명, 논리 및 지침을 수정할 수 있습니다. Attach notifiers 섹션에서 사용 가능한 Notifiers 섹션에서 사용 가능한 Notifiers 중에서 선택하여 알림기를 정책에 연결할 수도 있습니다.
- 다음을 클릭합니다.
- 정책 동작 섹션에서 정책에 대한 라이프사이클 단계 및 이벤트 소스 를 선택합니다.
- 정책 위반을 해결하기 위해 응답 방법 을 선택합니다.
- 다음을 클릭합니다.
정책 기준 섹션의 정책 필드 섹션에서 카테고리를 확장합니다. 끌어서 놓기 정책 필드를 사용하여 정책 조건에 대한 논리 조건을 지정합니다.
참고기본 정책에 대한 정책 기준을 편집할 수 없습니다.
- 다음을 클릭합니다.
- Policy 범위 섹션에서 범위 별 제한,범위별 제외 및 이미지 제외 설정을 수정합니다.
- 다음을 클릭합니다.
- 검토 정책 섹션에서 정책 위반을 미리 봅니다.
- 저장을 클릭합니다.
추가 리소스
5.3. 정책 카테고리 생성
시스템 정책 보기에서 새 정책 범주를 생성할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 정책으로 이동 합니다.
- 정책 페이지에서 편집할 정책을 선택합니다.
- 작업 → 정책 편집 을 선택합니다.
- Categories 필드에 새 카테고리 이름을 입력한 다음 Create <category>를 클릭합니다.
- 검토 정책 섹션 제목을 클릭합니다.
- 저장을 클릭합니다.
구성을 저장하면 카테고리에 정책에 대한 위반이 있는 경우 새 범주가 대시보드에 표시됩니다.
추가 리소스
5.4. 사용자 정의 정책 생성
기본 정책을 사용하는 것 외에도 Red Hat Advanced Cluster Security for Kubernetes에서 사용자 지정 정책을 생성할 수도 있습니다.
새 정책을 빌드하려면 기존 정책을 복제하거나 처음부터 새 정책을 생성할 수 있습니다.
- RHACS 포털의 위험 보기의 필터 기준에 따라 정책을 생성할 수도 있습니다.
-
정책 기준에 대해서는
AND, 또는및NOT논리 연산자를 사용하여 고급 정책을 생성할 수도 있습니다.
5.4.1. 시스템 정책 보기에서 보안 정책 생성
시스템 정책 보기에서 새 보안 정책을 생성할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 정책으로 이동 합니다.
- 정책 생성을 클릭합니다.
정책 세부 정보 섹션에서 정책에 대한 다음 세부 정보 를 입력합니다.
- 정책 이름 을 입력합니다.
선택 사항: Attach notifiers 섹션 아래의 사용 가능한 Notifiers 에서 선택하여 정책에 알림기를 연결합니다.
참고Kubernetes용 Red Hat Advanced Cluster Security for Kubernetes를 알림 공급자와 통합해야 합니다(예: Webhook, JIRA, PagerDuty, Splunk 또는 기타)는 경고를 전달할 수 있습니다.
-
이 정책의 심각도 수준(심각 ,
,높음중간또는낮음)을 선택합니다. - 이 정책에 적용하려 는 정책 범주를 선택합니다.
- Description (설명) 상자에 정책에 대한 세부 정보를 입력합니다.
- Rationale 상자에 정책이 존재하는 이유에 대한 설명을 입력합니다.
- Guidance 상자에서 이 정책 위반을 해결하기 위한 단계를 입력합니다.
선택 사항: MITRE ATT&CK 섹션에서 정책에 지정할 전술 과 기술 을 선택합니다.
- 전 술 추가 를 클릭한 다음 드롭다운 목록에서 전술을 선택합니다.
- 추가 기술 을 클릭하여 선택한 전술에 대한 기술을 추가합니다. 전략에 대해 여러 가지 기술을 지정할 수 있습니다.
- 다음을 클릭합니다.
정책 동작 섹션에서 정책에 대한 수명 주기 단계 및 이벤트 소스(런타임 라이프사이클만 해당) 를 선택합니다.
빌드,배포 또는 런타임 에서 정책이 적용되는 라이프사이클 단계 를 선택합니다. 하나 이상의 단계를 선택할 수 있습니다.
- 빌드 타임 정책은 CVE 및 Dockerfile 명령과 같은 이미지 필드에 적용됩니다.
- 배포 시간 정책에는 모든 빌드 시간 정책 기준이 포함될 수 있지만 권한 있는 모드에서 실행하거나 Docker 소켓 마운트와 같은 클러스터 구성의 데이터를 포함할 수도 있습니다.
- 런타임 정책에는 모든 빌드 시간 및 배포 시간 정책 기준이 포함될 수 있지만 런타임 중 프로세스 실행에 대한 데이터를 포함할 수도 있습니다.
응답 방법 의 경우 다음 중 하나를 선택합니다.
- 위반 목록에 위반 사항을 포함하도록 알립니다.
또는 Inform and enforce 를 선택하여 작업을 적용합니다.
정책에 대한 적용 동작을 선택합니다. 라이프사이클 단계 를 구성할 때 선택하는 단계에만 사용할 수 있습니다. ON (활성화)을 선택하여 정책을 적용하고 위반을 보고하고 비활성화(비활성화)를 보고하여 위반만 보고합니다. 적용 동작은 라이프사이클 단계마다 다릅니다.
- Build - Red Hat Advanced Cluster Security for Kubernetes는 이미지가 정책 조건과 일치하면 CI(Continuous Integration) 빌드에 실패합니다.
- 배포 - Red Hat Advanced Cluster Security for Kubernetes block이 정책 조건과 일치하는 배포를 생성합니다. 승인 컨트롤러가 적용되는 클러스터에서 Kubernetes 또는 OpenShift Container Platform API 서버는 비호환 배포를 모두 차단합니다. 다른 클러스터에서는 Pod가 예약되지 않도록 Kubernetes에 대한 Red Hat Advanced Cluster Security for Kubernetes 편집 편집이 필요하지 않습니다.
런타임 - Red Hat Advanced Cluster Security for Kubernetes는 정책 조건과 일치하는 모든 Pod를 종료하거나 Pod에서 수행된 작업을 차단합니다.
주의정책 적용은 실행 중인 애플리케이션 또는 개발 프로세스에 영향을 미칠 수 있습니다. 적용 옵션을 활성화하기 전에 모든 이해 관계자에게 알리고 자동화된 시행 조치에 응답하는 방법에 대해 계획하십시오.
- 다음을 클릭합니다.
- 정책 기준 섹션에서 정책을 트리거할 속성을 구성합니다.
- 다음을 클릭합니다.
정책 범위 섹션에서 다음을 구성합니다.
- 제한 범위 를 클릭하여 특정 클러스터, 네임스페이스 또는 라벨에 대해서만 이 정책을 활성화합니다. 여러 범위를 추가하고 네임스페이스 및 라벨에 RE2 Syntax 에서 정규식을 사용할 수도 있습니다.
- 제외 범위 추가 를 클릭하여 배포, 클러스터, 네임스페이스 및 레이블을 제외하기 위해 범위로 Exclude 를 사용합니다. 이는 정책이 선택한 엔터티에 적용되지 않음을 의미합니다. 여러 범위를 추가하고 네임스페이스 및 라벨에 RE2 Syntax 에서 정규식을 사용할 수도 있습니다. 그러나 정규 표현식을 사용하여 배포를 선택할 수는 없습니다.
제외 이미지(빌드 라이프사이클만) 의 경우 위반을 트리거하지 않으려는 모든 이미지를 선택합니다.
참고제외 이미지 설정은 빌드 라이프사이클 단계와 연속 통합 시스템의 이미지를 확인하는 경우에만 적용됩니다. 이 정책을 사용하여 런타임 라이프사이클 단계의 배포 단계 또는 런타임 활동에서 실행 중인 배포 를 확인하는 경우 적용되지 않습니다.
- 다음을 클릭합니다.
- 검토 정책 섹션에서 정책 위반을 미리 봅니다.
- 저장을 클릭합니다.
추가 리소스
5.4.2. 위험 보기를 통해 보안 정책 생성
위험 요소 보기에서 배포에서 위험 을 평가하는 동안 로컬 페이지 필터링을 적용할 때 사용하는 필터링 기준에 따라 새 보안 정책을 생성할 수 있습니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 Risk 를 선택합니다.
- 정책을 생성할 로컬 페이지 필터링 기준을 적용합니다.
- New Policy (새 정책)를 선택하고 새 정책을 생성하는 데 필요한 필드를 입력합니다.
5.4.3. 정책 기준
정책 기준 섹션에서 정책 을 트리거할 데이터를 구성할 수 있습니다.
다음 표에 나열된 특성을 기반으로 정책을 구성할 수 있습니다.
이 표에서:
정규식,AND 또는, NOT 열은 특정 특성과 함께 정규식 및 기타 논리 연산자를 사용할 수 있는지 여부를 나타냅니다.
-
!정규식 열 에서 나열된 필드에 대해서만 정규 표현식을 사용할 수 있음을 나타냅니다. -
AND, OR 열은 특성에 언급된 논리 연산자만 사용할 수 있음을 나타냅니다.
-
- RHACS 버전 열은 특성을 사용해야 하는 Kubernetes의 Red Hat Advanced Cluster Security 버전을 나타냅니다.
다음과 같은 경우 논리적 결합
연산자 및OR를 사용할 수 없습니다.-
부울 값
true및false 최소 값 의미 체계, 예를 들면 다음과 같습니다.
- 최소 RBAC 권한
- 이미지가 생성된 날짜
-
부울 값
NOT논리 연산자는 다음과 같은 특성에 사용할 수 없습니다.-
부울 값
true및false -
< , > , <= , >= 연산자와 같은 비교가 이미 사용 중인
숫자값입니다. 여러 값을 가질 수 있는 복합 기준은 다음과 같습니다.
- 명령 및 인수를 모두 포함하는 Dockerfile 라인입니다.
- 환경 변수 - 이름과 값으로 모두 구성됩니다.
- 기능 추가,드롭 기능 추가, 이미지생성 날짜 및 이미지 마지막 스캔 후 Days를 포함한 기타 의미.
-
부울 값
논리 연산자 및,또는 보안 정책을 생성하지 않으려면 Kubernetes 버전 3.0.45 이상에 대한 Red Hat Advanced Cluster Security가 필요합니다. 그러나 이전 버전에서는 정규식 열에 나열된 필드에 대한 정규식을 계속 사용할 수 있습니다.However, on earlier versions you can still use regular expressions for the fields listed in the Regular expressions column.
| 속성 | 설명 | RHACS 버전 | 정규 표현식 | NOT | AND, OR | 단계 |
|---|---|---|---|---|---|---|
| 네임스페이스 | 네임스페이스의 이름입니다. | 3.0.51 이상 | ✓ | ✓ | ✓ | 배포 |
| 이미지 레지스트리 | 이미지 레지스트리의 이름입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 이미지 원격 |
레지스트리의 이미지 전체 이름입니다(예: | All | ✓ | ✓ | ✓ | 배포 |
| 이미지 태그 | 이미지의 식별자입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 이미지가 생성된 날짜 | 이미지 생성 날짜의 일 수입니다. | All | ✕ | ✕ | ✕ | Build |
| 이미지가 마지막으로 스캔된 날짜 | 마지막 이미지 스캔 이후의 일 수입니다. | All | ✕ | ✕ | ✕ | Build |
| Dockerfile 줄 | 명령과 인수를 모두 포함하여 Dockerfile의 특정 행. | All | 값의 경우 ! only for values | ✕ | ✓ | Build |
| 이미지를 스캔하지 않습니다. | 이미지에 사용 가능한 검사 데이터가 없습니다. | All | ✕ | ✕ | ✕ | Build |
| CVSS |
공통 취약점 평가 시스템을 사용하여 점수가 < 미만 또는 지정된 CVSS와 동일한 수준의 취약점과 이미지 | All | ✕ | ✕ | ✓ | Build |
| 고정 기준 | 이미지의 플래그된 취약점을 해결하는 패키지의 버전 문자열입니다. | All | ✓ | ✓ | ✓ | Build |
| CVE | 일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다. | All | ✓ | ✓ | ✓ | Build |
| 이미지 구성 요소 | 이미지에 존재하는 특정 소프트웨어 구성 요소의 이름 및 버전 번호입니다. | All | ✓ | ✕ | ✓ | Build |
| 이미지 OS | 이미지의 기본 운영 체제의 이름 및 버전 번호입니다. | 3.0.47 이상 | ✓ | ✓ | ✓ | Build |
| 환경 변수 | 이름 또는 값으로 환경 변수를 확인합니다. | All | key 및 value에만 해당 | ✕ | ✓ | 배포 |
| 허용되지 않는 주석 | 지정된 환경의 Kubernetes 리소스에 존재할 수 없는 주석입니다. | All | ✓ | ✕ | ✓ | 배포 |
| 허용되지 않는 이미지 레이블 |
사용하지 않아야 하는 Docker 이미지 레이블이 있는지 확인합니다. 이 정책은 배포의 이미지에 지정된 레이블이 있는 경우 트리거됩니다. 레이블과 일치하도록 | 3.0.40 이상 | ✓ | ✕ | ✓ | 배포 |
| 필수 이미지 레이블 |
필요한 Docker 이미지 레이블이 있는지 확인합니다. 배포의 이미지에 지정된 라벨이 없으면 정책이 트리거됩니다. 레이블과 일치하도록 | 3.0.40 이상 | ✓ | ✕ | ✓ | 배포 |
| 필수 라벨 | Kubernetes에 필요한 레이블이 있는지 확인합니다. | All | ✓ | ✕ | ✓ | 배포 |
| 필수 주석 | Kubernetes에 필수 주석이 있는지 확인합니다. | All | ✓ | ✕ | ✓ | 배포 |
| 볼륨 이름 | 스토리지 이름입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 볼륨 소스 |
볼륨이 프로비저닝되는 양식을 나타냅니다. 예: | All | ✓ | ✓ | ✓ | 배포 |
| 볼륨 대상 | 볼륨이 마운트된 경로입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 볼륨 유형 | 볼륨 유형입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 쓰기 가능한 볼륨 | 쓰기 가능으로 마운트된 볼륨. | All | ✕ | ✕ | ✕ | 배포 |
| 프로토콜 | 노출된 포트에서 사용하는 TCP 또는 UDP와 같은 프로토콜입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 포트 | 배포에서 노출된 포트 번호입니다. | All | ✕ | ✓ | ✓ | 배포 |
| privileged | 권한 있는 실행 배포. | All | ✕ | ✕ | ✕ | 배포 |
| 읽기 전용 루트 파일 시스템 | 읽기 전용으로 구성된 루트 파일 시스템으로 실행되는 컨테이너입니다. | All | ✕ | ✕ | ✕ | 배포 |
| 드롭 기능 |
컨테이너에서 삭제해야 하는 Linux 기능. 예를 들면 | All | ✕ | ✕ | ✓ | 배포 |
| 기능 추가 | 컨테이너에 추가되지 않아야 하는 Linux 기능(예: 원시 패킷을 보내거나 파일 권한을 재정의하는 기능) | All | ✕ | ✕ | ✓ | 배포 |
| 프로세스 이름 | 배포에서 실행된 프로세스의 이름입니다. | All | ✓ | ✓ | ✓ | 런타임 |
| 프로세스 Ancestor | 배포에서 실행된 프로세스의 상위 프로세스 이름입니다. | All | ✓ | ✓ | ✓ | 런타임 |
| 프로세스 인수 | 배포에서 실행된 프로세스에 대한 명령 인수입니다. | All | ✓ | ✓ | ✓ | 런타임 |
| 프로세스 UID | 배포에서 실행된 프로세스의 UNIX 사용자 ID입니다. | All | ✕ | ✓ | ✓ | 런타임 |
| 포트 Exposure | 서비스의 노출 방법(예: 로드 밸런서 또는 노드 포트) | All | ✕ | ✓ | ✓ | 배포 |
| 서비스 계정 | 서비스 계정의 이름입니다. | All | ✓ | ✓ | ✓ | 배포 |
| 쓰기 가능한 호스트 마운트 | 리소스는 쓰기 권한이 있는 호스트에 경로를 마운트했습니다. | All | ✕ | ✕ | ✕ | 배포 |
| 예기치 않은 프로세스 실행 | 배포의 잠긴 프로세스 기준에 나열되지 않은 프로세스 실행에 대한 배포를 확인합니다. | All | ✕ | ✕ | ✕ | 런타임 |
| 최소 RBAC 권한 |
배포의 Kubernetes 서비스 계정에 Kubernetes RBAC 권한 수준이 | All | ✕ | ✓ | ✕ | 배포 |
| 컨테이너 이름 | 컨테이너의 이름입니다. | 3.0.52 이상 | ✓ | ✓ | ✓ | 배포 |
| 컨테이너 CPU 요청 | 지정된 리소스에 예약된 코어 수를 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| 컨테이너 CPU 제한 | 리소스에서 사용할 수 있는 최대 코어 수를 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| 컨테이너 메모리 요청 | 지정된 리소스에 예약된 메모리 양을 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| 컨테이너 메모리 제한 | 리소스에서 사용할 수 있는 최대 메모리 양을 확인합니다. | All | ✕ | ✕ | ✓ | 배포 |
| Kubernetes 작업 |
Kubernetes 작업의 이름입니다(예: | 3.0.55 이상 | ✕ | ✕ |
! | 런타임 |
| Kubernetes 리소스 |
| 3.63 이상 | ✕ | ✕ |
! | 런타임 |
| Kubernetes 리소스 이름 | 액세스된 Kubernetes 리소스의 이름입니다. | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| Kubernetes API Verb |
| 3.63 이상 | ✕ | ✕ |
! | 런타임 |
| Kubernetes 사용자 이름 | 리소스에 액세스한 사용자의 이름입니다. | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| Kubernetes 사용자 그룹 | 리소스를 속한 사용자가 속한 그룹의 이름입니다. | 3.63 이상 | ✓ | ✕ |
! | 런타임 |
| 사용자 에이전트 |
사용자가 리소스에 액세스하는 데 사용한 사용자 에이전트입니다. 예를 들어 | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| 소스 IP 주소 | 사용자가 리소스에 액세스하는 IP 주소입니다. | 3.63 이상 | ✓ | ✓ |
! | 런타임 |
| Impersonated User | 서비스 계정 또는 다른 계정으로 가장하는 사용자가 요청을 수행했는지 확인합니다. | 3.63 이상 | ✕ | ✕ | ✕ | 런타임 |
| 런타임 클래스 | 배포 RuntimeClass입니다. | 3.67 이상 | ✓ | ✓ | ✓ | 배포 |
| 자동 마운트 서비스 계정 토큰 | 배포 구성에서 서비스 계정 토큰을 자동으로 마운트하는지 확인합니다. | 3.68 이상 | ✕ | ✕ | ✕ | 배포 |
| 활성 프로브 | 컨테이너가 활성 프로브를 정의하는지 여부입니다. | 3.69 이상 | ✕ | ✕ | ✕ | 배포 |
| 준비 프로브 | 컨테이너가 준비 상태 프로브를 정의하는지 여부입니다. | 3.69 이상 | ✕ | ✕ | ✕ | 배포 |
| replicas | 배포 복제본 수입니다. | 3.69 이상 | ✕ | ✓ | ✓ | 배포 |
| 권한 에스컬레이션 | 컨테이너 프로세스에서 상위 프로세스보다 더 많은 권한을 얻을 수 있도록 개발이 구성된 경우 경고를 제공합니다. | 3.70 이상 | ✕ | ✕ | ✕ | 배포 |
| Ingress 네트워크 정책 | Kubernetes 네트워크 정책의 존재 또는 존재 여부를 확인합니다. | 3.70 이상 | ✕ | ✕ | ✓ | 배포 |
| 송신 네트워크 정책 | 송신 Kubernetes 네트워크 정책이 있는지 확인합니다. | 3.70 이상 | ✕ | ✕ | ✓ | 신뢰할 수 있는 이미지 서명자가 확인되지 않음 |
Kubernetes 버전 3.0.44 이상에 Red Hat Advanced Cluster Security를 사용하는 경우 정책 기준에 지정된 정책 기준이 "AND"됨입니다. 이는 지정된 정책 조건이 모두 일치하는 경우에만 위반을 트리거합니다.
5.4.3.1. 정책 기준에 대한 논리 조건 추가
드래그 앤 드롭 정책 필드 패널을 사용하여 정책 기준에 대한 논리 조건을 지정할 수 있습니다.
사전 요구 사항
- Kubernetes 버전 3.0.45 이상에는 Red Hat Advanced Cluster Security를 사용해야 합니다.
절차
정책 기준 섹션에서 새 조건 추가를 선택하여 새 정책 섹션을 추가합니다.
- Edit (편집) 아이콘을 클릭하여 정책 섹션의 이름을 변경할 수 있습니다.
- 정책 필드 섹션은 여러 카테고리에서 사용 가능한 정책 기준을 나열합니다. 이러한 카테고리를 확장하고 축소하여 정책 기준 특성을 확인할 수 있습니다.
- 속성을 정책 섹션의 영역에 있는 Drop a policy 필드로 드래그합니다.
선택하는 특성 유형에 따라 선택한 특성에 대한 조건을 구성하는 다양한 옵션이 있습니다. 예를 들면 다음과 같습니다.
-
부울 값이
Read-Only Root Filesystem인 특성을 선택하는 경우READ-ONLY및WRITABLE옵션이 표시됩니다. 복합 값 환경 변수를 사용하여 특성을 선택하는 경우 키 , 값 및 값 From 필드의 값을 입력하는 옵션이 표시되고 사용 가능한 옵션에 대한 추가 값을 추가할 수 있습니다.If you select an attribute with compound values
Environment variable, you will see options to enter values forKey,Value, andValue Fromfields, and an icon to add more values for the available options.- 특성에 대해 여러 값을 결합하려면 추가 를 클릭합니다.
-
정책 섹션에 나열된 논리 연산자
AND또는 OR(또는OR)를 클릭하여AND및OR연산자 간에 전환할 수도 있습니다. Operator 간 전환은 정책 섹션에서만 작동하며 두 개의 서로 다른 정책 섹션 사이에서는 작동하지 않습니다.
-
부울 값이
-
이러한 단계를 반복하여 둘 이상의
AND및OR조건을 지정할 수 있습니다. 추가된 속성에 대한 조건을 구성한 후 Next 를 클릭하여 정책 생성을 계속합니다.
5.5. 보안 정책 공유
Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.44부터 정책을 내보내고 가져와서 다른 중앙 인스턴스 간에 보안 정책을 공유할 수 있습니다. 모든 클러스터에 대해 동일한 표준을 적용하는 데 도움이 됩니다. 정책을 공유하려면 JSON 파일로 내보낸 다음 다른 중앙 인스턴스로 다시 가져옵니다.
현재 RHACS 포털을 사용하여 여러 보안 정책을 한 번에 내보낼 수 없습니다. 그러나 API를 사용하여 여러 보안 정책을 내보낼 수 있습니다. RHACS 포털에서 도움말 → API 참조로 이동하여 API 참조 를 확인합니다.
5.5.1. 보안 정책 내보내기
정책을 내보낼 때는 모든 정책 콘텐츠를 포함하며 클러스터 범위, 클러스터 제외 및 구성된 모든 알림을 포함합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 정책으로 이동 합니다.
- 정책 페이지에서 편집할 정책을 선택합니다.
- 작업 → 내보내기 정책을 JSON으로 선택합니다.
5.5.2. 보안 정책 가져오기
RHACS 포털의 시스템 정책 보기에서 보안 정책 을 가져올 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 정책으로 이동 합니다.
- Import policy (정책 가져오기)를 클릭합니다.
- 가져오기 정책 JSON 대화 상자에서 업로드 를 클릭하고 업로드할 JSON 파일을 선택합니다.
- Begin import 를 클릭합니다.
Red Hat Advanced Cluster Security for Kubernetes의 각 보안 정책에는 고유한 ID(UID)와 고유한 이름이 있습니다. 정책을 가져올 때 Red Hat Advanced Cluster Security for Kubernetes는 업로드된 정책을 다음과 같이 처리합니다.
- 가져온 정책 UID 및 이름이 기존 정책과 일치하지 않는 경우 Red Hat Advanced Cluster Security for Kubernetes는 새 정책을 생성합니다.
가져온 정책에 기존 정책과 동일한 UID가 있지만 다른 이름이 있는 경우 다음 중 하나를 수행할 수 있습니다.
- 두 가지 정책을 모두 유지하십시오. Red Hat Advanced Cluster Security for Kubernetes는 가져온 정책을 새 UID로 저장합니다.
- 기존 정책을 가져온 정책으로 교체합니다.
가져온 정책에 기존 정책과 이름이 동일하지만 다른 UID가 있는 경우 다음 중 하나를 수행할 수 있습니다.
- 가져온 정책에 대한 새 이름을 제공하여 두 정책을 모두 유지합니다.
- 기존 정책을 가져온 정책으로 교체합니다.
가져온 정책에 기존 정책과 동일한 이름과 UID가 있는 경우 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는 메시지에 이러한 생략된 필드를 보여줍니다. 이러한 필드는 모든 설치에 따라 다르며 중앙 인스턴스에서 다른 인스턴스로 마이그레이션할 수 없습니다.
6장. 네트워크 정책 관리
Kubernetes 네트워크 정책 은 포드 그룹이 서로 통신할 수 있는 방법 및 기타 네트워크 끝점에 대한 사양입니다. 이러한 네트워크 정책은 YAML 파일로 구성됩니다. 이러한 파일을 단독으로 살펴보면 적용된 네트워크 정책이 원하는 네트워크 토폴로지를 지원하는지 확인하는 것이 어려울 수 있습니다.
Red Hat Advanced Cluster Security for Kubernetes는 오케스트레이터에서 정의된 모든 네트워크 정책을 수집하고 이러한 정책을 보다 쉽게 사용할 수 있도록 기능을 제공합니다.
네트워크 정책 적용을 지원하기 위해 Red Hat Advanced Cluster Security for Kubernetes는 다음을 제공합니다.
- 네트워크 그래프
- 네트워크 정책 시뮬레이터
- 네트워크 정책 생성기
6.1. 네트워크 그래프 보기
네트워크 그래프는 가시성과 제어를 제공합니다.
- Kubernetes 네트워크 정책에 정의된 대로 허용되는 네트워크 연결입니다.
- 네임스페이스와 배포 간 활성 통신 경로입니다.
메뉴 표시줄에서 정보와 하나 이상의 네임스페이스를 볼 클러스터를 선택합니다.
네트워크 그래프 보기에서 보려는 연결 유형을 구성할 수 있습니다. 흐름 섹션에서 다음을 선택합니다.In the Flows section (upper left), select:
- 활성 연결만 볼 수 있습니다.
- 허용된 네트워크 연결만 볼 수 있습니다.
- 모두 활성 및 허용된 네트워크 연결을 볼 수 있습니다.
네트워크 그래프에서 각 원은 배포를 나타내고, 각 주변 박스는 Kubernetes 네임스페이스를 나타내고, 각 간격 행은 네임스페이스 간 연결을 나타냅니다. 이러한 항목을 마우스로 이동하여 자세한 내용을 확인할 수 있습니다. 배포 또는 네임스페이스와 같은 항목을 클릭하면 추가 정보가 표시되는 창이 열립니다. 파란색 막대에서 화살표를 선택하여 창을 확장하고 축소할 수 있습니다.
네트워크 그래프에서 다른 기호의 의미를 이해하려면 범례(오른쪽)의 다른 기호로 마우스를 이동하여 해당 기호의 의미를 나타내는 툴팁을 확인합니다.
마우스를 올리면 다음을 수행합니다.
- 연결에서 사용되는 활성 연결, 포트 번호 및 프로토콜을 포함하는 네트워크 흐름에 대한 정보가 표시됩니다.
- 배포에는 수신 및 송신 연결, 프로토콜, 사용 중인 포트 번호, 배포 간 네트워크 트래픽에 대한 정보가 표시됩니다.
Kubernetes 버전 3.0.47 이상용 Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.47 이상이 있어야 수신 및 송신 연결, 프로토콜, 포트 번호, 네트워크 트래픽 방향에 대한 정보를 확인해야 합니다.
허용된 네트워크 연결
Red Hat Advanced Cluster Security for Kubernetes는 각 보안 클러스터의 모든 네트워크 정책을 처리하여 서로 연락할 수 있는 배포 및 외부 네트워크에 연결할 수 있는 배포를 보여줍니다.
네트워크 그래프는 가능한 네트워크 연결을 점선으로 표시합니다.
실제 네트워크 흐름
Red Hat Advanced Cluster Security for Kubernetes는 배포 실행을 모니터링하고 해당 배포 간의 트래픽을 추적합니다. 네트워크 그래프는 관찰된 네트워크 흐름을 견고한 행으로 보여줍니다.
네트워크 기준
Red Hat Advanced Cluster Security for Kubernetes는 기존 네트워크 흐름을 검색하고 기준을 만듭니다.
배포에 대한 네트워크 기준선을 보려면 Network Graph 보기에서 해당 배포를 선택합니다. 네트워크 흐름 세부 정보 패널에는 비정상적인 흐름과 기준 흐름이 모두 표시됩니다. 이 패널에서는 다음을 수행할 수 있습니다.
- Mark network flows from the baseline as anomalous( Anomalous)로 표시를 선택하여 기준에서의 흐름을 표시합니다.
- 기준선에 추가를 선택하여 익명 흐름에서 기준 선에 네트워크 흐름을 추가합니다.
네트워크 기준 기능을 사용하려면 Kubernetes 버전 3.0.54 이상에 Red Hat Advanced Cluster Security를 사용해야 합니다.
외부 엔터티 및 연결
Network Graph 보기는 관리 클러스터와 외부 소스 간의 네트워크 연결에 대한 정보를 표시합니다. Red Hat Advanced Cluster Security for Kubernetes는 Google Cloud, AWS, Azure, Oracle Cloud, Cloudflare와 같은 공용 CIDR (Classless Inter-Domain Routing) 주소 블록을 자동으로 검색하고 강조 표시합니다. 이 정보를 사용하면 활성 외부 연결이 있는 배포를 식별하고 네트워크 외부에서 승인되지 않은 연결을 만들거나 수신할 수 있습니다.
활성 외부 연결에 대한 정보를 보려면 Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.52 이상이 필요합니다.
기본적으로 외부 연결은 일반적인 외부 엔티티 상자와 네트워크 그래프 보기에서 다른 CIDR 주소 블록을 가리킵니다. 그러나 자동 검색 CIDR 블록을 표시하지 않도록 선택할 수 있습니다.
Red Hat Advanced Cluster Security for Kubernetes에는 다음 클라우드 공급자에 대한 IP 범위가 포함되어 있습니다.
- Google Cloud
- AWS
- Azure
- Oracle Cloud
- Cloudflare
Red Hat Advanced Cluster Security for Kubernetes는 7일마다 클라우드 공급자의 IP 범위를 가져오고 업데이트합니다. 오프라인 모드를 사용하는 경우 새 지원 패키지를 설치하여 이러한 범위를 업데이트할 수 있습니다.
6.1.1. 네트워크 정책 보기
네트워크 정책은 포드 그룹이 서로 통신할 수 있는 방법 및 다른 네트워크 끝점과 통신하는 방법을 지정합니다. Kubernetes NetworkPolicy 리소스는 라벨을 사용하여 Pod를 선택하고 선택한 Pod에서 허용되는 트래픽을 지정하는 규칙을 정의합니다. Red Hat Advanced Cluster Security for Kubernetes는 Network Graph 보기에서 모든 Kubernetes 클러스터, 네임스페이스, 배포 및 Pod에 대한 네트워크 정책 정보를 검색하고 표시합니다.
네임스페이스의 배포에 대한 네트워크 정책 및 기타 관련 세부 정보를 보려면 네트워크 그래프 보기에서 네임스페이스를 선택할 수 있습니다.
네임스페이스 세부 정보 패널에는 선택한 네임스페이스의 모든 배포가 나열됩니다. 그런 다음 세부 정보 패널에서 배포를 마우스 커서로 이동하여 배포 세부 정보를 볼 수 있는 오른쪽에 표시되는 배포로 이동(검색) 아이콘을 선택할 수 있습니다.
또는 Network Graph 보기에서 배포를 직접 선택하여 세부 정보를 확인할 수 있습니다. 배포 세부 정보 패널에는 네트워크 흐름,세부 정보, 네트워크 정책 탭이 포함됩니다.
각 탭을 선택하여 관련 정보를 볼 수 있습니다.
- 네트워크 흐름 탭은 해당 배포에 사용되는 수신 및 송신 연결, 프로토콜 및 포트 번호에 대한 정보를 표시합니다.
- 세부 정보 탭에는 오케스트레이터 레이블 및 주석을 포함하여 서비스가 배포되는 방법에 대한 정보가 표시됩니다.
- 네트워크 정책 탭에는 배포에 적용되는 모든 네트워크 정책에 대한 정보가 표시됩니다.
Kubernetes 버전 3.0.47 이상용 Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.47 이상이 있어야 수신 및 송신 연결, 프로토콜, 포트 번호, 네트워크 트래픽 방향에 대한 정보를 확인해야 합니다.
6.1.2. CIDR 블록 구성
사용자 정의 CIDR 블록을 지정하거나 네트워크 그래프 보기에서 자동 검색된 CIDR 블록 표시를 구성할 수 있습니다.
절차
- Network Graph 보기에서 Configure CIDR Blocks 를 선택합니다.
자동 검색된 CIDR 블록을 숨기려면 네트워크 그래프에서 Display auto- discovereded CIDR 블록을 켜십시오.
참고자동 검색 CIDR 블록을 숨길 때 네트워크 그래프 보기의 상단 표시줄에 있는 선택한 클러스터뿐만 아니라 모든 클러스터에 대해 자동 검색된 CIDR 블록이 표시되지 않습니다.
- CIDR 블록 이름 및 CIDR 주소 을 추가하여 사용자 정의 CIDR 주소 를 추가합니다. 둘 이상의 항목을 추가하려면 추가를 선택합니다.To add more than one, select the Add icon.
- 구성 업데이트 를 클릭하여 변경 사항을 저장합니다.
6.2. 네트워크 정책 시뮬레이션
현재 네트워크 정책은 불필요한 네트워크 통신을 허용할 수 있습니다. 새로운 네트워크 정책 세트의 효과를 시뮬레이션하려면 네트워크 정책 시뮬레이터를 사용하십시오.
절차
- RHACS 포털의 왼쪽 탐색 메뉴에서 Network Graph (네트워크 그래프)를 선택합니다.
- 하나 이상의 네임스페이스를 선택합니다.
- 네트워크 그래프 보기 헤더에서 네트워크 정책 시뮬레이션기를 선택합니다.
- Upload and simulate network policy YAML 을 선택하고 제안된 YAML 파일을 업로드합니다. 네트워크 그래프 보기에 제안된 네트워크 정책이 달성되는 내용이 표시됩니다.
- 팀과 제안된 정책을 공유하려면 공유 YAML 을 선택합니다. 정책을 직접 적용하려면 네트워크 정책 적용 을 선택합니다.
네트워크 정책을 직접 적용하면 실행 중인 애플리케이션에 문제가 발생할 수 있습니다. 프로덕션 워크로드에 적용하기 전에 항상 개발 환경 또는 테스트 클러스터에서 네트워크 정책을 다운로드하여 테스트합니다.
6.3. 네트워크 정책 생성
Kubernetes 네트워크 정책은 들어오는 네트워크 트래픽을 수신하는 포드와 나가는 트래픽을 보낼 수 있는 포드를 제어합니다. 네트워크 정책을 사용하여 Pod로의 트래픽을 활성화 및 비활성화하면 네트워크 공격 면적을 제한할 수 있습니다.
이러한 네트워크 정책은 YAML 구성 파일입니다. 종종 네트워크 흐름에 대한 통찰력을 얻고 이러한 파일을 수동으로 생성하기가 어렵습니다. Red Hat Advanced Cluster Security for Kubernetes를 사용하면 사용자 환경의 실제 관찰된 네트워크 통신 흐름을 기반으로 이러한 네트워크 정책을 자동 생성할 수 있습니다.
네트워크 그래프 보기에서 네트워크 정책을 생성할 수 있습니다.
생성된 정책은 네트워크 그래프에 표시된 배포에 적용되며 선택한 시간 동안 모든 네트워크 트래픽을 관찰할 수 있습니다.
절차
- RHACS 포털의 왼쪽 탐색 메뉴에서 Network Graph (네트워크 그래프)를 선택합니다.
- 올바른 항목이 선택되지 않은 경우 상단 표시줄의 메뉴에서 클러스터 이름을 선택합니다.
- 하나 이상의 네임스페이스를 선택합니다.
- 일부 배포에 대한 정책을 생성하려면 배포를 필터링할 기준을 추가하려면 Add one or more deployment filters 필드를 사용합니다. 필터를 추가하지 않으면 Red Hat Advanced Cluster Security for Kubernetes가 클러스터의 모든 배포에 대한 정책을 생성합니다.
- 상단 표시줄의 메뉴에서 적절한 시간을 선택합니다. 선택한 시간이 너무 짧은 경우 주기적 또는 자주 발생하는 네트워크 통신을 남겨둡니다.
- Network Policy Simulator 를 선택합니다.
- 열리는 패널에서 포트 및 프로토콜을 Kubernetes 생성 정책에 대한 Red Hat Advanced Cluster Security에서 범위가 지정되지 않으려면 제외 포트 및 프로토콜을 선택합니다.
- 생성 및 시뮬레이션 네트워크 정책 을 선택합니다. 생성된 네트워크 정책 구성 YAML이 동일한 패널에서 열리고 네트워크 그래프는 정책의 영향을 보여줍니다.
6.3.1. 생성된 정책 저장
Red Hat Advanced Cluster Security for Kubernetes에서 생성된 네트워크 정책을 다운로드하여 저장할 수 있습니다. 정책을 Git과 같은 버전 제어 시스템으로 커밋하려면 이 옵션을 사용합니다.
절차
- Network Policy Simulator 패널에서 Download YAML 아이콘을 선택합니다.
6.3.2. 생성된 정책 테스트
Red Hat Advanced Cluster Security for Kubernetes가 생성하는 네트워크 정책을 다운로드한 후 이를 클러스터에 적용하여 테스트할 수 있습니다.
6.3.3. 생성된 정책 적용
생성된 네트워크 정책을 RHACS 포털에서 적용할 수 있습니다.
절차
- Red Hat Advanced Cluster Security for Kubernetes 내에서 클러스터에 생성된 정책을 직접 적용하려면 네트워크 정책 적용 을 선택합니다.
네트워크 정책을 직접 적용하면 실행 중인 애플리케이션에 문제가 발생할 수 있습니다. 프로덕션 워크로드에 적용하기 전에 항상 개발 환경 또는 테스트 클러스터에서 네트워크 정책을 다운로드하여 테스트합니다.
6.3.4. 생성된 정책 삭제
생성된 정책을 직접 적용하고 제거하려면 Network Policy Simulator 패널에서 Revert most recently applied YAML 아이콘을 선택합니다.
절차
- RHACS 포털의 왼쪽 탐색 메뉴에서 Network Graph (네트워크 그래프)를 선택합니다.
- 올바른 항목이 선택되지 않은 경우 상단 표시줄의 메뉴에서 클러스터 이름을 선택합니다.
- 하나 이상의 네임스페이스를 선택합니다.
- Network Policy Simulator 를 선택합니다.
- View active YAMLS 를 선택합니다.
- 가장 최근에 적용된 YAML 아이콘을 선택합니다.
6.3.5. 자동 생성된 모든 정책 삭제
Red Hat Advanced Cluster Security for Kubernetes를 사용하여 생성한 클러스터에서 생성된 모든 정책을 삭제할 수 있습니다.
절차
다음 명령을 실행합니다.
OpenShift Container Platform에서 다음을 수행합니다.
$ oc get ns -o jsonpath='{.items[*].metadata.name}' | xargs -n 1 oc delete networkpolicies -l 'network-policy-generator.stackrox.io/generated=true' -nKubernetes에서 다음을 수행합니다.
$ kubectl get ns -o jsonpath='{.items[*].metadata.name}' | xargs -n 1 kubectl delete networkpolicies -l 'network-policy-generator.stackrox.io/generated=true' -n
6.3.6. 정책 생성 전략
네트워크 정책을 자동 생성하는 경우:
Red Hat Advanced Cluster Security for Kubernetes는 네임스페이스의 각 배포에 대한 단일 네트워크 정책을 생성합니다. 정책의 Pod 선택기는 배포의 Pod 선택기입니다.
- 배포에 이미 네트워크 정책이 있는 경우 Red Hat Advanced Cluster Security for Kubernetes는 새 정책을 생성하거나 기존 정책을 삭제하지 않습니다.
생성된 정책은 기존 배포로의 트래픽만 제한합니다.
- 나중에 생성하는 배포에는 새 네트워크 정책을 생성하거나 생성하지 않는 한 제한이 없습니다.
- 새 배포에서 네트워크 정책을 사용하여 배포에 연결해야 하는 경우 액세스를 허용하기 위해 네트워크 정책을 편집해야 할 수 있습니다.
-
각 정책에는 배포 이름과 이름이 같으며
stackrox-generated-이 접두사가 붙습니다. 예를 들어 생성된 네트워크 정책에서 배포depABC의 정책 이름은stackrox-generated-depABC입니다. 생성된 모든 정책에는 식별 라벨도 있습니다. Red Hat Advanced Cluster Security for Kubernetes는 다음과 같은 경우 모든 IP 주소에서 트래픽을 허용하는 단일 규칙을 생성합니다.
- 배포에는 선택한 시간 내에 클러스터 외부에서 들어오는 연결이 있거나
- 배포는 노드 포트 또는 로드 밸런서 서비스를 통해 노출됩니다.
Red Hat Advanced Cluster Security for Kubernetes는 들어오는 연결이 있는 모든 배포에 대해 하나의
수신규칙을 생성합니다.- 동일한 네임스페이스에 있는 배포의 경우 이 규칙은 다른 배포의 Pod 선택기 레이블을 사용합니다.
-
다른 네임스페이스의 배포의 경우 이 규칙은 네임스페이스 선택기를 사용합니다. 이를 위해 Red Hat Advanced Cluster Security for Kubernetes는 각 네임스페이스에 레이블,
namespace.metadata.stackrox.io/name를 자동으로 추가합니다.
드문 경우지만 독립 실행형 Pod에 라벨이 없는 경우 생성된 정책은 Pod의 전체 네임스페이스 또는 네임스페이스의 트래픽을 허용합니다.
6.4. 네트워크 기본 설명 사용
Red Hat Advanced Cluster Security for Kubernetes에서는 네트워크 기반을 사용하여 위험을 최소화할 수 있습니다. 인프라의 보안을 유지하기 위한 사전 예방적 접근 방식입니다. Red Hat Advanced Cluster Security for Kubernetes는 먼저 기존 네트워크 흐름을 검색하고 기준선을 만든 다음 이 기준 밖의 네트워크 흐름을 모호하게 처리합니다.
- 네트워크 기준 기능을 사용하려면 Kubernetes 버전 3.0.54 이상에 Red Hat Advanced Cluster Security를 사용해야 합니다.
- 기본 위반에 대한 알림을 활성화하려면 Kubernetes 버전 3.0.56 이상에 Red Hat Advanced Cluster Security를 사용해야 합니다.
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는 네트워크 기준의 네트워크 흐름 추가를 중지합니다.
- 새로운 네트워크 흐름(네트워크 기준에는 없는)이 비정상적인 흐름으로 표시되지만 위반은 트리거되지 않습니다.
6.4.1. 네트워크 기준 보기
네트워크 그래프 보기에서 네트워크 기준선을 볼 수 있습니다.
절차
- 네트워크 그래프 보기에서 하나 이상의 네임스페이스를 선택합니다.
- 배포를 선택합니다.
네트워크 흐름 세부 정보 패널에는 비정상적인 흐름과 기준 흐름이 모두 표시됩니다. 이 패널에서는 다음을 수행할 수 있습니다.
- Mark network flows from the baseline as anomalous, or
- 기준선에 추가를 선택하여 익명 흐름에서 기준 선에 네트워크 흐름을 추가합니다.
6.4.2. 기준 위반에 대한 경고 활성화
비정상적인 네트워크 흐름을 감지하고 위반을 트리거하도록 Red Hat Advanced Cluster Security for Kubernetes를 구성할 수 있습니다.
기본 위반에 대한 알림을 활성화하려면 Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.56 이상이 필요합니다.
절차
- Network Graph 보기에서 배포를 선택합니다.
- 네트워크 흐름 세부 정보 패널에서 Baseline Settings 를 선택합니다.
기준 위반 토글에 대한 경고를 켭 니다.
- 기본 위반 시 경고 를 켜면 비정상적인 네트워크 흐름이 위반됩니다.
- 무명한 네트워크 흐름에 대한 위반을 수신하지 않도록 기준 위반 토글에 대해 경고 를 끌 수 있습니다.
7장. 클러스터 설정 검토
구성 관리 보기를 사용하고 클러스터의 다양한 엔터티 간의 상관 관계를 이해하고 클러스터 구성을 효율적으로 관리하는 방법을 알아봅니다.
모든 OpenShift Container Platform 클러스터에는 클러스터 전체에 분산된 여러 다른 엔티티가 포함되어 있으므로 사용 가능한 정보를 이해하고 조치를 취하는 것이 더 어려워집니다.
RHACS(Red Hat Advanced Cluster Security for Kubernetes)는 이러한 모든 분산 엔터티를 단일 페이지에서 결합하는 효율적인 구성 관리를 제공합니다. 단일 구성 관리 보기에서 모든 클러스터, 네임스페이스, 노드, 배포, 이미지, 이미지, 보안, 그룹, 서비스 계정 및 역할에 대한 정보를 제공하여 다양한 엔터티와 연결을 시각화할 수 있습니다.
7.1. 구성 관리 보기 사용
구성 관리 보기를 열려면 왼쪽 탐색 메뉴에서 구성 관리 를 선택합니다. 대시보드 와 유사하게 몇 가지 유용한 위젯이 표시됩니다.
이러한 위젯은 대화형이며 다음 정보를 표시합니다.
- 심각도별 보안 정책 위반
- CIS(정보 보안 센터) Docker 및 Kubernetes 벤치마크 상태
- 대부분의 클러스터에서 관리자 권한이 있는 사용자
- 클러스터에서 가장 널리 사용되는 보안
구성 관리 뷰의 헤더에는 클러스터의 정책 및 CIS 컨트롤 수가 표시됩니다. 헤더에는 엔터티 간에 전환할 수 있는 드롭다운 메뉴가 포함되어 있습니다. 예를 들면 다음을 수행할 수 있습니다.
- Policies (정책)를 클릭하여 모든 정책과 해당 심각도를 확인하거나 CIS 컨트롤 을 선택하여 모든 컨트롤에 대한 세부 정보를 확인합니다.
- 애플리케이션 및 인프라를 클릭하고 클러스터, 네임스페이스, 노드, 배포, 이미지 및 시크릿을 선택하여 자세한 정보를 확인합니다.
- RBAC 가시성 및 구성 을 클릭하고 사용자 및 그룹, 서비스 계정 및 역할을 선택하여 자세한 정보를 확인합니다.
7.2. Kubernetes 역할의 잘못된 구성 확인
구성 관리 보기를 사용하여 cluster-admin 역할이 부여된 사용자, 그룹 또는 서비스 계정과 같은 잠재적인 잘못된 구성 또는 사용자에게 부여되지 않은 역할을 확인할 수 있습니다.
7.2.1. Kubernetes 역할 검색은 할당입니다.
구성 관리 보기를 사용하여 특정 사용자 및 그룹에 할당되는 Kubernetes 역할에 대한 정보를 가져옵니다.
절차
- RHACS 포털로 이동하고 왼쪽 탐색 메뉴에서 Configuration Management (구성 관리)를 클릭합니다.
-
구성 관리 보기의 헤더에서 RBAC 가시성 및 구성 → 사용자 및 그룹 을 선택합니다. 사용자 및 그룹 보기에 Kubernetes 사용자 및 그룹 목록, 할당된 역할, 각 사용자에 대해
cluster-admin역할이 활성화되어 있는지 여부가 표시됩니다. - 사용자 또는 그룹을 선택하여 관련 클러스터 및 네임스페이스 권한에 대한 자세한 정보를 확인합니다.
7.2.2. 서비스 계정 및 권한 검색
구성 관리 보기를 사용하여 서비스 계정이 사용 중인 위치와 해당 권한을 확인합니다.
절차
- RHACS 포털로 이동하고 왼쪽 탐색 메뉴에서 Configuration Management (구성 관리)를 클릭합니다.
-
구성 관리 보기의 헤더에서 RBAC 유사성 및 구성 → 서비스 계정 을 선택합니다. 서비스 계정 보기에는 클러스터의 Kubernetes 서비스 계정 목록, 할당된 역할,
cluster-admin역할이 활성화되어 있는지 여부 및 배포에서 사용하는 배포가 표시됩니다. - 선택한 서비스 계정에 부여된 클러스터 및 네임스페이스 권한을 포함하여 자세한 정보를 보려면 행 또는 밑줄이 있는 링크를 선택합니다.
7.2.3. 사용되지 않는 Kubernetes 역할 검색
구성 관리 보기를 사용하여 Kubernetes 역할에 대한 자세한 정보를 얻고 사용되지 않은 역할을 찾습니다.
절차
- RHACS 포털로 이동하고 왼쪽 탐색 메뉴에서 Configuration Management (구성 관리)를 클릭합니다.
- 구성 관리 보기의 헤더에서 RBAC 가시성 및 구성 → 역할 → 역할 을 선택합니다. 역할 보기에 클러스터의 Kubernetes 역할 목록, 부여한 권한, 사용되는 위치가 표시됩니다.
- 역할에 대한 자세한 정보를 보려면 행 또는 밑줄된 링크를 선택합니다.
- 사용자, 그룹 또는 서비스 계정에 부여되지 않은 역할을 찾으려면 사용자 및 그룹 열 헤더를 선택합니다. 그런 다음 Shift 키를 누른 상태에서 Service Account 열 머리글을 선택합니다. 목록에는 사용자, 그룹 또는 서비스 계정에 부여되지 않은 역할이 표시됩니다.
7.3. Kubernetes 보안 보기
사용자의 환경에서 사용 중인 Kubernetes 시크릿을 보고 해당 시크릿을 사용하여 배포를 식별합니다.
절차
- RHACS 포털로 이동하고 왼쪽 탐색 메뉴에서 Configuration Management (구성 관리)를 클릭합니다.
- 가장 많이 사용되는 시크릿에서 배포 간 위젯에서 모두 보기 를 선택합니다. 시크릿 보기에 Kubernetes 시크릿 목록이 표시됩니다.
- 자세한 내용을 보려면 행을 선택합니다.Select a row to view more details.
사용 가능한 정보를 사용하여 보안이 필요하지 않은 배포에서 사용 중인지 확인합니다.
7.4. 정책 위반 찾기
구성 관리 보기 의 심각도에 따른 Policy Vi olations에는 Sunburst 차트에 정책 위반이 표시됩니다. 차트의 각 수준은 하나의 링 또는 원으로 표시됩니다.
- 가장 가까운 원은 총 위반 횟수를 나타냅니다.
- 다음 링은 Low,Medium,High 및 Critical 정책 범주를 나타냅니다.
- 가장 외부 링은 특정 범주의 개별 정책을 나타냅니다.
구성 관리 보기에는 Lifecycle Stage 가 Deploy 로 설정된 정책에 대한 정보만 표시됩니다. 런타임 동작 또는 빌드 단계에서 평가를 위해 구성된 정책을 다루는 정책은 포함되지 않습니다.
절차
- RHACS 포털로 이동하고 왼쪽 탐색 메뉴에서 Configuration Management (구성 관리)를 클릭합니다.
- 심각도별 Policy Violations 에서 Sunburst 차트를 통해 마우스를 이동하여 정책 위반에 대한 세부 정보를 확인합니다.
- 우선 순위가 높은 정책 위반에 대한 자세한 정보를 보려면 n 등급 의 상위 등급을 선택합니다. 정책 뷰에는 선택한 카테고리에서 필터링된 정책 위반 목록이 표시됩니다.
- 정책 설명, 수정, 위반이 있는 배포를 비롯하여 자세한 세부 정보를 보려면 행을 선택합니다. 세부 정보는 패널에 표시됩니다.
- 정보 패널 의 정책 찾기 섹션에는 이러한 위반 사항이 발생한 배포가 나열됩니다.
- 정책 찾기 섹션에서 배포를 선택하여 Kubernetes 라벨, 주석 및 서비스 계정을 포함한 관련 세부 정보를 확인합니다.
자세한 정보를 사용하여 위반에 대한 수정을 계획할 수 있습니다.
7.5. 실패한 CIS 컨트롤 검색
Configuration Management 뷰의 Policy Violations Sunburst 차트와 유사하게 CIS 제어 위젯은 실패한 CIS (Critical Center for Information Security) 제어에 대한 정보를 제공합니다.
차트의 각 수준은 하나의 링 또는 원으로 표시됩니다.
- 가장 가까운 원은 실패한 컨트롤의 백분율을 나타냅니다.
- 다음 링은 컨트롤 범주를 나타냅니다.
- 가장 바깥 링은 특정 범주의 개별 컨트롤을 나타냅니다.
절차
- CIS 컨트롤 위젯의 헤더에서 CIS Docker v1.2.0 을 선택합니다. 이를 사용하여 CIS Docker와 Kubernetes 제어 간에 전환합니다.
- Sunburst 차트를 마우스 커서로 이동하여 실패한 컨트롤에 대한 세부 정보를 확인합니다.
- 실패한 컨트롤에 대한 자세한 정보를 보려면n 가 숫자인 n 컨트롤을 선택합니다.Select n controls failing, where n is a number, to view detailed information about failing controls. Controls 뷰에는 규정 준수 상태에 따라 필터링된 제어 실패 목록이 표시됩니다.
- 컨트롤이 실패하는 컨트롤 설명 및 노드를 포함하여 세부 정보를 볼 수 있는 행을 선택합니다.
- 정보 패널 의 컨트롤 찾기 섹션에는 컨트롤이 실패하는 노드가 나열됩니다. Kubernetes 레이블, 주석 및 기타 메타데이터를 포함하여 세부 정보를 보려면 행을 선택합니다.
자세한 정보를 사용하여 노드 서브 세트, 산업 표준 또는 실패한 제어에 집중할 수 있습니다. 컨테이너화된 인프라의 규정 준수 상태를 평가, 확인 및 보고할 수도 있습니다.
8장. 취약점에 대한 이미지 검사
Red Hat Advanced Cluster Security for Kubernetes를 사용하면 이미지의 취약점을 분석할 수 있습니다. 스캐너는 모든 이미지 계층을 분석하여 CVE(Common Vulnerabilities and Exposures) 목록과 비교하여 알려진 취약점을 확인합니다.
스캐너에서 취약점을 발견하면 다음을 수행합니다.
스캐너는 이미지를 검사하고 이미지의 파일을 기반으로 설치된 구성 요소를 식별합니다. 최종 이미지가 다음 파일을 제거하도록 수정된 경우 설치된 구성 요소 또는 취약점을 식별하지 못할 수 있습니다.
| components | Files |
|---|---|
| 패키지 관리자 |
|
| 언어 수준 종속 항목 |
|
| 애플리케이션 수준 종속 항목 |
|
8.1. 이미지 스캔
중앙에서 스캐너에 이미지 스캔 요청을 제출합니다. 이러한 요청을 수신하면 스캐너는 관련 레지스트리에서 이미지 계층을 가져와서 이미지를 확인하고, 각 계층에 설치된 패키지를 식별합니다. 그런 다음 식별된 패키지 및 프로그래밍 언어별 종속성을 취약점 목록과 비교하고 정보를 중앙에 보냅니다.
Red Hat Advanced Cluster Security for Kubernetes를 다른 취약점 스캐너와 통합할 수도 있습니다.
스캐너는 다음 취약점을 확인합니다.
- 기본 이미지 운영 체제
- 패키지 관리자가 설치한 패키지
- 프로그래밍 언어별 종속성
- 프로그래밍 런타임 및 프레임워크
지원되는 패키지 형식
스캐너는 다음 패키지 형식을 사용하는 이미지의 취약점을 확인할 수 있습니다.
- yum
- microdnf
- apt
- APK
- dpkg
- rpm
지원되는 프로그래밍 언어
스캐너는 다음과 같은 프로그래밍 언어의 보안 취약점을 확인할 수 있습니다.
- Java
- JavaScript
- Python
- Ruby
지원되는 런타임 및 프레임워크
Red Hat Advanced Cluster Security for Kubernetes 3.0.50(Scanner 버전 2.5.0)부터 스캐너는 다음 개발자 플랫폼의 취약점을 확인합니다.
- .NET Core
- ASP.NET Core
지원되는 운영 체제
이 섹션에 나열된 지원되는 플랫폼은 스캐너가 취약점을 식별하는 배포판이며, Red Hat Advanced Cluster Security for Kubernetes를 설치할 수 있는 지원되는 플랫폼과 다릅니다.
스캐너는 다음 Linux 배포판이 포함된 이미지의 취약점을 식별합니다.
| 콘텐츠 배포 | 버전 |
|---|---|
|
Alpine | |
|
| |
|
| |
|
| |
|
| |
|
|
- Fedora는 취약점 데이터베이스를 유지 관리하지 않기 때문에 스캐너는 Fedora 운영 체제를 지원하지 않습니다. 그러나 스캐너는 여전히 Fedora 기반 이미지의 언어별 취약점을 감지합니다.
스캐너는 다음 이미지의 취약점도 식별합니다. 그러나 공급 업체에 의해 취약점 소스는 더 이상 업데이트되지 않습니다.
8.2. 주기적으로 이미지 검사
Red Hat Advanced Cluster Security for Kubernetes는 모든 활성 이미지를 주기적으로 검사하고 이미지 검사 결과를 업데이트하여 최신 취약점 정의를 반영합니다. 활성 이미지는 사용자 환경에 배포한 이미지입니다.
Red Hat Advanced Cluster Security for Kubernetes 3.0.57에서는 이미지의 감시 설정을 구성하여 비활성 이미지의 자동 검사를 활성화할 수 있습니다.
Central은 스캐너 또는 사용자가 사용하는 기타 통합 이미지 스캐너에서 4시간마다 결과를 업데이트하고 있는 모든 활성 이미지에 대한 이미지 검사 결과를 중앙에서 가져옵니다.
roxctl CLI를 사용하여 필요에 따라 이미지 스캔 결과를 확인할 수도 있습니다.
8.3. 비활성 이미지 스캔
Red Hat Advanced Cluster Security for Kubernetes는 4시간마다 활성(배포됨) 이미지를 모두 스캔하고 이미지 검사 결과를 업데이트하여 최신 취약점 정의를 반영합니다.
또한 비활성(배포되지 않음) 이미지를 자동으로 검사하도록 Red Hat Advanced Cluster Security for Kubernetes를 구성할 수도 있습니다.
절차
- 취약점 관리 뷰 헤더 에서 이미지 를 선택하여 모든 이미지 목록을 확인합니다.
- 이미지 보기 헤더에서 이미지 감시를 선택합니다.
-
비활성 이미지 관리 대화 상자에서 검사를 활성화할 비활성 이미지 이름(
이미지ID 아님)을 입력합니다. - Add Image (이미지 추가)를 선택합니다. Red Hat Advanced Cluster Security for Kubernetes는 이미지를 스캔하고 오류 또는 성공 메시지를 표시합니다.
- 이미지 보기를 보 려면 이미지 목록으로 돌아가 기 를 선택합니다.
8.4. 취약점 정의 가져오기
온라인 모드에서 중앙은 단일 피드에서 5분마다 취약점 정의를 가져옵니다. 이 피드는 여러 Linux 배포판과 국가 취약점 데이터베이스가 포함된 업스트림 소스의 취약점 정의를 결합하고 매시간 새로 고칩니다.
-
피드 주소는
https://definitions.stackrox.io입니다. ROX_SCANNER_VULN_UPDATE_INTERVAL환경 변수를 설정하여 Central의 기본 쿼리 빈도를 변경할 수 있습니다.$ oc -n stackrox set env deploy/central ROX_SCANNER_VULN_UPDATE_INTERVAL=<value> 1- 1
- Kubernetes를 사용하는 경우
oc대신kubectl을 입력합니다.
스캐너의 구성 맵에는 계속 updater.interval 매개변수에 따라 스캐너의 업데이트 빈도를 설정할 수 있지만 fetchFromCentral 매개변수는 더 이상 포함되지 않습니다.
8.5. 취약점 점수 이해
RHACS 포털에서는 각 취약점에 대한 단일 CVSS(Common Vulnerability Scoring System) 기본 점수를 보여줍니다. Red Hat Advanced Cluster Security for Kubernetes는 다음 기준에 따라 CVSS 점수를 보여줍니다.
CVSS v3 점수를 사용할 수 있는 경우 Red Hat Advanced Cluster Security for Kubernetes에 점수가 표시되고
v3목록이 표시됩니다. 예를 들면6.5(v3)입니다.참고CVSS v3 점수는 스캐너 버전 1.3.5 이상을 사용하는 경우에만 사용할 수 있습니다.
-
CVSS v3 점수를 사용할 수 없는 경우 Red Hat Advanced Cluster Security for Kubernetes는 CVSS v2 점수만 표시합니다. 예를 들어
6.5.
API를 사용하여 CVSS 점수를 가져올 수 있습니다. CVE(Common Vulnerabilities and Exposures)에 CVSS v3 정보를 사용할 수 있는 경우 응답에 CVSS v3 및 CVSS v2 정보가 포함됩니다.
일부 CVE의 경우 Red Hat 보안 권고 (RHSA) CVSS 점수는 RHACS 포털에 표시되는 CVSS 점수와 다를 수 있습니다. 이러한 차이점은 하나의 RHSA에 여러 CVE가 포함될 수 있고 Red Hat은 다른 Red Hat 제품에 취약점이 미치는 방식에 따라 다른 점수를 할당하기 때문입니다.
이러한 경우 Kubernetes용 Red Hat Advanced Cluster Security:
- NVD(National Vulnerability Database)에서 가장 높은 CVE를 찾고 해당 점수를 RHSA의 CVSS 점수로 표시합니다.
- RHSA의 각 CVE를 NVD에서 원래 CVSS 점수와 함께 별도의 취약점으로 분리하여 각 CVE를 확인하고 특정 CVE에 대한 정책을 생성할 수 있습니다.
8.5.1. 추가 리소스
8.6. 사용자 환경에서 이미지 보기
Red Hat Advanced Cluster Security for Kubernetes를 사용하면 클러스터의 모든 컨테이너 이미지에 대한 세부 정보를 볼 수 있습니다.
절차
- RHACS 포털로 이동하여 왼쪽 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- 클러스터의 모든 이미지에 대한 세부 정보를 보려면 취약점 관리 뷰 헤더에서 이미지 를 선택합니다.
8.7. 이미지의 Dockerfile 보기
취약점 관리 보기를 사용하여 이미지에서 취약점의 근본 원인을 찾습니다. Dockerfile을 보고 해당 단일 명령과 관련된 취약점 및 모든 구성 요소를 도입한 Dockerfile의 명령을 정확하게 찾을 수 있습니다.
Dockerfile 탭에는 다음에 대한 정보가 표시됩니다.
- Dockerfile의 모든 계층
- 각 계층의 명령 및 값
- 각 계층에 포함된 구성 요소
- 각 계층의 구성 요소의 CVE 수
특정 계층에 의해 도입된 구성 요소가 있는 경우 확장 아이콘을 선택하여 구성 요소의 요약을 볼 수 있습니다. 이러한 구성 요소에 CVE가 있는 경우 개별 구성 요소의 확장 아이콘을 선택하여 해당 구성 요소에 영향을 미치는 CVE에 대한 자세한 정보를 얻을 수 있습니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- 최상위 이미지 위젯에서 이미지 를 선택합니다.
- 이미지 세부 정보 보기의 이미지 찾기 섹션에서 Dockerfile 탭을 선택합니다.
8.8. 취약점을 유발하는 컨테이너 이미지 계층 확인
취약점 관리 보기 를 사용하여 취약한 구성 요소와 해당 구성 요소가 표시되는 이미지 계층을 식별합니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- 최상위 이미지 위젯에서 이미지 를 선택합니다.
- 이미지 세부 정보 보기의 이미지 찾기 섹션에서 Dockerfile 탭을 선택합니다.
- 이미지 찾기 섹션의 Dockerfile 탭에서 확장 아이콘을 선택하여 이미지 구성 요소에 대한 요약을 확인합니다.
- 선택한 구성 요소에 영향을 미치는 CVE에 대한 자세한 내용은 특정 구성 요소의 확장 아이콘을 선택합니다.
8.9. 기본 이미지의 운영 체제 식별
취약점 관리 보기 를 사용하여 기본 이미지의 운영 체제를 식별합니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- Vulnerability Management view 헤더에서 이미지를 선택합니다.
- 이미지 OS 열에 있는 모든 이미지의 기본 운영 체제(OS) 및 OS 버전을 확인합니다.
- 세부 정보를 볼 이미지를 선택합니다. 기본 운영 체제는 이미지 요약 → 세부 정보 및 메타데이터 섹션에서도 사용할 수 있습니다.
Red Hat Advanced Cluster Security for Kubernetes는 다음 중 한 번에 알 수 없는 이미지 OS 를 나열합니다.
- 운영 체제 정보를 사용할 수 없거나
- 사용 중인 이미지 스캐너가 이 정보를 제공하지 않는 경우
Docker Trusted Registry, Google Container Registry 및 Anchore는 이 정보를 제공하지 않습니다.
8.10. 언어별 취약점 검사 비활성화
스캐너는 결함이 있는 프로그래밍 언어별 종속 항목의 취약점을 식별합니다. 언어별 종속성 스캔을 비활성화할 수 있습니다.
8.11. 추가 리소스
- CVE(Common Vulnerabilities and Exposures)에 대한 자세한 내용은 Red Hat CVE Database 를 참조하십시오.
9장. 이미지 서명 확인
RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 사용하여 사전 구성된 키에 대해 이미지 서명을 확인하여 클러스터의 컨테이너 이미지의 무결성을 보장할 수 있습니다.
확인된 서명이 없는 서명되지 않은 이미지와 이미지를 차단하는 정책을 생성할 수 있습니다. 또한 권한 없는 배포 생성을 중지하도록 RHACS 승인 컨트롤러를 사용하여 정책을 시행할 수도 있습니다.
- RHACS 3.70은 Cosign 서명과 Cosign 공개 키 서명 확인만 지원합니다. Cosign에 대한 자세한 내용은 Cosign 개요 를 참조하십시오.
- 서명 확인을 위해 최소 1개의 Cosign 공개 키와 서명 통합을 구성해야 합니다.
배포된 모든 이미지의 경우 다음을 수행합니다.
- RHACS는 4시간마다 서명을 가져와 확인합니다.
- RHACS는 서명 통합 공개 키를 변경하거나 업데이트할 때마다 서명을 확인합니다.
9.1. 서명 통합 구성
이미지 서명 확인을 수행하기 전에 먼저 Cosign 공개 키를 RHACS에 추가해야 합니다.
사전 요구 사항
- PEM으로 인코딩된 Cosign 공개 키가 이미 있어야 합니다. Cosign에 대한 자세한 내용은 Cosign 개요 를 참조하십시오.
절차
- RHACS 포털에서 플랫폼 구성 → 통합을 선택합니다.
- 서명 통합 섹션까지 아래로 스크롤하고 서명 을 클릭합니다.
- 새 통합 을 클릭합니다.
- Integration name 을 입력합니다.
- Cosign → Add a new public key 를 클릭합니다.
- 공개 키 이름을 입력합니다.
- Public key value (공개 키 값) 필드에 PEM 인코딩 공개 키를 입력합니다.
- (선택 사항) 새 공개 키 추가를 클릭하고 세부 정보를 입력하여 두 개 이상의 키 를 추가할 수 있습니다.
- 저장을 클릭합니다.
9.2. 정책에서 서명 확인 사용
사용자 지정 보안 정책을 생성할 때 신뢰할 수 있는 이미지 서명자 정책 기준을 사용하여 이미지 서명을 확인할 수 있습니다.
사전 요구 사항
- 최소 1개의 Cosign 공개 키와 이미 서명 통합을 구성해야 합니다.
절차
- 정책을 만들거나 편집할 때 정책 기준 섹션의 정책 필드 드롭다운 영역에서 신뢰할 수 있는 이미지 서명자 정책 기준에 의해 검증되지 않음 을 드래그 합니다.
- Select 를 클릭합니다.
- 목록에서 신뢰할 수 있는 이미지 서명자를 선택하고 저장 을 클릭합니다.
추가 리소스
9.3. 서명 확인 시행
사용자가 서명되지 않은 이미지를 사용하지 못하도록 하려면 RHACS 승인 컨트롤러를 사용하여 서명 확인을 적용할 수 있습니다. 먼저 클러스터 구성 설정에서 Image Scanners 기능을 활성화해야 합니다. 그런 다음 보안 정책을 만들어 서명 확인을 적용하는 동안 Inform 및 enforce 옵션을 사용할 수 있습니다.
자세한 내용은 허용 컨트롤러 적용 활성화를 참조하십시오.
추가 리소스
10장. 취약점 관리
사용자 환경의 보안 취약점은 공격자가 악용하여 서비스 거부, 원격 코드 실행 또는 중요한 데이터에 대한 무단 액세스와 같은 무단 작업을 수행할 수 있습니다. 따라서 취약점 관리는 Kubernetes 보안 프로그램을 성공적으로 수행하는 기본 단계입니다.
10.1. 취약점 관리 감독
취약점 관리는 취약점을 확인하고 해결하기 위한 지속적인 프로세스입니다. Red Hat Advanced Cluster Security for Kubernetes는 보안 취약점 관리 지원을 제공합니다.
성공적인 취약점 관리 프로그램에는 다음과 같은 중요한 작업이 종종 포함됩니다.
- 자산 평가 수행
- 취약점의 우선 순위 지정
- 노출 평가
- 작업 수행
- 지속적으로 자산 재평가
Red Hat Advanced Cluster Security for Kubernetes는 조직이 OpenShift Container Platform 및 Kubernetes 클러스터에 대한 지속적인 평가를 수행할 수 있도록 지원합니다. 조직에게 환경의 취약성에 대한 우선 순위를 정하고 조치를 취하는 데 필요한 컨텍스트 정보를 제공합니다.
10.1.1. 자산 평가 수행
조직의 자산을 평가하려면 다음과 같은 작업이 포함됩니다.
- 환경에 있는 자산 식별.
- 이러한 자산을 스캔하여 알려진 취약점을 확인합니다.
- 이해 관계자에 영향을 주도록 환경의 취약점을 보고합니다.
Kubernetes 또는 OpenShift Container Platform 클러스터에 Red Hat Advanced Cluster Security for Kubernetes를 설치하면 먼저 클러스터 내에서 실행되는 자산을 수집하여 해당 자산을 식별하는 데 도움이 됩니다. Red Hat Advanced Cluster Security for Kubernetes를 사용하면 조직이 OpenShift Container Platform 및 Kubernetes 클러스터에 대한 지속적인 평가를 수행할 수 있습니다. 조직에게 환경의 취약성에 대한 우선 순위를 정하고 조치를 취할 수 있는 컨텍스트 정보를 제공합니다.
Red Hat Advanced Cluster Security for Kubernetes를 사용하여 조직의 취약점 관리 프로세스에서 모니터링해야 하는 중요한 자산은 다음과 같습니다.
- 구성 요소: 구성 요소는 이미지의 일부로 사용하거나 노드에서 실행할 수 있는 소프트웨어 패키지입니다. 구성 요소는 취약점이 있는 가장 낮은 수준입니다. 따라서 조직은 취약점을 해결하기 위해 소프트웨어 구성 요소를 업그레이드, 수정 또는 제거해야 합니다.
- 이미지: 코드의 실행 가능한 부분을 실행하는 환경을 생성하는 소프트웨어 구성 요소 및 코드 컬렉션입니다. 이미지는 취약점을 해결하기 위해 구성 요소를 업그레이드하는 곳입니다.
- nodes: OpenShift 또는 Kubernetes 서비스와 OpenShift Container Platform 또는 Kubernetes 서비스를 구성하는 구성 요소를 사용하여 애플리케이션을 관리하고 실행하는 데 사용되는 서버입니다.
Red Hat Advanced Cluster Security for Kubernetes는 이러한 자산을 다음 구조로 그룹화합니다.
- Deployment: 하나 이상의 이미지를 기반으로 하여 컨테이너를 사용하여 Pod를 실행할 수 있는 Kubernetes의 애플리케이션 정의입니다.
- namespace: 애플리케이션을 지원하고 격리하는 Deployments와 같은 리소스 그룹입니다.
- cluster: OpenShift 또는 Kubernetes를 사용하여 애플리케이션을 실행하는 데 사용되는 노드 그룹입니다.
Red Hat Advanced Cluster Security for Kubernetes는 알려진 취약점의 자산을 검사하고 CVE(Common Vulnerabilities and Exposures) 데이터를 사용하여 알려진 취약점의 영향을 평가합니다.
10.1.1.1. 애플리케이션 취약점 보기
Red Hat Advanced Cluster Security for Kubernetes의 애플리케이션 취약점을 확인할 수 있습니다.
절차
- RHACS 포털에서 취약점 관리 → 대시보드 로 이동합니다.
- 대시보드 뷰 헤더에서 애플리케이션 및 인프라 → 네임스페이스 또는 배포 를 선택합니다.
- 목록에서 검토할 네임스페이스 또는 배포 를 검색하고 선택합니다.
- 애플리케이션에 대한 자세한 정보를 얻으려면 오른쪽에 있는 관련 엔터티에서 엔터티 를 선택합니다.
10.1.1.2. 이미지 취약점 보기
Red Hat Advanced Cluster Security for Kubernetes의 이미지 취약점을 확인할 수 있습니다.
절차
- RHACS 포털에서 취약점 관리 → 대시보드 로 이동합니다.
- 대시보드 뷰 헤더에서 이미지를 선택합니다.
이미지 목록에서 조사할 이미지를 선택합니다. 다음 단계 중 하나를 수행하여 목록을 필터링할 수도 있습니다.
- 검색 창에 Image를 입력한 다음 Image 특성을 선택합니다.
- 검색 창에 이미지 이름을 입력합니다.
- 이미지 세부 정보 보기에서 나열된 CVE를 검토하고 영향을 받는 구성 요소를 해결하기 위해 조치를 취해야 합니다.
- 오른쪽에 있는 관련 엔터티 에서 구성 요소 를 선택하여 선택한 이미지의 영향을 받는 모든 구성 요소에 대한 자세한 정보를 가져옵니다. 또는 특정 CVE의 영향을 받는 구성 요소 목록은 이미지 결과 섹션에 있는 영향을 받는 구성 요소 열에서 구성 요소를 선택합니다.
추가 리소스
10.1.1.3. 인프라 취약점 보기
Red Hat Advanced Cluster Security for Kubernetes를 사용하여 노드의 취약점을 확인할 수 있습니다.
절차
- RHACS 포털에서 취약점 관리 → 대시보드 로 이동합니다.
- 대시보드 뷰 헤더에서 Application & Infrastructure → Cluster 를 선택합니다.
- 클러스터 목록에서 조사할 클러스터를 선택합니다.
- 클러스터 취약점을 검토하고 클러스터의 영향을 받는 노드에서 조치를 취해야 하는 우선 순위를 지정합니다.
10.1.1.4. 노드 취약점 보기
Red Hat Advanced Cluster Security for Kubernetes를 사용하여 특정 노드의 취약점을 확인할 수 있습니다.
절차
- RHACS 포털에서 취약점 관리 → 대시보드 로 이동합니다.
- 대시보드 뷰 헤더에서 노드를 선택합니다.
- 노드 목록에서 조사할 노드를 선택합니다.
- 선택한 노드의 취약점을 확인하고 조치를 취해야 합니다.
- 노드의 영향을 받는 구성 요소에 대한 자세한 내용을 보려면 오른쪽에 있는 관련 엔터티에서 구성 요소 를 선택합니다.
10.1.2. 취약점의 우선 순위 지정
다음 질문에 대답하여 작업 및 조사를 위해 환경의 취약점의 우선 순위를 지정합니다.
- 귀하의 조직에 영향을 받는 자산이 얼마나 중요합니까?
- 취약점을 조사하는 데 얼마나 심각한 문제가 필요합니까?
- 영향을 받는 소프트웨어 구성 요소에 대한 패치로 취약점을 해결할 수 있습니까?
- 이 취약점은 조직의 보안 정책을 위반합니까?
이러한 질문에 대한 답변은 보안 및 개발 팀이 취약점 노출을 측정할지 여부를 결정하는 데 도움이 됩니다.
Red Hat Advanced Cluster Security for Kubernetes는 애플리케이션 및 구성 요소의 취약점 우선 순위를 지정할 수 있는 수단을 제공합니다.
10.1.3. 노출 평가
취약점에 대한 노출을 평가하려면 다음 질문에 대답하십시오.
- 애플리케이션이 취약점의 영향을 받습니까?
- 이 취약점은 다른 요인에 의해 완화됩니까?
- 이 취약점을 악용할 수 있는 알려진 취약점이 있습니까?
- 보안 취약점이 있는 소프트웨어 패키지를 사용하고 있습니까?
- 특정 취약점에 대한 시간과 소프트웨어 패키지 가치가 있습니까?
평가에 따라 다음 중 몇 가지 조치를 수행합니다.
- 노출이 없거나 사용자 환경에 취약점이 적용되지 않는다고 판단하면 취약점을 false positive로 표시하는 것이 좋습니다.
- 노출되는 경우 위험을 수정, 완화 또는 수락하려는 경우 고려하십시오.
- 공격 면적을 줄이기 위해 소프트웨어 패키지를 제거하거나 변경하려는 경우 고려하십시오.
10.1.4. 작업 수행
취약성에 대한 조치를 취하기로 결정하면 다음 작업 중 하나를 수행할 수 있습니다.
- 취약점 수정
- 위험 완화 및 수락
- 위험 수락
- 취약점을 false positive로 표시
다음 작업 중 하나를 수행하여 취약점을 해결할 수 있습니다.
- 소프트웨어 패키지 제거
- 소프트웨어 패키지를 신뢰할 수 없는 버전으로 업데이트합니다.
추가 리소스
10.1.4.1. 새로운 구성 요소 버전 찾기
다음 절차에서는 업그레이드할 새 구성 요소 버전을 찾습니다.
절차
- RHACS 포털에서 취약점 관리 → 대시보드 로 이동합니다.
- 대시보드 뷰 헤더에서 이미지를 선택합니다.
- 이미지 목록에서 이미 평가한 이미지를 선택합니다.
- 이미지 결과 섹션에서 CVE를 선택합니다.
- 조치를 취할 CVE의 영향을 받는 구성 요소를 선택합니다.
- CVE가 수정되는 구성 요소의 버전을 검토하고 이미지를 업데이트합니다.
10.1.5. 위험 수락
이 섹션의 지침에 따라 Red Hat Advanced Cluster Security for Kubernetes의 위험을 수락합니다.
사전 요구 사항
-
Vulnerabilit
yManagementRequests 리소스에대한쓰기권한이 있어야 합니다.
완화 조치와 관계없이 위험을 수락하려면 다음을 수행합니다.
절차
- RHACS 포털에서 취약점 관리 → 대시보드 로 이동합니다.
- 대시보드 뷰 헤더에서 이미지를 선택합니다.
- 이미지 목록에서 이미 평가한 이미지를 선택합니다.
- 작업을 수행하려는 CVE를 나열하는 행을 찾습니다.
-
확인된 CVE 오른쪽에 있는
을 클릭하고 Defer CVE 를 클릭합니다.
- CVE를 연기할 날짜와 시간을 선택합니다.
- 선택한 이미지 태그 또는 이 이미지의 모든 태그에 대해 CVE를 연기하려면 선택합니다.
- 지연 이유를 입력합니다.
- 요청 승인 을 클릭합니다. CVE 오른쪽에 있는 파란색 정보 아이콘을 선택하고 승인 링크를 복사하여 조직의 미네임 승인자와 공유할 수 있습니다.
10.1.5.1. 취약점을 false positive로 표시
다음 절차에서는 취약점을 false positive로 표시합니다.
사전 요구 사항
-
Vulnerabilit
yManagementRequests 리소스에대한쓰기권한이 있어야 합니다.
절차
- RHACS 포털에서 취약점 관리 → 대시보드 로 이동합니다.
- 대시보드 뷰 헤더에서 이미지를 선택합니다.
- 이미지 목록에서 이미 평가한 이미지를 선택합니다.
- 작업을 수행하려는 CVE를 나열하는 행을 찾습니다.
-
확인된 CVE에 대해 오른쪽에 있는
을 클릭하고 Defer CVE 를 클릭합니다.
- CVE를 연기할 날짜와 시간을 선택합니다.
- 선택한 이미지 태그 또는 이 이미지의 모든 태그에 대해 CVE를 연기하려면 선택합니다.
- 지연 이유를 입력합니다.
- 요청 승인 을 클릭합니다.
- CVE 오른쪽에 있는 파란색 정보 아이콘을 선택하고 승인 링크를 복사하여 조직의 미네임 승인자와 공유할 수 있습니다.
10.1.5.2. 잘못된 긍정 또는 지연된 CVE 검토
다음 절차를 사용하여 잘못된 긍정 또는 지연된 CVE를 검토합니다.
사전 요구 사항
-
VulnerabilityManagementApprovals리소스에 대한쓰기권한이 있어야 합니다.
false positive를 검토하거나 CVE를 연기할 수 있습니다.
절차
- 브라우저 또는 RHACS 포털에서 승인 링크를 엽니다.
- 취약점 관리 → 위험 수락 으로 이동하여 CVE를 검색합니다.
- 취약점 범위를 검토하고 승인할지 여부를 결정합니다.
-
CVE의 맨 오른쪽에 있는
를 클릭하고 승인 요청을 승인하거나 거부합니다.
10.1.6. 팀에 취약점 보고
조직이 지속적으로 취약점을 재평가하고 보고해야 하므로 일부 조직에서는 취약점 관리 프로세스에 도움이 되는 주요 이해관계자들에게 통신을 예약하는 것이 도움이 되는 것을 알고 있습니다.
Red Hat Advanced Cluster Security for Kubernetes를 사용하여 이메일을 통해 이러한 재귀적 통신을 예약할 수 있습니다. 이러한 커뮤니케이션은 주요 이해관계자가 필요로 하는 가장 관련있는 정보로 범위가 지정되어야 합니다.
이러한 통신을 보내려면 다음 질문을 고려해야 합니다.
- 이해 관계자와 통신 할 때 어떤 일정이 가장 큰 영향을 미칠 수 있습니까?
- 관객은 누구입니까?
- 보고서에 특정 심각도 보안 취약점만 보내야 합니까?
- 보고서에 수정 가능한 취약점만 보내야 합니까?
10.1.6.1. 취약점 관리 보고서 예약
다음 절차에서는 예약된 취약점 보고서를 생성합니다.
절차
- RHACS 포털에서 취약점 관리 → 보고 로 이동합니다.
- 보고서 만들기를 클릭합니다.
- 보고서 이름 필드에 보고서 이름을 입력합니다.Enter a name for your report in the Report name field.
- Repeat report…에서 보고서의 주간 또는 월간 주기를 선택합니다.
- 보고서에 대한 설명 을 입력합니다.
- 수정 가능한 취약점, 특정 심각도의 취약점 또는 마지막으로 예약된 보고서 이후에만 표시되는 취약점을 보고하려는 경우 보고서의 범위를 선택합니다.
- Configure resource scope (리소스 범위 구성)의 경우 취약점이 적용되는 리소스의 범위를 선택합니다.
- 전자 메일 알림기를 선택하거나 작성하여 보고서를 전자 메일로 보내고 알림 및 배포 아래에서 배포 목록을 구성합니다.Select or create an e-mail notifier to send your report by e-mail and configure your distribution list under Notification and distribution.
- 만들기를 선택하여 보고서를 예약합니다.Select Create to schedule the report.
10.1.6.2. 취약점 보고서 전송
다음 절차에서는 취약점 보고서를 보냅니다.
절차
- RHACS 포털에서 취약점 관리 → 보고 로 이동합니다.
- 보고서 목록에서 보고서를 선택합니다.From the list of reports, select the report.
-
보고서 오른쪽에 있는
를 선택하고 보고서 실행을 클릭하여 지금.
10.1.6.3. 취약점 보고서 편집
다음 절차에서는 취약점 보고서를 편집합니다.
절차
- RHACS 포털에서 취약점 관리 → 보고 로 이동합니다.
- 보고서 목록에서 보고서를 선택합니다.From the list of reports, select the report.
-
보고서 오른쪽에 있는
를 선택하고 편집 을 클릭합니다.
- 필요에 따라 보고서를 수정합니다.
- 저장을 클릭합니다.
10.1.6.4. 취약점 보고서 삭제
다음 절차에서는 취약점 보고서를 삭제합니다.
절차
- RHACS 포털에서 취약점 관리 → 보고 로 이동합니다.
- 보고서 목록에서 보고서를 선택합니다.From the list of reports, select the report.
-
보고서 오른쪽에 있는
를 선택하고 보고서 삭제 를 클릭합니다.
10.2. 공통 작업
이 섹션에서는 취약점 관리 → 대시보드 보기에서 수행할 수 있는 몇 가지 일반적인 작업을 나열합니다.
10.2.1. 인프라에 영향을 미치는 심각한 CVE 검색
취약점 관리 보기를 사용하여 플랫폼에 가장 영향을 미치는 CVE를 확인합니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- Vulnerability Management view 헤더에서 CVE를 선택합니다.
- CVE 보기에서 Env Impact 열 헤더를 선택하여 환경 영향에 따라 CVE를 내림차순으로 정렬합니다.
10.2.2. 가장 취약한 이미지 구성 요소 찾기
취약점 관리 보기 를 사용하여 취약한 이미지 구성 요소를 식별합니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- 취약점 관리 뷰 헤더에서 애플리케이션 및 인프라 → 구성 요소 를 선택합니다.
- 구성 요소 보기에서 CVE 열 헤더를 선택하여 CVE 수를 기반으로 하는 내림차순으로 구성 요소를 정렬합니다.
10.2.3. 취약점을 유발하는 컨테이너 이미지 계층 확인
취약점 관리 보기 를 사용하여 취약한 구성 요소와 해당 구성 요소가 표시되는 이미지 계층을 식별합니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- 최상위 이미지 위젯에서 이미지 를 선택합니다.
- 이미지 세부 정보 보기의 이미지 찾기 섹션에서 Dockerfile 탭을 선택합니다.
- 이미지 찾기 섹션의 Dockerfile 탭에서 확장 아이콘을 선택하여 이미지 구성 요소에 대한 요약을 확인합니다.
- 선택한 구성 요소에 영향을 미치는 CVE에 대한 자세한 내용은 특정 구성 요소의 확장 아이콘을 선택합니다.
10.2.4. 수정 가능한 CVE에만 대한 세부 정보 보기
취약점 관리 보기를 사용하여 수정 가능한 CVE만 필터링하고 표시합니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- 취약점 관리 보기 헤더에서 CVEs → Fixable 필터 를 선택합니다.
10.2.5. 기본 이미지의 운영 체제 식별
취약점 관리 보기 를 사용하여 기본 이미지의 운영 체제를 식별합니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- Vulnerability Management view 헤더에서 이미지를 선택합니다.
- 이미지 OS 열에 있는 모든 이미지의 기본 운영 체제(OS) 및 OS 버전을 확인합니다.
- 세부 정보를 볼 이미지를 선택합니다. 기본 운영 체제는 이미지 요약 → 세부 정보 및 메타데이터 섹션에서도 사용할 수 있습니다.
Red Hat Advanced Cluster Security for Kubernetes는 다음 중 한 번에 알 수 없는 이미지 OS 를 나열합니다.
- 운영 체제 정보를 사용할 수 없거나
- 사용 중인 이미지 스캐너가 이 정보를 제공하지 않는 경우
Docker Trusted Registry, Google Container Registry 및 Anchore는 이 정보를 제공하지 않습니다.
10.2.6. 주요 위험 오브젝트 식별
취약점 관리 뷰 를 사용하여 사용자 환경에서 가장 위험한 오브젝트를 식별할 수 있습니다. Top Risky 위젯은 사용자 환경에서 가장 위험한 이미지, 배포, 클러스터 및 네임스페이스에 대한 정보를 표시합니다. 위험은 취약점 수와 CVSS 점수에 따라 결정됩니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
Top Risky 위젯 헤더를 선택하여 위험도 이미지, 배포, 클러스터 및 네임스페이스 중에서 선택합니다.
차트의 작은 원은 선택한 오브젝트 (이미지, 배포, 클러스터, 네임스페이스)를 나타냅니다. 원 위로 마우스를 이동하여 표시되는 개체의 개요를 확인합니다. 그리고 원을 선택하여 선택한 오브젝트, 관련 엔티티 및 이들 사이의 연결에 대한 자세한 정보를 볼 수 있습니다.
예를 들어, 주요 위험 배포 (CVE Count and CVSS score )를 보는 경우 차트의 각 원은 배포를 나타냅니다.
- 배포를 마우스로 가리킬 때 배포 이름, 클러스터 및 네임스페이스 이름, 심각도, 위험 우선 순위, CVSS 및 CVE 수(수정 가능 포함)가 포함된 배포 개요가 표시됩니다.
- 배포를 선택하면 선택한 배포에 대한 배포 보기가 열립니다. 배포 보기는 배포에 대한 세부 정보를 보여줍니다. 해당 배포의 정책 위반, 일반적인 취약점, CVE 및 위험 요소에 대한 정보가 포함되어 있습니다.
- 위젯 헤더에서 View All 을 선택하여 선택한 유형의 모든 오브젝트를 확인합니다. 예를 들어 Top Risky Deployments by CVE Count and CVSS score 를 선택한 경우 모두 보기를 선택하여 인프라의 모든 배포에 대한 자세한 정보를 볼 수 있습니다.
10.2.7. 가장 위험한 이미지 및 구성 요소 확인
최상위 위험 과 유사하게 최상위 위험 요소 위젯 은 최상위 이미지 및 구성 요소의 이름을 나열합니다. 이 위젯에는 총 CVE 수와 나열된 이미지의 수정 가능한 CVE 수도 포함됩니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
Top Riskiest Images widget 헤더를 선택하여 위험 이미지 및 구성 요소 중에서 선택합니다. 주요 위험 이미지가 표시되는 경우:
- 목록에서 이미지를 마우스로 가리키면 이미지 이름, 검사 시간 및 CVE 수와 심각도(심각, 높음, 중간, 낮은)가 포함된 이미지의 개요가 표시됩니다.
- 이미지를 선택하면 선택한 이미지에 대한 이미지 보기가 열립니다. 이미지 보기에는 이미지에 대한 세부 정보가 표시되며 CVSS 점수, 주요 위험 요소, 수정 가능한 CVE 및 이미지의 Dockerfile에 대한 정보가 포함되어 있습니다.
- 위젯 헤더에서 View All 을 선택하여 선택한 유형의 모든 오브젝트를 확인합니다. 예를 들어 Top Riskiest Components 를 선택한 경우 모두 보기를 선택하여 인프라의 모든 구성 요소에 대한 자세한 정보를 볼 수 있습니다.
10.2.8. 이미지의 Dockerfile 보기
취약점 관리 보기를 사용하여 이미지에서 취약점의 근본 원인을 찾습니다. Dockerfile을 보고 해당 단일 명령과 관련된 취약점 및 모든 구성 요소를 도입한 Dockerfile의 명령을 정확하게 찾을 수 있습니다.
Dockerfile 탭에는 다음에 대한 정보가 표시됩니다.
- Dockerfile의 모든 계층
- 각 계층의 명령 및 값
- 각 계층에 포함된 구성 요소
- 각 계층의 구성 요소의 CVE 수
특정 계층에 의해 도입된 구성 요소가 있는 경우 확장 아이콘을 선택하여 구성 요소의 요약을 볼 수 있습니다. 이러한 구성 요소에 CVE가 있는 경우 개별 구성 요소의 확장 아이콘을 선택하여 해당 구성 요소에 영향을 미치는 CVE에 대한 자세한 정보를 얻을 수 있습니다.
절차
- RHACS 포털로 이동하여 탐색 메뉴에서 취약점 관리 를 클릭합니다.
- 최상위 이미지 위젯에서 이미지 를 선택합니다.
- 이미지 세부 정보 보기의 이미지 찾기 섹션에서 Dockerfile 탭을 선택합니다.
10.2.9. 노드에서 취약점 식별 비활성화
노드의 취약점을 확인하는 것은 기본적으로 활성화되어 있습니다. RHACS 포털에서 비활성화할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 통합으로 이동합니다.
- 이미지 통합 에서 StackRox 스캐너 를 선택합니다.
- 스캐너 목록에서 StackRox 스캐너 를 선택하여 세부 정보를 확인합니다.
- 유형에서 Node Scanner 옵션을 제거 합니다.
- 저장을 선택합니다.
10.2.10. 비활성 이미지 스캔
Red Hat Advanced Cluster Security for Kubernetes는 4시간마다 활성(배포됨) 이미지를 모두 스캔하고 이미지 검사 결과를 업데이트하여 최신 취약점 정의를 반영합니다.
또한 비활성(배포되지 않음) 이미지를 자동으로 검사하도록 Red Hat Advanced Cluster Security for Kubernetes를 구성할 수도 있습니다.
절차
- 취약점 관리 뷰 헤더 에서 이미지 를 선택하여 모든 이미지 목록을 확인합니다.
- 이미지 보기 헤더에서 이미지 감시를 선택합니다.
-
비활성 이미지 관리 대화 상자에서 검사를 활성화할 비활성 이미지 이름(
이미지ID 아님)을 입력합니다. - Add Image (이미지 추가)를 선택합니다. Red Hat Advanced Cluster Security for Kubernetes는 이미지를 스캔하고 오류 또는 성공 메시지를 표시합니다.
- 이미지 보기를 보 려면 이미지 목록으로 돌아가 기 를 선택합니다.
10.2.11. 특정 CVE를 차단하는 정책 생성
새 정책을 생성하거나 취약점 관리 보기에서 기존 정책에 특정 CVE를 추가할 수 있습니다.
절차
- Vulnerability Management view 헤더에서 CVE를 클릭합니다.
-
하나 이상의 CVE에 대한 확인란을 선택한 다음 Add selected CVEs to Policy (선택된 CVE에 있음)를 클릭합니다(
추가아이콘). 또는 목록에서 CVE 위로 마우스를 이동하고 오른쪽에 있는 추가 아이콘을 선택합니다. 정책 이름:
- 기존 정책에 CVE를 추가하려면 드롭다운 목록 상자에서 기존 정책을 선택합니다.
- 새 정책을 생성하려면 새 정책의 이름을 입력하고 Create <policy_name>을 선택합니다.
- 심각도( 심각도 ),High,Medium 또는 Low (낮음)에 대한 값을 선택합니다.
- 정책이 적용되는 라이프사이클 단계 를 빌드 또는 배포에서 선택합니다. 라이프사이클 단계를 모두 선택할 수도 있습니다.
- Description (설명) 상자에 정책에 대한 세부 정보를 입력합니다.
- 정책을 생성하되 나중에 활성화하려면 Enable Policy toggle를 끄십시오. Enable Policy toggle는 기본적으로 켜져 있습니다.
- 이 정책에 포함된 나열된 CVE를 확인합니다.
- Save Policy (정책 저장)를 클릭합니다.
10.2.12. 최근 발견된 취약점 보기
취약점 관리 보기에서 최근 탐지된 취약점 위젯에는 검사 시간 및 CVSS 점수에 따라 검사된 이미지에서 최근 발견된 취약점 목록이 표시됩니다. 또한 CVE의 영향을 받는 이미지 수와 사용자의 환경에 미치는 영향(최고)에 대한 정보도 포함되어 있습니다.
- 목록에서 CVE를 마우스로 가리키면 검사 시간, CVSS 점수, 설명, 영향, CVSS v2 또는 v3를 사용하여 점수 점수가 포함된 CVE에 대한 개요가 표시됩니다.
- CVE를 선택하면 선택한 CVE 에 대한 CVE 세부 정보 보기가 열립니다. CVE 세부 정보 보기에는 표시되는 CVE 및 구성 요소, 이미지, 배포 및 배포에 대한 자세한 정보가 표시됩니다.
- 최근 탐지된 취약점 위젯 헤더에서 View All 을 선택하여 인프라의 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다.
10.2.13. 가장 일반적인 취약점 보기
취약점 관리 보기의 가장 일반적 인 취약점 위젯은 CVSS 점수에 따라 정렬된 가장 많은 배포 및 이미지 수에 영향을 미치는 취약점 목록을 보여줍니다.
- 목록에서 CVE를 마우스로 가리키면 검사 시간, CVSS 점수, 설명, 영향, CVSS v2 또는 v3를 사용하여 점수가 부여된 CVE에 대한 개요가 표시됩니다.
- CVE를 선택하면 선택한 CVE 에 대한 CVE 세부 정보 보기가 열립니다. CVE 세부 정보 보기에는 표시되는 CVE 및 구성 요소, 이미지, 배포 및 배포에 대한 자세한 정보가 표시됩니다.
- 가장 일반적인 취약점 위젯 헤더에서 View All 을 선택하여 인프라의 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다. CVE를 CSV 파일로 내보내려면 Export → Download CVES as CSV 를 선택합니다.
10.2.14. 가장 심각한 정책 위반으로 배포 식별
취약점 관리 보기에 가장 심각한 정책 위반 위젯이 있는 배포에는 배포 및 해당 배포에 영향을 미치는 취약점의 심각도 목록이 표시됩니다.
- 목록에서 배포를 마우스로 가리키면 배포 이름, 배포 이름, 배포가 존재하는 네임스페이스 및 실패한 정책 수와 해당 심각도가 포함된 배포 개요가 표시됩니다.
- 배포를 선택하면 선택한 배포에 대한 배포 보기가 열립니다. 배포 보기는 배포에 대한 세부 정보를 보여줍니다. 해당 배포의 정책 위반, 일반적인 취약점, CVE 및 위험 요소에 대한 정보가 포함되어 있습니다.
- 가장 일반적인 취약점 위젯 헤더에서 View All 을 선택하여 인프라의 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다. CVE를 CSV 파일로 내보내려면 Export → Download CVES as CSV 를 선택합니다.
10.2.15. 대부분의 Kubernetes 및 Istio 취약점이 있는 클러스터 검색
취약점 관리 보기 를 사용하여 환경의 대부분의 Kubernetes 및 Istio 취약점이 있는 클러스터를 식별합니다.
대부분의 K8S 및 Istio Vulnerabilities 위젯이 있는 클러스터에는 각 클러스터의 Kubernetes 및 Istio 취약점 수에 따라 순위가 지정된 클러스터 목록이 표시됩니다. 목록의 맨 위에 있는 클러스터는 취약점이 가장 많은 클러스터입니다.
절차
목록에 있는 클러스터 중 하나를 클릭하여 클러스터에 대한 세부 정보를 확인합니다. 클러스터 보기에 다음 이 포함됩니다.
- 클러스터 세부 정보 섹션: 클러스터 세부 정보 및 메타데이터, 주요 위험 오브젝트(배포, 네임스페이스 및 이미지), 최근에 감지된 취약점, 위험 이미지, 가장 심각한 정책 위반으로 배포가 표시됩니다.
- Cluster Findings 섹션: 실패한 정책 목록 및 수정 가능한 CVE 목록을 포함합니다.
- 관련 엔터티 섹션은 클러스터에 포함된 네임스페이스, 배포, 정책, 이미지, 구성 요소 및 CVE의 수를 보여줍니다. 이러한 엔터티를 선택하여 자세한 내용을 확인할 수 있습니다.
- 위젯 헤더에서 View All (모두 보기)을 클릭하여 모든 클러스터 목록을 확인합니다.
10.2.16. 노드의 취약점 확인
취약점 관리 보기를 사용하여 노드의 취약점을 확인할 수 있습니다. 확인된 취약점은 다음과 같은 취약점을 포함합니다.
- 핵심 Kubernetes 구성 요소.
컨테이너 런타임(Docker, CRI-O, runC, containerd).
참고- Red Hat Advanced Cluster Security for Kubernetes는 OpenShift Container Platform의 노드의 취약점을 식별하는 것을 지원하지 않습니다.
Red Hat Advanced Cluster Security for Kubernetes는 다음 운영 체제의 취약점을 확인할 수 있습니다.
- Amazon Linux 2
- CentOS
- Debian
- 정원 Linux (Debian 11)
- Red Hat Enterprise Linux (RHEL)
- Ubuntu (AWS, Azure, GCP, GKE 특정 버전)
절차
- Vulnerability Management view 헤더에서 노드를 선택하여 노드에 영향을 미치는 모든 CVE 목록을 확인합니다.
목록에서 노드를 선택하여 해당 노드에 영향을 미치는 모든 CVE의 세부 정보를 확인합니다.
- 노드를 선택하면 선택한 노드에 대한 노드 세부 정보 패널이 열립니다. 노드 보기는 노드에 대한 세부 정보를 보여주며 CVSS 점수 및 해당 노드의 수정 가능한 CVE에 대한 정보를 포함합니다.
- CVE에서 CVSS 점수 위젯 헤더로 View All s(모든 항목 보기)를 선택하여 선택한 노드의 모든 CVE 목록을 확인합니다. CVE 목록을 필터링할 수도 있습니다.
- 수정 가능한 CVE를 CSV 파일로 내보내려면 노드 찾기 섹션에서 Export as CSV 를 선택합니다.
11장. 위반에 응답
Red Hat Advanced Cluster Security for Kubernetes를 사용하면 정책 위반을 보고, 위반의 실제 원인을 드릴다운하고, 수정된 조치를 취할 수 있습니다.
Red Hat Advanced Cluster Security for Kubernetes 내장 정책은 취약점 (CVE), DevOps 모범 사례 위반, 고위험 빌드 및 배포 관행, 의심스러운 런타임 동작을 포함하여 다양한 보안 결과를 식별합니다. 기본 기본 보안 정책을 사용하거나 자체 사용자 지정 정책을 사용하는 경우 Red Hat Advanced Cluster Security는 활성화된 정책이 실패하는 경우 위반을 보고합니다.
11.1. 위반 보기
Violations 뷰의 모든 위반 사항을 분석하고 수정 조치를 취할 수 있습니다.
검색된 위반 사항을 확인하려면 RHACS 포털의 왼쪽 탐색 메뉴에서 Violations 를 선택합니다.
Violations 보기는 각 행에 대해 다음 속성의 위반 목록을 보여줍니다.
- Deployment: 배포 이름입니다.
- cluster: 클러스터의 이름입니다.
- namespace : 배포의 네임스페이스입니다.
- 정책: 위반된 정책의 이름입니다.
- enforced : 위반이 발생할 때 정책이 시행되었는지 여부를 나타냅니다.
-
심각도: 심각도 를
낮음,중간,또는높음심각으로 나타냅니다. - categories : 정책 범주입니다.
-
라이프사이클: 정책이 적용되는 라이프사이클 단계,
빌드,배포또는런타임. - Time - 위반이 발생한 날짜 및 시간입니다.
다른 의견과 마찬가지로:
- 열 제목을 선택하여 오름차순 또는 내림차순으로 위반을 정렬할 수 있습니다.You can select a column heading to sort the violations in ascending or descending order.
- 필터 바를 사용하여 위반을 필터링합니다. 자세한 내용은 검색 및 필터링 섹션을 참조하십시오.
- 위반에 대한 자세한 내용을 확인하려면 Violations 보기에서 위반을 선택하십시오.
11.2. 위반 세부 정보 보기
Violations 보기에서 위반을 선택하면 Violation Details 패널이 오른쪽에 열립니다.
Violation Details 패널에는 여러 탭으로 그룹화된 자세한 정보가 표시됩니다.
11.2.1. 위반 탭
Violation Details 패널의 Violation 탭에서는 정책이 위반되었는지 설명합니다. 정책에서 deploy-phase 속성을 대상으로 하는 경우 위반 이름과 같은 정책을 위반하는 특정 값을 볼 수 있습니다. 정책이 런타임 활동을 대상으로 하는 경우 정책의 인수 및 상위 프로세스를 포함하여 정책을 위반하는 프로세스에 대한 자세한 정보를 볼 수 있습니다.
11.2.2. 시행 탭
세부 정보 패널의 Enforcement 탭에는 선택한 정책 위반에 대한 응답으로 수행된 시행 조치 유형에 대한 설명이 표시됩니다.
11.2.3. 배포 탭
세부 정보 패널의 Deployment (배포) 탭에는 위반이 적용되는 배포 세부 정보가 표시됩니다.
개요 섹션
개요 섹션에는 다음 정보가 나열되어 있습니다.
- 배포 ID: 배포의 영숫자 식별자입니다.
- updated : 배포가 업데이트 된 시간 및 날짜입니다.
- cluster: 컨테이너가 배포된 클러스터의 이름입니다.
- namespace: 배포된 클러스터의 고유 식별자입니다.
- Deployment Type: 배포 유형입니다.
- replicas: 복제된 배포 수입니다.
- labels : 선택한 배포에 적용되는 라벨입니다.
- annotations: 선택한 배포에 적용되는 주석입니다.
- Service Account: 선택한 배포에 대한 서비스 계정의 이름입니다.
컨테이너 구성 섹션
컨테이너 구성 섹션에는 다음 정보가 나열되어 있습니다.
- Image Name: 선택한 배포의 이미지 이름입니다.
resources:
- CPU 요청(코어): 컨테이너에서 요청한 코어 수입니다.
- 메모리 요청(MB): 컨테이너에서 요청한 메모리 크기입니다.
볼륨:
- Name: 서비스가 마운트될 위치의 이름입니다.
- Source: 데이터 소스 경로입니다.
- 데이터 저장 경로입니다.The path where the data is stored.
- type : 볼륨의 유형입니다.
- secrets: 선택한 배포와 관련된 시크릿입니다.
보안 컨텍스트 섹션
컨테이너가 권한 있는 컨테이너로 실행되는지 여부를 나열합니다.
privileged:
-
권한이 있는 경우
true입니다. -
권한이 없는 경우
false입니다.
-
권한이 있는 경우
11.2.4. 정책 탭
세부 정보 패널의 Policy 탭에는 위반을 초래한 정책에 대한 세부 정보가 표시됩니다.
정책 세부 정보 섹션
정책 세부 정보 섹션에는 다음 정보가 나열됩니다.
- ID: 정책의 숫자 식별자입니다.
- Name: 정책의 이름입니다.
- 설명: 정책 경고에 대한 자세한 설명입니다.
- 합 리 성 : 정책 수립의 이유와 그것이 중요한 이유에 대한 정보.
- 수정: 위반 사항을 수정하는 방법에 대한 도움말입니다.
- enabled: 정책이 활성화되어 있는지 여부를 나타냅니다.
- categories : 정책의 정책 범주입니다.
-
라이프사이클 단계: 정책이 속하는 라이프사이클 단계,
빌드,배포또는런타임. - 심각도 - 위반의 위험 수준입니다.
정책 기준 섹션
정책에 대한 정책 기준을 나열합니다.
12장. 검색 및 필터링
리소스를 즉시 찾는 기능은 클러스터를 보호하는 데 중요합니다. Red Hat Advanced Cluster Security for Kubernetes 검색 기능을 사용하면 관련 리소스를 더 빠르게 찾을 수 있습니다. 예를 들어 새로 게시된 CVE에 노출된 배포를 찾거나 외부 네트워크 노출이 있는 모든 배포를 찾는 데 사용할 수 있습니다.
12.1. 검색 구문
검색 쿼리는 다음 두 부분으로 구성됩니다.A search query is made up of two parts:
- 검색할 리소스 유형을 식별하는 속성입니다.
- 일치하는 리소스를 찾는 검색 용어입니다.
예를 들어, 비자 프로세서 배포에서 모든 위반 사항을 찾으려면 검색 쿼리는 Deployment:visa-processor 입니다. 이 검색 쿼리에서 Deployment 는 특성이며 visa-processor 는 검색 용어입니다.
검색 조건을 사용하려면 먼저 특성을 선택해야 합니다. 그러나 위험 보기 및 Violations 보기와 같은 일부 보기에서는 Red Hat Advanced Cluster Security for Kubernetes가 입력한 검색 용어에 따라 관련 속성을 자동으로 적용합니다.
쿼리에 여러 특성을 사용할 수 있습니다. 속성을 두 개 이상 사용하는 경우 결과에는 모든 속성과 일치하는 항목만 포함됩니다.
예제
Namespace:frontend CVE:CVE-2018-11776을 검색하는 경우frontend네임스페이스에서 CVE-2018-11776을 위반하는 리소스만 반환합니다.각 속성에서 두 개 이상의 검색어를 사용할 수 있습니다. 둘 이상의 검색어를 사용하면 결과에는 검색 용어와 일치하는 모든 항목이 포함됩니다.
예제
검색 쿼리
네임스페이스: frontend 백엔드를사용하는 경우 네임스페이스 프런트엔드또는백엔드에서일치하는 결과를 반환합니다.여러 속성과 검색 용어를 결합할 수 있습니다.
예제
검색 쿼리
Cluster:production Namespace:frontend CVE:CVE-2018-11776은production클러스터의frontend네임스페이스에서 CVE-2018-11776을 위반하는 모든 리소스를 반환합니다.검색 용어는 단어의 일부일 수 있으며, 이 경우 Red Hat Advanced Cluster Security for Kubernetes가 일치하는 모든 결과를 반환합니다.
예제
Deployment:def를 검색하는 경우 결과에는def로 시작하는 모든 배포가 포함됩니다.특정 용어를 명시적으로 검색하려면 따옴표 내부의 검색 용어를 사용합니다.
예제
Deployment:"def"를 검색할 때 결과에는 배포def만 포함됩니다.검색 용어 앞에
r/를 사용하여 정규 표현식을 사용할 수도 있습니다.예제
Namespace:r/st.*x를 검색할 때 결과에는 네임스페이스stackrox및stix의 일치 항목이 포함됩니다.결과에서 원하지 않는 검색어를 표시하려면
!를 사용합니다.예제
Namespace:!stackrox를 검색하는 경우, 결과에는stackrox네임스페이스를 제외한 모든 네임스페이스의 일치가 포함됩니다.비교 연산자 > , < ,
=, >= , <=를 사용 하 여 특정 값 또는 값 범위와 일치 합니다.Use the comparison operators > , < ,=, >= , or <= to match a specific value or range of values.예제
CVSS:>=6을 검색하는 경우 결과에는 CVSS(Common Vulnerability Scoring System)가 6 이상인 모든 취약점이 포함됩니다.
12.2. 검색 자동 완료
쿼리를 입력하면 Red Hat Advanced Cluster Security for Kubernetes가 속성 및 검색 조건에 대한 관련 제안을 자동으로 표시합니다.
12.3. 글로벌 검색 사용
글로벌 검색을 사용하면 환경의 모든 리소스를 검색할 수 있습니다. 검색 쿼리에 사용하는 리소스 유형에 따라 결과가 다음 카테고리로 그룹화됩니다.
- 모든 (모든 카테고리에서 일치하는 결과를 나열합니다.)
- 위반
- Policies
- 배포
- 이미지
- 보안
이러한 카테고리는 RHACS 포털 글로벌 검색 페이지에 테이블로 나열되며 범주 이름을 클릭하여 선택한 범주에 속하는 결과를 확인할 수 있습니다.
글로벌 검색을 수행하려면 RHACS 포털에서 오른쪽 상단에 있는 Search 를 선택합니다.
12.4. 로컬 페이지 필터링 사용
RHACS 포털의 모든 보기에서 로컬 페이지 필터링을 사용할 수 있습니다. 로컬 페이지 필터링은 글로벌 검색과 유사하지만 관련 특성만 사용할 수 있습니다. 검색 표시줄을 선택하여 특정 보기에 사용 가능한 모든 특성을 표시할 수 있습니다.
12.5. 일반 검색 쿼리
다음은 Red Hat Advanced Cluster Security for Kubernetes를 사용하여 실행할 수 있는 몇 가지 일반적인 검색 쿼리입니다.
특정 CVE의 영향을 받는 배포 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
권한 있는 실행 배포 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
외부 네트워크 노출이 있는 배포 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
특정 프로세스를 실행 중인 배포 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
심각하지만 수정할 수 있는 취약점이 있는 배포 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
환경 변수를 통해 노출된 암호를 사용하는 배포 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
특정 소프트웨어 구성 요소가 있는 실행 중인 배포 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
사용자 또는 그룹 검색
Kubernetes 라벨 및 선택기 와 주석 을 사용하여 배포에 메타데이터를 연결합니다. 그런 다음 적용된 주석 및 레이블을 기반으로 쿼리하여 개인 또는 그룹을 식별할 수 있습니다.
특정 배포를 소유한 사용자 확인
| 쿼리 | 예제 |
|---|---|
|
deployment |
|
퍼블릭 레지스트리에서 이미지를 배포하는 사용자 검색
| 쿼리 | 예제 |
|---|---|
|
|
|
기본 네임스페이스에 배포하는 사람을 찾습니다.
| 쿼리 | 예제 |
|---|---|
|
|
|
12.6. 검색 속성
다음은 Red Hat Advanced Cluster Security for Kubernetes에서 검색 및 필터링하는 동안 사용할 수 있는 검색 속성 목록입니다.
| 속성 | 설명 |
|---|---|
| 기능 추가 | 예를 들어 파일을 수정하거나 네트워크 작업을 수행할 수 있는 등 추가 Linux 기능을 컨테이너에 제공합니다. |
| 주석 | 오케스트레이터 오브젝트에 연결된 임의의 비 식별 메타데이터입니다. |
| CPU Cores Limit | 리소스에서 사용할 수 있는 최대 코어 수입니다. |
| CPU 코어 요청 | 지정된 리소스에 예약할 최소 코어 수입니다. |
| CVE | 일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다. |
| CVSS | Common Vulnerability Scoring System은 CVSS 점수와 그 이상의 ( > ), < ) 또는 ( = ) 기호보다 작거나 ( = ) 기호와 함께 사용합니다. |
| 카테고리 | 정책 카테고리에는 DevOps 모범 사례, 보안 모범 사례, 권한, 취약점 관리, 여러 사용자 지정 정책 카테고리 등이 있습니다. |
| 인증 만료 | 인증서 만료일. |
| Cluster | Kubernetes 또는 OpenShift Container Platform 클러스터의 이름입니다. |
| 클러스터 ID | Kubernetes 또는 OpenShift Container Platform 클러스터의 고유 ID입니다. |
| 클러스터 역할 |
|
| 구성 요소 | 소프트웨어(daemond, docker), 오브젝트(이미지, 컨테이너, 서비스), 레지스트리(Docker 이미지용 리포지토리)입니다. |
| 구성 요소 수 | 이미지의 구성 요소 수입니다. |
| 구성 요소 버전 | 소프트웨어, 오브젝트 또는 레지스트리의 버전입니다. |
| 생성된 시간 | 보안 오브젝트가 생성된 시간 및 날짜입니다. |
| 배포 | 배포 이름입니다. |
| 배포 유형 | 배포를 기반으로 하는 Kubernetes 컨트롤러 유형입니다. |
| 설명 | 배포에 대한 설명입니다. |
| Dockerfile 명령 키워드 | 이미지의 Dockerfile 명령에 키워드입니다. |
| Dockerfile 명령 값 | 이미지의 Dockerfile 명령의 값. |
| 드롭 기능 |
컨테이너에서 삭제된 Linux 기능입니다. 예를 들면 |
| 적용 |
배포에 할당된 적용 유형입니다. 예를 들어 |
| 환경 키 | 컨테이너의 환경을 더 자세히 식별하고 구성하기 위한 메타데이터인 레이블 키-값 문자열의 핵심 부분입니다. |
| 환경 값 | 컨테이너 환경을 더 자세히 식별하고 구성하기 위한 메타데이터인 레이블 키-값 문자열의 값 부분입니다. |
| 노출된 노드 포트 | 노출된 노드 포트의 포트 번호입니다. |
| 서비스 노출 | 노출된 서비스의 이름입니다. |
| 서비스 포트 노출 | 노출된 서비스의 포트 번호. |
| 노출 수준 |
배포 포트(예: |
| 외부 호스트 이름 | 배포에 대한 외부 포트 노출의 호스트 이름입니다. |
| 외부 IP | 배포에 대한 외부 포트 노출을 위한 IP 주소입니다. |
| 수정 가능한 CVE 수 | 이미지의 수정 가능한 CVE 수입니다. |
| 고정 기준 | 이미지의 플래그된 취약점을 해결하는 패키지의 버전 문자열입니다. |
| Image | 이미지의 이름입니다. |
| 이미지 명령 | 이미지에 지정된 명령입니다. |
| 이미지 생성 시간 | 이미지가 생성된 시간 및 날짜입니다. |
| 이미지 Entrypoint | 이미지에 지정된 진입점 명령입니다. |
| 이미지 가져오기 보안 | 배포에 지정된 대로 이미지를 가져올 때 사용할 시크릿의 이름입니다. |
| 이미지 가져오기 레지스트리 | 이미지 풀 시크릿의 레지스트리 이름입니다. |
| 이미지 레지스트리 | 이미지 레지스트리의 이름입니다. |
| 이미지 원격 | 원격으로 액세스할 수 있는 이미지 표시. |
| 이미지 스캔 시간 | 이미지를 마지막으로 스캔한 시간과 날짜입니다. |
| 이미지 태그 | 이미지의 식별자입니다. |
| 이미지 사용자 | 컨테이너 이미지가 실행될 때 사용하도록 구성된 사용자 또는 그룹의 이름입니다. |
| 이미지 볼륨 | 컨테이너 이미지에 구성된 볼륨의 이름입니다. |
| 비활성 배포 |
|
| 레이블 | 이미지, 컨테이너, 데몬, 볼륨, 네트워크 및 기타 리소스를 추가로 식별하고 구성하기 위한 메타데이터인 레이블 키-값 문자열의 핵심 부분입니다. |
| 라이프사이클 단계 | 이 정책이 구성되어 있거나 경고가 트리거된 라이프사이클 단계 유형입니다. |
| 최대 노출 수준 | 배포의 경우 지정된 모든 포트/서비스에 대한 최대 네트워크 노출 수준입니다. |
| 메모리 제한 (MB) | 리소스에서 사용할 수 있는 최대 메모리 양입니다. |
| 메모리 요청(MB) | 지정된 리소스에 예약할 최소 메모리 양입니다. |
| 네임스페이스 | 네임스페이스의 이름입니다. |
| 네임스페이스 ID | 배포에 네임스페이스 오브젝트가 포함된 고유 ID입니다. |
| 노드 | 노드 이름입니다. |
| 노드 ID | 노드의 고유 ID입니다. |
| Pod 라벨 | 개별 Pod에 연결된 단일 메타데이터를 식별합니다. |
| 정책 | 보안 정책의 이름입니다. |
| 포트 | 배포에서 노출된 포트 번호입니다. |
| 포트 프로토콜 | 노출된 포트에서 사용하는 TCP 또는 UDP와 같은 IP 프로토콜. |
| 우선 순위 | 배포의 위험 우선 순위. ( 위험 에서만 사용 가능합니다.) |
| privileged |
|
| 프로세스 Ancestor | 배포에서 프로세스 표시기의 상위 프로세스 이름입니다. |
| 프로세스 인수 | 배포 시 프로세스 지표에 대한 명령 인수입니다. |
| 프로세스 이름 | 배포 시 프로세스 표시의 프로세스 이름입니다. |
| 프로세스 경로 | 컨테이너에서 배포를 나타내는 프로세스 표시기의 바이너리 경로입니다. |
| 프로세스 UID | 배포 시 프로세스 표시기에 대한 UNIX 사용자 ID입니다. |
| 루트 파일 시스템만 읽기 |
|
| Role | Kubernetes RBAC 역할의 이름입니다. |
| 역할 바인딩 | Kubernetes RBAC 역할 바인딩의 이름입니다. |
| 역할 ID | Kubernetes RBAC 역할 바인딩이 바인딩되는 역할 ID입니다. |
| Secret | 중요한 정보를 보유한 보안 오브젝트의 이름입니다. |
| 보안 경로 | 파일 시스템의 보안 오브젝트의 경로입니다. |
| 보안 유형 | 보안 유형(예: 인증서 또는 RSA 공개 키) |
| 서비스 계정 | 서비스 계정 또는 배포의 서비스 계정 이름입니다. |
| 심각도 | 위반의 중요성에 대한 표시: 심각, 높음, 중간, 낮음. |
| 제목 | Kubernetes RBAC의 주체 이름입니다. |
| 제목 Kind |
Kubernetes RBAC의 제목 유형(예: |
| taint 효과 | 현재 노드에 적용되는 테인트 유형입니다. |
| taint 키 | 현재 노드에 적용되는 테인트의 키입니다. |
| taint 값 | 현재 노드에 적용된 테인트에 허용된 값입니다. |
| 허용 오차 키 | 배포에 적용되는 허용 오차의 키입니다. |
| 허용 오차 값 | 배포에 적용되는 허용 오차의 값입니다. |
| 위반 | 정책에 의해 지정된 조건이 충족되지 않은 경우 Violations 페이지에 표시되는 알림입니다. |
| 위반 상태 | 이를 사용하여 해결된 위반 사항을 검색합니다. |
| 위반 시간 | 위반이 처음 발생한 시간 및 날짜입니다. |
| 볼륨 대상 | 데이터 볼륨의 마운트 경로입니다. |
| 볼륨 이름 | 스토리지 이름입니다. |
| volume ReadOnly |
|
| 볼륨 소스 |
볼륨이 프로비저닝되는 양식을 나타냅니다(예: |
| 볼륨 유형 | 볼륨 유형입니다. |
13장. 사용자 액세스 관리
13.1. SAML 2.0 ID 공급자로 Okta ID 클라우드 구성
Okta를 RHACS(Red Hat Advanced Cluster Security for Kubernetes)의 SSO(Single Sign-On) 공급자로 사용할 수 있습니다.
13.1.1. Okta 앱 생성
Okta를 Kubernetes용 Red Hat Advanced Cluster Security의 SAML 2.0 ID 공급자로 사용하려면 Okta 앱을 생성해야 합니다.
Okta의 개발자 콘솔은 사용자 정의 SAML 2.0 애플리케이션 생성을 지원하지 않습니다. 개발자 콘솔 을 사용하는 경우 먼저 관리 콘솔(클래식 UI)으로 전환해야 합니다. 전환하려면 페이지 왼쪽 상단에 있는 개발자 콘솔 을 클릭하고 클래식 UI 를 선택합니다.
사전 요구 사항
- Okta 포털에 대한 관리 권한이 있는 계정이 있어야 합니다.
절차
- Okta 포털의 메뉴 표시줄에서 Applications (애플리케이션)을 선택합니다.
- 애플리케이션 추가 를 클릭한 다음 새 앱 만들기 를 선택합니다.
- 새 애플리케이션 통합 만들기 대화 상자에서 웹을 플랫폼으로 두고 로그인할 프로토콜로 SAML 2.0을 선택합니다.In the Create a New Application Integration dialog box, leave Web as the platform and select SAML 2.0 as the protocol that you want to sign in users.
- 생성을 클릭합니다.
- 일반 설정 페이지에서 앱 이름 필드에 앱의 이름을 입력합니다.On the General Settings page, enter a name for the app in the App name field.
- 다음을 클릭합니다.
SAML 설정 페이지에서 다음 필드의 값을 설정합니다.
URL에 대한 싱글 사인
-
https://<RHACS_portal_hostname>/sso/providers/saml/acs로 지정합니다. - Use this for Recipient URL and Destination URL (Recipient URL 및 Destination URL) 옵션을 선택한 상태로 둡니다.
- 다른 URL에서 RHACS 포털에 액세스할 수 있는 경우 이 앱이 다른 SSO URL 옵션을 요청하도록 허용 을 확인하고 지정된 형식을 사용하여 대체 URL을 추가하여 여기에 추가할 수 있습니다.
-
대상 URI(SP Entity ID)
- 값을 RHACS 또는 다른 원하는 값으로 설정합니다.
- 선택한 값을 기억하십시오. Kubernetes용 Red Hat Advanced Cluster Security를 구성할 때 이 값이 필요합니다.
특성 정책
- 하나 이상의 attribute 문을 추가해야 합니다.
이메일 속성을 사용하는 것이 좋습니다.
- 이름: email
- 형식: 지정되지 않음
- 값: user.email
- 계속하기 전에 하나 이상의 Attribute 문을 구성했는지 확인합니다.
- 다음을 클릭합니다.
- 피드백 페이지에서 사용자에게 적용되는 옵션을 선택합니다.On the Feedback page, select an option that applies to you.
- 적절한 앱 유형 을 선택합니다.
- 완료를 클릭합니다.
구성이 완료되면 새 앱의 Sign On 설정 페이지로 리디렉션됩니다. 노란색 상자에는 Kubernetes용 Red Hat Advanced Cluster Security를 구성하는 데 필요한 정보에 대한 링크가 포함되어 있습니다.
앱을 만든 후 Okta 사용자를 이 애플리케이션에 할당합니다. Assignments (할당) 탭으로 이동하여 Red Hat Advanced Cluster Security for Kubernetes에 액세스할 수 있는 개별 사용자 또는 그룹 세트를 할당합니다. 예를 들어, 조직의 모든 사용자가 Kubernetes용 Red Hat Advanced Cluster Security에 액세스할 수 있도록 그룹 Everyone 를 할당합니다.
13.1.2. Red Hat Advanced Cluster Security for Kubernetes에서 SAML 2.0 ID 공급자 구성
SAML 2.0 ID 공급자를 Red Hat Advanced Cluster Security for Kubernetes와 통합하려면 이 섹션의 지침을 사용합니다.
사전 요구 사항
- Red Hat Advanced Cluster Security for Kubernetes에서 ID 공급자를 구성할 수 있는 권한이 있어야 합니다.
- Kubernetes용 Red Hat Advanced Cluster Security에 대해 구성된 Okta 앱이 있어야 합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어 로 이동합니다.
- Add an Auth Provider 메뉴를 열고 SAML 2.0 을 선택합니다.
다음에 대한 세부 정보를 입력합니다.
- 통합 이름: 이 인증 공급자를 식별하는 이름입니다(예: Okta 또는 Google ). 로그인 페이지에 통합 이름이 표시되어 사용자가 올바른 로그인 옵션을 선택할 수 있습니다.
-
ServiceProvider Issuer: Okta에서
Audience URI또는SP Entity ID로 사용하거나 다른 공급자의 유사한 값을 사용합니다. - IDP 메타데이터 URL: ID 공급자 콘솔에서 사용 가능한 ID 공급자 메타데이터 의 URL을 사용합니다. IdP 메타데이터 URL 을 사용하지 않으려면 Okta 콘솔의 View Setup Instructions 링크 또는 다른 공급자의 유사한 위치에서 필요한 정적 필드를 대신 복사할 수 있습니다.
선택한 ID 공급자를 사용하여 Red Hat Advanced Cluster Security for Kubernetes에 액세스하는 사용자에 대해 최소 액세스 역할 을 선택합니다.
작은 정보설정을 완료하는 동안 최소 액세스 역할 을 Admin 로 설정합니다. 나중에 액세스 제어 페이지로 돌아가 ID 공급자의 사용자 메타데이터를 기반으로 보다 맞춤화된 액세스 규칙을 설정할 수 있습니다.
- 저장을 클릭합니다.
SAML ID 공급자의 인증 응답이 있는 경우:
-
NotValidAfter어설션이 포함되어 있으며 사용자 세션은NotValidAfter필드에 지정된 시간이 경과할 때까지 유효합니다. 만료 후 사용자는 다시 인증해야 합니다. -
NotValidAfter어설션이 포함되지 않으며, 사용자 세션은 30일 동안 유효한 상태로 유지되며 이후에는 사용자가 다시 인증해야 합니다.
검증
- RHACS 포털에서 플랫폼 구성 → 액세스 제어 로 이동합니다.
- Auth Provider Rules 탭을 선택합니다.
- Auth Providers (인증 공급자) 섹션에서 구성을 확인할 인증 공급자를 선택합니다.
- Auth Provider (인증 공급자) 섹션 헤더에서 테스트 로그인 을 선택합니다. 테스트 로그인 페이지가 새 브라우저 탭에서 열립니다.
자격 증명을 사용하여 로그인합니다.
-
성공 시 Red Hat Advanced Cluster Security for Kubernetes는
사용자 ID와자격 증명을 사용하여 로그인하는 데 사용한 ID 공급자를 보여줍니다.UserAttributes - 실패 시 Red Hat Advanced Cluster Security for Kubernetes는 ID 공급자의 응답을 처리할 수 없는 이유를 설명하는 메시지를 표시합니다.
-
성공 시 Red Hat Advanced Cluster Security for Kubernetes는
테스트 로그인 브라우저 탭을 종료합니다.
참고응답이 성공적인 인증을 나타내는 경우에도 ID 공급자의 사용자 메타데이터를 기반으로 추가 액세스 규칙을 생성해야 할 수 있습니다.
13.2. OIDC ID 공급자로 Google Workspace 구성
Google Workspace 를 Red Hat Advanced Cluster Security for Kubernetes의 SSO(Single Sign-On) 공급자로 사용할 수 있습니다.
13.2.1. GCP 프로젝트에 대한 OAuth 2.0 인증 정보 설정
Google Workspace를 Red Hat Advanced Cluster Security for Kubernetes의 ID 공급자로 구성하려면 먼저 GCP 프로젝트에 대한 OAuth 2.0 자격 증명을 구성해야 합니다.
사전 요구 사항
- 기존 프로젝트에 대한 OAuth 2.0 자격 증명을 생성 및 구성하려면 조직의 Google Workspace 계정에 대한 관리자 수준 액세스 권한이 있어야 합니다. Red Hat은 Red Hat Advanced Cluster Security for Kubernetes에 대한 액세스를 관리하기 위한 새 프로젝트를 생성하는 것이 좋습니다.
절차
- 새 GCP(Google Cloud Platform) 프로젝트를 생성하고 프로젝트를 생성 및 관리하는 Google 설명서 주제를 참조하십시오.
- 프로젝트를 생성한 후 Google API 콘솔에서 자격 증명 페이지를 엽니다.
- 로고 옆에 있는 왼쪽 상단 모서리에 나열된 프로젝트 이름을 확인하여 올바른 프로젝트를 사용하고 있는지 확인합니다.
- 새 인증 정보를 생성하려면 Create Credentials → OAuth 클라이언트 ID 로 이동합니다.
- 웹 애플리케이션 을 애플리케이션 유형으로 선택합니다.
- 이름 상자에 애플리케이션의 이름 을 입력합니다(예: RHACS ).
Authorized 리디렉션 URI 상자에
https://<stackrox_hostname>:<port_number>/sso/providers/oidc/callback을 입력합니다.-
&
lt;stackrox_hostname>을 중앙의 인스턴스를 노출하는 호스트 이름으로 바꿉니다. -
&
lt;port_number>를 중앙에서 노출하는 포트 번호로 바꿉니다. 표준 HTTPS 포트443을 사용하는 경우 포트 번호를 생략할 수 있습니다.
-
&
- 생성을 클릭합니다. 그러면 애플리케이션 및 인증 정보가 생성되고 자격 증명 페이지로 리디렉션됩니다.
- 새로 생성된 애플리케이션에 대한 세부 정보를 보여주는 정보 상자가 열립니다. 정보 상자를 닫습니다.
-
.apps.googleusercontent.com으로 끝나는 클라이언트 ID 를 복사하고 저장합니다. Google API Console을 사용하여 이 클라이언트 ID를 확인할 수 있습니다. 왼쪽 탐색 메뉴에서 OAuth 동의 화면 을 선택합니다.
참고OAuth 동의 화면 구성은 전체 GCP 프로젝트에 유효하며 이전 단계에서 생성한 애플리케이션에만 유효합니다. 이 프로젝트에 OAuth 동의 화면이 이미 구성되어 있고 Red Hat Advanced Cluster Security for Kubernetes 로그인에 대해 다른 설정을 적용하려면 새 GCP 프로젝트를 생성합니다.
OAuth 동의 화면 페이지에서 다음을 수행합니다.
- 애플리케이션 유형 을 Internal 로 선택합니다. 공개 를 선택하면 Google 계정이 있는 모든 사람이 로그인할 수 있습니다.
- 설명이 포함된 애플리케이션 이름 을 입력합니다. 이 이름은 사용자가 로그인할 때 동의 화면에 표시됩니다. 예를 들어 Kubernetes용 Red Hat Advanced Cluster Security에 RHACS 또는 <organization_name> SSO 를 사용하십시오.
- Google API의 범위 에는 이메일,프로필 및 공개 범위만 나열 되는지 확인합니다. SSO(Single Sign-On)에는 이러한 범위만 필요합니다. 추가 범위를 지정하면 민감한 데이터를 노출할 위험이 높아집니다.
13.2.2. 클라이언트 시크릿 지정
Red Hat Advanced Cluster Security for Kubernetes 버전 3.0.39 이상에서는 클라이언트 보안을 지정할 때 OAuth 2.0 인증 코드 부여 인증 흐름을 지원합니다. 이 인증 흐름을 사용하는 경우 Red Hat Advanced Cluster Security for Kubernetes는 refresh 토큰을 사용하여 OIDC ID 공급자에 구성된 토큰 만료 시간 이상으로 사용자가 로그인할 수 있도록 합니다.
사용자가 로그아웃하면 Red Hat Advanced Cluster Security for Kubernetes는 클라이언트 측에서 새로 고침 토큰을 삭제합니다. 또한 ID 공급자 API에서 새로 고침 토큰 해지를 지원하는 경우 Red Hat Advanced Cluster Security for Kubernetes는 새로 고침 토큰을 취소하기 위해 ID 공급자에 요청을 보냅니다.
OIDC ID 공급자와 통합하도록 Red Hat Advanced Cluster Security for Kubernetes를 구성할 때 클라이언트 시크릿을 지정할 수 있습니다.
- ragment Callback 모드에서 클라이언트 보안을 사용할 수 없습니다.
- 기존 인증 공급자에 대한 구성을 편집할 수 없습니다.
- 클라이언트 보안을 사용하려면 Red Hat Advanced Cluster Security for Kubernetes에서 새로운 OIDC 통합을 생성해야 합니다.
Red Hat은 Red Hat Advanced Cluster Security for Kubernetes를 OIDC ID 공급자와 연결할 때 클라이언트 시크릿을 사용하는 것이 좋습니다. 클라이언트 시크릿을 사용하지 않으려면 Do not use Client Secret (not recommended) 옵션을 선택해야 합니다.
13.2.3. Red Hat Advanced Cluster Security for Kubernetes에서 OIDC ID 공급자 구성
OpenID Connect (OIDC) ID 공급자를 사용하도록 Red Hat Advanced Cluster Security for Kubernetes를 구성할 수 있습니다.
사전 요구 사항
- ID 공급자(예: Google Workspace)에서 이미 애플리케이션을 구성해야 합니다.
- Red Hat Advanced Cluster Security for Kubernetes에서 ID 공급자를 구성할 수 있는 권한이 있어야 합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어 로 이동합니다.
- Add an Auth Provider 메뉴를 열고 OpenID Connect 를 선택합니다.
다음에 대한 세부 정보를 입력합니다.
- Integration Name: 인증 공급자를 식별하는 이름입니다. 예를 들어 Auth0 또는 Google Workspace". 로그인 페이지에 통합 이름이 표시되어 사용자가 올바른 로그인 옵션을 선택할 수 있습니다.
- 콜백 모드: HTTP POST (기본값)를 선택합니다. SPA(Single Page Applications)의 제한 사항을 중심으로 설계된 Fragment 라는 대체 모드도 사용할 수 있습니다. Red Hat은 기존 통합에만 Fragment 모드를 지원하며 새 통합에는 사용하지 않는 것이 좋습니다.
issuer: ID 공급자의 루트 URL입니다(예: Google Workspace용
https://accounts.google.com). 자세한 내용은 ID 공급자 설명서를 참조하십시오.참고Kubernetes 버전 3.0.49 이상에 Red Hat Advanced Cluster Security를 사용하는 경우 다음을 수행할 수 있습니다.
-
TLS 검증을 건너뛰려면 root URL 앞에
https+insecure://를 접두사로 지정합니다. 이 구성은 안전하지 않으며 Red Hat은 이를 권장하지 않습니다. 테스트 목적으로만 사용하십시오. -
예를 들어 루트 URL과 함께 쿼리 문자열을
?key1=value1&key2=value2로 지정합니다. Red Hat Advanced Cluster Security for Kubernetes는 권한 부여 엔드포인트에 Issuer 값을 추가합니다. 이를 사용하여 공급자의 로그인 화면을 사용자 지정할 수 있습니다. 예를 들어hd매개변수를 사용하여 Google Workspace 로그인 화면을 특정 호스트 도메인으로 최적화하거나 pingfidpadapterid매개변수 를 사용하여 PingFederate에서 인증 방법을 사전 선택할 수 있습니다.
-
TLS 검증을 건너뛰려면 root URL 앞에
- 클라이언트 ID: 구성된 프로젝트의 OIDC 클라이언트 ID입니다.
선택한 ID 공급자를 사용하여 Red Hat Advanced Cluster Security for Kubernetes에 액세스하는 사용자에 대해 최소 액세스 역할 을 선택합니다.
작은 정보설정을 완료하는 동안 최소 액세스 역할 을 Admin 로 설정합니다. 나중에 액세스 제어 페이지로 돌아가 ID 공급자의 사용자 메타데이터를 기반으로 보다 맞춤화된 액세스 규칙을 설정할 수 있습니다.
- 저장을 클릭합니다.
검증
- RHACS 포털에서 플랫폼 구성 → 액세스 제어 로 이동합니다.
- Auth Provider Rules 탭을 선택합니다.
- Auth Providers (인증 공급자) 섹션에서 구성을 확인할 인증 공급자를 선택합니다.
- Auth Provider (인증 공급자) 섹션 헤더에서 테스트 로그인 을 선택합니다. 테스트 로그인 페이지가 새 브라우저 탭에서 열립니다.
자격 증명을 사용하여 로그인합니다.
-
성공 시 Red Hat Advanced Cluster Security for Kubernetes는
사용자 ID와자격 증명을 사용하여 로그인하는 데 사용한 ID 공급자를 보여줍니다.UserAttributes - 실패 시 Red Hat Advanced Cluster Security for Kubernetes는 ID 공급자의 응답을 처리할 수 없는 이유를 설명하는 메시지를 표시합니다.
-
성공 시 Red Hat Advanced Cluster Security for Kubernetes는
- 테스트 로그인 브라우저 탭을 종료합니다.
13.3. OpenShift Container Platform OAuth 서버를 ID 공급자로 구성
OpenShift Container Platform에는 RHACS(Red Hat Advanced Cluster Security for Kubernetes)의 인증 공급자로 사용할 수 있는 기본 제공 OAuth 서버가 포함되어 있습니다.
13.3.1. Red Hat Advanced Cluster Security for Kubernetes에서 OpenShift Container Platform OAuth 서버를 ID 공급자로 구성
기본 제공 OpenShift Container Platform OAuth 서버를 RHACS(Red Hat Advanced Cluster Security for Kubernetes)의 ID 공급자로 통합하려면 이 섹션의 지침을 사용합니다.
사전 요구 사항
-
RHACS에서 ID 공급자를 구성할 수 있는
AuthProvider권한이 있어야 합니다. - ID 공급자를 통해 OpenShift Container Platform OAuth 서버에서 사용자 및 그룹이 이미 구성되어 있어야 합니다. ID 공급자 요구 사항에 대한 자세한 내용은 ID 공급자 구성 이해를 참조하십시오.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어 로 이동합니다.
- Add an Auth Provider 메뉴를 열고 OpenShift Auth 를 선택합니다.
- 이름 필드에 인증 공급자의 이름 을 입력합니다.
선택한 ID 공급자를 사용하여 RHACS에 액세스하는 사용자에 대해 최소 액세스 역할 을 선택합니다.
작은 정보보안을 위해 Red Hat은 설치를 완료하는 동안 최소 액세스 역할 을 None 으로 설정하는 것이 좋습니다. 나중에 액세스 제어 페이지로 돌아가 ID 공급자의 사용자 메타데이터를 기반으로 보다 맞춤화된 액세스 규칙을 설정할 수 있습니다.
RHACS에 액세스하는 사용자 및 그룹에 대한 액세스 규칙을 추가하려면 규칙 섹션을 사용합니다. 예를 들면 다음과 같습니다.
관리자라는 사용자에게 Admin 역할을 제공하려면 다음 키-값 쌍을 사용하여 액세스 규칙을 생성할 수 있습니다.키
값
이름
관리자
Role
admin
그룹
GroupA의 일부인 사용자 이름UserA와 함께 HTPasswd Identity Provider 를 사용하는 경우 다음 키-값 쌍을 사용하여 액세스 규칙을 생성할 수 있습니다.키
값
이름
UserA
그룹
GroupA
UserID
<UUID>
- 저장을 클릭합니다.
- OpenShift Container Platform OAuth 서버에 사용자 정의 TLS 인증서를 사용하는 경우 신뢰할 수 있는 루트 CA로 CA의 루트 인증서를 Red Hat Advanced Cluster Security for Kubernetes에 추가해야 합니다. 그러지 않으면 중앙에서 OpenShift Container Platform OAuth 서버에 연결할 수 없습니다.
roxctlCLI를 사용하여 Red Hat Advanced Cluster Security for Kubernetes를 설치할 때 OpenShift Container Platform OAuth 서버 통합을 활성화하려면 Central에서ROX_ENABLE_OPENSHIFT_AUTH환경 변수를true로 설정합니다.$ oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
-
액세스 규칙의 경우 키
이름을 사용하여 OpenShift Container Platform OAuth 서버에서 반환하는 사용자 이름을 참조해야 합니다. -
액세스 규칙의 경우 OpenShift Container Platform OAuth 서버에서 키
이메일을 반환하지 않습니다.
추가 리소스
13.4. Red Hat Advanced Cluster Security for Kubernetes에서 RBAC 관리
RHACS(Red Hat Advanced Cluster Security for Kubernetes)에는 역할을 구성하고 다양한 사용자가 Red Hat Advanced Cluster Security for Kubernetes에 대한 다양한 수준의 액세스 권한을 부여하는 데 사용할 수 있는 RBAC(역할 기반 액세스 제어)가 포함되어 있습니다.
Red Hat Advanced Cluster Security for Kubernetes 3.63에는 특정 Red Hat Advanced Cluster Security for Kubernetes 사용자 또는 사용자가 액세스할 수 있는 Red Hat Advanced Cluster Security for Kubernetes와 상호 작용할 수 있는 방법을 정의하는 세분화된 액세스 제어 기능 및 특정 권한 세트를 구성할 수 있는 범위가 지정된 액세스 제어 기능이 포함되어 있습니다.
역할 은 권한 집합 및 액세스 범위 컬렉션입니다. 규칙을 지정하여 사용자 및 그룹에 역할을 할당할 수 있습니다. 인증 공급자를 구성할 때 이러한 규칙을 구성할 수 있습니다. 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는 언제든지 생성 및 변경할 수 있습니다.
13.4.1. 시스템 역할
Red Hat Advanced Cluster Security for Kubernetes에는 규칙을 생성할 때 사용자에게 적용할 수 있는 몇 가지 기본 시스템 역할이 포함되어 있습니다. 필요에 따라 사용자 지정 역할을 생성할 수도 있습니다.
| 시스템 역할 | 설명 |
|---|---|
| admin | 이 역할은 관리자를 대상으로 합니다. 이를 사용하여 모든 리소스에 대한 읽기 및 쓰기 액세스 권한을 제공합니다. |
| 애널리스트 | 이 역할은 변경할 수 없지만 모든 항목을 볼 수 있는 사용자를 대상으로 합니다. 이를 사용하여 모든 리소스에 대해 읽기 전용 액세스 권한을 제공합니다. |
| 연속 통합 | 이 역할은 CI(지속적인 통합) 시스템을 대상으로 하며 배포 정책을 적용하는 데 필요한 권한 집합을 포함합니다. |
| 없음 | 이 역할에는 리소스에 대한 읽기 및 쓰기 액세스 권한이 없습니다. 이 역할을 모든 사용자의 최소 액세스 역할로 설정할 수 있습니다. |
| 센서 Creator | Red Hat Advanced Cluster Security for Kubernetes는 이 역할을 사용하여 새 클러스터 설정을 자동화합니다. 보안 클러스터에서 Sensors를 생성하도록 설정된 권한이 포함되어 있습니다. |
| 범위 관리자 | 이 역할에는 액세스 범위를 생성하고 수정하는 데 필요한 최소 권한이 포함됩니다. |
13.4.1.1. 시스템 역할의 권한 세트 및 액세스 범위 보기
기본 시스템 역할의 권한 집합 및 액세스 범위를 볼 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어로 이동합니다.
- Roles (역할)를 선택합니다.
- 역할 중 하나를 클릭하여 세부 정보를 확인합니다. 세부 정보 페이지에는 slected 역할의 권한 집합 및 액세스 범위가 표시됩니다.
기본 시스템 역할에 대한 권한 세트 및 액세스 범위를 수정할 수 없습니다.
13.4.1.2. 사용자 정의 역할 생성
Access Control 보기에서 새 역할을 만들 수 있습니다.
사전 요구 사항
-
AuthProvider및Role리소스에 대한 읽기 및 쓰기 권한이 설정된 Admin 역할 또는 사용자 지정 역할을 생성, 수정, 삭제하려면 역할이 있어야 합니다. - 역할을 생성하기 전에 사용자 지정 역할에 대한 권한 집합 및 액세스 범위를 생성해야 합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어로 이동합니다.
- Roles (역할) 탭을 선택합니다.
- 역할 추가를 클릭합니다.
- 새 역할에 대한 이름 및 설명 을 입력합니다.
- 역할에 대해 설정된 권한 을 선택합니다.
- 역할의 액세스 범위 를 선택합니다.
- 저장을 클릭합니다.
추가 리소스
13.4.1.3. 사용자 또는 그룹에 역할 할당
RHACS 포털을 사용하여 사용자 또는 그룹에 역할을 할당할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어 로 이동합니다.
- 인증 공급자 목록에서 인증 공급자를 선택합니다.
- 최소 역할 및 규칙 편집 을 클릭합니다.
- 규칙 섹션에서 새 규칙 추가 를 클릭합니다.
-
키 의 경우
userid,name,email또는group값 중 하나를 선택합니다. - 값에 대해 선택한 키를 기반으로 사용자 ID, 이름, 이메일 주소 또는 그룹의 값 을 입력합니다.
- 역할 드롭다운 메뉴를 클릭하고 할당할 역할을 선택합니다.
- 저장을 클릭합니다.
각 사용자 또는 그룹에 대해 이러한 지침을 반복하고 다른 역할을 할당할 수 있습니다.
13.4.2. 시스템 권한 세트
Red Hat Advanced Cluster Security for Kubernetes에는 역할에 적용할 수 있는 몇 가지 기본 시스템 권한 세트가 포함되어 있습니다. 필요에 따라 사용자 지정 권한 세트를 생성할 수도 있습니다.
| 권한 설정 | 설명 |
|---|---|
| admin | 모든 리소스에 대한 읽기 및 쓰기 액세스 권한을 제공합니다. |
| 애널리스트 | 모든 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. |
| 연속 통합 | 이 권한 세트는 CI(지속적인 통합) 시스템을 대상으로 하며 배포 정책을 적용하는 데 필요한 권한이 포함됩니다. |
| 없음 | 리소스에 대해 읽기 및 쓰기 권한이 허용되지 않습니다. |
| 센서 Creator | 보안 클러스터에서 센서를 생성하는 데 필요한 리소스에 대한 권한을 제공합니다. |
13.4.2.1. 시스템 권한 집합에 대한 권한 보기
RHACS 포털에 설정된 시스템 권한에 대한 권한을 볼 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어로 이동합니다.
- Permission sets 를 선택합니다.
- 세부 정보를 보려면 권한 세트 중 하나를 클릭합니다. 세부 정보 페이지에는 리소스 목록과 선택한 권한 집합에 대한 권한이 표시됩니다.
시스템 권한 집합에 대한 권한을 수정할 수 없습니다.
13.4.2.2. 사용자 정의 권한 세트 생성
Access Control 보기에서 새 권한 세트를 만들 수 있습니다.
사전 요구 사항
-
권한 세트를 생성, 수정 및 삭제하려면
AuthProvider및Role리소스에 대한 읽기 및 쓰기 권한이 설정된 Admin 역할 또는 역할이 있어야 합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어로 이동합니다.
- Permission sets 탭을 선택합니다.
- Add permission set (권한 세트 추가)를 클릭합니다.
- 새 권한 집합에 대한 이름 및 설명 을 입력합니다.
각 리소스에 대해 액세스 수준 열에서 액세스 권한 없음, 읽기 액세스 , 쓰기 액세스 권한 중 하나를 선택합니다.For each resource, under the Access level column, select one of the permissions from
No access,Read access,Read and Write access.주의사용자에 대해 설정된 권한을 구성하는 경우 다음 리소스에 대한 읽기 전용 권한을 부여해야 합니다.
-
경고 -
Cluster -
배포 -
Image -
NetworkPolicy -
NetworkGraph -
정책 -
Secret
-
- 이러한 권한은 새 권한 세트를 생성할 때 사전 선택됩니다.
- 이러한 권한을 부여하지 않으면 사용자는 RHACS 포털에서 페이지를 보는 데 문제가 발생합니다.
- 저장을 클릭합니다.
13.4.3. 시스템 액세스 범위
Red Hat Advanced Cluster Security for Kubernetes에는 역할에 적용할 수 있는 몇 가지 기본 시스템 액세스 범위가 포함되어 있습니다. 필요에 따라 사용자 정의 액세스 범위를 생성할 수도 있습니다.
| acces 범위 | 설명 |
|---|---|
| 무제한 | Red Hat Advanced Cluster Security for Kubernetes에서 모니터링하는 모든 클러스터 및 네임스페이스에 대한 액세스를 제공합니다. |
| 모두 거부 | Kubernetes 및 OpenShift Container Platform 리소스에 대한 액세스 권한을 제공하지 않습니다. |
13.4.3.1. 시스템 액세스 범위에 대한 세부 정보 보기
RHACS 포털에서 액세스 범위에 대해 허용되거나 허용되지 않는 Kubernetes 및 OpenShift Container Platform 리소스를 볼 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어로 이동합니다.
- 액세스 범위 를 선택합니다.
- 액세스 범위 중 하나를 클릭하여 세부 정보를 확인합니다. 세부 정보 페이지에는 클러스터 및 네임스페이스 목록과 선택한 액세스 범위에 허용되는 목록이 표시됩니다.
시스템 액세스 범위에 대해 허용된 리소스를 수정할 수 없습니다.
13.4.3.2. 사용자 정의 액세스 범위 생성
Access Control 보기에서 새 액세스 범위를 만들 수 있습니다.
사전 요구 사항
-
권한 세트를 생성, 수정 및 삭제하려면
AuthProvider및Role리소스에 대한 읽기 및 쓰기 권한이 설정된 Admin 역할 또는 역할이 있어야 합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어로 이동합니다.
- 액세스 범위 탭을 선택합니다.
- 액세스 범위 추가를 클릭합니다.
- 새 액세스 범위에 대한 이름 및 설명 을 입력합니다.
허용된 리소스 섹션 아래:
- Cluster 필터 및 네임스페이스 필터 상자를 사용하여 목록에 표시되는 클러스터 및 네임스페이스 목록을 필터링합니다.
- < Cluster_name>을 확장하여 해당 클러스터의 네임스페이스 목록을 확인합니다.
클러스터의 수동 선택 열 아래에 토글을 설정하여 해당 클러스터의 모든 네임스페이스에 액세스할 수 있습니다.
참고특정 클러스터에 대한 액세스 권한을 통해 사용자는 클러스터 범위 내에서 다음 리소스에 액세스할 수 있습니다.
- OpenShift Container Platform 또는 Kubernetes 클러스터 메타데이터 및 보안 정보
- 승인된 클러스터에 대한 규정 준수 정보
- 노드 메타데이터 및 보안 정보
- 해당 클러스터의 모든 네임스페이스 및 관련 보안 정보에 대한 액세스
네임스페이스의 Manual selection (수동 선택) 열에서 토글을 설정하여 해당 네임스페이스에 액세스할 수 있습니다.
참고특정 네임스페이스에 대한 액세스 권한을 통해 네임스페이스 범위 내에서 다음 정보에 액세스할 수 있습니다.
- 배포에 대한 경고 및 위반
- 이미지의 취약점 데이터
- 배포 메타데이터 및 보안 정보
- 역할 및 사용자 정보
- 배포에 대한 네트워크 그래프, 정책 및 기준 정보
- 프로세스 정보 및 프로세스 기준 구성
- 각 배포에 대한 위험 정보 우선 순위
- 라벨을 기반으로 클러스터 및 네임스페이스에 대한 액세스를 허용하려면 라벨 선택 규칙 섹션에서 라벨 선택기 추가 를 클릭합니다. 그런 다음 규칙 추가 를 클릭하여 라벨 선택기에 대한 키 및 값 쌍을 지정합니다. 클러스터 및 네임스페이스의 라벨을 지정할 수 있습니다.
- 저장을 클릭합니다.
13.4.4. 리소스 정의
Red Hat Advanced Cluster Security for Kubernetes에는 여러 리소스가 포함되어 있습니다. 다음 표에서는 리소스를 나열하고 사용자가 읽기 또는 쓰기 권한으로 수행할 수 있는 작업을 설명합니다.
| 리소스 | 읽기 권한 | 쓰기 권한 |
|---|---|---|
| APIToken | 기존 API 토큰을 나열합니다. | 새 API 토큰을 생성하거나 기존 토큰을 취소합니다. |
| 경고 | 기존 정책 위반을 봅니다. | 정책 위반을 해결하거나 편집하십시오. |
| AuthPlugin | 기존 인증 플러그인 보기 | 이러한 구성을 수정합니다. (로컬 관리자만 해당). |
| AuthProvider | Single Sign-On의 기존 구성을 봅니다. | 이러한 구성을 수정합니다. |
| BackupPlugins | AWS S3와 같은 자동화된 백업 시스템과의 기존 통합을 확인합니다. | 이러한 구성을 수정합니다. |
| CVE | 내부 전용 | 내부 전용 |
| Cluster | 기존 보안 클러스터 보기. | 새 보안 클러스터를 추가하고 기존 클러스터를 수정하거나 삭제합니다. |
| 컴플라이언스 | 규정 준수 표준 및 결과 보기. | 해당 없음 |
| ComplianceRunSchedule | 예약된 규정 준수 실행 보기. | 예약된 규정 준수 실행을 생성, 수정 또는 삭제합니다. |
| ComplianceRuns | 최근 규정 준수 실행 및 완료 상태를 확인합니다. | 규정 준수 실행을 트리거합니다. |
| config | 데이터 보존, 보안 알림 및 기타 관련 구성에 대한 옵션을 봅니다. | 이러한 구성을 수정합니다. |
| DebugLogs | Red Hat Advanced Cluster Security for Kubernetes 구성 요소에서 현재 로깅 세부 정보 표시 수준을 확인합니다. | 로깅 수준을 수정합니다. |
| 배포 | 보안 클러스터에서 배포(workload)를 확인합니다. | 해당 없음 |
| 진단 | 이미지 또는 배포 YAML에 대한 빌드 시간 정책을 확인합니다. | 해당 없음 |
| 그룹 | 사용자 메타데이터와 Red Hat Advanced Cluster Security for Kubernetes 역할과 일치하는 기존 RBAC 규칙을 확인합니다. | 구성된 RBAC 규칙을 생성, 수정 또는 삭제합니다. |
| Image | 이미지, 구성 요소 및 해당 취약점을 확인합니다. | 해당 없음 |
| ImageComponent | 내부 전용 | 내부 전용 |
| ImageIntegration | 기존 이미지 레지스트리 통합을 나열합니다. | 이미지 레지스트리 통합을 생성, 편집 또는 삭제합니다. |
| ImbuedLogs | 내부 전용 | 내부 전용 |
| 표시기 | 배포에서 프로세스 활동 보기. | 해당 없음 |
| K8sRole | 보안 클러스터에서 Kubernetes 역할 기반 액세스 제어 역할을 봅니다. | 해당 없음 |
| K8sRoleBinding | 보안 클러스터에서 Kubernetes 역할 기반 액세스 제어에 대한 역할 바인딩을 봅니다. | 해당 없음 |
| K8sSubject | 보안 클러스터에서 Kubernetes 역할 기반 액세스 제어의 사용자 및 그룹을 확인합니다. | 해당 없음 |
| 라이센스 | Red Hat Advanced Cluster Security for Kubernetes의 기존 라이센스 상태 보기. | 새 라이센스 키를 업로드합니다. |
| 네임스페이스 | 보안 클러스터에서 기존 Kubernetes 네임스페이스를 확인합니다. | 해당 없음 |
| NetworkGraph | 보안 클러스터에서 활성 및 허용된 네트워크 연결을 확인합니다. | 해당 없음 |
| NetworkPolicy | 보안 클러스터에서 기존 네트워크 정책을 보고 변경 사항을 시뮬레이션합니다. | 보안 클러스터에서 네트워크 정책 변경 사항을 적용합니다. |
| 노드 | 보안 클러스터에서 기존 Kubernetes 노드를 확인합니다. | 해당 없음 |
| Notifier | 이메일, JIRA 또는 Webhook와 같은 알림 시스템의 기존 통합을 확인합니다. | 이러한 통합을 생성, 수정 또는 삭제합니다. |
| 정책 | 기존 시스템 정책 보기. | 시스템 정책 생성, 수정 또는 삭제. |
| ProbeUpload | 업로드된 프로브 파일에 대한 매니페스트를 읽습니다. | 중앙에 지원 패키지를 업로드합니다. |
| ProcessWhitelist | 프로세스 기준 보기. | 기준에서 프로세스를 추가하거나 제거합니다. |
| 위험 | 위험 결과를 확인합니다. | 해당 없음 |
| Role | 기존 Red Hat Advanced Cluster Security for Kubernetes RBAC 역할 및 권한 보기. | 역할 및 해당 권한을 추가, 수정 또는 삭제합니다. |
| ScannerBundle | 스캐너 번들을 다운로드합니다. | 해당 없음 |
| ScannerDefinitions | 기존 이미지 스캐너 통합을 나열합니다. | 이미지 스캐너 통합을 생성, 수정 또는 삭제합니다. |
| Secret | 보안 클러스터의 보안에 대한 메타데이터를 확인합니다. | 해당 없음 |
| SensorUpgradeConfig | 자동 업그레이드 상태를 확인합니다. | 보안 클러스터의 자동 업그레이드를 비활성화하거나 활성화합니다. |
| ServiceAccount | 보안 클러스터에서 Kubernetes 서비스 계정을 나열합니다. | 해당 없음 |
| ServiceIdentity | Kubernetes 서비스 간 인증에 대한 Red Hat Advanced Cluster Security에 대한 메타데이터 보기. | 서비스 간 인증 자격 증명을 취소하거나 다시 실행하십시오. |
| 사용자 | 인증 공급자가 제공하는 메타데이터를 포함하여 Red Hat Advanced Cluster Security for Kubernetes 인스턴스에 액세스한 사용자를 확인합니다. | 해당 없음 |
13.5. PKI 인증 활성화
인증에 CA(인증 기관)를 사용하는 경우 개인 인증서를 사용하여 사용자를 인증하도록 RHACS(Red Hat Advanced Cluster Security for Kubernetes)를 구성할 수 있습니다.
PKI 인증을 구성한 후 사용자 및 API 클라이언트는 개인 인증서를 사용하여 로그인할 수 있습니다. 인증서가 없는 사용자는 API 토큰, 로컬 관리자 암호 또는 기타 인증 공급자를 포함한 다른 인증 옵션을 계속 사용할 수 있습니다. PKI 인증은 웹 UI, gRPC 및 REST API와 동일한 포트 번호로 사용할 수 있습니다.
PKI 인증을 구성할 때 기본적으로 Red Hat Advanced Cluster Security for Kubernetes는 PKI, 웹 UI, gRPC, 기타 SSO(Single Sign-On) 공급자 및 REST API에 대해 동일한 포트를 사용합니다. 또한 YAML 구성 파일을 사용하여 엔드포인트를 구성하고 공개하여 PKI 인증을 위한 별도의 포트를 구성할 수도 있습니다.
13.5.1. RHACS 포털을 사용하여 PKI 인증 구성
RHACS 포털을 사용하여 PKI 인증을 구성할 수 있습니다.
절차
- RHACS 포털에서 플랫폼 구성 → 액세스 제어 로 이동합니다.
- Add an Auth Provider (인증 공급자 추가)를 클릭한 다음 User Certificates (사용자 인증서)를 선택합니다.
- 이름 상자에서 이 인증 공급자의 이름을 지정합니다.In the Name box, specify a name for this authentication provider.
- 루트 CA 인증서를 PEM 형식으로 텍스트 상자에 붙여넣습니다.
- 선택 사항: 최소 액세스 역할 을 변경하고 속성별로 역할 매핑을 추가합니다.
- 저장을 클릭합니다.
13.5.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>
13.5.3. 인증 키 및 인증서 업데이트
RHACS 포털을 사용하여 인증 키 및 인증서를 업데이트할 수 있습니다.
절차
- 새 인증 공급자를 생성합니다.
- 이전 인증 공급자의 역할 매핑을 새 인증 공급자에 복사합니다.
- 이전 루트 CA 키를 사용하여 이전 인증 공급자의 이름을 바꾸거나 삭제합니다.
13.5.4. 클라이언트 인증서를 사용하여 로그인
PKI 인증을 구성한 후 사용자는 RHACS 포털 로그인 페이지에 인증서 프롬프트가 표시됩니다. 구성된 루트 CA에서 신뢰하는 클라이언트 인증서가 사용자 시스템에 설치된 경우에만 프롬프트가 표시됩니다.
이 섹션에 설명된 절차를 사용하여 클라이언트 인증서를 사용하여 로그인합니다.
절차
- RHACS 포털을 엽니다.
- 브라우저 프롬프트에서 인증서를 선택합니다.
- 로그인 페이지에서 인증서로 로그인할 인증 공급자 이름 옵션을 선택합니다. 인증서를 사용하여 로그인하지 않으려면 관리자 암호 또는 다른 로그인 방법을 사용하여 로그인할 수도 있습니다.
클라이언트 인증서를 사용하여 RHACS 포털에 로그인하면 브라우저를 다시 시작하지 않는 한 다른 인증서로 로그인할 수 없습니다.
14장. 시스템 상태 대시보드 사용
Red Hat Advanced Cluster Security for Kubernetes 시스템 상태 대시보드에서는 Red Hat Advanced Cluster Security for Kubernetes 구성 요소에 대한 상태 관련 정보를 볼 수 있는 단일 인터페이스를 제공합니다.
시스템 상태 대시보드는 Red Hat Advanced Cluster Security for Kubernetes 3.0.53 이상에서만 사용할 수 있습니다.
14.1. 시스템 상태 대시보드 세부 정보
상태 대시보드에 액세스하려면 다음을 수행합니다.
- RHACS 포털에서 플랫폼 구성 → 시스템 상태 으로 이동합니다.
상태 대시보드는 다음 그룹의 정보를 구성합니다.
- 클러스터 상태 - Kubernetes 클러스터에 대한 Red Hat Advanced Cluster Security의 전반적인 상태를 표시합니다.
- 취약점 정의 - 취약점 정의의 마지막 업데이트 시간을 표시합니다.
- 이미지 통합 - 통합된 모든 레지스트리의 상태를 표시합니다.
- Notifier 통합 - 통합된 알림 프로그램(Slack, 이메일, Jira 또는 기타 유사한 통합)의 상태를 표시합니다.
- 백업 통합 - 통합된 백업 공급자의 상태를 표시합니다. Backup Integrations - Shows the health of any backup providers that you have integrated.
대시보드에는 다양한 구성 요소에 대한 다음 상태가 나열됩니다.
- healthy - 구성 요소가 작동합니다.
- degraded - 구성 요소가 부분적으로 비정상입니다. 이 상태는 클러스터가 작동하지만 일부 구성 요소는 비정상이며 주의가 필요함을 의미합니다.
- 비정상적인 상태 - 이 구성 요소는 건강하지 않으며 즉각적인 주의가 필요합니다.
- 초기화되지 않음 - 구성 요소가 아직 중앙에 보고되지 않아 상태를 평가할 수 있습니다. 초기화되지 않은 상태는 경우에 따라 주의가 필요할 수 있지만, 구성 요소가 몇 분 후에 상태를 다시 보고하거나 통합을 사용할 때 유용합니다.
클러스터 상태 섹션
Cluster Overview (클러스터 개요)에는 Red Hat Advanced Cluster Security for Kubernetes 클러스터 상태에 대한 정보가 표시됩니다. 다음과 같은 상태 정보를 보고합니다.
- 컬렉터 상태 - Red Hat Advanced Cluster Security for Kubernetes에서 사용하는 수집기 Pod가 정상 보고되는지 여부를 표시합니다.
- 센서 상태 - Red Hat Advanced Cluster Security for Kubernetes에서 사용하는 Sensor Pod가 정상 보고되는지 여부를 표시합니다.
- 센서 업그레이드 - 센서가 중앙과 비교할 때 Sensor가 올바른 버전을 실행하는지 여부를 표시합니다.
- 자격 증명 만료 - Kubernetes용 Red Hat Advanced Cluster Security에 대한 인증 정보가 만료되어 있는지 확인할 수 있습니다.
Uninitialized 상태의 클러스터는 확인할 때까지 Red Hat Advanced Cluster Security for Kubernetes가 보호하는 클러스터 수에 보고되지 않습니다.
취약점 정의 섹션
취약점 정의 섹션에는 마지막 시간 취약점 정의가 표시되고 정의가 최신 상태인지 확인할 수 있습니다.
통합 섹션
3개의 통합 섹션 Image Integrations,Notifier Integrations 및 Backup Integrations. Cluster Health (클러스터 상태) 섹션과 유사하게 이 섹션에는 비정상적인 통합 수가 있는 경우 나열됩니다. 그렇지 않으면 모든 통합 보고서가 정상으로 표시됩니다.
Integrations 섹션에는 다음 조건이 충족되는 경우 정상 통합이 0 으로 나열됩니다.
- Red Hat Advanced Cluster Security for Kubernetes를 타사 툴과 통합하지 않았습니다.
- 일부 툴과 통합되었지만 통합을 비활성화했거나 정책 위반을 설정하지 않았습니다.
14.2. RHACS 포털을 사용하여 진단 번들 생성
RHACS 포털에서 시스템 상태 대시보드를 사용하여 진단 번들을 생성할 수 있습니다.
사전 요구 사항
-
진단 번들을 생성하려면
DebugLogs리소스에 대한읽기권한이 필요합니다.
절차
- RHACS 포털에서 플랫폼 구성 → 시스템 상태를 선택합니다.
- System Health view 헤더에서 진단 번들 생성을 클릭합니다.
- 클러스터별로 필터링 드롭다운 메뉴의 경우 진단 데이터를 생성할 클러스터를 선택합니다.
- 필터를 시작 하려면 진단 데이터를 포함하려는 날짜 및 시간 (UTC 형식)을 지정합니다.
- 진단 번들 다운로드 를 클릭합니다.