14장. 취약점 관리
14.1. 취약점 관리 개요
보안 취약점은 공격자가 서비스 거부 공격을 수행하거나 원격 코드를 실행하거나 중요한 데이터에 대한 무단 액세스 권한을 얻는 것과 같은 무단 작업을 수행하도록 악용될 수 있습니다. 따라서 취약점 관리는 성공적인 Kubernetes 보안 프로그램을 위한 기본 단계입니다.
14.1.1. 취약점 관리 프로세스
취약점 관리는 취약점을 식별하고 수정하기 위한 지속적인 프로세스입니다. Red Hat Advanced Cluster Security for Kubernetes는 취약점 관리 프로세스를 원활하게 수행할 수 있도록 지원합니다.
성공적인 취약점 관리 프로그램에는 다음과 같은 중요한 작업이 포함되는 경우가 많습니다.
- 자산 평가 수행
- 취약점의 우선순위 지정
- 노출 평가
- 작업 수행
- 지속적으로 자산 재평가
Red Hat Advanced Cluster Security for Kubernetes는 조직이 OpenShift Container Platform 및 Kubernetes 클러스터에서 지속적인 평가를 수행할 수 있도록 지원합니다. 이를 통해 조직에 우선 순위를 정하고 환경 내 취약점을 보다 효과적으로 수행하는 데 필요한 컨텍스트 정보를 제공합니다.
14.1.1.1. 자산 평가 수행
조직의 자산 평가를 수행하는 것은 다음과 같은 조치를 취합니다.
- 사용자 환경에서 자산 식별
- 이러한 자산을 스캔하여 알려진 취약점 확인
- 영향을 받는 이해관계자에게 사용자 환경의 취약점 보고
Kubernetes 또는 OpenShift Container Platform 클러스터에 Red Hat Advanced Cluster Security for Kubernetes를 설치할 때 먼저 클러스터 내에서 실행되는 자산을 집계하여 해당 자산을 식별하는 데 도움이 됩니다. RHACS를 사용하면 조직은 OpenShift Container Platform 및 Kubernetes 클러스터에서 지속적인 평가를 수행할 수 있습니다. RHACS는 조직 환경에 있는 취약점의 우선 순위를 지정하고 조치를 보다 효과적으로 수행할 수 있는 컨텍스트 정보를 제공합니다.
RHACS를 사용하여 조직의 취약점 관리 프로세스에서 모니터링해야 하는 중요한 자산은 다음과 같습니다.
- components: 구성 요소는 이미지의 일부로 사용하거나 노드에서 실행할 수 있는 소프트웨어 패키지입니다. 구성 요소는 취약점이 존재하는 가장 낮은 수준입니다. 따라서 조직은 취약점을 해결하기 위해 어떤 방식으로든 소프트웨어 구성 요소를 업그레이드, 수정 또는 제거해야 합니다.
- 이미지: 코드의 실행 가능한 부분을 실행하는 환경을 생성하는 소프트웨어 구성 요소 및 코드의 컬렉션입니다. 이미지는 취약점을 해결하기 위해 구성 요소를 업그레이드하는 위치입니다.
- nodes: OpenShift 또는 Kubernetes 및 OpenShift Container Platform 또는 Kubernetes 서비스를 구성하는 구성 요소를 사용하여 애플리케이션을 관리하고 실행하는 데 사용되는 서버입니다.
RHACS는 이러한 자산을 다음 구조로 그룹화합니다.
- Deployment: 하나 이상의 이미지를 기반으로 컨테이너가 있는 Pod를 실행할 수 있는 Kubernetes의 애플리케이션에 대한 정의입니다.
- namespace: 애플리케이션을 지원하고 격리하는 배포와 같은 리소스 그룹입니다.
- 클러스터: OpenShift 또는 Kubernetes를 사용하여 애플리케이션을 실행하는 데 사용되는 노드 그룹입니다.
RHACS는 알려진 취약점의 자산을 스캔하고 CVE(Common Vulnerabilities and Exposures) 데이터를 사용하여 알려진 취약점의 영향을 평가합니다.
14.1.1.2. 취약점의 우선순위 지정
작업 및 조사를 위해 환경의 취약점의 우선 순위를 지정하려면 다음 질문에 대답하십시오.
- 조직의 영향을 받는 자산이 얼마나 중요합니까?
- 취약점을 조사하기 위해 얼마나 심각한가?
- 영향을 받는 소프트웨어 구성 요소에 대한 패치로 이 취약점을 수정할 수 있습니까?
- 취약점의 존재가 조직의 보안 정책을 위반합니까?
이러한 질문에 대한 답변은 보안 및 개발팀이 취약점 노출을 측정해야 하는지를 결정하는 데 도움이 됩니다.
Red Hat Advanced Cluster Security for Kubernetes는 애플리케이션 및 구성 요소의 취약점의 우선 순위를 매기는 수단을 제공합니다.
14.1.1.3. 노출 평가
취약점에 대한 노출을 평가하려면 다음 질문에 대답하십시오.
- 애플리케이션이 취약점의 영향을 받습니까?
- 이 취약점이 다른 요인에 의해 완화됩니까?
- 이 취약점을 악용할 수 있는 알려진 취약점이 있습니까?
- 취약점이 있는 소프트웨어 패키지를 사용하고 있습니까?
- 특정 취약점과 가치가 있는 소프트웨어 패키지에 시간을 소비하고 있습니까?
평가에 따라 다음 작업 중 일부를 수행합니다.
- 노출이 없거나 환경에 취약점이 적용되지 않는 경우 취약점을 잘못된 긍정으로 표시하는 것이 좋습니다.
- 노출되는 경우 위험을 해결, 완화 또는 수락하는 것이 좋습니다.
- 공격 면적을 줄이기 위해 소프트웨어 패키지를 제거하거나 변경하려면 다음을 고려하십시오.
14.1.1.4. 작업 수행
취약점을 해결하기로 결정한 후 다음 작업 중 하나를 수행할 수 있습니다.
- 취약점 수정
- 위험 완화 및 승인
- 위험을 감수
- 취약점을 잘못된 긍정으로 표시
다음 작업 중 하나를 수행하여 취약점을 해결할 수 있습니다.
- 소프트웨어 패키지 제거
- 소프트웨어 패키지를vulnerable 버전으로 업데이트