Infograb logo
텔레포트 인증

인증

텔레포트는 인증과 권한 부여를 모두 처리합니다.

  • 인증은 사용자 또는 서비스의 신원을 증명하는 것입니다.
  • 권한 부여는 어떤 것에 대한 접근 권한을 증명하는 것입니다.

이 기사는 단기 인증서로 인증하는 방법을 다룹니다.

단기 인증서

인증 기관과 단기 인증서는 텔레포트 인증의 핵심입니다. 텔레포트에서는 각 연결의 시작에서 사용자 또는 서비스가 신뢰할 수 있는 인증 기관에 의해 발급된 유효한 인증서를 제시해야 합니다. 클라이언트는 항상 상호 TLS 또는 상호 SSH 연결을 시작합니다.

텔레포트 인증 기관은 웹 서비스, 데이터베이스, 쿠버네티스 클러스터, 데스크탑 및 OpenSSH 호환 서버를 위한 SSH 인증서를 위해 단기 x.509 인증서를 발급합니다.

왜 인증서인가요?

  • 인증서는 사용자 또는 서비스 신원에 연결되어 있습니다. 어떤 연결과 행동도 사용자 또는 서비스로 추적될 수 있습니다.
  • 단기 인증서는 자동으로 만료되므로, 이를 폐기할 필요가 없습니다.
  • 인증서는 최초 사용 시 신뢰(TOFU) 문제를 해결합니다. 텔레포트 클러스터 내의 모든 서버는 고유한 신원과 인증서를 가지고 있습니다. 클라이언트 인증서가 신뢰할 수 없는 인증 기관에 의해 서명된 경우 연결을 허용하지 않습니다.
  • 인증서는 상호 인증된 채널인 mTLS를 가능하게 합니다. mTLS는 스푸핑, 경로 공격, 자격 증명 스터핑 등 다양한 공격을 완화합니다.
  • 인증서는 대규모 배포에 더 적합합니다. 각 서버 또는 서비스는 인증서가 유효한 인증 기관에 의해 서명되었는지만 확인하면 되며, 사용자 자격 증명을 모든 서비스에 복사할 필요가 없습니다.

텔레포트는 몇 시간에서 몇 분 동안 유효한 인증서를 발급하며, 아무런 조치 없이 자동으로 만료됩니다. 이 인증서의 유효 기간이 짧을수록 더 좋습니다. 이상적으로 인증서는 세션 기간 동안만 발급되어야 합니다. 실제로 몇 시간 또는 근무일 기간도 괜찮습니다. 인증서 내의 만료 날짜는 인증서를 무효화하지 않고 위조될 수 없습니다. 따라서 어떤 시스템도 인증서를 검증할 수 있습니다.

X.509 인증서

X.509 인증서는 웹사이트에 접속할 때 사용하는 동일한 인증서입니다. 인증 기관의 서명으로 신원을 공개 키에 연결합니다.

x.509 인증서
x.509 단기 인증서의 예

텔레포트는 쿠버네티스, 데이터베이스, 웹 서비스 및 자체 내부 구성 요소인 프록시, 인증 서비스와 함께 상호 인증된 TLS 연결을 설정하기 위해 x.509 인증서를 사용합니다.

OpenSSH 인증서

OpenSSH 인증서는 X.509(웹) 인증서와 유사하며, 인증 기관의 서명으로 사용자 또는 서버의 신원을 공개 키에 연결합니다.

SSH 인증서
SSH 단기 인증서의 예

OpenSSH 인증서는 사용자를 인증하고 호스트를 인증하는 데 사용되는 메타데이터를 포함합니다:

  • 이 인증서가 소속된 주체(신원)의 목록.
  • 이를 발급한 인증 기관의 서명.
  • "유효 기간" 또는 단순히 TTL로 알려진 만료 날짜.
  • 노드 역할과 같은 추가 데이터는 인증서 확장으로 저장됩니다.

시간을 내 편으로 만들기

만료는 보안에 유리하게 작용하는 인증서의 기능입니다. SSH 및 X.509 인증서는 서명과 함께 서버에서 검증되는 선택적 만료 날짜를 포함합니다.

단기 인증서
SSH 단기 인증서의 예

위의 다이어그램에서 앨리스는 단기 SSH 인증서를 받지만, 텔레포트에 의해 발급된 X.509 인증서와 쿠버네티스, 데이터베이스, 웹 앱 및 데스크탑에 사용되는 동일한 규칙이 적용됩니다.

텔레포트는 몇 시간에서 몇 분 동안 유효한 인증서를 발급하며, 아무런 조치 없이 자동으로 만료됩니다. 폐기 목록을 배포하는 대신 텔레포트는 시간을 이용해 일을 처리합니다.

경우에 따라 인증서 만료가 빠르지 않으며, 모든 세션을 즉시 종료해야 할 수 있습니다. 예를 들어, 보안 사고가 발생했을 때입니다. 이 경우 텔레포트 프록시는 세션 및 신원 잠금을 사용하여 라이브 연결을 종료할 수 있습니다.

사용자용 단기 인증서

사용자에게 인증서를 발급하기 위해 텔레포트는 로그인 화면을 열고 인증서를 발급하여 사용자의 컴퓨터로 제공합니다:

우리는 GitHub, Okta 또는 기타 신원 제공자를 사용하여 SSO를 이용하고 인증서를 받는 것을 추천합니다.

단기 인증서에 대한 SSO 교환
단기 인증서와 함께하는 SSO 교환

서비스용 단기 인증서

Jenkins와 같은 배포 자동화 서비스는 텔레포트의 머신 ID 서비스를 사용하여 인증서를 수신하고 갱신할 수 있습니다. 텔레포트 머신 ID의 봇은 서비스와 함께 실행되며 SSH 및 X.509 인증서를 회전합니다.

서비스용 인증서
머신 ID 인증서

내부 인증서

텔레포트 내부 서비스인 인증 서비스, 프록시 서비스, 에이전트 및 머신 ID 봇은 클러스터 내에서 자신을 식별하기 위해 인증서를 사용합니다. 서비스를 클러스터에 추가하고 인증서를 수신하기 위해 관리자는 단기 토큰 또는 클라우드 신원 서비스를 사용해야 합니다.

사용자 및 서비스와 달리 내부 서비스는 장기 인증서를 받습니다.

이 인증서를 갱신하려면 관리자는 인증 기관 회전을 사용해야 하며, 이는 만료와 관계없이 모든 이전에 발급된 인증서를 무효화하고 새로운 인증 기관을 사용하여 새로운 인증서를 발급하는 과정입니다.

실제로 인증서 회전을 수행하는 방법을 배우려면 인증서 회전 가이드를 확인하십시오.

전체 클러스터 인증서를 회전하지 않고도 손상될 수 있는 노드, 프록시 또는 인증 서비스를 빠르게 잠금하려면 노드 세션 및 신원 잠금을 사용하십시오.

더 많은 개념

Teleport 원문 보기