배스천 서비스를 사용하여 전용 서브넷의 리소스에 액세스

Oracle Cloud Infrastructure Bastion은 공용 끝점이 없는 리소스에 대한 전용 시간 바운드 SSH 액세스를 제공합니다.

배스천은 OCI(Oracle Cloud Infrastructure) 에서 직접 생성한 배스천 서버 대신 사용할 수 있는 기반 구조 서비스입니다. 배스천은 게이트웨이 또는 프록시입니다. 인터넷에서 연결할 수 없는 클라우드의 리소스에 대한 보안 액세스를 제공하는 논리적 엔티티입니다. 배스천은 공용 서브넷에 상주하며 사용자를 전용 서브넷의 리소스에 접속하는 데 필요한 네트워크 기반 구조를 설정합니다.

IAM(Oracle Cloud Infrastructure Identity and Access Management) 와의 통합을 통해 배스천 서비스 내의 배스천 또는 세션을 관리할 수 있는 사용자를 제어할 수 있습니다. Oracle Cloud Infrastructure Audit 와의 통합을 통해 배스천 서비스 및 배스천 세션과 관련된 관리 작업을 모니터할 수 있습니다.

구조

이 아키텍처는 전용 서브넷에 연결하는 두 가지 방법을 보여줍니다. 한 가지 방법은 중개 대상 서브넷을 통해 연결하고 다른 방법은 보호된 리소스가 포함된 서브넷에 직접 연결하는 것입니다.

배스천 서비스를 생성할 때 CIDR 블록 허용 목록 및 최대 세션 수명(TTL) 을 지정할 수 있습니다. 배스천 생성 시 배스천 VCN과 고객 VCN 간에 역연결을 통해 네트워크 경로가 설정됩니다. 세션은 일반적으로 사용자 또는 연산자에 의해 생성됩니다.

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

다음은 Architecture-use-bastion-service.png에 대한 설명입니다.
그림 Architecture-use-bastion-service.png에 대한 설명

아키텍처에는 다음과 같은 구성 요소가 있습니다:

  • 영역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라고 하는 하나 이상의 데이터 센터를 포함하는 지역화된 지역입니다. 지역은 다른 지역과 독립적이며, 방대한 거리는 국가 또는 대륙에서 분리할 수 있습니다.

  • 가용성 도메인

    가용성 도메인은 영역 내의 독립적인 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용 한도를 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인의 실패는 영역의 다른 가용성 도메인에 영향을 주지 않을 수 있습니다.

  • 결함 도메인

    결함 도메인은 가용성 도메인 내의 하드웨어와 기반구조를 그룹화한 것입니다. 각 가용성 도메인에는 독립적인 전원 및 하드웨어가 있는 3개의 장애 도메인이 있습니다. 여러 결함 도메인에 리소스를 배포할 경우 응용 프로그램에서 결함 도메인 내의 물리적 서버 오류, 시스템 유지 관리 및 전원 오류를 허용할 수 있습니다.

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

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

  • 배스천 서비스

    배스천 서비스가 OCI 관리 기반 구조에 존재하므로 기반 구조 관리가 필요하지 않습니다. 관리 기반 구조는 배스천 공용 끝점이 생성되어 외부 클라이언트가 이전에 정의된 세션을 사용하여 접속할 수 있게 하는 위치입니다.

  • 배스천 서비스 백엔드

    배스천 서비스 백엔드는 대상 시스템에 대한 액세스 권한을 부여하는 데 사용되는 세션 구성 및 SSH 공용 키를 저장합니다. 필요한 경우 대상 시스템에서 서비스 게이트웨이를 사용하여 배스천 서비스 백엔드에 액세스합니다.

  • 전용 끝점

    전용 끝점은 Bastion Service를 대상 서브넷에 접속합니다. 대상 서브넷은 더 세분화된 제어를 위해 별도의 서브넷이거나 액세스하려는 인스턴스의 동일한 서브넷에 있을 수 있습니다.

권장 사항

요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다. 다음 권장 사항을 시작점으로 사용하십시오.

  • VCN

    VCN를 생성할 때 VCN의 서브넷에 연결할 리소스 수에 따라 필요한 CIDR 블록 수 및 각 블록 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

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

    VCN를 생성한 후 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때 트래픽 흐름 및 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결합니다. 이 서브넷은 보안 경계 역할을 할 수 있습니다.

    지역 서브넷을 사용합니다.

    프로비전된 모든 배스천은 대상 서브넷에서 두 개의 IP 주소를 사용합니다. 특정 서브넷에 대해 프로비전할 배스천 수를 기반으로 CIDR 블록을 선택합니다. 예를 들어 ,/30 CIDR을 사용하는 서브넷이 있는 경우 두 개의 사용 가능한 주소가 있으며 CIDR 내에 대상 리소스가 있으면 배스천을 프로비전할 수 있는 충분한 주소가 없습니다. 이 경우 배스천 프로비전이 실패합니다. 대상 서브넷은/29보다 넓게 설정하는 것이 좋습니다.

  • 보안

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

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

  • OCI 배스천

    배스천 레벨의 TTL은 해당 배스천의 컨텍스트에서 생성된 세션에 배스천보다 많은 TTL이 없는지 확인합니다. TTL을 사용 사례에 따라 최소 제한으로 설정해야 합니다. 최소값은 30분이고 최대값은 3시간입니다. TTL은 세션 레벨에서도 구성할 수 있습니다.

    허용 목록 CIDR 블록은 시나리오에 따라 가능한 한 좁아야 합니다. 이를 통해 SSH 연결이 개인 대상 리소스에 허용되는 IP 주소 범위를 제한할 수 있습니다.

    배스천이 생성되는 대상 서브넷의 크기는 를 통해 고려해야 합니다. 배스천 작성마다 IP 주소 2개를 사용합니다. 따라서 사용 가능한 IP 주소가 6개가 되도록/29범위를 사용하는 것이 좋습니다./30에는 IP 주소가 2개 있지만 나중에 배스천의 두번째 인스턴스가 동일한 서브넷을 가리키도록 하려는 경우 생성할 수 없습니다. 대상 서브넷은 대상 리소스가 있는 서브넷 또는 대상 VCN의 다른 서브넷에서 트래픽을 허용할 수 있는 서브넷일 수 있습니다.

    보안 정책 권장 사항

    • 대상 리소스가 있는 서브넷의 수신 규칙은 배스천의 전용 끝점 IP인 하나의 IP 주소에서 들어오는 TCP 트래픽을 허용해야 합니다.
    • 대상에 정확한 포트를 지정합니다(예: Linux의 경우 22, Windows의 경우 3389, MySql의 경우 33060등). 포트에 ALL을 사용하지 마십시오.

    관리자 및 운영자 시나리오에 특정 IAM 정책을 사용합니다.

고려 사항

  • 지역

    배스천은 지역별 서비스입니다. 예를 들어, 고객은 PHX의 리소스에 액세스하기 위해 PHX에서 배스천을 생성해야 합니다. 예를 들어, PHX 내의 배스천은 IAD의 리소스에 액세스하는 데 사용할 수 없습니다.

  • 성능

    배스천 생성은 SLO(요청 생성 후 2분) 내에 있어야 합니다. 세션 생성/종료는 SLO 내에 있어야 합니다. 포트 전달은 1분(break-glass 시나리오) 이고 관리되는 SSH 세션은 3분(일반 사용) 입니다.

  • 보안

    배스천의 트래픽은 서브넷의 전용 끝점에서 발생합니다. 배스천의 트래픽을 허용하려면 이 전용 끝점에서 배스천을 통해 액세스해야 하는 IP로의 수신 및 송신 트래픽을 허용합니다. 인스턴스 부분 집합에 대한 액세스를 제한하는 세분화된 정책은 올바른 레벨의 액세스 레벨을 보장하는 데 도움이 됩니다.

  • 가용성

    서비스는 API 오류 비율을 기반으로 배스천 및 세션을 생성/종료하기 위한 고가용성을 제공해야 합니다. 목표 가용성은 99.9% 입니다.

  • 비용

    OCI 배스천 사용 비용은 없습니다. 고객은 테넌시당 지역당 최대 5개의 배스천을 생성할 수 있습니다. 각 배스천은 VCN 내의 대상 리소스를 제공합니다.

  • 사용 시나리오

    고객이 OCI 고유 이미지를 실행 중인 전용 대상 호스트에 액세스하려는 경우 Linux 기반이며 OCA v2 에이전트(배스천 플러그인이 사용으로 설정됨) 를 실행 중인 경우 관리되는 SSH 세션을 사용할 수 있습니다. 에이전트가 실행되고 있지 않거나 Windows 기반이거나 데이터베이스(ATP 또는 MySQL) 에 액세스하는 전용 대상 리소스에 대한 액세스를 원하는 고객은 포트 전달 SSH 세션을 사용할 수 있습니다.