아키텍처
시스템 아키텍처
초록
1장. Red Hat Advanced Cluster Security for Kubernetes 아키텍처
Kubernetes 아키텍처 및 개념을 위한 Red Hat Advanced Cluster Security에 대해 알아보십시오.
1.1. Red Hat Advanced Cluster Security for Kubernetes 아키텍처 개요
RHACS(Red Hat Advanced Cluster Security for Kubernetes)는 대규모 배포를 지원하고 기본 OpenShift Container Platform 또는 Kubernetes 노드에 미치는 영향을 최소화하기 위해 최적화된 분산 아키텍처를 사용합니다.
그림 1.1. Red Hat Advanced Cluster Security for Kubernetes 아키텍처

Kubernetes 및 OpenShift Container Platform에 RHACS를 설치할 때 아키텍처는 약간 다릅니다. 그러나 기본 구성 요소와 상호 작용은 동일하게 유지됩니다.
RHACS를 OpenShift Container Platform 또는 Kubernetes 클러스터의 컨테이너 세트로 설치합니다. RHACS에는 다음이 포함됩니다.
- 하나의 클러스터에 설치하는 중앙 서비스.
- RHACS에서 보호하려는 각 클러스터에 설치하는 보안 클러스터 서비스.
RHACS는 이러한 기본 서비스 외에도 다른 외부 구성 요소와 상호 작용하여 클러스터의 보안을 강화합니다.
1.2. 중앙 서비스
단일 클러스터에 중앙 서비스를 설치합니다. 이러한 서비스에는 중부 및 스캐너의 두 가지 주요 구성 요소가 포함됩니다.
- 중앙:중앙은 RHACS 애플리케이션 관리 인터페이스 및 서비스입니다. 데이터 지속성, API 상호 작용 및 RHACS 포털(사용자 인터페이스) 액세스를 처리합니다. 동일한 중앙 인스턴스를 사용하여 여러 OpenShift Container Platform 또는 Kubernetes 클러스터를 보호할 수 있습니다.
스캐너: 스캐너는 컨테이너 이미지를 스캔하기 위한 Red Hat 개발 및 인증된 취약점 스캐너입니다. 스캐너는 다음 기능을 수행합니다.
- 모든 이미지 계층을 분석하고 CVE(Common Vulnerabilities and Exposures) 목록에서 알려진 취약점을 확인합니다.
- 여러 프로그래밍 언어의 설치된 패키지 및 종속 항목의 취약점을 식별합니다. 스캐너는 컨테이너 이미지를 스캔하는 것 외에도 노드의 운영 체제 및 오케스트레이터의 취약점을 식별합니다. 예를 들어, 노드를 검사하여 Kubernetes, OpenShift Container Platform 및 Istio 취약점을 식별합니다.
1.3. 보안 클러스터 서비스
중앙에 설치된 클러스터를 포함하여 Kubernetes용 Red Hat Advanced Cluster Security를 사용하여 보호하려는 모든 클러스터에 보안 클러스터 서비스를 설치합니다. 보안 클러스터 서비스에는 다음 구성 요소가 포함됩니다.
- 센서: 센서는 클러스터 분석 및 모니터링을 담당하는 서비스입니다. 센서는 OpenShift Container Platform 또는 Kubernetes API 및 수집기 이벤트를 수신 대기하여 클러스터의 현재 상태를 보고합니다. 센서는 RHACS 정책을 기반으로 배포 시간 및 런타임 위반도 트리거합니다. 또한 Sensor는 네트워크 정책 적용, RHACS 정책 재처리 시작, Admission 컨트롤러와의 상호 작용과 같은 모든 클러스터 상호 작용을 담당합니다.
- 허용 컨트롤러: Admission Controller를 사용하면 RHACS의 보안 정책을 위반하는 워크로드를 생성할 수 없습니다.
- 수집기: 수집기는 클러스터 노드의 컨테이너 활동을 분석하고 모니터링합니다. 컨테이너 런타임 및 네트워크 활동 정보를 수집하고 수집된 데이터를 센서로 보냅니다.
- scanner: Kubernetes에서 보안 클러스터 서비스에 scanner가 포함되지 않습니다. 그러나 OpenShift Container Platform에서 RHACS는 각 보안 클러스터에 경량 스캐너 버전을 설치하여 통합된 OpenShift Container Platform 레지스트리의 이미지를 스캔합니다.
1.4. 외부 구성 요소
RHACS(Advanced Cluster Security for Kubernetes)는 다음과 같은 외부 구성 요소와 상호 작용합니다.
- 타사 시스템: RHACS를 CI/CD 파이프라인, SIEM(Event Management) 시스템, 로깅, 이메일 등과 같은 다른 시스템과 통합할 수 있습니다.
-
roxctl
:roxctl
은 RHACS에서 명령을 실행하기 위한 CLI(명령줄 인터페이스)입니다. - 이미지 레지스트리: RHACS를 다양한 이미지 레지스트리와 통합하고 RHACS를 사용하여 이미지를 스캔하고 볼 수 있습니다. RHACS는 보안 클러스터에서 발견된 이미지 풀 시크릿을 사용하여 활성 이미지의 레지스트리 통합을 자동으로 구성합니다. 그러나 비활성 이미지를 스캔하려면 레지스트리 통합을 수동으로 구성해야 합니다.
-
definitions.stackrox.io
: RHACS는definitions.stackrox.io
끝점에서 다양한 취약점 피드의 데이터를 집계하고 이 정보를 중앙에 전달합니다. 피드에는 일반, NVD(National Vulnerability Database) 데이터 및 Alpine, Debian 및 Ubuntu와 같은 배포 관련 데이터가 포함됩니다. -
collector-modules.stackrox.io
: Central은collector-modules.stackrox.io
에 도달하여 지원되는 커널 모듈을 가져오고 이러한 모듈을 Collector에 전달합니다.
1.5. OpenShift Container Platform과 Kubernetes의 설치 간의 아키텍처 차이점
OpenShift Container Platform에 RHACS를 설치할 때 아키텍처는 다음 두 가지 차이점만 있습니다.
- RHACS는 Operator 또는 Helm 설치 방법을 사용하여 OpenShift Container Platform에 RHACS를 설치할 때 모든 보안 클러스터에 간단한 스캐너 버전을 설치합니다. 경량 스캐너를 사용하면 통합된 OCR(OpenShift Container Registry)의 이미지를 스캔할 수 있습니다.
- 센서는 중부를 설치한 클러스터에서 scanner와 통신합니다. 이 연결을 사용하면 클러스터에 연결된 내부 레지스트리에 액세스할 수 있습니다.
그림 1.2. OpenShift Container Platform용 Red Hat Advanced Cluster Security for Kubernetes 아키텍처

1.6. 서비스 간 상호 작용
이 섹션에서는 RHACS 서비스가 상호 작용하는 방법에 대해 설명합니다.
구성 요소 | direction | 상호 작용 | 설명 |
---|---|---|---|
중앙 | ⮂ | scanner | 중앙과 스캐너 사이에 양방향 통신이 있습니다. 중앙에서 scanner의 이미지 검사를 요청하고 Scanner는 중앙에서 CVE 데이터베이스에 대한 업데이트를 요청합니다. |
중앙 | ➞ |
|
Central은 |
중앙 | ➞ |
|
|
중앙 | ➞ | 이미지 레지스트리 | 이미지 레지스트리를 중앙 쿼리하여 이미지 메타데이터를 가져옵니다. 예를 들어 RHACS 포털에서 Dockerfile 명령을 표시하려면 다음을 수행합니다. |
scanner | ➞ | 이미지 레지스트리 | 스캐너는 이미지 레지스트리에서 이미지를 가져와 취약점을 확인합니다. |
센서 | ⮂ | 중앙 | Central과 Sensor 사이에는 양방향 통신이 있습니다. 센서 번들 구성에 대한 업데이트를 다운로드하기 위해 센서를 정기적으로 폴링합니다. 또한 보안 클러스터 및 관찰된 정책 위반에 대한 관찰된 활동에 대한 이벤트를 보냅니다. 중앙은 센서와 통신하여 활성화된 정책에 대해 모든 배포를 강제로 다시 처리합니다. |
센서 | ⮂ | scanner |
OpenShift Container Platform에서만 센서는 스캐너와 통신하여 클러스터에 연결된 로컬 레지스트리에 액세스합니다. scanner는 Sensor와 통신하여 |
collector | ⮂ | 센서 | 수집기는 Sensor와 통신하고 모든 이벤트를 클러스터의 해당 센서로 보냅니다. 수집기는 또한 센서에서 누락된 드라이버를 요청합니다. 수집기에서 센서의 컴플라이언스 검사 결과를 요청합니다. 또한 Sensor는 중앙에서 외부 Classless Inter-Domain Routing 정보를 수신하여 수집기로 푸시합니다. |
허용 컨트롤러 | ⮂ | 센서 | 센서는 Admission Controller에 적용하기 위해 보안 정책 목록을 보냅니다. 허용 컨트롤러는 보안 정책 위반 경고를 센서로 보냅니다. 승인 컨트롤러는 필요한 경우 센서에서 이미지 검사를 요청할 수도 있습니다. |
허용 컨트롤러 | ➞ | 중앙 | 일반적으로 Admission 컨트롤러는 중앙 끝점을 알고 Sensor를 사용할 수 없는 경우 Central과 직접 통신할 수 있습니다. |