Security Command Center의 Google Cloud의 취약점 평가를 사용하면 실행 중인 Cloud Run 워크로드에서 소프트웨어 취약점과 노출된 보안 비밀을 지속적으로 감지할 수 있습니다.
시작하기 전에
Google Cloud에 대한 취약점 평가를 사용하려면 다음 요구사항을 충족해야 합니다.
Container Scanning API(
containerscanning.googleapis.com)를 사용 설정하여 Artifact Registry 저장소를 호스팅하는 프로젝트에서 Artifact Analysis 컨테이너 스캔을 활성화합니다. Container Scanning API를 사용 설정하면 Artifact Analysis API(containeranalysis.googleapis.com)도 사용 설정됩니다.API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할(roles/owner)을 통해 이 권한이 이미 있을 수 있습니다. 그렇지 않으면 서비스 사용량 관리자 역할(roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할 부여 방법 알아보기Google Cloud 에 취약점 평가를 사용 설정해도 이미지 저장소에서 Artifact Analysis 컨테이너 스캔이 활성화되지 않습니다. 컨테이너 이미지를 호스팅하는 프로젝트에서 Container Scanning API를 사용 설정하지 않으면 Google Cloud 의 취약점 평가에서 Cloud Run 리소스에 대한 취약점 또는 노출된 보안 비밀 발견 사항을 생성할 수 없습니다.
조직 또는 프로젝트에 Security Command Center를 활성화합니다. 프리미엄 및 Enterprise 등급에서는 Google Cloud 에 대한 취약점 평가가 기본적으로 사용 설정됩니다. 표준 등급에서는 조직, 폴더 또는 프로젝트 수준에서 Google Cloud 에 대한 취약점 평가를 수동으로 사용 설정해야 합니다.
Cloud Run 워크로드와 동일한 Google Cloud 조직 내의 Artifact Registry 저장소에 컨테이너 이미지를 저장합니다. 확인된 공개 Google 컨테이너 미러를 제외하고 외부 조직의 이미지는 스캔되지 않습니다.
Google Cloud 의 취약점 평가 작동 방식
Cloud Run 워크로드의 취약점과 노출된 보안 비밀을 평가하기 위해 두 가지 기능이 함께 작동합니다.
- Artifact Analysis 컨테이너 스캔: Artifact Registry에 저장된 컨테이너 이미지에서 알려진 일반적인 취약점 및 노출(CVE)과 노출된 보안 비밀을 스캔하고 스캔 결과를 Artifact Analysis에서 어커런스로 기록합니다.
- Google Cloud취약점 평가: Artifact Analysis의 취약점 및 보안 비밀 어커런스를 활성 Cloud Run 리소스와 상호 연결합니다.
Artifact Registry의 컨테이너 이미지에 대한 발견 항목을 보고하는 정적 컨테이너 이미지 스캔과 달리 Google Cloud 의 취약점 평가는 실행 중인 Cloud Run 워크로드에 발견 항목을 직접 연결합니다. Google Cloud 의 취약점 평가는 다음 작업을 수행합니다.
- 런타임 메타데이터 상관관계: 컨테이너 이미지 다이제스트를 활성 Cloud Run 서비스, 작업 또는 작업자 풀과 일치시킵니다.
- 버전 및 사이드카 식별: 트래픽을 제공하거나 인스턴스를 실행하는 활성 버전과 취약점 또는 보안 비밀이 포함된 컨테이너 또는 멀티 컨테이너 사이드카를 식별합니다.
- 발견 항목 수명 주기 관리: 활성 버전 또는 실행된 작업이 취약한 이미지를 참조하는 한 발견 항목
ACTIVE을 유지합니다. 패치가 적용된 버전을 배포하고 취약한 버전에서 트래픽 또는 인스턴스를 전환하면 발견 항목이 자동으로INACTIVE로 전환됩니다.
지원되는 리소스
Google Cloud 의 취약점 평가는 다음 Cloud Run 리소스에서 취약점과 노출된 보안 비밀을 발견합니다.
- Cloud Run 서비스(
run.googleapis.com/Service): 트래픽을 제공하는 활성 버전을 모니터링합니다. 발견 항목에는 취약한 이미지를 실행 중인 활성 버전의 전체 리소스 이름이 최대 5개까지 나열됩니다. - Cloud Run 작업(
run.googleapis.com/Job): 지난 14일 이내에 성공적으로 시작된 최신 실행에 사용된 컨테이너 이미지를 기반으로 일괄 작업을 평가합니다. 실행된 적이 없거나 초기화 중에 실패한 작업은 스캔되지 않습니다. - Cloud Run 작업자 풀(
run.googleapis.com/WorkerPool): 인스턴스를 실행하는 활성 버전을 모니터링합니다. 발견 항목에는 취약한 이미지를 실행 중인 모든 활성 버전의 전체 리소스 이름이 나열됩니다.
제한사항
Cloud Run 서비스 또는 작업자 풀이 이미지 가져오기, 새 버전 배포 또는 인스턴스 콜드 스타트 없이 30일 넘게 실행되면 Artifact Analysis는 새 가져오기 또는 배포가 발생할 때까지 새 CVE 스캔을 일시중지합니다. 기존 ACTIVE 발견 항목은 ACTIVE로 유지되며 Security Command Center 데이터 보관 정책이 적용됩니다.
발견 항목은 Artifact Analysis가 이미지를 스캔하거나 다시 분석할 때만 표시됩니다. 이전에 Artifact Registry에 푸시된 이미지를 배포하면 스캔이 트리거되지 않으므로 해당 워크로드의 발견 항목은 다음 재분석 후 약 4시간 이내에 표시됩니다.
취약점 및 보안 비밀 발견 항목 보기
Google Cloud 콘솔에서 Cloud Run의 취약점 및 보안 비밀 발견 항목을 보려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Security Command Center의 발견 사항 페이지로 이동합니다.
프로젝트 선택기에서 조직, 폴더 또는 프로젝트를 선택합니다.
빠른 필터 패널의 리소스 유형 섹션에서
run.googleapis.com/Service,run.googleapis.com/Job또는run.googleapis.com/WorkerPool를 선택합니다.발견 항목을 클릭하여 영향을 받는 컨테이너 이름, 이미지 다이제스트, 활성 버전 URI를 포함한 세부정보를 확인합니다.
취약점 및 보안 비밀 발견 항목 해결
취약점 또는 보안 비밀 발견 항목을 해결하려면 다음 단계를 따르세요.
- 애플리케이션 종속 항목 또는 기본 이미지를 취약점을 패치하는 버전으로 업데이트하거나 컨테이너 이미지 파일 시스템, Dockerfile 또는 소스 코드에서 노출된 보안 비밀을 삭제합니다.
- 새 컨테이너 이미지를 빌드하고 Artifact Registry에 푸시합니다.
- 서비스의 새 버전을 배포하거나 작업 또는 작업자 풀을 업데이트합니다.
- 트래픽 분할 또는 인스턴스 분할을 사용하는 경우 모든 트래픽을 라우팅하거나 모든 인스턴스를 패치된 버전에 할당합니다. 이전 버전에서 더 이상 트래픽을 제공하거나 인스턴스를 실행하지 않으면 Google Cloud 의 취약점 평가에서 발견 항목을
INACTIVE로 표시합니다.
다음 단계
- Security Command Center의 취약점 평가 자세히 알아보기
- thought 취약점 발견 항목 참조를 검토합니다.
- Cloud Run Threat Detection을 사용하여 런타임 위협을 감지하는 방법 알아보기