Infograb logo
TLS 라우팅 마이그레이션

TLS 라우팅 모드에서는 모든 Teleport 클라이언트 연결이 TLS로 래핑되고 하나의 Teleport Proxy Service 포트에서 다중화됩니다.

TLS 라우팅은 각 프로토콜이 별도의 포트에서 제공되는 배포와 비교하여 여러 가지 이점을 제공합니다:

  • 모든 클라이언트가 단일 포트를 통해 Teleport 프록시에 연결되므로 네트워크 정책 구성이 더 간단해집니다.
  • 모든 클라이언트와 Teleport 프록시 간의 통신은 상호 TLS로 인증됩니다.
  • 사용자는 일반적으로 내부 네트워크에서 차단될 수 있는 SSH와 같은 프로토콜을 터널링할 수 있습니다.

Teleport를 업그레이드해도 기본적으로 TLS 라우팅이 활성화되지 않으며 클러스터는 역호환 모드로 계속 작동합니다. 이 가이드를 따라 Teleport 설치를 TLS 라우팅으로 마이그레이션하세요.

Teleport Enterprise Cloud는 Proxy Service의 네트워킹 구성을 관리합니다. Teleport Enterprise Cloud의 무료 체험을 시작하세요.

전제 조건

레이어 7(HTTP/HTTPS) 로드 밸런서 및 리버스 프록시 뒤에서 TLS 라우팅 지원은 Teleport 13.0부터 가능해집니다.

Teleport Cloud를 사용하는 경우 Proxy Service가 구성된 포트 및 네트워킹 설정을 확인하세요. 다음 명령을 실행하고 mytenant.teleport.sh를 귀하의 테넌트 주소로 바꾸세요:

curl https://mytenant.teleport.sh/webapi/ping | jq '.proxy'

1단계/7. Teleport 업그레이드

다운로드 페이지 또는 귀하의 엔터프라이즈 포털에서 Teleport를 다운로드하고 표준 업그레이드 절차를 따르세요. 루트와 리프 클러스터 둘 다 그리고 tsh 클라이언트를 업그레이드하는 것을 잊지 마세요.

2단계/7. 프록시 다중화 활성화

루트 클러스터의 인증 서버 구성을 업데이트하여 프록시 리스너 모드를 "다중화"로 설정하세요:

auth_service:
  proxy_listener_mode: multiplex

이 설정은 클라이언트(tsh 또는 리버스 터널 에이전트 등)에게 TLS 라우팅을 사용하여 웹 프록시 포트에 연결해야 함을 나타냅니다.

호환성

다중화를 활성화해도 신뢰된 클러스터, 리버스 터널 에이전트 및 tsh/ssh 클라이언트의 기존 연결에는 영향을 미치지 않습니다. 레거시 리스너가 활성화되어 있는 한(아래 7단계 참조), 모든 클라이언트는 아래에 설명된 대로 tsh/ssh가 재시작되거나 재로그인하거나 재구성될 때까지 역호환 모드로 계속 연결됩니다.

3단계/7. 신뢰된 클러스터 다시 연결

웹 프록시 포트에서 이미 신뢰된 클러스터 연결을 다중화하고 있는 경우 (즉, web_listen_addrtunnel_listen_addr가 프록시 구성에서 동일한 포트를 사용하는 경우), 이 단계를 건너뛸 수 있습니다.

그렇지 않으면 신뢰된 클러스터를 업데이트하여 web_proxy_addrtunnel_addr를 루트 클러스터의 웹 프록시 주소로 가리키고 재생성하세요:

kind: trusted_cluster
version: v2
metadata:
   name: "root"
spec:
   enabled: true
   web_proxy_addr: root.example.com:443
   tunnel_addr: root.example.com:443
   ...

4단계/7. 리버스 터널 에이전트 다시 연결

리버스 터널을 통해 클러스터의 프록시에 연결하는 모든 SSH, Kubernetes, 애플리케이션 및 데이터베이스 에이전트를 재시작하세요.

이렇게 하면 이들이 TLS 라우팅 모드로 클러스터에 다시 연결됩니다.

5단계/7. tsh로 재로그인

tsh logout을 실행하고 클러스터에 다시 tsh login하여 tsh가 TLS 라우팅 모드를 사용하기 시작하는지 확인하세요.

6단계/7. OpenSSH 구성 업데이트

Teleport 클러스터 내의 노드에 연결하기 위해 tsh config로 생성된 구성을 사용하여 OpenSSH 클라이언트 ssh를 사용하는 경우, 구성을 재생성해야 합니다.

tsh config 명령을 다시 실행하여 SSH 라우팅 설정과 호환되는 SSH 구성을 생성하세요. 자세한 내용은 우리의 OpenSSH 가이드를 참조하세요.

7단계/7. 레거시 리스너 비활성화

이 시점에서 모든 루트 클러스터의 클라이언트는 TLS 라우팅 모드에서 웹 프록시 포트에 연결합니다. 마지막 단계는 Teleport 프록시에게 SSH, 리버스 터널, Kubernetes 및 데이터베이스 클라이언트를 위한 레거시 리스너를 기본적으로 생성하지 않도록 지시하는 것입니다.

프록시의 구성에 version: v2를 추가하고 web_listen_addr를 제외한 모든 리스닝 주소를 제거하세요:

version: v2
proxy_service:
  enabled: "yes"
  web_listen_addr: 0.0.0.0:443
  ...

구성 버전 v2는 프록시 서비스 구성에 명시적으로 설정되지 않는 한 다른 리스너가 생성되는 것을 방지합니다.

롤백

기존의 별도 리스너 모드로 돌아가려면 다음 단계를 수행하세요:

  1. 프록시 구성에서 version: v1을 설정하고 프록시를 재시작하여 레거시 리스너를 생성합니다.
  2. 클라이언트가 레거시 리스너에 연결하도록 인증 서비스 구성에서 proxy_listener_mode: separate를 설정합니다.
  3. 모든 클라이언트(신뢰된 클러스터, 리버스 터널 에이전트, tsh)를 위에서 설명한 대로 다시 연결합니다.
  4. OpenSSH 클라이언트를 사용하는 경우, tsh config 명령을 사용하여 SSH 구성을 재생성합니다.

다음 단계

Teleport 원문 보기