InfoGrab Docs

TLS 라우팅 마이그레이션

요약

TLS 라우팅 모드에서는 모든 Teleport 클라이언트 연결이 TLS로 래핑되어 하나의 Teleport Proxy Service 포트에서 멀티플렉싱됩니다. TLS 라우팅은 각 프로토콜이 별도의 포트에서 제공되는 배포 방식에 비해 여러 가지 이점이 있습니다:

TLS 라우팅 모드에서는 모든 Teleport 클라이언트 연결이 TLS로 래핑되어 하나의 Teleport Proxy Service 포트에서 멀티플렉싱됩니다.

TLS 라우팅은 각 프로토콜이 별도의 포트에서 제공되는 배포 방식에 비해 여러 가지 이점이 있습니다:

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

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

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

사전 요구사항#

Teleport Cloud를 사용하는 경우, 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의 구성을 업데이트하여 프록시 리스너 모드를 "multiplex"로 설정합니다:

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가 TLS 라우팅 모드를 사용하기 시작하도록 tsh logout을 실행한 후 tsh login으로 클러스터에 다시 로그인합니다.

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

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

tsh config 명령을 다시 실행하여 SSH 라우팅 설정과 호환되는 SSH 구성을 생성합니다. 참고로 OpenSSH 가이드 문서를 참조하세요.

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

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

프록시 구성에 version: v2를 추가하고 web_listen_addr을 제외한 모든 수신 주소를 제거합니다:

version: v2
proxy_service:
  enabled: true
  web_listen_addr: 0.0.0.0:443
  ...

구성 버전 v2는 Proxy Service 구성에서 명시적으로 설정하지 않는 한 다른 리스너가 생성되지 않도록 합니다.

롤백#

레거시 분리 리스너 모드로 돌아가려면 다음 단계를 수행합니다:

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

다음 단계#

TLS 라우팅 마이그레이션

원문 보기
요약

TLS 라우팅 모드에서는 모든 Teleport 클라이언트 연결이 TLS로 래핑되어 하나의 Teleport Proxy Service 포트에서 멀티플렉싱됩니다. TLS 라우팅은 각 프로토콜이 별도의 포트에서 제공되는 배포 방식에 비해 여러 가지 이점이 있습니다:

TLS 라우팅 모드에서는 모든 Teleport 클라이언트 연결이 TLS로 래핑되어 하나의 Teleport Proxy Service 포트에서 멀티플렉싱됩니다.

TLS 라우팅은 각 프로토콜이 별도의 포트에서 제공되는 배포 방식에 비해 여러 가지 이점이 있습니다:

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

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

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

사전 요구사항#

Teleport Cloud를 사용하는 경우, 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의 구성을 업데이트하여 프록시 리스너 모드를 "multiplex"로 설정합니다:

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가 TLS 라우팅 모드를 사용하기 시작하도록 tsh logout을 실행한 후 tsh login으로 클러스터에 다시 로그인합니다.

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

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

tsh config 명령을 다시 실행하여 SSH 라우팅 설정과 호환되는 SSH 구성을 생성합니다. 참고로 OpenSSH 가이드 문서를 참조하세요.

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

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

프록시 구성에 version: v2를 추가하고 web_listen_addr을 제외한 모든 수신 주소를 제거합니다:

version: v2
proxy_service:
  enabled: true
  web_listen_addr: 0.0.0.0:443
  ...

구성 버전 v2는 Proxy Service 구성에서 명시적으로 설정하지 않는 한 다른 리스너가 생성되지 않도록 합니다.

롤백#

레거시 분리 리스너 모드로 돌아가려면 다음 단계를 수행합니다:

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

다음 단계#