Oracle Cloud의 CIS 기반 벤치마크를 충족하는 보안 랜딩 존 배포

Oracle Cloud에서 워크로드를 실행하려면 효율적인 운영이 가능한 안전한 환경이 필요합니다. 이 참조 아키텍처는 CIS Oracle Cloud Infrastructure Foundations 벤치마크에 규정된 보안 지침을 충족하기 위해 CIS(Center for Internet Security)에서 인증된 Terraform 기반 랜딩 존 템플리트를 제공합니다. 인증은 https://www.cisecurity.org를 참조하십시오.

구조

아키텍처는 업무 분리를 위한 그룹 및 정책과 함께 테넌시에 대한 구획 설계로 시작됩니다. 랜딩 존에서는 지정된 상위 구획 내 랜딩 존 구획의 V2 프로비저닝이 지원됩니다. 각 랜딩 존 구획에는 구획의 리소스를 관리하고 다른 구획의 필수 리소스에 액세스할 수 있는 적절한 권한이 있는 그룹이 지정됩니다.

랜딩 존 V2은 독립형 모드 또는 허브 및 스포크 아키텍처의 구성 부분으로 여러 VCN을 프로비저닝하는 기능을 제공합니다. VCN은 범용 표준 3계층 네트워크 토폴로지를 따르거나 Oracle Exadata Database Service 배포 지원과 같은 특정 토폴로지를 지향할 수 있습니다. 필요한 경로 지정으로 미리 정의된 인터페이스이며 인바운드 및 아웃바운드 인터페이스가 제대로 보호됩니다.

랜딩 존에는 강력한 보안 태세를 위해 전체 아키텍처와 함께 배포할 수 있는 다양한 사전 구성된 보안 서비스가 포함되어 있습니다. 이러한 서비스는 Oracle Cloud Guard, 흐름 로그, Oracle Cloud Infrastructure Service Connector Hub, 고객 관리 키가 있는 Vault, Oracle Cloud Infrastructure Vulnerability Scanning Service, Oracle Cloud Infrastructure Bastion 및 Oracle Security Zones입니다. 통지가 토픽 및 이벤트를 사용하여 관리자에게 배치된 리소스의 변경사항에 대해 경보를 보냅니다.

다음 다이어그램은 이 참조 아키텍처를 보여 줍니다.

oci-cis-landingzone.png에 대한 설명은 다음과 같습니다.
그림 oci-cis-landingzone.png에 대한 설명

oci-cis-landingzone-oracle.zip

아키텍처의 구성 요소는 다음과 같습니다.

  • Tenancy

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

  • 정책

    Oracle Cloud Infrastructure Identity and Access Management 정책은 어떤 리소스에 액세스할 수 있는지와 방법을 지정합니다. 액세스는 그룹 및 구획 수준에서 부여됩니다. 즉, 특정 구획 또는 테넌시 내에서 그룹에 특정 유형의 액세스 권한을 부여하는 정책을 작성할 수 있습니다.

  • 구획

    구획은 Oracle Cloud Infrastructure 테넌시 내의 영역 간 논리적 분할 영역입니다. 구획을 사용하여 Oracle Cloud에서 리소스를 구성하고, 리소스에 대한 액세스를 제어하고, 사용 할당량을 설정합니다. 지정된 구획의 리소스에 대한 액세스를 제어하려면 리소스에 액세스할 수 있는 사용자 및 수행할 수 있는 작업을 지정하는 정책을 정의합니다.

    이 랜딩 존 템플리트의 리소스는 다음 구획에서 프로비전됩니다.
    • 아래 나열된 모든 구획을 포함하는 권장 포함 구획입니다.
    • 필요한 네트워크 게이트웨이를 포함하여 모든 네트워킹 리소스에 대한 네트워크 구획입니다.
    • 로깅, 키 관리 및 통지 리소스에 대한 보안 구획입니다.
    • 컴퓨트, 스토리지, 함수, 스트림, Kubernetes 노드, API 게이트웨이 등 애플리케이션 관련 서비스에 대한 앱 구획입니다.
    • 모든 데이터베이스 리소스에 대한 데이터베이스 구획입니다.
    • Oracle Exadata Database Service 인프라에 대한 선택적 구획입니다.

    다이어그램에서 회색으로 표시된 아이콘은 템플리트에서 프로비전되지 않은 서비스를 나타냅니다.

    이 구획 설계는 일반적으로 네트워킹, 보안, 애플리케이션 개발 및 데이터베이스 관리자 간에 IT 책임이 분리되는 여러 조직에서 관찰되는 기본 기능 구조를 반영합니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN을 통해 네트워크 환경을 제어할 수 있습니다. VCN은 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록을 가질 수 있습니다. VCN을 서브넷으로 분할할 수 있으며, 영역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

    기본적으로 이 템플리트는 하나의 공용 서브넷과 두 개의 전용 서브넷이 있는 범용 표준 3계층 VCN을 배치합니다. 공용 서브넷은 로드 밸런서 및 배스천 서버에 사용됩니다. 애플리케이션 및 데이터베이스 계층은 별도의 전용(private) 서브넷에 연결됩니다. 또한 이 템플리트는 Oracle Exadata Database Service와 같은 특정 워크로드의 배포를 지원하는 VCN을 생성할 수 있습니다.

  • 인터넷 게이트웨이

    인터넷 게이트웨이는 VCN의 공용 서브넷과 공용 인터넷 간의 트래픽을 허용합니다.

  • DRG(동적 경로 지정 게이트웨이)

    DRG는 온프레미스 네트워크와 VCN 간 전용(private) 네트워크 트래픽에 대한 경로를 제공하는 가상 라우터로, 동일한 리전의 VCN 간 또는 리전 간 트래픽을 라우팅하는 데 사용할 수도 있습니다.

  • NAT 게이트웨이

    NAT 게이트웨이를 사용하면 VCN의 개인 자원이 수신 인터넷 연결에 이러한 자원을 노출시키지 않고도 인터넷의 호스트에 접근할 수 있습니다.

  • 서비스 게이트웨이

    서비스 게이트웨이는 VCN에서 Oracle Cloud Infrastructure Object Storage와 같은 다른 서비스로의 액세스를 제공합니다. VCN에서 Oracle 서비스로의 트래픽은 Oracle 네트워크 패브릭을 통해 이동하며 인터넷을 순회하지 않습니다.

  • Oracle Services Network

    OSN(Oracle Services Network)은 Oracle 서비스에 예약된 Oracle Cloud Infrastructure의 개념적 네트워크입니다. 이러한 서비스에는 인터넷을 통해 연결할 수 있는 공용 IP 주소가 있습니다. Oracle Cloud 외부의 호스트는 Oracle Cloud Infrastructure FastConnect 또는 VPN Connect를 사용하여 전용으로 OSN에 액세스할 수 있습니다. VCN의 호스트는 서비스 게이트웨이를 통해 전용으로 OSN에 액세스할 수 있습니다.

  • NSG(네트워크 보안 그룹)

    NSG(네트워크 보안 그룹)는 클라우드 리소스에 대한 가상 방화벽 역할을 합니다. Oracle Cloud Infrastructure의 제로 트러스트 보안 모델을 사용하면 모든 트래픽이 거부되고 VCN 내의 네트워크 트래픽을 제어할 수 있습니다. NSG는 단일 VCN의 지정된 VNIC 집합에만 적용되는 수신 및 송신 보안 규칙 집합으로 구성됩니다.

  • 이벤트

    Oracle Cloud Infrastructure 서비스는 리소스 변경사항을 설명하는 구조화된 메시지인 이벤트를 내보냅니다. 이벤트는 생성, 읽기, 업데이트 또는 삭제(CRUD) 작업, 리소스 수명 주기 상태 변경 및 클라우드 리소스에 영향을 주는 시스템 이벤트에 대해 내보내집니다.

  • 통지

    Oracle Cloud Infrastructure Notifications 서비스는 게시(Publish) 구독 패턴을 통해 분산된 구성요소로 메시지를 방송하고, Oracle Cloud Infrastructure에서 호스팅되는 애플리케이션에 대해 안전하고 신뢰성이 뛰어나며, 대기시간이 짧고, 내구성이 뛰어난 메시지를 제공합니다.

  • 저장소

    Oracle Cloud Infrastructure Vault를 사용하면 데이터를 보호하는 암호화 키와 클라우드의 리소스에 대한 액세스를 보호하는 데 사용하는 비밀 인증서를 중앙에서 관리할 수 있습니다. 저장소 서비스를 사용하여 저장소, 키 및 암호를 만들고 관리할 수 있습니다.

  • 로그
    로깅은 확장성이 뛰어난 완전 관리형 서비스로, 클라우드의 리소스에서 다음 유형의 로그에 액세스할 수 있습니다.
    • 감사 로그: 감사 서비스에서 내보낸 이벤트와 관련된 로그입니다.
    • 서비스 로그: API Gateway, Events, Functions, Load Balancing, Object Storage, VCN 플로우 로그와 같은 개별 서비스에서 내보낸 로그입니다.
    • 사용자 정의 로그: 사용자 정의 응용 프로그램, 다른 클라우드 공급자 또는 온프레미스 환경의 진단 정보를 포함하는 로그입니다.
  • 서비스 커넥터

    Oracle Cloud Infrastructure Service Connector Hub는 OCI의 서비스 간 데이터 이동을 조정하는 클라우드 메시지 버스 플랫폼입니다. 서비스 커넥터를 사용하여 소스 서비스에서 대상 서비스로 데이터를 이동할 수 있습니다. 서비스 커넥터를 사용하면 대상 서비스로 전달되기 전에 데이터에 대해 수행할 작업(예: 함수)을 선택적으로 지정할 수도 있습니다.

    Oracle Cloud Infrastructure Service Connector Hub를 사용하여 SIEM 시스템에 대한 로깅 집계 프레임워크를 빠르게 구축할 수 있습니다.

  • Cloud Guard

    Oracle Cloud Guard는 테넌시를 모니터링하여 보안 문제가 발생할 수 있는 리소스에 대한 구성 설정 및 작업을 모니터링함으로써 Oracle Cloud에서 강력한 보안 상태를 달성하고 유지할 수 있도록 지원합니다.

    Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure에서 리소스의 보안을 모니터링하고 유지 관리할 수 있습니다. Cloud Guard는 감지자 레시피를 사용하여 리소스의 보안 취약점을 검사하고 운영자 및 사용자에게 특정 위험한 작업을 모니터하도록 정의할 수 있습니다. 잘못 구성되거나 안전하지 않은 작업이 감지되면 Cloud Guard는 정의할 수 있는 응답자 레시피를 기반으로 해결 조치를 권장하고 해당 작업을 수행할 수 있도록 지원합니다.

  • 보안 영역

    보안 영역은 하나 이상의 구획 및 보안 영역 레시피와 연관됩니다. 보안 영역에서 리소스를 만들고 업데이트할 때 Oracle Cloud Infrastructure(OCI)는 보안 영역 레시피에 정의된 정책 목록에 대해 이러한 작업을 검증합니다. 보안 영역 정책을 위반하면 작업이 거부됩니다.

    보안 영역은 OCI 리소스가 Oracle Cloud Infrastructure Compute, Oracle Cloud Infrastructure Networking, Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Block Volumes, 데이터베이스 리소스를 포함한 보안 정책을 준수하도록 보장합니다.

  • 취약성 스캔 서비스

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

  • 배스천 서비스

    Oracle Cloud Infrastructure Bastion 서비스는 ID 기반, 감사 및 시간 제한 보안 셸(SSH) 세션을 사용하여 공용 엔드포인트가 없는 특정 IP 주소에서 대상 OCI 리소스로의 제한된 액세스를 제공합니다.

  • 오브젝트 스토리지

    오브젝트 스토리지를 사용하면 데이터베이스 백업, 분석 데이터, 이미지 및 비디오와 같은 리치 콘텐츠 등 모든 콘텐츠 유형의 대량의 정형 및 비정형 데이터에 빠르게 액세스할 수 있습니다. 인터넷 또는 클라우드 플랫폼 내에서 직접 안전하게 데이터를 저장하고 검색할 수 있습니다. 성능 또는 서비스 안정성의 저하 없이 스토리지를 확장할 수 있습니다. 빠르고 즉각적이며 자주 액세스하는 데 필요한 "핫" 스토리지에 표준 스토리지를 사용합니다. 장기간 보관하고 거의 액세스하지 않는 "콜드" 스토리지에는 아카이브 스토리지를 사용합니다.

권장사항

다음 권장사항을 사용하여 클라우드 환경에 대한 보안을 설계하고 구성할 수 있습니다. 요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다.

  • 네트워크 구성

    VCN의 경우 전용 접속을 설정할 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.

  • 보안 모니터링

    Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure에서 리소스의 보안을 모니터링하고 유지 관리합니다. Cloud Guard는 감지자 레시피를 사용하여 리소스의 보안 취약점을 검사하고 운영자 및 사용자에게 위험한 작업을 모니터하도록 정의할 수 있습니다. 잘못 구성되거나 안전하지 않은 작업이 감지되면 Cloud Guard는 정의할 수 있는 응답자 레시피를 기반으로 해결 조치를 권장하고 해당 작업을 수행할 수 있도록 지원합니다.

  • 보안 리소스 프로비전

    최대 보안이 필요한 리소스의 경우 보안 영역을 사용합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle에서 정의한 보안 정책 레시피와 연관된 구획입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없어야 하며 고객 관리 키를 사용하여 암호화해야 합니다. 보안 영역에서 리소스를 생성 및 업데이트할 때 Oracle Cloud Infrastructure는 보안 영역 레시피의 정책에 대해 작업을 검증하고 모든 정책을 위반하는 작업을 거부합니다.

고려사항

이 참조 구조를 구현할 때는 다음 요소를 고려하십시오.

  • 액세스 권한

    랜딩 존 템플릿은 테넌시 관리자(관리자 그룹의 구성원인 모든 사용자) 또는 더 좁은 권한을 가진 사용자로 리소스를 프로비저닝할 수 있습니다. "CIS OCI 랜딩 존 배포 모드"는 자세히 살펴보기를 참조하십시오.

    랜딩 존 템플리트는 테넌시 관리자(Administrators 그룹의 멤버인 모든 사용자)로 리소스를 프로비저닝하며, 초기 프로비저닝 후 별도의 관리자 그룹이 각 구획을 관리할 수 있도록 허용하는 정책을 포함합니다. 사전 구성된 정책에는 OCI에서 사용 가능한 모든 리소스가 포함되지 않습니다. 즉, 현재 템플리트로 배치된 리소스에 적용할 수 있습니다. Terraform 템플리트에 리소스를 추가하는 경우 필요한 추가 정책 문을 정의해야 합니다.

  • 네트워크 구성

    랜딩 존 네트워크는 일대다 독립형 VCN을 사용하거나 Oracle Cloud Infrastructure DRG V2 서비스를 사용하는 허브 & 스포크 아키텍처 등 다양한 방식으로 배포할 수 있습니다. 인터넷 연결 없이 네트워크를 구성할 수도 있습니다. 랜딩 존은 독립형과 허브 & 스포크 사이를 앞뒤로 전환할 수 있지만 전환 시 수동 작업이 필요할 수 있으므로 특정 설계를 계획하는 것이 중요합니다.

  • 랜딩 존 템플리트 사용자정의

    Terraform 구성에는 리소스를 프로비전할 단일 루트 모듈과 개별 모듈이 있습니다. 이 모듈식 패턴은 효율적이고 일관된 코드 재사용을 가능하게 합니다. Terraform 구성에 리소스를 추가하려면 기존 모듈을 재사용하지만 Terraform의 대체 파일을 사용하여 필요한 구성으로 특정 변수를 무효화합니다. 예를 들어, 새 구획을 추가하려면 override.tf 파일에서 원래 구획 맵과 동일한 이름으로 구획 객체의 새 맵을 정의합니다. 자세한 내용은 랜딩 구역 사용자정의를 참조하십시오.

  • 배포 설명서

    GitHub의 OCI CIS 랜딩 존 빠른 시작 배포 가이드는 OCI CIS 랜딩 존을 구성하는 방법에 대한 자세한 지침을 제공합니다. 여기에는 랜딩 존을 사용자정의하는 방법에 대한 배포 시나리오 및 단계가 포함됩니다.

배치

이 솔루션의 Terraform 코드는 GitHub에서 확인할 수 있습니다. 한 번의 클릭으로 코드를 Oracle Cloud Infrastructure Resource Manager로 가져와서 스택을 생성하고 배포할 수 있습니다. 또는 GitHub에서 컴퓨터로 코드를 다운로드하고, 코드를 사용자 정의하고, Terraform CLI를 사용하여 아키텍처를 배포합니다.

  • Oracle Cloud Infrastructure Resource Manager의 샘플 스택을 사용하여 배포합니다.
    1. 로 이동하십시오Oracle Cloud에 배포

      아직 사인인하지 않은 경우 테넌시 및 사용자 인증서를 입력합니다.

    2. 스택을 배치할 영역을 선택합니다.
    3. 화면 프롬프트 및 지침에 따라 스택을 만듭니다.
    4. 스택을 생성한 후 Terraform 작업을 누르고 계획을 선택합니다.
    5. 작업이 완료될 때까지 기다렸다가 계획을 검토합니다.

      변경하려면 [스택 세부정보] 페이지로 돌아가서 스택 편집을 누르고 필요에 따라 변경합니다. 그런 다음 계획 작업을 다시 실행합니다.

    6. 추가 변경이 필요하지 않은 경우 [스택 세부정보] 페이지로 돌아가서 Terraform 작업을 누르고 적용을 선택합니다.
  • GitHub의 Terraform 코드를 사용하여 배포:
    1. GitHub으로 이동합니다.
    2. 로컬 컴퓨터에 코드를 다운로드하거나 복제합니다.
    3. README의 지침을 따릅니다.

로그 변경

이 로그에는 중요한 변경 내용이 나열됩니다.