Infograb logo
세션별 MFA

Teleport는 다음과 같은 새로운 세션을 시작할 때 추가 다단계 인증(MFA) 검사가 필요하도록 지원합니다:

  • SSH 연결 (단일 tsh ssh 호출, 웹 UI SSH 세션 또는 Teleport Connect SSH 세션)
  • Kubernetes 세션 (단일 kubectl 호출)
  • 데이터베이스 세션 (단일 tsh db connect 호출)
  • 애플리케이션 세션
  • 데스크탑 세션

이것은 사용자를 디스크에 저장된 Teleport 인증서의 손상을 방지하는 고급 보안 기능입니다.

세션별 MFA 외에도 SSO 공급자에서 로그인 MFA를 활성화하고 모든 로컬 Teleport 사용자 에 대해 보안을 강화합니다.

전제 조건

  • 실행 중인 Teleport 클러스터 버전 17.0.0-dev 이상. Teleport를 시작하려면 가입하여 무료 평가판을 이용하거나 데모 환경 설정 방법을 확인하십시오.

  • tctl 관리자 도구와 tsh 클라이언트 도구.

    tctltsh 다운로드 방법에 대한 지침은 설치를 방문하십시오.

  • 연결이 가능한지 확인하기 위해 tsh login 으로 로그인한 다음, 현재 자격 증명을 사용하여 tctl 명령어를 실행할 수 있는지 확인하십시오. 예를 들어:
    tsh login --proxy=teleport.example.com --user=email@example.com
    tctl status

    클러스터 teleport.example.com

    버전 17.0.0-dev

    CA 핀 sha256:abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678

    클러스터에 연결할 수 있고 tctl status 명령어를 실행할 수 있다면, 현재 자격 증명을 사용하여 워크스테이션에서 후속 tctl 명령어를 실행할 수 있습니다.
    자신의 Teleport 클러스터를 호스팅하는 경우, Teleport Auth Service를 호스팅하는 컴퓨터에서 전체 권한으로 tctl 명령어를 실행할 수도 있습니다.
  • 이 클러스터에 WebAuthn 구성됨 WebAuthn 지원
  • YubiKey 또는 SoloKey와 같은 두 번째 하드웨어 장치
  • SSH 또는 Teleport 웹 UI에서 데스크탑 세션을 사용하는 경우 WebAuthn 지원가 있는 웹 브라우저.
FIPS에 대한 세션별 MFA

Teleport FIPS 빌드는 로컬 사용자를 비활성화합니다. FIPS 빌드에서 세션별 MFA를 사용하기 위해 WebAuthn을 구성하려면 teleport.yaml 에 다음을 제공하십시오:

teleport:
  auth_service:
    local_auth: false
    second_factor: on
    webauthn:
      rp_id: teleport.example.com

세션별 MFA 구성

세션별 MFA는 클러스터 전체 또는 특정 역할에 대해서만 시행할 수 있습니다.

클러스터 전체

모든 역할에 대해 MFA 검사를 시행하려면 클러스터 인증 구성을 편집합니다.

cluster_auth_preference 리소스를 편집하십시오:

tctl edit cap

리소스에 다음 내용이 포함되어 있는지 확인하십시오:

kind: cluster_auth_preference
metadata:
  name: cluster-auth-preference
spec:
  require_session_mfa: true
version: v2

편집기에서 파일을 저장하고 닫아 변경 사항을 적용하십시오.

역할별

특정 역할에 대해 MFA 검사를 시행하려면 역할을 업데이트하여 다음을 포함하십시오:

kind: role
version: v7
metadata:
  name: example-role-with-mfa
spec:
  options:
    # 이 역할에 대해 세션별 MFA 요구
    require_session_mfa: true
  allow: ...
  deny: ...

역할별 시행은 역할의 allow 섹션과 일치하는 리소스에 대해 접근할 때만 적용됩니다.

역할 예제

역할에 대한 세션별 MFA 검사를 설정하는 예를 살펴보겠습니다.

Jerry는 회사 인프라에 접근할 수 있는 엔지니어입니다. 인프라는 개발 환경과 생산 환경으로 나누어져 있습니다. 보안 엔지니어인 Olga는 생산 서버에 접근할 때 MFA 검사를 시행하고자 합니다. 개발 서버는 엔지니어의 불편함을 줄이기 위해 이를 요구하지 않습니다.

Olga는 두 개의 Teleport 역할인 access-devaccess-prod 를 정의합니다:

# access-dev.yaml
kind: role
version: v7
metadata:
  name: access-dev
spec:
  allow:
    node_labels:
      env: dev
    logins:
      - jerry
---
# access-prod.yaml
kind: role
version: v7
metadata:
  name: access-prod
spec:
  options:
    # 생산 접근을 위한 세션별 MFA 요구
    require_session_mfa: true
  allow:
    node_labels:
      env: prod
    logins:
      - jerry
  deny: {}

Olga는 두 역할 모두를 모든 엔지니어, 즉 Jerry에게 할당합니다.

Jerry가 노드 dev1.example.com (로그인 jerryenv: dev 레이블을 가진) 에 로그인하면 특별한 일이 발생하지 않습니다:

tsh ssh jerry@dev1.example.com

jerry@dev1.example.com >

하지만 Jerry가 노드 prod3.example.com (로그인 jerryenv: prod 레이블을 가진) 에 로그인하면 MFA 검사를 요구받습니다:

tsh ssh jerry@prod3.example.com

Tap any security key <tap>


jerry@prod3.example.com >

OTP

tsh 를 제한된 환경에서 사용하는 경우, tsh --mfa-mode=otp ssh prod3.example.com 을 통해 OTP 사용을 설정할 수 있습니다.

OTP는 연결을 설정할 때 tsh 또는 Teleport Connect를 사용할 때만 세션별 MFA와 함께 사용할 수 있습니다. Teleport의 웹 UI에서 세션별 MFA를 사용하려면 하드웨어 MFA 키가 필요합니다.

세션별 MFA가 클러스터 전체에서 활성화된 경우, Jerry는 dev1.example.com 에 로그인할 때도 MFA를 요구받습니다.

데이터베이스 접근을 위한 세션별 MFA

Teleport 데이터베이스 서비스는 연결별 MFA를 지원합니다. Jerry가 데이터베이스 prod-mysql-instance (레이블 env: prod 로) 에 연결할 때, 각 tsh db connect 또는 tsh proxy db 호출에 대해 MFA 검사를 요구받습니다:

tsh db connect prod-mysql-instance

보안 키를 탭하십시오


MySQL 모니터에 오신 것을 환영합니다. 명령은 ; 또는 \g 로 끝납니다.

당신의 MySQL 연결 ID는 10002 입니다.

서버 버전: 8.0.0-Teleport (Ubuntu)

저작권 (c) 2000, 2021, Oracle과 그 자회사들.

Oracle은 Oracle Corporation 및 그 자회사들의 등록 상표입니다. 기타 이름은 각 소유자의 상표일 수 있습니다.

도움말은 'help;' 또는 '\h' 를 입력하십시오. 현재 입력 문장을 지우려면 '\c' 를 입력하십시오.

mysql>

제한 사항

이 기능의 현재 제한 사항은 다음과 같습니다:

  • 웹 UI 외의 SSH 연결의 경우, 세션별 MFA를 위해 tsh 또는 Teleport Connect 클라이언트를 사용해야 합니다.
    (OpenSSH ssh 클라이언트는 세션별 MFA와 작동하지 않습니다).
  • Kubernetes에 대한 세션별 WebAuthn 인증은 오직 kubectl 만 지원합니다.
  • 데스크톱 액세스의 경우, WebAuthn 디바이스만 지원됩니다.

다음 단계

Teleport 원문 보기