주:

교차 테넌시 커넥터 허브 및 OCI 스트림을 사용하여 SIEM 통합을 위해 테넌시 간 로그 통합

소개

Oracle Cloud Infrastructure (OCI) is an Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS) trusted by large-scale enterprises. 호스팅, 스토리지, 네트워킹, 데이터베이스 등을 포괄하는 포괄적인 관리형 서비스를 제공합니다.

적절한 리소스로 분류하기 위해 보안 관련 이벤트의 로그를 사전에 제시하는 것은 사이버 보안 사고를 감지하고 예방하는 데 중요합니다. 많은 조직에서 SIEM(보안 정보 및 이벤트 관리) 플랫폼을 사용하여 관련 자산의 로그 및 경보를 상관시키고 분석합니다. 거의 실시간 모니터링 및 경고와 함께 적절한 기간 동안 키 로그의 캡처 및 보존을 적절히 구성하면 보안 운영 팀이 문제를 식별하고 시스템 튜닝을 기반으로 중요한 정보에 집중하며 적절한 조치를 취할 수 있습니다.

OCI 로그 수집의 모범 사례 패턴은 로그를 OCI 스트림으로 전송하는 것입니다. Apache kafka와 호환되므로 타사 SIEM 플랫폼에서 Kafka 소비자로 로그를 소비할 수 있습니다. 즉, 지연을 줄이고, SIEM 측에서 일시적인 문제가 데이터를 소비할 경우 복원성과 보존을 제공합니다.

구조 다이어그램

모든 테넌시의 각 리전을 SIEM 플랫폼과 개별적으로 통합하는 대신 여러 테넌시를 관리하는 경우, 교차 테넌시 커넥터 허브를 생성하여 특정 리전 내의 여러 소스 테넌시(SourceTenant(s))의 로그를 단일 테넌시(TargetTenant) OCI 스트림으로 통합할 수 있습니다. 그러면 SIEM 플랫폼은 TargetTenant 스트림을 통해 해당 지역에 있는 모든 테넌시의 로그를 수집할 수 있습니다.

참고: OCI Connector Hub 서비스는 현재 리전 간 커넥터 허브를 지원하지 않습니다.

솔루션 아키텍처의 상위 레벨 표현은 다음 이미지에 나와 있습니다.

솔루션 아키텍처 다이어그램

명세서 보증, 입학 및 정의

리소스에 액세스하고 리소스를 공유하려면 두 테넌시(SourceTenant 및 TargetTenant)의 관리자가 액세스 및 공유할 수 있는 리소스를 명시적으로 표시하는 특수 교차 테넌시 정책 문을 생성해야 합니다. 이러한 특수 문장은 Endorse, Admit 및 Define 동사를 사용합니다.

교차 테넌시 문에 사용된 특수 동사의 개요:

Endorse 및 Admit 문은 함께 작동합니다. 액세스를 지정하는 해당 명령문이 없으면 특정 Endorse 또는 Admit 문은 액세스 권한을 부여하지 않습니다. 두 테넌시 모두 액세스에 동의해야 합니다.

참고:

목표

필요 조건

작업 1: TargetTenant에 스트림 생성

OCI Streaming 서비스는 개발자 및 데이터 과학자를 위한 실시간 서버리스 Apache Kafka 호환 이벤트 스트리밍 플랫폼입니다. 이 솔루션은 로그와 같은 대용량 데이터 스트림을 실시간으로 수집하고 소비하기 위한 확장 가능하며 내구성이 뛰어난 완전 관리형 솔루션을 제공합니다. 게시-구독 메시징 모델에서 데이터가 연속적이고 순차적으로 생성 및 처리되는 모든 사용 사례에 OCI Streaming을 사용할 수 있습니다.

  1. OCI 콘솔로 이동하여 분석 및 AI, 메시징스트리밍으로 이동합니다.

  2. 스트림 생성을 눌러 스트림을 생성합니다.

  3. 다음 정보를 입력하고 생성을 누릅니다.

    • 이름: 스트림 이름을 입력합니다. 이 자습서에서는 TargetTenant-Stream를 사용합니다.
    • 스트림 풀: 기존 스트림 풀을 선택하거나 퍼블릭 끝점으로 새 스트림 풀을 생성합니다.
    • 보존(시간): 이 스트림에서 메시지를 보존할 시간을 입력합니다.
    • 파티션 수: 스트림의 파티션 수를 입력합니다.
    • 총 쓰기 속도총 읽기 속도: 처리해야 하는 데이터 양을 기준으로 입력합니다.

    테스트를 위해 기본값으로 시작할 수 있습니다. 자세한 내용은 Partitioning a Stream을 참조하십시오.

작업 2: SourceTenant에 정책 쓰기

TargetTenant의 스트림에 액세스하려면 SourceTenant의 지정된 컴파트먼트에 있는 커넥터 허브를 보증합니다.

명령 형식:

Define tenancy TargetTenant as <TargetTenant_OCID>

Endorse any-user to use stream-push in tenancy TargetTenant
    where all 
    { 
        request.principal.type='serviceconnector',
        request.principal.compartment.id= <connectorHub-Compartment_OCID> 
    }

샘플 명령:

Define tenancy TargetTenant as ocid1.tenancy.oc1..aaaaaaaanneylhk3ibxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endorse any-user to use stream-push in tenancy TargetTenant where all { request.principal.type='serviceconnector', request.principal.compartment.id = 'ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }

작업 3: TargetTenant에 정책 작성

SourceTenant의 커넥터 허브를 TargetTenant의 스트림에 액세스하도록 허용합니다.

명령 형식:

Define tenancy SourceTenantA as <SourceTenant-A_OCID>

Admit any-user of tenancy SourceTenantA to use stream-push in tenancy
   Where all
   {
   
   request.principal.type='serviceconnector'
   
   }

샘플 명령:

Define tenancy SourceTenantA as ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Admit any-user of tenancy SourceTenantA to use stream-push in tenancy Where all { request.principal.type = 'serviceconnector' }

작업 4: SourceTenant에서 CLI를 사용하여 OCI Connector Hub 생성

SourceTenant 및 TargetTenant에 필요한 정책이 생성된 후 SourceTenant에서 CLI를 사용하여 OCI Connector Hub를 생성합니다. 다음 예제 CLI 명령은 OCI Logging을 소스로 지정하고 OCI Streaming을 교차 테넌시 커넥터 허브를 생성하기 위한 대상으로 지정합니다.

OCI 감사 로그를 SourceTenant에서 TargetTenant 스트림으로 푸시하기 위한 교차 테넌시 커넥터 허브입니다.

명령 형식:

oci sch service-connector create

--display-name <XTenancyConnectorHub-name>

--compartment-id <ConnectorHub-Compartment_OCID>

--source '{ "kind": "logging", "logSources":

[ { "compartmentId": "<SourceTenantA_OCID>",
"logGroupId": "_Audit_Include_Subcompartment" } ] }'

--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'

샘플 명령:

oci sch service-connector create --display-name XTenancyConnectorHub --compartment-id ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --source '{ "kind": "logging", "logSources": [ { "compartmentId": "ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","logGroupId": "_Audit_Include_Subcompartment" } ] }' --target '{ "kind": "streaming", "streamId": "ocid1.stream.oc1.iad.amaaaaaas4n35vixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }'

SourceTenant(S)에서 TargetTenant 스트림으로 서비스/사용자정의 로그를 푸시하기 위한 교차 테넌시 커넥터 허브입니다. 다음 명령을 실행하기 전에 로그 그룹을 만들고 필요한 로그를 사용으로 설정하십시오.

명령 형식:

oci sch service-connector create

--display-name <XTenancyConnectorHub-Name>

--compartment-id <ConnectorHub_Compartment_OCID>

--source '{ "kind": "logging", "logSources":

[ { "compartmentId": "<SourceTenantA-LogGroup-Compartment_OCID>",
"logGroupId": "<SourceTenantA-LogGroup_OCID>" } ] }'

--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'

주: 작업 4의 작업 2 및 작업 3 및 CLI 명령에 있는 정책 문은 가독성을 위해 형식이 지정됩니다. 이러한 명령문의 복사본을 사용하기 전에 새 행, 탭 및 공백을 제거하십시오.

다음 단계

이 사용지침서에서는 교차 테넌시 커넥터 허브 및 OCI 스트림을 사용하여 여러 테넌시의 로그를 통합하는 방법을 보여줍니다. 이러한 로그를 Kafka 소비자로 소비하도록 타사 SIEM 플랫폼을 구성해야 합니다. 중요한 측정항목을 캡처하고 미리 정의된 임계값이 초과될 때 트리거되도록 경보를 구성하려면 SIEM 플랫폼에서 대시보드를 설정해야 합니다. 또한 특정 쿼리를 정의하는 것은 악의적인 활동을 감지하고 OCI 테넌시 내에서 패턴을 식별하는 데 중요합니다. 이러한 작업을 수행하면 보안 상태가 향상되고 클라우드 환경에 대한 사전 예방적 모니터링이 가능합니다.

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.