이제 디지털 트랜스포메이션과 소프트웨어 도입은 모든 산업에서 필수가 됐습니다. IT, DevOps 환경은 실시간으로 변화하고 있고요. 이에 발맞춰 다양한 기술, 도구, 방법론도 새롭게 나오고 있죠. 아울러 소프트웨어가 기하급수적으로 늘어나면서 운영 환경은 갈수록 복잡해지고 있는데요. 조직에서 이를 관리할 때 어려움이 많습니다. 특히 자원 접근 관리, 권한 관리가 제대로 이뤄지지 않으면 보안 취약점이 발생하고요. 시스템 변조와 데이터 유출 등 위험도 생길 수 있죠.
인프라 접근 관리 도구인 Teleport는 이러한 문제점을 손쉽게 해결하는 수단으로 요즘 주목받습니다. Teleport를 사용하면 SSH, Windows 접속, Kubernetes 클러스터, DBMS(데이터베이스 관리 시스템) 접속, 웹 애플리케이션에 더 쉽게 접근하도록 설정할 수 있는데요. 조직에서 멤버 관리, 인프라 자산 관리, 권한 관리, 보안 준수 등의 복잡성을 해소하고, 시간을 아끼고 싶다면 이 도구를 사용해볼만 합니다.
인포그랩에서는 사내에 Teleport를 도입해 인프라 접근 관리의 안전성과 효율성을 높였고요. 서버를 증설하거나, 팀별 또는 멤버별로 작업 수행 범위가 바뀌더라도 최소 권한을 유지하고, 서버와 환경을 설정하기 더 편리해졌습니다. 이 글에서는 Teleport 기능과 동작 방식, 활용 방법, 인포그랩의 도입 사례를 자세히 소개하겠습니다.
Teleport란?
Teleport 서비스 개념도. 출처=TeleportTeleport는 인증, 인가, 자원 관리 등 인프라 운영에 필요한 복잡한 프로세스를 중앙 집중식으로 간소화하고 효율적으로 관리하는 도구입니다. 이 도구는 DevOps 생태계에서 사용하는 대부분의 인프라 서비스에서 작동하도록 설계됐는데요. 현재 Teleport에서는 다음 항목을 지원합니다.
- SSH
- Kubernetes
- Database
- WebApp
- Windows
- AWS Console
Teleport 아키텍처
Teleport 아키텍처는 여러 서비스를 구성, 연동하여 클러스터 형태로 동작합니다. Teleport를 사용하려면 Auth Service, Proxy Service, Agents를 필수로 구성해야 합니다.
Auth Service. 출처=Teleport-
**Auth Service : **클라이언트(사용자, 서버 등)에게 인증서를 발급하고 Audit 로그를 유지 관리합니다. 이는 일반적으로 Private 네트워크에 위치하며 외부에서 접근할 수 없습니다.
Proxy Service. 출처=Teleport
-
**Proxy Service : **사용자 요청 처리, 자격 증명을 Auth Service에 전달하며, 리소스 접근을 담당합니다. 이는 Public 네트워크에 위치하며 외부에서 접근할 수 있습니다.
-
**Agents : **Teleport에서 관리할 인프라 서비스 등록, 인프라 접근을 담당합니다. 이는 등록할 인프라 서비스와 동일한 네트워크에서 실행되며, 해당 인프라 서비스와 같은 기본 프로토콜을 사용합니다. 사용자 요청을 대상 리소스로 라우팅하는 ‘사이드카’ 형태와 비슷합니다.
이외에도 Teleport에는 SSH Service, Kubernetes Service, Database Service 등 다양한 서비스가 있습니다. 이러한 서비스를 이용하려면 Teleport 클러스터에 각 서비스를 구성하고, 연동해야 합니다.
Teleport 접근 관리 방식
사용자가 인프라 서비스에 안전하고 효율적으로 접근하도록 Teleport에서 지원하는 인증, 인가 방식을 알아보겠습니다.
인증 방식
Teleport에서는 **인증 기관(Certificate Authorities)과 단기 인증서(Short-Lived Certificates)**를 인증 방식으로 활용합니다. Teleport를 이용할 때는 모든 사용자와 인프라 서비스가 ‘신뢰하는 인증 기관’이 발급한 유효한 인증서가 있어야 합니다. 참고로 Teleport에서는 SSH 인증에 Open SSH를, 나머지 인증(Kubernetes, Database 등)에 단기 인증서를 사용합니다. Teleport에서 인증서를 사용하는 이유는 다음과 같습니다.
- 인증서는 사용자 또는 서비스 ID와 매핑됩니다. 이에 모든 연결과 작업은 사용자나 서비스로 추적될 수 있습니다.
- 단기 인증서는 유효 기간이 짧아 자동으로 만료됩니다. 이는 삭제하거나 유지 관리하지 않아도 돼 편리합니다.
- 인증서는 최초 사용 신뢰(TOFU) 문제를 해결합니다. Teleport 클러스터에서는 모든 서버에 고유한 ID와 인증서가 있습니다. ‘신뢰할 수 없는 인증 기관’이 클라이언트 인증서에 서명하면 연결을 허용하지 않습니다.
- 인증서는 상호 인증 채널인 mTLS를 활성화합니다. mTLS는 스푸핑, 온 패스 공격, 크리덴셜 스터핑 등 다양한 공격을 완화합니다.
아래는 각 인증서에 포함된 메타데이터 항목입니다.
Teleport 인증서. 출처=Teleport*스푸핑(spoofing): 공격자가 네트워크, 웹사이트 등의 데이터 위변조를 활용해 정상 시스템인 것처럼 위장하여 일반 사용자를 속이는 해킹 기법
*온 패스 공격(On-path attack): 두 장치(웹 브라우저와 웹 서버) 사이에 자신을 배치하고 두 장치 간 통신을 가로채거나 수정하는 공격
*크리덴셜 스터핑(Credential Stuffing): 해커가 다크 웹에서 구매한 인증 정보를 활용해 봇으로 웹사이트에 계속 접속하려 시도하는 자동화된 사이버 공격