OpenZiti의 핵심 개념

전체 구성요소를 한눈에 살펴보기

┌─────────────────────────────────────────────────────┐
│                   ZT Controller                     │
│         (중앙 두뇌 - 모든 컴포넌트 생성·관리)               │
└──────────────┬──────────────────────────────────────┘
               │ 정책·신원 정보 배포
    ┌──────────┴───────────┐
    ▼                      ▼
Private Edge Router    Public Edge Router (Fabric Router)
(기업 내부망에 배치)     (인터넷 구간에 배치 - 라우터 간 중계)
    │                      │
    ▼                      ▼
ZT Client (엔드포인트)   ZT Client (원격 사용자)
(PC, 서버, 모바일)

※ 모든 컴포넌트는 ZT Identity를 가져야 네트워크에 참여 가능
※ 인증 이후에도 Service + Policy가 있어야 실제 접근 가능
※ 위 전체 구조를 통칭 → ZT Fabric

1. ZT Controller

역할
  • ZT 네트워크의 중앙 두뇌 역활을 수행
  • ZT 네트워크 내 거의 모든 구성요소를 생성하고 관리
주요 기능
  • 신원(Identity) 생성 및 관리
  • 서비스(Service) 생성 및 관리
  • 정책(Policy) 집행
  • 모든 ZT 구성요소에 정보 배포

2. ZE Edge Router (엣지 라우터)

Edge Router는 Private과 Public, 2종류로 나눠집니다.

🔒 Private Edge Router (프라이빗 엣지 라우터)
  • 기업 내부 네트워크에 배포합니다. (공용 네트워크에는 배치하지 않음)
  • 기업 네트워크의 진입점(Entry Point)과 출구점(Exit Point) 역할을 담당합니다.
  • 내부로 들어오고 나가는 트래픽을 주로 처리합니다.
🌐 Public Edge Router / Fabric Router (퍼블릭/패브릭 라우터)
  • 프라이빗 엣지 라우터 간 데이터를 전달하는 중계 역할을 합니다.
  • ZT 클라이언트를 사용하는 원격 사용자의 진입점으로도 동작합니다.
  • 프라이빗 라우터끼리는 직접 통신하지 않으며, 반드시 퍼블릭 라우터를 통해 연결됩니다.
📌 실습 예시: 일본 지사 ↔ 서울 데이터센터 연결
[일본 지사]                                [서울 데이터센터]
사용자 PC
    │                                           │
    ▼                                           ▼
Private Edge Router  ──→  Public(Fabric)  ──→  Private Edge Router
  (일본 내부망)                Router            (서울 내부망)
  [Dial Policy]          (인터넷 구간)          [Bind Policy]


                                           Application Server
                                            (10.1.1.1:443)
동작 흐름:
  1. 일본 지사의 사용자가 서울의 애플리케이션 서버에 접근하려 합니다.
  2. 일본지사의 내부망에 Private Edge Router를 배포합니다.
  3. ZT Controller가 패브릭 라우터의 존재를 각 프라이빗 라우터에 알려줍니다.
  4. 프라이빗 라우터들은 Public(Fabric) Router를 통해 링크를 형성하고 데이터를 안전하게 전송합니다.
  5. 패브릭 라우터는 서울의 Private Edge Router로 데이터를 전달합니다.
  6. 최종적으로 서울 엣지 라우터애플리케이션 서버로 데이터를 전달합니다.

💡 Dial Policy: 트래픽의 진입 방향 정책 (어디서 접속하는지)
💡 Bind Policy: 트래픽의 출구 방향 정책 (어디로 연결되는지)

3. ZT Client (제로 트러스트 클라이언트)

역할

엔드포인트(Endpoint)에 설치하여 ZT 네트워크에 연결할 수 있게 해주는 애플리케이션입니다.

설치 가능한 기기

PC, 서버, 모바일 기기 등 다양한 엔드포인트

지원 운영체제 (OS)
카테고리지원 OS
WindowsWindows
LinuxUbuntu, Red Hat 등 주요 배포판
MobileiOS, Android

4. ZT Identity (신원)

개념
  • ZT 네트워크 내의 모든 구성요소는 고유한 신원(Identity)을 가집니다.
  • 신원이 있어야만 ZT 네트워크의 일부로 참여할 수 있습니다.
신원(Identity)이 필요한 구성요소
  • Edge Router (엣지 라우터)
  • ZT Client가 설치된 모든 엔드포인트
등록(Registration) 및 인증(Authentication) 과정
Edge Router의 경우
1. 엣지 라우터 배포

2. ZT Controller에 등록(Registration)

3. 등록 성공 → ZT 네트워크의 구성원이 됨
원격 사용자(노트북)의 경우:
1. 기기에 ZT Client 설치

2. ZT Client에 Identity 추가
   (Identity는 ZT Controller가 생성)

3. ZT Client가 Controller에 인증(Authentication) 시도

4. Controller가 인증서(Certificate) 유효성 검증

5. 인증 성공 → 해당 기기가 ZT 네트워크의 구성원이 됨

⚠️ 주의: 인증 성공 ≠ 접근 허용. 인증은 네트워크 참여를 의미할 뿐이며, 실제 서비스 접근을 위해서는 별도의 Policy(정책) 가 필요합니다.

5. ZT Fabric (제로 트러스트 패브릭)

개념
  • Controller + Fabric Router + Public Router + Private Router + ZT Client 등 모든 구성요소를 합쳐서 형성되는 전체 네트워크 구조를 ZT Fabric이라 부릅니다.
  • 즉, OpenZiti가 만들어내는 소프트웨어 정의 네트워크 전체를 의미합니다.

6. ZT Service (서비스)

개념
  • 서비스(Service)는 애플리케이션을 ZT Controller 안에서 표현(Representation)한 것입니다.
  • 쉽게 말해, 실제 애플리케이션 서버의 정보를 컨트롤러에 등록한 항목입니다.
예시
실제 애플리케이션 서버:
  - IP 주소: 10.1.1.1
  - 포트: 443 (HTTPS)

→ 이 정보를 ZT Controller에 등록하면 "서비스"가 됨
→ 이후 이 서비스에 대한 접근 정책(Policy)을 별도로 설정

7. Policy-Based Access Control (정책 기반 접근 제어)

개념
  • 인증(Authentication) 성공 ≠ 서비스 접근 권한
  • 인증이 완료되더라도, 해당 엔드포인트가 특정 애플리케이션에 접근하려면 명시적인 정책(Policy)이 반드시 설정되어야 합니다.
접근 허용의 2단계
1단계: 인증 (Authentication)
  → Identity가 Controller에서 유효한지 검증
  → 성공 시 ZT 네트워크 참여 가능

2단계: 정책 (Policy)
  → "이 엔드포인트는 이 서비스(애플리케이션)에 접근할 수 있다"는
     명시적 정책이 있어야 실제 통신 가능
핵심 원칙
  • 아무리 유효한 신원(Identity)을 가지고 있어도, 정책이 없으면 어떤 서비스에도 접근할 수 없습니다.
  • 이것이 VPN과의 가장 큰 차이점 중 하나입니다. (VPN은 연결되면 넓은 범위 접근 가능)