TheKoguryo's 기술 블로그

 Version 2024.04.01

1.4.1.2 컨테이너 이미지 스캔

OCIR는 OCI Vulnerability Scanning 서비스를 사용하여, 알려진 Common Vulnerabilities and Exposures (CVE) database를 기반으로 컨테이너 이미지에 대한 취약점 분석 기능을 제공하고 있습니다. 다음은 취약점 분석을 위한 이미지 스캔 기능을 확인해 봅니다.

공식 문서

관련 Policy 설정

스캔 서비스가 OCIR repository에 대한 권한을 부여합니다. 적용해야 하는 Policy는 위 공식 문서를 참조합니다. tenancy 전체 또는 compartment 에 대해서 지정할 수 있습니다.

  • 전체 테넌시

    • 이름: 예) ocir-scanning-images-root-policy
    allow service vulnerability-scanning-service to read repos in tenancy
    allow service vulnerability-scanning-service to read compartments in tenancy
    
  • 특정 compartment

    allow service vulnerability-scanning-service to read repos in compartment <compartment-name>
    allow service vulnerability-scanning-service to read compartments in compartment <compartment-name>
    
#1. OCIR Repository에서 이미지 스캐너 설정

OCIR Repository에서 Repository 단위로 이미지 스캐너 추가, 삭제 할 수 있습니다.

  1. OCI 콘솔에 로그인합니다.

  2. 좌측 상단 햄버거 메뉴에서 Developer Services > Containers & Artifacts > Container Registry로 이동합니다.

  3. List Scope에서 대상 Compartment를 선택합니다.

  4. 스캐너를 설정할 Repository(예시, nginx)를 선택하고 오른쪽 Actions 메뉴에서 Add scanner를 선택합니다.

    image-20230517155732835

  5. 여기에서 기본 정보를 넣고 스캐너를 만들면 됩니다.

    image-20230517155808422

  6. 스캐너를 추가하면, 이후 OCI Vulnerability Scanning를 통해 검사한 결과를 볼 수 있습니다. Repository 마다 설정해야 한다는 점이 불편할 수 있습니다.

#2. OCI Vulnerability Scanning에서 OCIR Repository에 대한 이미지 스캐닝

Container Image Scan Recipe 만들기

  1. Oracle Cloud 콘솔에 로그입니다.

  2. Identity & Security > Scanning > Scan Recipes 메뉴로 이동합니다.

  3. Create를 클릭하여 이미지 스캔 레시피를 만듭니다.

    • Type: Container image
    • Name: 예) container-image-scan-recipe

    image-20230517170934215

Container Image Target 생성

  1. 이미지 스캔 레시피 상세화면에서 Create Target을 클릭합니다.

    image-20230517161051985

  2. 컨테이너 이미지 타겟을 만듭니다.

    • Name: 예) container-image-target
    • 대상 Repository: 선택한 Compartment 내의 모든 Repository가 되도록 선택합니다.

    image-20230517171012545

  3. Results are typically available 15 minutes after creating a new target. 생성된 Target 상단에 표시된 문구처럼 생성후 15분 이후에 결과를 확인합니다.

스캐닝 리포트 확인

  1. 내비게이션 메뉴에서 Identity & Security > Scanning > Scanning Reports 메뉴로 이동합니다.

  2. Container Image 탭으로 이동합니다.

  3. 컨테이너 이미지 스캐닝 결과를 확인할 수 있습니다.

    image-20230517181236656

  4. 원하는 이미지의 이름을 클릭하면, 취약점 분석 결과를 볼 수 있습니다

    image-20230517181529120

  5. View detail을 클릭하면, 원인과 해결책이 있는 경우 관련 정보를 알려줍니다.

    image-20230517181735317

  6. 리스트된 취약점 중에 하나를 클릭합니다. 해당 취약점 기준으로 해당 취약점이 있는 호스트, 컨테이너 이미지 내역을 볼 수 있습니다

OCIR에서 스캐닝 리포트 확인

  1. 좌측 상단 햄버거 메뉴에서 Developer Services > Containers & Artifacts > Container Registry로 이동합니다.

  2. 원하는 컨테이너 이미지를 선택한 후, Scan results 탭을 클릭합니다.

    image-20230517182521257

  3. 최근 스캔 결과에 대해서 View details를 클릭합니다.

  4. 취약점 확인

    이미지 스캐닝 결과 확인 알려진 CVE 정보를 기반한 취약점을 확인 할 수 있으며, 취약점를 클릭하면, 실제 CVE 데이터 베이스로 이동하여, 상세 정보를 확인 할 수 있습니다.

    image-20230517182704524

    image-20230517182812329



이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.

Last updated on 3 Dec 2021