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_addr
와 tunnel_listen_addr
가 프록시 구성에서 동일한 포트를 사용하는 경우),
이 단계를 건너뛸 수 있습니다.
그렇지 않으면 신뢰된 클러스터를 업데이트하여 web_proxy_addr
와
tunnel_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
는 프록시 서비스 구성에 명시적으로 설정되지 않는 한
다른 리스너가 생성되는 것을 방지합니다.
롤백
기존의 별도 리스너 모드로 돌아가려면 다음 단계를 수행하세요:
- 프록시 구성에서
version: v1
을 설정하고 프록시를 재시작하여 레거시 리스너를 생성합니다. - 클라이언트가 레거시 리스너에 연결하도록 인증 서비스 구성에서
proxy_listener_mode: separate
를 설정합니다. - 모든 클라이언트(신뢰된 클러스터, 리버스 터널 에이전트,
tsh
)를 위에서 설명한 대로 다시 연결합니다. - OpenSSH 클라이언트를 사용하는 경우,
tsh config
명령을 사용하여 SSH 구성을 재생성합니다.
다음 단계
- TLS 라우팅 작동 방식을 알아보세요.