
ziti v2.0.2
제로 트러스트 네트워킹 플랫폼으로, 암호화된 신원, 정책 기반 접근, 종단 간 암호화를 통해 서비스를 보이지 않게 만듭니다. VPN을 대체하고, IoT를 보호하며, 열린 포트 없이 멀티 클라우드 환경을 연결합니다.
OpenZiti
OpenZiti는 오픈소스 제로 트러스트 네트워킹 플랫폼으로, 권한이 없는 사용자에게 네트워크 서비스를 보이지 않게 만듭니다. 사용자, 서비스, 장치 또는 워크로드에 관계없이 모든 연결은 암호화 신원으로 인증되고, 정책에 의해 권한이 부여되며, 종단간 암호화됩니다.
OpenZiti는 기존 애플리케이션(코드 변경 없이 경량 터널러 사용)과 새 애플리케이션(가장 강력한 제로 트러스트 모델을 위한 임베디드 SDK 사용) 모두에서 작동합니다. 따라서 기존 환경과 신규 개발 모두에 실용적입니다.
NetFoundry에서 만들고 후원합니다. Apache 2.0 라이선스에 따라 배포됩니다.
목차
사용 사례
OpenZiti를 사용하면 여러 네트워크와 타사를 포함한 모든 사용 사례(비인간 워크로드 및 워크플로 포함)에 제로 트러스트를 확장할 수 있습니다. 다음은 몇 가지 일반적인 사용 사례입니다.
VPN 대체
VPN 클라이언트, 분할 터널링 문제 또는 집중 병목 현상 없이 내부 서비스에 대한 보안 액세스를 제공합니다. 각 서비스는 개별적으로 권한이 부여됩니다. "한 번 들어가면 모든 것에 접근 가능" 문제가 없습니다.
다크 API 및 서비스
API와 서비스를 인터넷에서 보이지 않게 만듭니다. 수신 포트가 없으면 공격 표면도 없습니다. 권한 있는 클라이언트는 OpenZiti를 통해 연결하고, 다른 모든 사람은 아무것도 볼 수 없습니다.
IoT 및 비인간 ID
모든 장치, 센서 및 머신에 고유한 암호화 신원을 부여합니다. OpenZiti의 신원 모델은 인간 사용자뿐만 아니라 비인간 워크로드에도 잘 작동하여 현대 네트워크 트래픽의 대부분을 차지하는 머신 간 연결에 강력한 인증을 제공합니다.
제로 트러스트 워크로드
클라우드와 환경 전반에서 워크로드 간 통신을 보호합니다. 서비스는 네트워크 위치가 아닌 암호화 신원으로 서로를 인증합니다. 공유 비밀, IP 허용 목록 또는 주변 권한이 없습니다.
에이전틱 AI
각 AI 참가자에 대한 암호화 신원으로 에이전트-서비스 및 에이전트-에이전트 통신을 보호합니다. MCP 서버, 도구 엔드포인트 및 비공개 LLM은 수신 포트나 공개 URL 없이 다크 상태를 유지합니다. 에이전트는 강력하고 고유한 신원으로 인증하며 정책이 허용하는 리소스에만 도달할 수 있으므로 자율 워크플로는 다른 모든 것에 대한 주변 권한 없이 필요한 액세스를 얻을 수 있습니다.
멀티 클라우드 및 하이브리드 연결
AWS, Azure, GCP, 온프레미스 데이터 센터 및 엣지 위치 전반에 걸친 하나의 오버레이 네트워크. 클라우드별 네트워킹 도구, 환경 간 VPN 터널 또는 복잡한 피어링 설정이 필요하지 않습니다.
자체 호스팅 서비스 액세스
어디에서나 Nextcloud, Home Assistant, 미디어 서버, 개발 환경과 같은 홈 랩 또는 자체 호스팅 서비스에 액세스합니다. 라우터 포트를 열 필요가 없고, 동적 DNS가 필요 없으며, 타사 터널 서비스에 의존하지 않습니다. 전체 경로를 직접 제어합니다.
Kubernetes 및 클러스터 간 서비스
복잡한 인그레스 규칙, 서비스 메시 사이드카 또는 클러스터 간 VPN 터널 없이 Kubernetes 클러스터 간에 서비스를 연결합니다. Kubernetes 외부에서도 작동하며 k8s 서비스를 VM, 베어 메탈, IoT 장치 또는 오버레이의 다른 모든 것에 연결하는 것을 지원합니다.
주요 기능
| 기능 | 설명 |
|---|---|
| 다크 서비스 | 서비스에 수신 포트가 전혀 없습니다. 스캐너와 권한 없는 사용자에게 보이지 않습니다. |
| 모든 것에 대한 ID | 사용자, 서비스, 장치 및 비인간 워크로드(NHI)에 대한 암호화 신원. IP 기반이 아닙니다. |
| ID 기반 운영 | IP 주소 및 방화벽 규칙 대신 신원과 정책을 통해 네트워크를 관리합니다. 운영을 단순화하고 수동 네트워크 구성을 제거합니다. |
| 종단간 암호화 | libsodium을 사용하여 소스에서 대상까지 데이터 암호화. 인증을 위한 mTLS. 네트워크 경로에 대한 제로 트러스트. |
| VPN 또는 개방 포트 불필요 | 연결이 OpenZiti의 오버레이를 통해 라우팅됩니다. VPN 클라이언트, 인바운드 방화벽 규칙, 노출된 포트가 없습니다. |
| 스마트 라우팅 | 성능과 안정성을 위한 지능형 경로 선택이 가능한 메시 패브릭. |
| 유연한 배포 | SDK 임베드, 터널러 사용 또는 네트워크 수준에서 배포. 서비스별로 혼합하여 사용 가능. |
| 정책 기반 액세스 | 세분화된 ID 기반 정책. 액세스를 실시간으로 취소하여 활성 연결을 종료할 수 있습니다. |
| 프로그래밍 가능한 REST API | 자동화 및 통합을 위한 전체 관리 API. 웹 기반 관리 콘솔 포함. |
| 완전한 자체 호스팅 가능 | 전체 플랫폼을 자체 인프라에서 실행. 벤더 종속성 없음. 오픈소스, Apache 2.0. |
세 가지 배포 모델
OpenZiti는 세 가지 제로 트러스트 모델을 지원합니다. 단일 네트워크에서 혼합하여 사용하거나 시간이 지남에 따라 마이그레이션할 수 있습니다.
네트워크 액세스
신뢰할 수 있는 네트워크 영역에 OpenZiti 엣지 라우터를 배포합니다. 트래픽은 인증된 클라이언트에서 오버레이로 들어가 서비스가 실행되는 비공개 네트워크로 나갑니다.
- 코드 변경: 없음
- 서비스 호스트의 에이전트: 없음
- 보안 모델: 네트워크 경계에서의 ID 기반 액세스. 게이트웨이와 유사하지만 암호화 신원 및 암호화된 전송을 사용합니다.
호스트 액세스
서비스와 동일한 호스트에서 OpenZiti 터널러를 실행합니다. 터널러가 신원, 인증 및 암호화를 처리합니다. 서비스는 localhost에서 오는 연결만 수락하면 됩니다.
- 코드 변경: 없음
- 설정: 터널러 설치, 신원 등록
- 보안 모델: 호스트 OS 수준의 트러스트 경계. 서비스는 네트워크에 대해 다크 상태이며 터널러를 통해서만 연결 가능합니다.
애플리케이션 액세스 (가장 강력함)
OpenZiti SDK를 클라이언트 및/또는 서버 애플리케이션에 직접 임베드합니다. 애플리케이션 자체가 암호화 신원을 보유하고 프로세스 내에서 트래픽을 암호화합니다. localhost에서도 수신 포트가 존재하지 않습니다.
- 코드 변경: 필요
- 보안 모델: 가장 강력함. 프로세스 내 종단간 암호화. 완전히 다크. 신원이 네트워크나 호스트가 아닌 애플리케이션 계층에 있음.
어디서 시작할까: 많은 팀이 기존 서비스를 위해 호스트 액세스(터널러)로 시작합니다. 몇 분 안에 코드 변경 없이 배포할 수 있습니다. 새로운 개발이나 고보안 워크로드의 경우 애플리케이션 액세스(SDK)가 가장 강력한 제로 트러스트 태세를 제공합니다.
시작하기
다음 퀵 스타트는 로컬 OpenZiti 네트워크를 개발, 테스트 및 학습을 위해 설정하는 방법을 보여줍니다. 프로덕션 배포에 대해서는 https://netfoundry.io/docs/openziti/category/deployments/ 의 제품 문서를 참조하십시오.
Docker를 사용한 퀵 스타트
로컬 OpenZiti 네트워크를 실행하는 가장 빠른 방법:
wget https://get.openziti.io/dock/all-in-one/compose.yml
docker compose up
이 명령은 단일 compose 스택에서 컨트롤러, 엣지 라우터 및 Ziti 콘솔을 시작합니다. 콘솔은 https://localhost:1280/zac/에서 사용할 수 있습니다. 여기에서 신원을 생성하고, 서비스를 정의하고, 액세스 정책을 구성할 수 있습니다.
스토리지 옵션, 환경 변수 및 CLI 사용법을 포함한 전체 내용은 all-in-one Docker quickstart를 참조하십시오.
CLI를 사용한 퀵 스타트
GitHub Releases에서 최신 ziti 바이너리를 다운로드한 후 다음을 실행하십시오:
ziti edge quickstart
이 명령은 로컬 개발 네트워크(컨트롤러, 라우터 및 기본 관리자 신원)를 시작합니다. 테스트 및 학습에 이상적입니다.
실행 중인 컨트롤러에 Ziti Admin Console(ZAC)을 추가하려면:
ziti ops console download --location /opt/openziti/console
ziti ops console configure /path/to/controller.yml --all --location /opt/openziti/console
# 컨트롤러를 다시 시작한 후 https://<controller-address>/zac/ 열기
또는 컨트롤러 구성에 영향을 주지 않고 ZAC를 로컬에서 제공하려면:
ziti run console --version latest
# https://127.0.0.1:8443 열기. 브라우저에서 원하는 컨트롤러로 지정
더 알아보기
| 리소스 | 설명 |
|---|---|
| 소개 | OpenZiti의 핵심 개념 및 작동 방식 |
| 퀵스타트 가이드 | 로컬, Docker 및 호스팅 환경을 위한 단계별 설정 |
| 제로 트러스트 모델 | 세 가지 배포 모델에 대한 심층 설명 |
| 터널러 참조 | 코드 변경 없이 시작하기 |
아키텍처
OpenZiti의 오버레이 네트워크는 기존 인프라(모든 IP 네트워크, 모든 클라우드, 모든 조합) 위에서 실행됩니다. 핵심 구성 요소:
컨트롤러
컨트롤러는 관리 평면입니다. 다음을 처리합니다:
- 신원 관리: 네트워크의 모든 참가자에게 암호화 신원(x509 인증서)을 발급하고 확인
- 정책 시행: 어떤 신원이 어떤 엣지 라우터를 통해 어떤 서비스에 액세스할 수 있는지 정의
- 네트워크 상태: 라우터, 서비스 및 토폴로지를 추적하며, 관리를 위한 REST API 및 웹 기반 관리 콘솔 제공
엣지 라우터
엣지 라우터는 데이터 평면을 형성하며, 엔드포인트 간 암호화된 트래픽을 전달하는 메시 패브릭입니다.
- 공용 라우터는 인터넷에서 연결 가능하며, 네트워크 진입점 역할
- 비공개("다크") 라우터는 아웃바운드 연결만 사용하여 비공개 네트워크 내부에 배포
라우터는 자동으로 서로를 발견하고, 메시 연결을 형성하며, 지연 시간, 처리량 및 비용을 기반으로 최상의 경로를 선택하는 스마트 라우팅을 사용합니다.
엔드포인트: SDK 및 터널러
엔드포인트는 애플리케이션과 사용자가 OpenZiti 네트워크에 연결하는 방법입니다:
-
SDK(Go, C, Python, Node.js, Java, Swift, C#): 애플리케이션에 제로 트러스트를 직접 임베드합니다. 앱 자체가 신원을 보유하고 암호화를 처리합니다. 사이드카, 에이전트, 수신 포트가 없습니다.
-
터널러(Linux, Windows, macOS, iOS, Android): 수정되지 않은 소프트웨어에 OpenZiti 연결을 제공하는 경량 앱입니다. 트래픽이 투명하게 가로채져 오버레이를 통해 라우팅됩니다. 코드 변경이 필요하지 않습니다.
제로 트러스트, 다크 서비스 및 종단간 암호화
제로 트러스트 및 애플리케이션 세분화
OpenZiti 네트워크의 모든 참가자(예: 사용자, 서비스, 장치, 워크로드)는 x509 인증서로 지원되는 고유한 암호화 신원을 가지고 있습니다. 연결이 시도되면 OpenZiti는 다음을 확인합니다:
- 신원이 유효하고 등록되었는지
- 해당 신원에게 요청된 서비스에 대한 액세스 권한을 부여하는 정책이 존재하는지
- 연결이 승인된 엣지 라우터를 통하는지
어느 하나라도 실패하면 연결이 거부됩니다. 나중에 액세스가 취소되면 활성 연결이 즉시 종료됩니다. 네트워크 위치에 기반한 암시적 신뢰는 없습니다. 같은 LAN에 있다고 해서 인터넷을 통해 있는 것보다 더 많은 액세스 권한이 부여되지 않습니다. 정책이 명시적으로 허용하지 않는 한 말입니다.
이 모델은 제로 트러스트 애플리케이션 세분화를 제공합니다. 각 서비스는 독립적으로 권한이 부여됩니다. 하나의 서비스에 액세스한다고 해서 다른 서비스에 대한 액세스 권한이 부여되지는 않습니다.
다크 서비스
"다크" 서비스는 열린 포트가 없습니다. 들어오는 연결을 위해 네트워크 인터페이스에서 수신 대기하지 않습니다. 대신 서비스(또는 그 옆에 있는 터널러)는 OpenZiti 엣지 라우터에 아웃바운드 연결을 만들고 자신을 등록합니다. 클라이언트는 인증 및 권한 부여 후에만 OpenZiti 패브릭을 통해 서비스에 도달할 수 있습니다.
실제 의미:
- 포트 스캔이 아무것도 찾지 못함: 발견할 수신 포트가 없음
- 공격 표면 없음: 도달할 수 없는 것을 악용할 수 없음
- DDoS 저항: 플러딩할 공용 엔드포인트가 없음
- 권한 없는 사용자에게 보이지 않음: 일치하는 정책이 있는 신원만 서비스의 존재조차 알 수 있음
- NAT 및 방화벽 친화적: 모든 연결이 아웃바운드이므로 CG-NAT, 이중 NAT 및 제한적인 방화벽이 문제되지 않음
엣지 라우터도 다크 상태일 수 있습니다. 비공개 라우터는 아웃바운드 연결만 하므로 비공개 네트워크에 인바운드 방화벽 규칙이 필요하지 않습니다.
종단간 암호화
OpenZiti SDK를 사용하면 트래픽이 데이터 경로에 libsodium을 사용하고 신원 인증에 mTLS를 사용하여 전송 애플리케이션에서 수신 애플리케이션까지 암호화됩니다. 라우터나 중간 네트워크가 손상되더라도 트래픽을 해독하거나 변조할 수 없습니다.
터널러를 사용하면 암호화가 터널러에서 터널러(또는 터널러에서 SDK)까지의 경로를 포함하여 애플리케이션 변경 없이 머신 간 암호화를 제공합니다.
SDK
제로 트러스트 네트워킹을 애플리케이션에 직접 임베드하십시오:
| 언어 | 저장소 | 비고 |
|---|---|---|
| Go | sdk-golang | OpenZiti 프로젝트 자체에서 사용 |
| C | ziti-sdk-c | 임베디드 시스템, IoT 및 고성능 사용 사례에 이상적 |
| Java / Kotlin | ziti-sdk-jvm | Android 지원 포함 |
| Swift | ziti-sdk-swift | iOS 및 macOS |
| Node.js | ziti-sdk-nodejs | |
| C# / .NET | ziti-sdk-csharp | |
| Python | ziti-sdk-py |
모든 SDK는 OpenZiti GitHub 조직 아래에 나열되어 있습니다.
보안
OpenZiti는 보안에 중점을 둔 프로젝트입니다. 취약점의 책임 있는 공개는 플랫폼과 사용자를 안전하게 보호하는 데 도움이 됩니다.
취약점 보고: 보안 문제를 발견한 경우 자세한 내용은 취약점 공개 정책을 검토하십시오. 민감한 문제는 [email protected]로 보고해야 합니다. 민감하지 않은 문제는 적절한 저장소에 GitHub 이슈로 제출할 수 있습니다. 7일 이내에 응답을 받을 수 있습니다.
취약점 처리 방법: 제품 보안 사고 대응 프로세스에는 보고된 취약점이 어떻게 분류, 문서화 및 해결되는지 설명되어 있으며, CVE 릴리스가 수정 사항과 어떻게 조정되는지도 포함됩니다.
안전한 항구(Safe Harbor): OpenZiti와 NetFoundry는 선의로 취약점을 연구하고 보고하는 사람에 대해 법적 조치를 취하지 않습니다. 보안 연구를 장려하며, 보고된 발견 사항을 권고 사항 및 릴리스 노트에서 보고자에게 귀속시킵니다.
커뮤니티 및 지원
OpenZiti는 활발하고 성장하는 커뮤니티를 보유하고 있습니다:
- Discourse 포럼: 질문하고, 프로젝트를 공유하고, 커뮤니티와 유지 관리자로부터 도움을 받으세요
- YouTube: 튜토리얼, 데모 및 심층 분석
- 블로그: 프로젝트 업데이트 및 기술 기사
- Twitter/X: 뉴스 및 공지 사항
기여하기
OpenZiti 프로젝트는 코드, 문서, 버그 보고서 및 피드백을 포함한 기여를 환영합니다.
주요 저장소
| 저장소 | 설명 |
|---|---|
| openziti/ziti | 핵심 플랫폼: 컨트롤러, 라우터, CLI |
| sdk-golang | Go SDK |
| ziti-sdk-c | C SDK |
| ziti-sdk-jvm | Java / Kotlin / Android SDK |
| ziti-sdk-swift | Swift / iOS SDK |
| ziti-sdk-nodejs | Node.js SDK |
| ziti-sdk-csharp | C# SDK |
| ziti-sdk-py | Python SDK |
| ziti-tunnel-sdk-c | Linux 터널러 및 핵심 터널러 SDK |
| ziti-tunnel-apple | macOS 및 iOS 엣지 클라이언트 |
| desktop-edge-win | Windows 데스크톱 엣지 클라이언트 |
| ziti-doc | 문서 사이트 |
소스에서 빌드
빌드 지침은 로컬 개발 튜토리얼을 참조하십시오.
개발자 문서
채택자
OpenZiti는 DeltaSecure(관리형 SOC), Resulticks(마케팅 자동화), Chirp Wireless(IoT/통신), GIGO Dev(클라우드 개발 환경), OSMIT(관리형 IT/GDPR 규정 준수)와 같은 조직과 zrok 및 BlueBubbles와 같은 오픈소스 프로젝트에서 프로덕션 환경에서 사용되고 있습니다.
전체 목록: ADOPTERS.md. OpenZiti를 사용 중이신가요? 저희가 추가하고 싶습니다 — 이슈를 열거나 PR을 제출해 주세요.
관리형 솔루션
자체 인프라를 관리하지 않고 제로 트러스트 네트워킹을 사용하려면 NetFoundry에서 완전히 관리되는 글로벌 분산 OpenZiti 네트워크를 서비스로 제공하며, SLA, 엔터프라이즈 지원 및 글로벌 엣지 라우터 패브릭을 포함합니다.
OpenZiti는 NetFoundry, Inc에서 개발 및 오픈소스로 제공합니다.