주:

Oracle Cloud Infrastructure Zero Trust Packet Routing 생성 및 구성

소개

Oracle Cloud Infrastructure(OCI) Zero Trust Packet Routing은 기본 네트워크 아키텍처와 별도로 네트워크 보안 정책을 관리함으로써 데이터에 대한 무단 액세스를 방지합니다. 보안 관리자는 이해하기 쉬운 의도 기반 정책 언어를 사용하여 데이터에 대한 특정 액세스 경로를 정의할 수 있습니다. 정책에 의해 명시적으로 허용되지 않는 트래픽은 네트워크를 이동할 수 없으므로 보안, 네트워크 및 감사 팀의 작업을 단순화하면서 보안을 향상시킵니다.

다음 사용지침서에서는 OCI 제로 트러스트 패킷 라우팅을 구성하여 보안 제어를 적용하여 OCI(Oracle Cloud Infrastructure) 테넌시 내의 네트워크 간 통신을 제어하는 방법에 대한 세부정보를 제공합니다. 이 자습서에서는 다음 아키텍처가 배포되었습니다.

이 ZPR 사용 사례에 대한 아키텍처를 보여주는 이미지입니다.

이 구조에서는 다음 리소스가 구성되었습니다.

또한 다음으로 구성된 이 사용 사례에 대해 별도의 VCN(so-vcn-pt)이 구성되었습니다.

목표

필요 조건

작업 1: 클라이언트에서 데이터베이스에 대한 액세스 확인

이 작업에서는 두 컴퓨팅 인스턴스가 모두 Oracle Instant Client를 통해 데이터베이스에 액세스할 수 있는지 확인합니다.

  1. SSH를 opc 사용자로 사용하여 client-prod 컴퓨트 인스턴스에 연결합니다.

  2. sqlplus 명령을 실행하여 자율운영 데이터베이스에 접속합니다.

    필요 조건에 따라 Oracle Instant Client를 설치하고 구성해야 합니다. 다음은 설정 단계를 요약한 것입니다.

    • Oracle Instant Client를 다운로드하고 설치합니다.

    • Oracle Instant Client를 구성합니다.

    • OCI에서 자율운영 데이터베이스에 대한 접속 전자 지갑을 다운로드합니다.

    • 전자 지갑을 폴더로 추출합니다.

    • 전자 지갑(wallet) 폴더 내에 전자 지갑 위치를 가리키도록 sqlnet.ora 파일을 구성합니다.

    • 추출된 전자 지갑 위치를 가리키도록 TNS_ADMIN 변수를 엑스포트합니다. 예: export TNS_ADMIN=/opt/wallet.

    • sqlplus 명령(예: sqlplus admin@financeprod_low)을 실행하고 프롬프트가 표시되면 비밀번호를 입력합니다.

    Oracle Instant Client가 올바르게 작동 중이고 모든 필요 조건이 완료된 경우 데이터베이스에 성공적으로 연결하고 명령을 실행할 수 있어야 합니다. show user; 명령을 실행하여 사용자를 확인합니다.

    client-prod에 대한 SSH 액세스를 보여주는 스크린샷입니다.

  3. client-dev에서 데이터베이스 연결 테스트를 반복합니다.

    client-dev에 대한 SSH 액세스를 보여주는 스크린샷입니다.

    Oracle Instant Client가 올바르게 작동 중이고 모든 필요 조건이 완료된 경우 데이터베이스에 성공적으로 연결하고 명령을 실행할 수 있어야 합니다. show user; 명령을 실행하여 사용자를 확인합니다.

작업 2: OCI Zero Trust Packet Routing 사용

테넌시 내에서 OCI 제로 트러스트 패킷 경로 지정을 처음 사용한 경우 사용으로 설정해야 합니다.

  1. OCI Zero Trust Packet Routing 리소스 및 이 튜토리얼에 사용된 기타 리소스를 관리할 수 있는 적절한 권한이 있는 사용자로 OCI 콘솔에 로그인합니다.

  2. Identity and Security로 이동하고 Zero Trust Packet Routing을 누릅니다.

  3. ZPR 사용을 누르면 단추가 비활성화되고 OCI Zero Trust Packet Routing 메뉴에 액세스할 수 있게 됩니다.

    사용으로 설정된 ZPR을 보여주는 스크린샷입니다.

작업 3: OCI Zero Trust Packet Routing 보안 속성 구성

OCI 제로 트러스트 패킷 라우팅을 구성하려면 OCI 제로 트러스트 패킷 라우팅 정책에 사용될 보안 속성을 설정해야 합니다.

이 작업에서는 네트워크, 데이터베이스 및 응용 프로그램을 나타내는 세 가지 새로운 보안 속성을 생성합니다. 이러한 보안 속성에 대해 미리 정의된 값을 생성합니다.

  1. Zero Trust Packet Routing으로 이동하여 Security Attribute Namespace를 누릅니다.

  2. 목록 범위에서 root 컴파트먼트를 선택합니다. 미리 정의된 oracle-zpr 네임스페이스가 제공됩니다.

    ZPR 보안 속성 이름 공간을 보여주는 스크린샷입니다.

  3. oracle-zpr을 누르면 미리 정의된 sensitivity 보안 속성이 표시됩니다. 이 자습서에서는 속성을 사용하지 않습니다.

  4. 보안 속성 생성을 선택하여 새 보안 속성을 생성합니다.

  5. 보안 속성 생성에서 다음 정보를 입력합니다.

    • 이름: app를 입력합니다.
    • 설명: Security attribute representing applications를 입력합니다.
    • 보안 속성 값 유형: 값 목록을 선택합니다.
    • 값: 별도의 행에 proddev를 입력합니다.

    앱에 대한 ZPR 보안 속성을 보여주는 스크린샷입니다.

  6. 생성을 눌러 새 속성을 생성합니다.

  7. 5단계와 6단계를 반복하여 보안 속성을 두 개 더 생성합니다.

    • 다음 정보를 사용하여 데이터베이스에 대한 보안 속성을 생성합니다.

      • 이름: db을 입력합니다.
      • 설명: Security attribute representing databases를 입력합니다.
      • 보안 속성 값 유형: 값 목록을 선택합니다.
      • 값: 별도의 행에 proddev를 입력합니다.
    • 다음 정보를 사용하여 네트워크에 대한 보안 속성을 만듭니다.

      • 이름: network를 입력합니다.
      • 설명: Security attribute representing networks를 입력합니다.
      • 보안 속성 값 유형: 값 목록을 선택합니다.
      • 값: 별도의 행에 proddev를 입력합니다.

    완료되면 미리 정의된 sensitivity 속성을 포함하여 보안 속성 목록이 표시됩니다.

    Zero Trust Packet Routing 보안 속성 목록을 보여주는 스크린샷입니다.

작업 4: OCI 제로 트러스트 패킷 경로 지정 정책 생성

보안 속성을 정의했습니다. 이제 네트워크를 통한 정보 흐름을 제어하는 정책을 생성해야 합니다.

이 사용 사례에는 운용 중인 응용 프로그램이 운용 중인 데이터베이스와 통신할 수 있도록 허용하는 정책이 필요합니다. 이 작업에서는 이를 위해 OCI Zero Trust Packet Routing 정책을 구성합니다.

  1. OCI 콘솔로 이동하여 ID 및 보안, 제로 트러스트 패킷 경로 지정으로 이동하고 정책을 누릅니다.

  2. 새 OCI 제로 트러스트 패킷 경로 지정 정책을 생성하려면 정책 생성을 누릅니다.

  3. 다음 정보를 입력하고 정책 문 추가를 눌러 정책에 정책 문을 추가합니다.

    • 이름: prod_policy을 입력합니다.
    • 설명: Policy to allow production clients in the production network to access production databases를 입력합니다.
  4. 정책 문을 작성하기 위한 세 가지 옵션을 검사하고, 수동 정책 작성기를 선택하고, 다음 정책 문을 입력하고, 추가를 눌러 정책 문을 저장합니다.

    • 정책 문: in network:prod VCN allow app:prod endpoints to connect to db:prod endpoints with protocol = 'tcp/1522'을 입력합니다.

    주: 정책 문은 설명 없이도 이해하기 쉽습니다. 그러나 명확성을 위해 OCI Zero Trust Packet Routing에 보안 속성 app:prod이 지정된 리소스가 TCP 프로토콜 1522를 통한 network:prod VCN 내에서 db:prod 보안 속성이 지정된 모든 리소스와 통신할 수 있도록 하려고 합니다.

    prod_policy 문을 보여주는 스크린샷입니다.

    완료된 정책은 다음과 같아야 합니다.

    prod_policy를 보여주는 스크린샷입니다.

  5. 정책 생성을 눌러 prod_policy 생성을 완료합니다.

    참고: 리소스에 보안 속성을 지정하면 OCI Zero Trust Packet Routing 정책이 적용되고 OCI Zero Trust Packet Routing 정책과 일치하는 트래픽만 네트워크를 전송하도록 허용됩니다. 두 컴퓨트 인스턴스에 보안 속성을 지정하므로 해당 컴퓨트 인스턴스에 대한 SSH 액세스가 손실됩니다. 클라이언트에 SSH 액세스를 허용하는 OCI Zero Trust Packet Routing 정책이 없기 때문입니다. 따라서 두 개의 추가 정책을 생성하여 이 문제를 해결해야 합니다.

  6. 2-5단계를 반복하여 두 개의 추가 OCI Zero Trust Packet Routing 정책을 생성하면 SSH를 통해 컴퓨트 인스턴스에 연결할 수 있습니다.

    • client-prod에 대한 SSH 액세스를 허용하기 위한 정책:

      • 이름: prod_client_access_policy을 입력합니다.
      • 설명: Policy to allow SSH access to the production clients in the production network를 입력합니다.
      • 정책 문: in network:prod VCN allow 'x.x.x.x/32' to connect to app:prod endpoints with protocol='tcp/22'을 입력합니다.
    • client-dev에 대한 SSH 액세스를 허용하기 위한 정책:

      • 이름: dev_client_access_policy을 입력합니다.
      • 설명: Policy to allow dev clients in the production network to access production databases를 입력합니다.
      • 정책 문: in network:prod VCN allow 'x.x.x.x/32' to connect to app:dev endpoints with protocol='tcp/22'을 입력합니다.

      참고:

      • x.x.x.x을 IP 주소로 바꿉니다.

      • 운용 시나리오에서 클라이언트에 대한 액세스는 일반적으로 OCI Bastion 호스트를 통해 이루어집니다. 그러나 이 튜토리얼을 단순하게 유지하려면 직접 액세스해야 합니다. 따라서 SSH를 통해 클라이언트에 연결하는 소스 시스템의 외부 IP 주소를 포함해야 합니다.

    완료된 정책은 다음과 같아야 합니다.

    ZPR 정책 목록을 보여주는 스크린샷입니다.

작업 5: 리소스에 보안 속성 지정

이 작업에서는 OCI Zero Trust Packet Routing을 구성하기 위해 필요한 리소스에 보안 속성을 지정합니다.

db 보안 속성을 데이터베이스에, app 보안 속성을 두 클라이언트에, network 보안 속성을 VCN에 연관시킵니다.

참고: 보안 속성을 지정할 때는 OCI Zero Trust Packet Routing 화면 내에서 또는 개별 리소스에서 수행할 수 있습니다. 이 튜토리얼은 두 가지 방법을 모두 보여줍니다.

  1. 데이터베이스에 security 속성을 할당합니다.

    1. OCI 콘솔로 이동하여 Oracle DatabaseAutonomous Database로 이동합니다.

      주: 데이터베이스를 생성한 컴파트먼트에 있는지 확인합니다. 나열된 항목이 표시됩니다.

      Autonomous Database를 보여주는 스크린샷입니다.

    2. 사용 가능한 데이터베이스 목록에서 데이터베이스(예: Finance-PROD)를 선택합니다.

    3. 보안 속성을 누릅니다. 현재 비어 있으며 보안 속성이 지정되지 않은 것을 확인할 수 있습니다.

      Security Attributes 탭을 보여주는 스크린샷입니다.

    4. 보안 속성 추가를 누르고 다음 정보를 입력합니다.

      • 이름 공간: oracle-zpr을 선택합니다.
      • 키: db을 선택합니다.
      • 값: prod을 선택합니다.

      보안 속성 선택을 보여주는 스크린샷입니다.

    5. 보안 속성 추가를 눌러 보안 속성을 데이터베이스에 지정합니다. 데이터베이스가 업데이트되고 속성이 지정됩니다.

      Security Attributes 탭이 채워진 스크린샷

  2. 컴퓨트 인스턴스에 보안 속성을 지정합니다.

    1. OCI 콘솔로 이동하여 컴퓨트인스턴스로 이동합니다.

      참고: 컴퓨트 인스턴스를 생성한 컴파트먼트에 있는지 확인하고, 두 항목이 모두 나열되어 있어야 합니다.

      컴퓨트 인스턴스를 보여주는 스크린샷입니다.

    2. 사용 가능한 인스턴스 목록에서 client-prod 인스턴스를 선택합니다.

    3. 보안을 누릅니다. 아직 인스턴스에 지정된 보안 속성이 없으므로 비어 있습니다.

      Security Attributes 탭을 보여주는 스크린샷입니다.

    4. 보안 속성 추가를 누르고 다음 정보를 입력합니다.

      • 네임스페이스: oracle-zpr를 입력합니다.
      • 키: app를 입력합니다.
      • 값: prod를 입력합니다.

      보안 속성 선택을 보여주는 스크린샷입니다.

    5. 보안 속성 추가를 눌러 보안 속성을 데이터베이스에 지정합니다. 컴퓨트 인스턴스가 업데이트되고 속성이 지정됩니다.

      Security Attributes 탭이 채워진 스크린샷

    6. OCI 콘솔로 이동하여 컴퓨트인스턴스로 이동합니다.

      컴퓨트 이동 경로 메뉴를 보여주는 스크린샷입니다.

    7. 사용 가능한 인스턴스 목록에서 client-dev 인스턴스를 선택합니다.

    8. 보안을 누릅니다.

      Security Attributes 탭을 보여주는 스크린샷입니다.

    9. 보안 속성 추가를 누르고 다음 정보를 입력합니다.

      • 이름 공간: oracle-zpr을 선택합니다.
      • 키: app을 선택합니다.
      • 값: dev을 선택합니다.

      보안 속성 선택을 보여주는 스크린샷입니다.

    10. 보안 속성 추가를 눌러 보안 속성을 데이터베이스에 지정합니다. 컴퓨트 인스턴스가 업데이트되고 속성이 지정됩니다.

      Security Attributes 탭이 채워진 스크린샷

  3. VCN에 보안 속성을 지정합니다.

    1. OCI 콘솔로 이동하여 네트워킹가상 클라우드 네트워크로 이동합니다.

      참고: VCN을 생성한 컴파트먼트에 있는지 확인하고 해당 컴파트먼트가 나열되어야 합니다.

      VCN을 보여주는 스크린샷입니다.

    2. 사용 가능한 VCN 목록에서 so-vcn-pt VCN을 선택합니다.

    3. 보안을 누릅니다.

      Security Attributes 탭을 보여주는 스크린샷입니다.

      주: 이 보안 속성을 지정하려면 리소스가 아닌 OCI Zero Trust Packet Routing 메뉴를 통해 이 속성을 지정하려고 합니다. 이는 OCI Zero Trust Packet Routing 보안 속성을 지정하는 두 가지 방법을 보여줍니다.

    4. OCI 콘솔로 이동하여 ID 및 보안, 제로 트러스트 패킷 경로 지정으로 이동하고 보호된 리소스를 누릅니다.

      보호된 기존 리소스 목록(예: 보안 속성이 지정된 리소스)이 표시됩니다.

      ZPR 보호 리소스를 보여주는 스크린샷입니다.

    5. 리소스에 보안 속성 추가를 누릅니다.

    6. 목록을 필터링하려면 VCN을 생성한 구획을 선택하고 리소스 유형Vcn으로 선택합니다.

      ZPR 보호 리소스를 보여주는 스크린샷입니다.

    7. VCN(so-vcn-pt)을 선택하고 Next를 누릅니다.

    8. 다음 정보를 입력하십시오.

      • 보안 속성 네임스페이스: oracle-zpr를 선택합니다.
      • 보안 속성: network을 선택합니다.
      • 보안 속성 값: prod를 선택합니다.

      ZPR 보호 리소스 속성 선택을 보여주는 스크린샷입니다.

    9. 다음을 누르고 요약을 검토합니다.

      ZPR 보호 리소스 속성 선택 요약을 보여주는 스크린샷입니다.

    10. 제출닫기를 눌러 작업 요청을 종료합니다. 2분 후 작업 요청이 완료되고 VCN이 보호된 리소스에 나타납니다. 또한 VCN을 체크인하여 보안 속성이 지정되었는지 확인할 수 있습니다.

    11. 1-3단계를 반복하여 VCN에 할당된 보안 속성을 확인합니다.

      VCN에 지정된 보안 속성을 보여주는 스크린샷입니다.

작업 6: 정책 테스트

이제 OCI Zero Trust Packet Routing 구성이 완료되었습니다. 최종 작업은 정책을 테스트하는 것입니다. 이 튜토리얼에서는 두 가지 테스트 사례가 있습니다.

  1. 첫번째 테스트 사례는 client-prod가 여전히 financeprod 데이터베이스에 액세스할 수 있는지 확인하는 것입니다.

    1. SSH를 opc 사용자로 사용하여 client-prod 컴퓨트 인스턴스에 연결합니다.

      OCI Zero Trust Packet Routing 정책이 로컬 시스템에서 이 연결을 허용하므로 SSH 연결이 성공해야 합니다.

    2. sqlplus 명령을 실행하여 자율운영 데이터베이스에 접속합니다.

      OCI Zero Trust Packet Routing 정책이 운용 클라이언트(client-prod)에서 운용 데이터베이스(financeprod)로의 연결을 허용하므로 데이터베이스에 성공적으로 연결하고 show user; 명령을 실행할 수 있어야 합니다.

      client-prod에 대한 SSH 액세스를 보여주는 스크린샷입니다.

  2. 두번째 테스트 사례는 client-dev가 더 이상 financeprod 데이터베이스에 액세스할 수 없는지 확인하는 것입니다.

    1. SSH를 opc 사용자로 사용하여 client-dev 컴퓨트 인스턴스에 연결합니다.

      Zero Trust Packet Routing 정책이 로컬 시스템에서 이 연결을 허용하므로 SSH 연결이 성공해야 합니다.

    2. sqlplus 명령을 실행하여 자율운영 데이터베이스에 접속합니다.

      개발 클라이언트(client-dev)에서 운용 데이터베이스(financeprod)로의 이 연결을 허용하는 OCI Zero Trust Packet Routing 정책이 없으므로 이 연결은 차단됩니다.

      client-dev에서 DB에 대한 SQL 액세스 실패를 보여주는 스크린샷입니다.

확인

추가 학습 자원

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

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