Infograb logo
신뢰할 수 있는 장치 관리

전제 조건

  • 실행 중인 Teleport 클러스터. Teleport를 시작하려면 가입하기 무료 체험판을 이용해 보세요.

  • tctl 관리 도구 및 tsh 클라이언트 도구 버전 >= 16.2.0.

    tctltsh 다운로드 방법에 대한 지침은 설치를 방문하세요.

  • macOS 장치를 등록하려면 다음이 필요합니다:
  • Windows 장치를 등록하려면 다음이 필요합니다:
  • Linux 장치를 등록하려면 다음이 필요합니다:
    • TPM 2.0이 있는 장치.
    • /dev/tpmrm0 장치를 사용할 수 있는 권한이 있는 사용자(일반적으로 tss 그룹을 사용자에게 할당하여 수행합니다).
    • tsh v15.0.0 이상. Linux용 tsh 설치.
  • 웹 UI 세션을 인증하려면 Teleport Connect가 필요합니다.

신뢰할 수 있는 장치 등록

tctl 도구는 장치 인벤토리를 관리하는 데 사용됩니다. 장치 관리자는 장치를 관리하고, 새로운 장치를 인벤토리에 추가하며, 더 이상 사용되지 않는 장치를 제거할 책임이 있습니다.

자기 등록

editor 또는 device-admin 역할이 사전 설정된 사용자는 다음 명령어를 사용하여 단일 단계에서 장치를 등록하고 등록할 수 있습니다:

tsh device enroll --current-device
Jamf Pro와 동기화

Teleport는 Jamf Pro와의 장치 동기화를 지원합니다. 구성되고 나면 장치는 Teleport의 장치 인벤토리에 자동으로 업데이트됩니다.

장치를 등록하기 전에 장치를 등록해야 합니다. 장치를 등록하려면 먼저 장치의 일련 번호를 확인해야 합니다.

일련 번호를 tsh를 사용하여 검색합니다 (등록하려는 장치에서 실행해야 함):

tsh device asset-tag
C00AA0AAAA0A

일련 번호는 Apple 메뉴 -> "이 Mac에 관하여" -> "일련 번호"에서 확인할 수 있습니다.

Windows 및 Linux 장치는 제조업체에 의해 구성된 내용에 따라 여러 일련 번호를 가질 수 있습니다.

Teleport는 다음 항목에서 첫 번째로 사용할 수 있는 값을 선택합니다:

  • 시스템 자산 태그
  • 시스템 일련 번호
  • 메인보드 일련 번호

Teleport에서 선택한 값을 찾으려면 다음 명령어를 실행하세요:

tsh device asset-tag
C00AA0AAAA0A

대상 장치의 일련 번호로 C00AA0AAAA0A를 교체하고 tctl devices add 명령어를 실행하세요:

tctl devices add --os='macos' --asset-tag='C00AA0AAAA0A'
장치 C00AA0AAAA0A/macos가 인벤토리에 추가되었습니다.

tctl을 사용하여 장치가 등록되었는지 확인하세요:

tctl devices ls
Asset Tag OS Enroll Status Device ID------------ ----- ------------- ------------------------------------C00AA0AAAA0A macOS 등록되지 않음 9cdfc0ad-64b7-4d9c-this-is-an-example

장치 등록 토큰 생성

등록된 장치는 등록 절차를 거친 후 신뢰할 수 있는 장치가 됩니다. 장치를 등록하려면 장치 등록 토큰이 필요합니다. 이 토큰은 장치 관리자가 생성하고 등록을 수행하는 사람에게 오프밴드(예: 기업 채팅)를 통해 전달합니다.

등록 토큰을 생성하려면 아래 명령어를 실행하세요. 여기서 --asset-tag는 등록하려는 장치의 일련 번호입니다:

tctl devices enroll --asset-tag="C00AA0AAAA0A"
다음 명령어를 장치 "C00AA0AAAA0A"에서 실행하여 등록하세요:tsh device enroll --token=AAAAAAAAAAAAAAAAAAAAAAAA-this-is-an-example

신뢰할 수 있는 장치 등록

등록 절차를 수행하려면 위에서 지정한 장치를 사용하여 tctl devices enroll가 출력한 명령어를 입력하세요:

tsh device enroll --token=AAAAAAAAAAAAAAAAAAAAAAAA-this-is-an-example
장치 "C00AA0AAAA0A"/macOS 등록됨
tsh logout
tsh login --proxy=teleport.example.com --user=myuser # 새 인증서 가져오기
Teleport 사용자 myuser의 비밀번호를 입력하세요:모든 보안 키를 누르세요보안 키 터치 감지됨> 프로필 URL: teleport.example.com:443 로그인한 사용자: myuser 클러스터: teleport.example.com 역할: access, editor 로그인: myuser Kubernetes: 활성화됨 유효 기간: 2023-06-23 02:47:05 -0300 -03 [12시간 유효] 확장 프로그램: teleport-device-asset-tag, teleport-device-credential-id, teleport-device-id

teleport-device-* 확장 프로그램이 존재하면 장치가 성공적으로 등록되고 인증되었음을 나타냅니다. 위의 장치는 이제 신뢰할 수 있는 장치입니다.

자동 등록

여러 사용자에게 등록 토큰을 배포하는 것은 어려울 수 있습니다. 이를 해결하기 위해 Teleport는 자동 등록을 지원합니다. 활성화하면, 자동 등록은 사용자의 장치를 다음 Teleport(tsh) 로그인 중에 자동으로 등록합니다.

자동 등록이 작동하려면 다음 조건이 충족되어야 합니다:

  • 장치가 등록되어 있어야 합니다. 등록은 수동으로 하거나 Jamf Pro 통합과 같은 통합을 통해 수행할 수 있습니다.
  • 자동 등록은 클러스터 설정에서 활성화되어야 합니다.
  • 사용자는 사전 설정된 editor 또는 device-enroll(v13.3.6 이상)에 역할이 할당되어야 합니다.
Tip

Teleport v16.1.1부터 사용자는 자동 등록을 이용하기 위해 device/enroll 권한이 필요하지 않습니다.

클러스터 설정에서 자동 등록을 활성화하세요:

Choose one of the options

동적 구성 리소스를 tctl edit cluster_auth_preference로 수정하세요:

kind: cluster_auth_preference
version: v2
metadata:
  name: cluster-auth-preference
spec:
  # ...
  device_trust:
    mode: "필수"
+   auto_enroll: true

Auth Server의 teleport.yaml 파일을 수정하세요:

auth_service:
  authentication:
    # ...
    device_trust:
+     auto_enroll: true

변경 사항을 저장한 후, Teleport 서비스를 재시작하세요.

일단 활성화되면, Teleport에 장치가 등록된 사용자는 다음 로그인에서 Teleport에 등록이 될 것입니다.

tsh logout
모든 사용자가 로그아웃되었습니다.
tsh login --proxy=teleport.example.com --user=myuser
Teleport 사용자 myuser의 비밀번호를 입력하세요:모든 보안 키를 누르세요보안 키 터치 감지됨> 프로필 URL: teleport.example.com:443 로그인한 사용자: myuser 클러스터: teleport.example.com 역할: access, editor 로그인: myuser Kubernetes: 활성화됨 유효 기간: 2023-06-23 02:47:05 -0300 -03 [12시간 유효] 확장 프로그램: teleport-device-asset-tag, teleport-device-credential-id, teleport-device-id

teleport-device-* 확장 프로그램이 존재하면 장치가 성공적으로 등록되고 인증되었음을 나타냅니다.

신뢰할 수 있는 장치 제거

더 이상 사용하지 않는 장치는 tctl devices rm --device-id=<ID> 또는 tctl devices rm --asset-tag=<SERIAL>을 사용하여 제거할 수 있습니다.

먼저 삭제할 장치를 찾습니다:

tctl devices ls
Asset Tag OS Enroll Status Device ID------------ ----- ------------- ------------------------------------C00AA0AAAA0A macOS 등록됨 c9cbb327-68a8-497e-b820-6a4b2bf58269

이제 자산 태그 또는 장치 ID를 사용하여 장치를 삭제합니다:

자산 태그를 사용하여 삭제:

tctl devices rm --asset-tag=C00AA0AAAA0A
장치 "C00AA0AAAA0A"가 제거되었습니다.

장치 ID를 사용하여 삭제:

tctl devices rm --device-id=c9cbb327-68a8-497e-b820-6a4b2bf58269
장치 "c9cbb327-68a8-497e-b820-6a4b2bf58269"가 제거되었습니다.

TPM EKCert CA 허용 목록 구성

이 조언은 TPM을 사용하는 플랫폼(예: Windows 및 Linux)의 장치 신뢰에만 적용됩니다.

일부 TPM에는 제조업체의 인증서 기관(CA)이 서명한 인증서(일명 EKCert)가 포함되어 있습니다. 이 인증서를 통해 제3자(예: Teleport 클러스터)는 통신하고 있는 TPM이 정품임을 알 수 있습니다. 이를 통해 관리자는 장치가 등록 이전에 변조되지 않았는지 확인하는 부담을 상당히 줄일 수 있습니다.

기본적으로 Teleport 클러스터는 EKCert를 검증하지 않습니다. 이는 모든 TPM이 EKCert를 포함하지 않으며, 제조업체의 CA에 대한 지식 없이는 EKCert를 검증할 수 없기 때문입니다. 이 검증은 ekcert_allowed_cas라는 Teleport 구성 필드를 포함하여 활성화됩니다.

구성이 완료되면, 지정된 CA에서 서명된 EKCert가 포함된 TPM을 갖춘 장치만 등록할 수 있습니다. 이전에 등록된 장치는 영향을 받지 않습니다.

ekcert_allowed_cas를 구성하려면 먼저 장치에 포함된 TPM의 제조업체에서 PEM 형식의 CA 인증서를 받아야 합니다. 이 단계는 제조업체마다 다릅니다.

PEM 형식의 CA 인증서를 받은 후, ekcert_allowed_cas를 구성하는 방법은 두 가지가 있습니다:

  • Teleport 구성 파일을 사용하여 정적으로 구성합니다. 이는 가장 간단한 방법이지만, Teleport Cloud 클러스터에는 불가능하며 고가용성 구성의 클러스터에는 권장되지 않습니다.
  • cluster_auth_preference 리소스를 사용하여 동적으로 구성합니다. 이 방법은 모든 클러스터에서 작동하며, 가장 유연합니다.

Choose one of the options

동적 구성 리소스를 tctl edit cluster_auth_preference로 수정하세요:

kind: cluster_auth_preference
version: v2
metadata:
  name: cluster-auth-preference
spec:
  ...
  device_trust:
    mode: "필수" # 이 라인 추가
+    ekcert_allowed_cas:
+      # CA는 리소스 내에서 인라인으로 구성됨:
+      - |
+        -----BEGIN CERTIFICATE-----
+        --snip--
+        -----END CERTIFICATE-----

Auth Server의 teleport.yaml 파일을 수정하고 재시작하세요:

auth_service:
  authentication:
    ...
    device_trust:
+      ekcert_allowed_cas:
+      # CA는 구성 파일 내 인라인으로 설정할 수 있습니다:
+      - |
+        -----BEGIN CERTIFICATE-----
+        --snip--
+        -----END CERTIFICATE-----
+      # 또는 경로를 사용하여 구성할 수 있습니다:
+      - /path/to/my/ekcert-ca.pem

문제 해결

tsh device enroll에서 "이진 파일이 누락된 서명 또는 권한"

신뢰할 수 있는 장치를 등록하고 사용하려면 서명되고 공증된 tsh 이진 파일이 필요합니다. 문제를 해결하려면 macOS tsh 설치 프로그램 다운로드를 하십시오.

신뢰할 수 있는 장치를 사용하여 "무단 장치" 오류 발생

신뢰할 수 있는 장치는 Teleport에 의해 신뢰할 수 있는 장치로 인식되기 전에 등록하고 등록해야 합니다. 등록등록 단계를 따르고, 등록 후 tsh logouttsh login을 수행하세요.

리눅스에서 "TPM 장치를 열 수 없음" 오류 발생

리눅스 사용자는 TPM 장치인 /dev/tpmrm0에서 읽고 쓸 수 있는 권한이 필요합니다. 이러한 권한이 없으면 대부분의 작업에 대해 tshsudo 프롬프트가 필요하게 됩니다.

가장 간단한 해결책은 배포판이 tss 그룹을 제공하는지 확인하고 이를 운영 체제 사용자에게 할당하는 것입니다. 그게 불가능하거나 다른 해결책을 원하는 경우, TPM2 소프트웨어 스택에서 제공하는 것과 유사한 udev 규칙을 생성하는 것을 권장합니다.

앱 접근 및 "이 앱에 대한 접근은 신뢰할 수 있는 장치를 요구합니다"

아래의 웹 UI 문제 해결 섹션에서 지침을 따르십시오 (Teleport v16 이상).

대안으로, 앱 접근 지원에서 설명한 tsh 명령 중 하나를 사용할 수 있습니다. 예를 들어, myapp이라는 앱의 경우, tsh proxy app myapp -p 8888을 실행한 후 브라우저에서 http://localhost:8888을 여세요.

이미 tsh proxy app을 실행 중이거나 tsh app login에서 획득한 인증서를 사용 중인 경우, 장치가 등록되지 않았거나 등록되지 않았을 가능성이 큽니다. 이 경우, 위의 신뢰할 수 있는 장치를 사용한 무단 장치 섹션의 조언을 따르세요.

데스크탑 접근 및 "이 앱에 대한 접근은 신뢰할 수 있는 장치를 요구합니다"

아래의 웹 UI 문제 해결 섹션에서 지침을 따르세요.

웹 UI가 신뢰할 수 있는 장치를 인증하지 못함

웹 UI는 로그인 중에 Teleport Connect를 사용하여 장치를 인증하려고 시도합니다. 로그인 후 즉시 장치를 인증하라는 요청을 받지 않는 경우, 아래 단계를 따르세요:

  1. 장치가 등록되고 등록되었는지 확인하세요.
  2. Teleport Connect를 설치하세요. 리눅스에서는 DEB 또는 RPM 패키지를 사용합니다 (tarball은 사용자 정의 URL 핸들러를 등록하지 않습니다).
  3. Teleport Connect가 웹에서 접근하려는 동일한 리소스에 접근할 수 있는지 확인하세요.
  4. 클러스터 관리자가 장치 신뢰가 활성화되었는지 확인하세요 (클러스터 모드 "선택적" 이상).

위의 모든 단계를 완료한 후, 웹 UI에서 로그아웃하고 다시 로그인해보세요.

웹 UI에서 장치 신뢰 인증 상태 확인

웹 UI에서 장치 신뢰를 사용할 수 있도록 성공적으로 인증된 경우, 사용자는 화면 오른쪽 상단에 로그인한 사용자 이름 옆에 녹색 방패 아이콘이 표시됩니다. 또한 사용자 이름을 클릭하여 사용자 메뉴를 표시하면 세션이 장치 신뢰로 인증되었음을 나타냅니다.

웹 UI에서 장치 신뢰를 사용할 수 없는 사용자는 클러스터 전체 구성 또는 할당된 역할이 신뢰할 수 있는 장치를 요구할 경우, 로그인한 사용자 이름 옆에 노란색 경고 방패 아이콘이 표시됩니다. 또한 사용자 이름을 클릭하여 사용자 메뉴를 표시하면 세션이 장치 신뢰로 인증되지 않았음을 나타내므로 사용자의 접근이 제한됩니다.

테마장치 신뢰로 인증된 세션장치 신뢰로 인증되지 않은 세션
라이트device-trust-trusted-shield-light-success.pngdevice-trust-trusted-shield-light-failure.png
다크device-trust-trusted-shield-dark-success.pngdevice-trust-trusted-shield-dark-failure.png

다음 단계

Teleport 원문 보기