arrow_back

BeyondCorp Enterprise(BCE)를 활용한 가상 머신 보안

로그인 가입
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

BeyondCorp Enterprise(BCE)를 활용한 가상 머신 보안

Lab 1시간 30분 universal_currency_alt 크레딧 5개 show_chart 중급
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP1036

Google Cloud 사용자 주도형 실습

개요

이 실습에서는 BeyondCorp Enterprise(BCE) 및 IAP(Identity-Aware Proxy) TCP 전달을 사용하여 외부 IP 주소가 없거나 인터넷을 통한 직접 액세스를 허용하지 않는 VM 인스턴스에 대한 관리 액세스를 사용 설정하는 방법을 알아봅니다.

학습할 내용

  • Google Cloud 프로젝트에서 IAP TCP 전달 사용 설정
  • Linux 및 Windows 인스턴스에 대한 연결 테스트
  • BCE에 필요한 방화벽 규칙 구성
  • IAP TCP 전달을 사용할 권한 부여
  • SSH 및 RDP 연결을 활용한 터널링 시연

설정

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머에는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시됩니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간---실습을 시작하고 나면 일시중지할 수 없습니다.
참고: 계정에 추가 요금이 발생하지 않도록 하려면 개인용 Google Cloud 계정이나 프로젝트가 이미 있어도 이 실습에서는 사용하지 마세요.

실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.

    • Google 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google 콘솔 열기를 클릭합니다. 실습에서 리소스가 가동된 후 로그인 페이지가 표시된 다른 탭이 열립니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 실습 세부정보 패널에서 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다. 다음을 클릭합니다.

  4. 실습 세부정보 패널에서 비밀번호를 복사하여 시작 대화상자에 붙여넣습니다. 다음을 클릭합니다.

    중요: 왼쪽 패널에 표시된 사용자 인증 정보를 사용해야 합니다. Google Cloud Skills Boost 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  5. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 평가판을 신청하지 않습니다.

잠시 후 Cloud 콘솔이 이 탭에서 열립니다.

참고: 왼쪽 상단에 있는 탐색 메뉴를 클릭하면 Google Cloud 제품 및 서비스 목록이 있는 메뉴를 볼 수 있습니다. 탐색 메뉴 아이콘

RDP 클라이언트를 사전 설치해야 테스트 Windows 인스턴스에 연결하고 테스트할 수 있습니다.

작업 1. Google Cloud 프로젝트에서 IAP TCP 전달 사용 설정

  1. 탐색 메뉴를 열고 API 및 서비스 > 라이브러리를 선택합니다.

  2. IAP를 검색하고 Cloud Identity-Aware Proxy API를 선택합니다.

  3. 사용 설정을 클릭합니다.

Cloud Identity-Aware Proxy API

작업 2. Linux 및 Windows 인스턴스 만들기

이 실습을 위해 다음과 같이 세 개의 인스턴스를 만듭니다. - 시연을 위한 인스턴스 2개(Linux 및 Windows) - 연결 테스트를 위한 인스턴스 1개(Windows)

Linux 인스턴스

  1. 탐색 메뉴에서 Compute Engine을 선택합니다.

  2. 인스턴스 만들기를 클릭하고 다음 구성을 사용하여 VM을 만듭니다. 나머지 부분은 기본값으로 둡니다.

  • 이름: linux-iap
  • 영역:
  1. 고급 옵션을 클릭하고 네트워킹을 선택합니다. 네트워크 인터페이스에서 기본 네트워크를 클릭하여 수정합니다. 그런 다음 외부 IPV4 주소를 없음으로 변경합니다.

  2. 완료를 클릭합니다.

    네트워크 인터페이스 작성

  3. 그런 다음 만들기를 클릭합니다. 이 VM은 linux-iap로 표시됩니다.

Windows 인스턴스

  1. Windows 데모 VM을 만들려면 인스턴스 만들기를 클릭하고 다음 구성을 사용하여 VM을 만듭니다. 나머지 부분은 기본값으로 둡니다.
  • 이름: windows-iap
  • 영역:
  • 부팅 디스크 섹션에서 변경을 클릭합니다.
  1. OS에 대해 다음을 선택합니다.

    • 공개 이미지 > 운영체제 > Windows Server
    • 버전 > Windows Server 2016 Datacenter

    Windows 버전 선택

  2. 선택을 클릭합니다.

  3. 고급 옵션을 클릭하고 네트워킹을 선택합니다. 네트워크 인터페이스에서 기본 네트워크를 클릭하여 수정합니다. 그런 다음 외부 IPV4 주소를 없음으로 변경합니다. 완료를 클릭합니다.

  4. 그런 다음 만들기를 클릭합니다. 이 VM은 windows-iap로 표시됩니다.

  5. Windows 연결 VM을 만들려면 인스턴스 만들기를 클릭하고 다음 구성을 사용하여 VM을 만듭니다. 나머지 부분은 기본값으로 둡니다.

  • 이름: windows-connectivity
  • 영역:
  • 부팅 디스크 섹션에서 변경을 클릭합니다.
  1. OS에 대해 커스텀 이미지 탭에서 다음을 설정합니다.

    • 이미지용 소스 프로젝트: Qwiklabs Resources
    • 이미지: iap-desktop-v001
  2. 선택을 클릭합니다.

  3. 액세스 범위로 모든 Cloud API에 대한 전체 액세스 허용을 선택합니다.

    이 인스턴스에 대한 외부 IP는 사용 중지하지 마세요

  4. 그런 다음 만들기를 클릭합니다. 이 VM은 windows-connectivity로 표시됩니다.

인스턴스 3개가 모두 생성되었는지 확인합니다

작업 3. Linux 및 Windows 인스턴스에 대한 연결 테스트

  1. 인스턴스가 생성된 후에 linux-iapwindows-iap에 대한 액세스를 테스트하여 외부 IP가 없는 VM에 액세스할 수 없음을 확인합니다.

  2. linux-iap의 경우 SSH 버튼을 클릭해 머신에 액세스를 시도하여 다음과 유사한 메시지가 표시되는지 확인합니다.

    linux 연결 실패

  3. windows-iap의 경우 RDP 버튼을 클릭하고 다음과 유사한 메시지가 표시되는지 확인합니다.

    windows 연결 실패

IAP 구성 및 사용을 위한 다음 단계를 따르면 외부 IP가 없는 인스턴스에 연결할 수 있습니다.

작업 4. BCE에 필요한 방화벽 규칙 구성

  1. 탐색 메뉴를 열고 VPC 네트워크 > 방화벽을 선택한 후 방화벽 규칙 만들기를 클릭합니다.

  2. 다음 설정을 구성합니다.

필드 설정
이름 allow-ingress-from-iap
트래픽 방향 인그레스
대상 네트워크의 모든 인스턴스
소스 필터 IPv4 범위
소스 IPv4 범위 35.235.240.0/20
프로토콜 및 포트 TCP를 선택하고 22, 3389를 각각 입력하여 SSH 및 RDP를 허용합니다
  1. 만들기를 클릭하여 방화벽 규칙을 만듭니다.
적절한 방화벽 규칙이 생성되었는지 확인합니다.

작업 5. IAP TCP 전달을 사용할 권한 부여

다음 단계를 따라 VM의 iap.tunnelResourceAccessor 역할을 구성합니다.

  1. 탐색 메뉴를 열고 보안 > IAP(Identity-Aware Proxy)를 선택한 후 SSH 및 TCP 리소스 탭으로 전환합니다. HTTPS 섹션의 OAuth 동의 화면 오류는 무시해도 됩니다.
  2. linux-iapwindows-iap VM 인스턴스를 선택합니다.
  3. 주 구성원 추가를 클릭한 다음 Windows 연결 VM과 연결된 서비스 계정을 입력합니다. -compute@developer.gserviceaccount.com 형식이어야 합니다.
  4. Cloud IAP > IAP 보안 터널 사용자 역할을 선택합니다.
  5. 저장을 클릭합니다.
  6. 페이지 오른쪽 상단에서 'S' 아이콘을 클릭하여 프로필을 열고 학생 계정의 이메일을 복사합니다.
  7. 학생 계정을 추가하기 위해 주 구성원 추가를 다시 클릭합니다.
  8. 학생 계정을 입력합니다. 이 값은 실습 세부정보 창에서 복사할 수 있습니다.
  9. Cloud IAP > IAP 보안 터널 사용자 역할을 선택합니다.
  10. 저장을 클릭합니다.
IAP 보안 터널 사용자 역할은 IAP를 사용하여 리소스에 연결할 수 있는 권한을 windows-connectivity 인스턴스에 부여합니다. 학생 계정을 추가하여 이 단계가 올바르게 완료되었는지 확인할 수 있습니다.

주 구성원 추가

IAM 역할이 서비스 계정에 설정되었는지 확인합니다.

작업 5. IAP 데스크톱을 사용하여 Windows 및 Linux 인스턴스에 연결

IAP 데스크톱을 사용하면 Windows 데스크톱에서 인스턴스의 그래픽 사용자 인터페이스를 사용하여 인스턴스에 연결할 수 있습니다. IAP 데스크톱에 관한 자세한 내용은 해당 도구의 다운로드를 호스팅하는 GitHub 저장소에서 알아볼 수 있습니다.

이 실습에서 IAP 데스크톱을 사용해 인스턴스에 연결하는 방법은 다음과 같습니다.

  1. RDP 파일을 다운로드하여 RDP를 통해 windows-connectivity 인스턴스에 연결합니다. Compute Engine > VM 인스턴스 페이지로 이동합니다. Compute Engine 방문 페이지의 windows-connectivity 인스턴스 옆에 있는 아래쪽 화살표를 선택하고 파일을 다운로드합니다.

  2. RDP 파일을 열어 원격 데스크톱 프로토콜을 통해 인스턴스에 연결합니다. 메시지가 표시되면 아래 사용자 인증 정보를 사용하여 인스턴스에 연결할 수 있습니다.

  • 사용자 이름: student
  • 비밀번호: Learn123!
  1. windows-connectivity 인스턴스에 연결되면 인스턴스의 데스크톱에서 IAP 데스크톱 애플리케이션을 찾아 엽니다.

  2. 애플리케이션이 열리면 'Google 계정으로 로그인' 버튼을 클릭하여 로그인합니다. 실습 콘솔에 제공된 사용자 이름과 비밀번호를 사용하여 IAP 데스크톱에서 인증합니다. 'Google Cloud 데이터 확인, 수정, 구성, 삭제' 옵션을 선택해야 합니다.

oauth_permissions.png

  1. 인증 후 IAP 데스크톱에서 Compute Engine 인스턴스에 연결하려면 프로젝트를 추가해야 합니다. 다음과 같이 실습 인스턴스에 연결된 실습 프로젝트를 선택합니다.

add_project.png

IAP 데스크톱 애플리케이션에서 windows-iap 인스턴스를 더블클릭하여 인스턴스에 로그인합니다.

  1. IAP 데스크톱을 통한 연결을 처음 시도하면 인스턴스에 대한 사용자 인증 정보를 제공하라는 메시지가 표시될 수 있습니다. 인스턴스에 처음 로그인할 때 '새 사용자 인증 정보 생성'을 선택합니다.

credentials.png

  1. 사용자 인증 정보를 생성하면 windows-iap 인스턴스의 데스크톱으로 이동하여 최종 사용자 환경을 확인할 수 있습니다.

windows_iap.png

작업 6. SSH 및 RDP 연결을 활용한 터널링 시연

  1. RDP 클라이언트를 사용하여 RDP 인스턴스에 대한 연결을 테스트합니다. 이렇게 하는 이유는 로컬에서 IAP 터널을 통해 인스턴스에 연결해야 하기 때문입니다.

  2. Compute Engine > VM 인스턴스 페이지로 이동합니다.

  3. windows-connectivity 인스턴스의 아래쪽 화살표를 클릭하고 Windows 비밀번호 설정을 선택합니다. 비밀번호를 복사하고 저장합니다.

그런 다음 '연결' 옆의 아래쪽 화살표를 클릭하고 'RDP 파일 다운로드'를 클릭합니다. 사용 중인 클라이언트에서 RDP 파일을 열어 비밀번호를 입력합니다.

  1. windows-connectivity 인스턴스에 연결되면 Google Cloud Shell SDK를 엽니다.
Google Cloud SDK Shell 데스크톱 아이콘

이제 명령줄에 다음 명령어를 입력하여 linux-iap 인스턴스에 연결할 수 있는지 확인합니다.

gcloud compute ssh linux-iap

메시지가 표시되면 Y를 입력하여 계속하고 영역을 선택합니다.

메시지가 표시되면 인스턴스에 올바른 영역을 선택했는지 확인합니다.

그런 다음 Putty 보안 알림을 Accept(수락)합니다.

외부 IP 주소를 찾을 수 없으며 IAP 터널링을 사용한다는 메시지가 표시됩니다.

외부 IP 주소를 찾을 수 없다고 표시된 출력

Putty 설정을 업데이트하여 로컬 터널 연결을 허용합니다. Putty 창 왼쪽 상단을 클릭하고 > 'Change Settings'(설정 변경)를 클릭합니다.

Putty 설정

로컬 포트가 다른 호스트의 연결을 수락할 수 있도록 'Local ports accept connections from other hosts'(로컬 포트가 다른 호스트의 연결을 수락합니다) 체크박스를 선택합니다. 터널 설정

  1. Putty 세션을 닫고 Apply(적용)를 클릭합니다. 다음 명령어를 사용하여 VM 인스턴스의 RDP 포트에 암호화된 터널을 생성합니다.
gcloud compute start-iap-tunnel windows-iap 3389 --local-host-port=localhost:0 --zone={{{ project_0.default_zone | Zone }}}

'Listening on port [XXX]'(포트 [XXX]에서 수신 대기)에 관한 메시지가 표시되면 터널 포트 번호를 복사합니다.

  1. Google Cloud 콘솔로 돌아가서 Compute Engine > VM 인스턴스 페이지로 이동합니다.

windows-iap 인스턴스의 비밀번호를 설정하고 복사합니다.

이제 RDP 세션으로 돌아갑니다.

gcloud를 실행 중인 상태로 두고 Microsoft Windows 원격 데스크톱 연결 앱을 엽니다.

터널 엔드포인트를 입력합니다. 엔드포인트는 다음과 같이 이전 단계에서 확인한 터널 포트 번호입니다.

  • localhost:endpoint

    6

Connect(연결)를 클릭합니다.

이전 단계에서 복사한 사용자 인증 정보를 입력합니다. 이제 RDP를 통해 인스턴스에 성공적으로 연결할 수 있습니다.

메시지가 표시되면 Yes(예)를 클릭합니다.

Windows 10 RDP 인스턴스 페이지

IAP를 사용하여 외부 IP 주소가 없더라도 인스턴스에 액세스할 수 있었습니다. IAP가 사용 설정된 SA를 통해 VM에 액세스할 수 있는지 확인합니다 수고하셨습니다. IAP를 사용하여 두 인스턴스에 성공적으로 연결했습니다.

수고하셨습니다

IP 주소 없이 2개의 VM, 즉 windows-iaplinux-iap를 배포하고, 세 번째 VM인 windows-connectivity를 사용해 앞선 2개 인스턴스에 대한 액세스를 제공하는 IAP 터널을 구성하였습니다. 이를 통해 BeyondCorp Enterprise(BCE) 및 IAP(Identity-Aware Proxy) TCP 전달을 사용하는 방법을 배웠습니다.

다음 단계/더 학습하기

Google Cloud 교육 및 자격증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2024년 4월 16일

실습 최종 테스트: 2023년 12월 5일

Copyright 2024 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.