Gravitational Teleport로 서버 액세스 보호하기

SSH 액세스 보안은 서버 인프라의 무결성과 보안을 유지하는 데 중요합니다. 서버 액세스를 효과적으로 보호하는 데 어려움을 겪고 있다면 걱정하지 마십시오. Gravitational Teleport은 팀이 SSH 보안을 관리하고 강화하는 방식을 혁신하는 첨단 솔루션이 등장합니다.

이 자습서에서는 Teleport의 복잡성을 해체하여 서버 인프라를 보호하는 데 필수적인 지식을 제공합니다. 원활한 액세스 관리부터 견고한 보안 기능까지, Teleport이 서버 액세스를 어떻게 보호하는지 살펴볼 것입니다.

Gravitational Teleport으로 마스터 서버 보안을 강화하세요!

필수 조건

이 Gravitational Teleport 자습서를 시작하려면 일정한 기본 지식과 자원이 필요합니다. 따라서 이 자습서를 따라가려면 아래 나열된 필수 조건이 충족되었는지 확인하십시오:

  • 두 개의 Linux 서버: 하나는 (호스트) 배스천 호스트로 사용되며, 다른 하나는 Teleport을 사용하여 SSH 액세스를 제한하는 데 사용됩니다 – 이 자습서는 두 개의 Ubuntu 22.04 EC2 인스턴스를 사용합니다.
  • 호스트 서버에 대한 허용된 HTTPS 인바운드 트래픽(클라우드 제공업체의 문서 참조).

💡 참고: 이 튜토리얼은 AWS EC2 인스턴스를 사용합니다. 필요한 변경 사항은 보안 그룹 > 인바운드 규칙에 적용됩니다. 보안 그룹 인바운드 규칙을 구성하는 방법에 대한 AWS 문서를 참조하십시오.

  • A registered domain name with DNS A record pointing to your host server’s IP address.
  • A multi-factor authenticator app such as Authy, Google Authenticator, or Microsoft Authenticator.

우분투에 Gravitational Teleport 설치 및 구성하기

DNS가 설정되어 있다면 Ubuntu 서버에 견고한 보안 기능인 Gravitational Teleport을 장착해야 합니다. 적절한 보안 조치 없이는 서버가 불법적으로 접근당하고 잠재적인 침해를 받을 수 있습니다.

Gravitational Teleport은 강력한 요새를 보장하여 승인된 사용자만 서버 요새에 액세스할 수 있도록 합니다.

Gravitational Teleport을 설치하고 구성하려면 다음을 수행하십시오:

1. 호스트 서버로 SSH를 실행하여 패키지 관리자의 저장소를 업데이트하고 Teleport을 설치하십시오. 현재 기록 시점에서 최신 버전은 15.1.9이지만 항상 모든 릴리스를 확인할 수 있습니다.

curl https://goteleport.com/static/install.sh | bash -s 15.1.9

💡 참고: 이 튜토리얼은 Advanced Package Tool (APT) 패키지 관리자를 사용합니다. 텔레포트 설치 스크립트가 제대로 작동하지 않는 경우 패키지 관리자에 맞게 설치 지침을 위한 공식 텔레포트 문서를 방문하십시오.

위의 설치 스크립트를 실행한 후 유사한 출력이 나와야 합니다.

Installing Teleport on Ubuntu

2. 설치한 후 다음과 같은 systemctl 명령을 실행하여 teleport 서비스의 상태를 확인합니다.

systemctl status teleport

아래와 같이 현재 텔레포트가 비활성화되어 있습니다.

텔레포트 서비스를 활성화하고 시작하기 전에 다음 단계에서 텔레포트를 위한 몇 가지 설정을 해야 합니다.

Checking the Teleport service status

3. 다음을 실행하여 teleport 명령을 실행합니다:

  • 텔레포트를 시작하기 위해 설치 중에 설정된 텔레포트 Systemd 서비스에는 이 파일이 필요합니다.
  • ACME 인증서 등록 및 알림을 위한 이메일 주소 ( <YOUR_EMAIL>을(를) 대체합니다)를 지정하십시오. --acme 플래그는 텔레포트가 Let’s Encrypt에서 자동으로 인증서를 가져오도록 지시합니다.
  • 텔레포트 --cluster-name을 지정하십시오. 일반적으로 텔레포트 프록시 서버의 URL에 해당합니다 (<YOUR_TELEPORT_PROXY_URL>을(를) 대체하십시오).
sudo teleport configure -o /etc/teleport.yaml \--acme --acme-email=<YOUR_EMAIL> \--cluster-name=<YOUR_TELEPORT_PROXY_URL>

구성을 올바르게 설정하면 터미널에서 다음 출력을 볼 수 있습니다.

Configuring Teleport

4. 이제 각 명령을 실행하여 텔레포트 서비스를 활성화하고 시작하십시오.

이러한 명령은 터미널에 출력이 없지만 다음 단계에서 변경 사항을 확인할 수 있습니다.

# 부팅시 텔레포트 서비스를 자동으로 시작하도록 설정sudo systemctl enable teleport# 텔레포트 서비스 시작sudo systemctl start teleport

5. 마지막으로 아래 systemctl 명령을 실행하여 텔레포트 서비스의 상태를 확인하십시오.

systemctl status teleport

아래 출력은 텔레포트 서비스가 활성화되어 실행 중임을 확인합니다. 이는 UI에 액세스하고 작업을 수행할 수 있음을 나타냅니다.

Verifying the Teleport service is active and running

텔레포트 웹 UI 액세스 및 관리자 자격 증명 설정

텔레포트는 작동 중이지만 사용자 액세스를 원활하게 관리하고 세션을 모니터링하고 서버 인프라를 감시하는 방법은 무엇입니까? 웹 브라우저에서 텔레포트와 상호 작용하여 편안하게 할 수 있지만 먼저 웹 UI 액세스와 관리자 사용자 자격 증명을 설정해야 합니다.

텔레포트 웹 UI 액세스 및 관리자 자격 증명 설정을 위해 다음 단계를 따르십시오:

1. 우분투에서 Gravitational Teleport 설치 및 구성 섹션의 3단계에서 구성한 Teleport 프록시 URL을 방문하세요(예: https://teleport.example.com).

성공하면 아래 Teleport 로그인 페이지에 환영을 받게 됩니다. 아쉽게도 아직 로그인할 수 없습니다. 관리자 사용자를 설정하고 2단계 인증을 설정해야 합니다(2단계).

Accessing the Teleport sign-in page

2. 호스트 서버에서 다음 Teleport CLI 도구(tctl) 명령을 실행하여 다음을 수행하세요.

  • Teleport admin 사용자를 만듭니다(add).
  • admin 사용자가 지정된 로그인(root, ec2-user, ubuntu)으로 SSH 호스트에 로그인할 수 있도록 허용합니다.
  • 관리자 사용자에게 역할 accesseditor를 할당합니다.
sudo tctl users add admin --roles=access,editor --logins=root,ec2-user,ubuntu 

추가되면 성공적인 관리자 사용자 생성을 나타내는 출력에서 생성된 초대 링크를 복사합니다.

Creating a dedicated Teleport admin user

3. 3단계에서 복사한 초대 링크로 새 브라우저 탭을 이동하고 아래와 같이 환영 페이지에서 GET STARTED를 클릭하세요. 이 작업을 통해 관리자 사용자 설정을 시작할 수 있습니다.

Accessing the Teleport sign-in page

4. 다음으로 관리자 사용자에 대한 강력한 암호를 제공하고 확인한 다음 NEXT를 클릭하여 진행하세요.

Setting the admin password

5. 인증 앱을 열고 QR 코드를 스캔하여 필수 필드에 생성된 Authenticator Code를 입력한 후 SUBMIT을 클릭하세요.

이 과정을 통해 기기에 추가 보안 계층을 제공하는 2단계 인증을 설정할 수 있습니다.

Setting up two-factor authentication

6. 이제, CLUSTER로 이동을 클릭하여 텔레포트 계정에 액세스합니다.

Accessing the Teleport dashboard

브라우저가 텔레포트가 실행되는 호스트 서버를 보여주는 아래와 같은 텔레포트 대시보드로 리디렉션됩니다. 호스트 서버가 현재 텔레포트에서 처리하는 유일한 사용 가능한 리소스임을 주의하십시오.

Overviewing the Teleport dashboard

텔레포트로 리소스 추가 및 관리하기

이제 당신은 텔레포트 대시보드에 액세스할 수 있습니다. 이 대시보드에는 현재 사용 가능한 리소스가 하나뿐입니다. 그러나 중앙 집중식 플랫폼은 여러 리소스를 관리할 수 있는 경우에 진정으로 빛을 발합니다.

텔레포트의 강력한 리소스 관리 기능을 사용하면 단일 인터페이스에서 추가 서버, 데이터베이스 또는 기타 인프라 구성 요소를 손쉽게 온보딩할 수 있습니다.

텔레포트를 사용하여 리소스를 관리하려면 다음 단계를 따르십시오:

1. 텔레포트 대시보드에서 새 리소스 등록을 시작하려면 새 리소스 등록 (우측 상단)을 클릭하십시오.

Enrolling a new resource

2. 텔레포트를 사용하여 액세스를 보호할 수 있는 다양한 리소스 중 하나를 선택하십시오. 이 튜토리얼의 선택은 아래에 표시된 것처럼 Ubuntu 14.04+ 서버입니다.

Selecting a resource to add for access management

3. 텔레포트가 생성한 명령을 복사하십시오. 이 명령은 다음 단계에서 실행할 것입니다.

Copying the generated command

4. 이제 두 번째 서버에서 터미널을 열고 세 번째 단계에서 복사한 명령을 실행하십시오.

성공하면 아래 스크린샷과 같은 출력이 표시됩니다.

Adding a second server to Teleport

5. 추가된 후에는 다음을 클릭하고 연속 프롬프트를 완료하기 위해 다음완료를 클릭하십시오.

Proceeding with configuring the new resource

6. 마지막으로, 텔레포트 대시보드로 이동하여 아래 그림과 같이 새로 추가된 인스턴스를 확인할 수 있습니다.

Confirming the new Teleport instance is successfully added

결론

여기까지입니다. Gravitational Teleport가 성공적으로 설치되고 구성되었으며, 텔레포트 웹 UI가 설정되었고 관리자 자격 증명이 설정되었습니다. 이 튜토리얼을 통해 서버 액세스를 효과적으로 보호하고 관리하는 데 유용한 통찰력을 얻었습니다!

이제 이 새롭게 얻은 지식을 한 단계 업그레이드해보는 것은 어떨까요? 로컬 머신에 텔레포트 CLI(tsh)를 설치하고 UI 대신 CLI를 통해 텔레포트 서버에 연결해 보세요.

쿠버네티스 클러스터와 같은 더 많은 리소스에 대한 액세스 관리를 구현하세요!

Source:
https://adamtheautomator.com/gravitational-teleport/