OCI 함수용 보안 컨테이너 이미지 구축에 대해 알아보기

보안 모범 사례로서 고객은 취약성 스캐너를 사용하여 중요한 OS 패치와 같은 컨테이너 레지스트리 이미지를 스캔하고 있습니다. 취약점 스캐너는 취약점을 악용하기 전에 컨테이너 이미지의 취약점을 식별 및 수정하고 보안 침해, 데이터 유출 및 기타 보안 침해를 방지하는 데 도움이 됩니다. OCI Functions를 사용하여 함수를 구축하거나 배포하면 Docker 이미지가 생성되어 Docker 레지스트리로 푸시됩니다. 취약점 스캐너는 이미지에 대한 취약점을 스캔 및 보고하고 다양한 위험 수준을 보고합니다.

이 솔루션 플레이북에서는 Docker 레지스트리에 대한 이미지를 안전하게 빌드하기 위한 모범 사례를 공유합니다.

구조

기본 Dockerfile은 기준선 이미지(fnproject/python:3.9-dev)에서 빌드되며 최신 버전의 종속 패키지가 누락될 수 있습니다.

다음은 컨테이너 이미지 스캔이 중요한 몇 가지 이유이며 취약점이 감지될 경우 해결해야 하는 이유입니다.

  • 조기 감지: 구축 단계 중 이미지를 스캔하면 취약점이 프로덕션에 배포되기 전에 이를 식별하는 데 도움이 됩니다.
  • 비용 효율성: 취약점을 조기에 해결하는 것이 배포 후 해결하는 것보다 비용이 적게 듭니다.
  • 공격 표면 감소: 컨테이너 이미지는 여러 계층으로 구성되며, 각 계층에는 취약점이 포함될 수 있습니다. 스캔을 통해 이러한 취약점을 식별하고 해결할 수 있습니다.
  • 보안 상태 개선: 신뢰할 수 있는 소스에서 잘 유지 관리되는 최소한의 기본 이미지를 사용하면 보안 상태를 개선하는 데 도움이 될 수 있습니다.

다음 다이어그램은 기본 Dockerfile을 사용하는 이 참조 아키텍처의 워크플로우를 보여 줍니다.



build-container-image-oci-functions-default-docker.zip

다음 다이어그램은 사용자 정의 Dockerfile을 사용하는 이 참조 아키텍처의 워크플로우를 보여 줍니다.



build-container-image-oci-functions-custom-docker.zip

이 아키텍처는 다음 구성 요소를 지원합니다.

  • 지역

    Oracle Cloud Infrastructure 리전은 가용성 도메인이라고 하는 데이터 센터가 하나 이상 포함된 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며, 먼 거리가 그들을 분리 할 수 있습니다 (국가 또는 대륙에 걸쳐).

  • Tenancy

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 격리된 보안 분할영역입니다. 테넌시 내 Oracle Cloud에서 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 가지며 해당 테넌시 내의 조직 구조를 반영합니다. 단일 테넌시는 대개 단일 구독과 연관되며, 단일 구독에는 일반적으로 하나의 테넌시만 포함됩니다.

  • 레지스트리

    Oracle Cloud Infrastructure Registry는 개발-운영 워크플로우를 간소화할 수 있는 Oracle 관리 레지스트리입니다. 레지스트리를 사용하면 Docker 이미지와 같은 개발 아티팩트를 쉽게 저장, 공유 및 관리할 수 있습니다. Oracle Cloud Infrastructure의 가용성과 확장성이 뛰어난 아키텍처는 애플리케이션을 안정적으로 배포하고 관리할 수 있도록 보장합니다.

  • 함수

    Oracle Cloud Infrastructure Functions는 확장성이 뛰어난 완전 관리형 멀티테넌트 온디맨드 Functions-as-a-Service(FaaS) 플랫폼입니다. 그것은 Fn 프로젝트 오픈 소스 엔진에 의해 구동 됩니다. 함수를 사용하면 코드를 배치하고 직접 호출하거나 이벤트에 대한 응답으로 트리거할 수 있습니다. Oracle Functions는 Oracle Cloud Infrastructure Registry에서 호스팅되는 Docker 컨테이너를 사용합니다.

  • 스트리밍

    Oracle Cloud Infrastructure Streaming은 실시간으로 소비하고 처리할 수 있는 지속적인 대용량 데이터 스트림을 수집할 수 있는 확장 가능한 영구 스토리지 솔루션을 제공합니다. Streaming을 사용하여 애플리케이션 로그, 운영 원격 측정, 웹 클릭-스트림 데이터 같은 대용량 데이터를 입수하거나, 게시-구독 메시징 모델에서 데이터가 연속적으로 생성되고 처리되는 기타 사용 사례에 사용할 수 있습니다.

  • 취약성 스캔 서비스

    Oracle Cloud Infrastructure Vulnerability Scanning Service는 포트 및 호스트에서 잠재적 취약성을 정기적으로 확인하여 Oracle Cloud의 보안 상태를 개선합니다. 이 서비스는 이러한 취약점에 대한 측정항목 및 세부정보가 포함된 보고서를 생성합니다.

OCI 함수용 컨테이너 이미지 작성 정보

이 솔루션의 기능은 Docker 이미지로 구축되어 지정된 Docker 레지스트리로 푸시되므로 실제로는 패치가 필요한 컨테이너 이미지입니다. 업데이트된 이미지에는 종종 새로운 기능, 성능 향상 및 최적화가 포함됩니다. 이미지를 업데이트하면 최신 라이브러리 및 소프트웨어 종속성과의 호환성을 보장하고 악의적인 행위자가 악용할 수 있는 취약성을 수정하여 민감한 데이터 또는 리소스에 대한 무단 액세스를 확보할 수 있습니다. 이미지 업데이트는 업계 표준 및 규정을 준수하는 데 도움이 됩니다.