Istio Hands-on Study [1기]
[9주차] Ambient Mode : HBONE
구구달스
2025. 6. 3. 18:53
🔒 HBONE: Istio의 안전한 터널링 기술 이해하기
- Istio에서 사용하는 HBONE(HTTP-Based Overlay Network Environment)은 컴포넌트 간 안전한 통신을 위한 터널링 프로토콜입니다. 네트워크 트래픽을 암호화된 하나의 터널로 묶어서 안전하게 보내는 방법입니다.
🛠️ HBONE이란?
- HBONE은 Istio에서 사용하는 특별한 프로토콜로, 여러 애플리케이션 연결을 하나의 암호화된 터널로 묶어 전송합니다.
- 이 터널은 mTLS로 보호되며, 여러 TCP 스트림을 효율적으로 관리합니다. 쉽게 말해, HBONE은 데이터를 안전하게 보내기 위한 '비밀 통로' 같은 역할을 합니다.
- HBONE은 세 가지 표준 기술을 결합해 만들어졌습니다:
- HTTP/2: 여러 연결을 하나의 터널로 묶는 기술.
- HTTP CONNECT: 터널 연결을 설정하는 방법.
- mTLS: 터널을 암호화하고 안전하게 만드는 보안 기술.
HBONE은
HTTP/2, HTTP CONNECT, mTLS를 사용해 안전한 터널링을 제공합니다.
🔐 보안과 tenancy
- HBONE은 mTLS를 사용해 보안을 강화합니다. mTLS는 터널의 출발지와 도착지가 고유한 identity를 가져야 하며, 이를 기반으로 암호화를 설정합니다. 즉, 같은 출발지와 도착지로 가는 모든 연결은 하나의 암호화된 HTTP/2 터널을 공유합니다. 이렇게 하면 여러 연결을 효율적으로 관리하면서도 보안은 유지됩니다.
HBONE은
mTLS를 통해 각 터널에 고유한 identity를 부여하고 보안을 유지합니다.
🖥️ 구현 세부사항
- Istio에서는 HBONE을 이해하는 ztunnel 같은 프록시가 TCP 포트 15008에서 동작합니다.
- HBONE은 HTTP/2, HTTP CONNECT, mTLS를 조합해 데이터를 전송하며, 아래 다이어그램처럼 패킷이 구성됩니다:
- HBONE의 중요한 특징은 애플리케이션 트래픽을 변경하지 않고 투명하게 전달한다는 점입니다. 예를 들어, Istio 전용 헤더를 추가할 필요 없이 메타데이터를 목적지 프록시에 전달할 수 있습니다.
HBONE은
포트 15008에서 동작하며,
트래픽을 변경하지 않고 투명하게 전달합니다.
🔮 HBONE의 미래 활용
- 현재 HBONE은 주로 TCP 트래픽을 처리하지만, 앞으로 ambient mode와 표준이 발전하면서 UDP 같은 다른 프로토콜에도 적용될 가능성이 있습니다. 이는 더 다양한 네트워크 환경에서 HBONE을 활용할 수 있게 할 것입니다.
📌 핵심 요약
- HBONE은 Istio에서 사용하는 안전한 터널링 프로토콜로, HTTP/2, HTTP CONNECT, mTLS를 결합합니다.
- mTLS를 통해 각 터널에 고유한 identity를 부여하며 보안을 유지합니다.
- ztunnel은 포트 15008에서 HBONE을 처리하며, 트래픽을 변경하지 않고 투명하게 전달합니다.
- 앞으로 UDP 같은 프로토콜에도 HBONE이 활용될 가능성이 있습니다.